bttv: Add noname Bt848 capture card with 14MHz xtal
Subsystems (2)
PATCH 1/1 bttv: Add noname Bt848 capture card with 14MHz xtal
Add support for noname Bt848 capture-only card (3x composite, 1x S-VHS) with 14MHz crystal:
http://www.rainbow-software.org/images/hardware/bt848_.jpg
14MHz PLL was not supported by bttv driver until now.
drivers/media/pci/bt8xx/bttv-cards.c +19 -1
@@ -131,7 +131,7 @@ MODULE_PARM_DESC(vsfx,"set VSFX pci config bit " "[yet another chipset flaw workaround]");MODULE_PARM_DESC (latency,"pci latency timer" );MODULE_PARM_DESC (card,"specify TV/grabber card model, see CARDLIST file for a list" ); -MODULE_PARM_DESC (pll,"specify installed crystal (0=none, 28=28 MHz, 35=35 MHz)" ); +MODULE_PARM_DESC (pll,"specify installed crystal (0=none, 28=28 MHz, 35=35 MHz, 14=14 MHz)" );MODULE_PARM_DESC (tuner,"specify installed tuner type" );MODULE_PARM_DESC (autoload,"obsolete option, please do not use anymore" ); MODULE_PARM_DESC(audiodev, "specify audio device:\n"
@@ -2825,6 +2825,14 @@ struct tvcard bttv_tvcards[] = { .muxsel = MUXSEL(2, 3, 1, 0), .tuner_type = TUNER_ABSENT, }, + [BTTV_BOARD_BT848_CAP_14] = { + .name = "Bt848 Capture 14MHz", + .video_inputs = 4, + .svhs = 2, + .muxsel = MUXSEL(2, 3, 1, 0), + .pll = PLL_14, + .tuner_type = TUNER_ABSENT, + }, };
@@ -3390,6 +3398,10 @@ void bttv_init_card2(struct bttv *btv) btv->pll.pll_ifreq=35468950 ; btv->pll.pll_crystal=BT848_IFORM_XT1 ; } +if (PLL_14 == bttv_tvcards[btv->c.type].pll) { + btv->pll.pll_ifreq=14318181 ; + btv->pll.pll_crystal=BT848_IFORM_XT0 ; + }/* insmod options can override */ switch (pll[btv->c.nr]) {case 0 :/* none */
@@ -3409,6 +3421,12 @@ void bttv_init_card2(struct bttv *btv) btv->pll.pll_ofreq =0 ; btv->pll.pll_crystal =BT848_IFORM_XT1 ;break ; +case 3 :/* 14 MHz */ +case 14 : + btv->pll.pll_ifreq =14318181 ; + btv->pll.pll_ofreq =0 ; + btv->pll.pll_crystal =BT848_IFORM_XT0 ; +break ; } } btv->pll.pll_current =-1 ;
drivers/media/pci/bt8xx/bttv.h +2 -0
@@ -185,6 +185,7 @@#define BTTV_BOARD_PV183 0x9f#define BTTV_BOARD_TVT_TD3116 0xa0#define BTTV_BOARD_APOSONIC_WDVR 0xa1 +#define BTTV_BOARD_BT848_CAP_14 0xa2/* more card-specific defines */ #define PT2254_L_CHANNEL 0x10
@@ -232,6 +233,7 @@ struct tvcard {#define PLL_NONE 0#define PLL_28 1#define PLL_35 2 +#define PLL_14 3/* i2c audio flags */ unsigned int no_msp34xx:1;
Signature · 1 line
Ondrej Zary
Quoted 3 lines · On Sunday 14 April 2013 18:39:09 Ondrej Zary wrote:
Add support for noname Bt848 capture-only card (3x composite, 1x S-VHS) with 14MHz crystal:
http://www.rainbow-software.org/images/hardware/bt848_.jpg
Noticed that it takes ages to load the bttv module (about 30 seconds). If "disable_ir=1" parameter is used, it loads immediately.
I wonder why the bttv driver probes for IR chips even when the "has_remote" flag is not set?
Signature · 1 line
Ondrej Zary
Quoted 2 lines · Ondrej Zary
I wonder why the bttv driver probes for IR chips even when the "
has_remote" flag is not set?
Probably so you can add a remote via userland even if there isn't an default remote specified in the in-kernel board profile.
That said, it probably makes more sense to require a default remote in the board profile for those devices which have an onboard IR controller, and use that to determine whether IR support is present on the board at all.
Devin
Signature · 2 lines
Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com