Re: [PATCH] bttv: Add noname Bt848 capture card with 14MHz xtal

2013-04-14 Thread Devin Heitmueller
On Sun, Apr 14, 2013 at 5:19 PM, Ondrej Zary  wrote:
> 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

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] bttv: Add noname Bt848 capture card with 14MHz xtal

2013-04-14 Thread Ondrej Zary
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?

-- 
Ondrej Zary
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] bttv: Add noname Bt848 capture card with 14MHz xtal

2013-04-14 Thread Ondrej Zary
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.

Signed-off-by: Ondrej Zary 

diff --git a/drivers/media/pci/bt8xx/bttv-cards.c 
b/drivers/media/pci/bt8xx/bttv-cards.c
index b7dc921..8bcf638 100644
--- a/drivers/media/pci/bt8xx/bttv-cards.c
+++ b/drivers/media/pci/bt8xx/bttv-cards.c
@@ -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;
diff --git a/drivers/media/pci/bt8xx/bttv.h b/drivers/media/pci/bt8xx/bttv.h
index 6139ce2..2d4b466 100644
--- a/drivers/media/pci/bt8xx/bttv.h
+++ b/drivers/media/pci/bt8xx/bttv.h
@@ -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_140xa2
 
 /* 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;


-- 
Ondrej Zary
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html