[2/15] - tm6000 add Terratec Cinergy Hybrid XE
Commit Message
signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
memset(&xc2028_cfg, 0, sizeof(xc2028_cfg));
memset (&ctl,0,sizeof(ctl));
- ctl.mts = 1;
- ctl.read_not_reliable = 1;
+ ctl.input1 = 1;
+ ctl.read_not_reliable = 0;
ctl.msleep = 10;
-
+ ctl.demod = XC3028_FE_ZARLINK456;
+ ctl.vhfbw7 = 1;
+ ctl.uhfbw8 = 1;
+ ctl.switch_mode = 1;
xc2028_cfg.tuner = TUNER_XC2028;
xc2028_cfg.priv = &ctl;
switch(dev->model) {
case TM6010_BOARD_HAUPPAUGE_900H:
+ case TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE:
ctl.fname = "xc3028L-v36.fw";
break;
default:
Comments
Stefan Ringel wrote:
> signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by:
(first letter is on upper case)
The patch looks ok to my eyes.
>
> --- a/drivers/staging/tm6000/tm6000-cards.c
> +++ b/drivers/staging/tm6000/tm6000-cards.c
> @@ -44,6 +44,10 @@
> #define TM6000_BOARD_FREECOM_AND_SIMILAR 7
> #define TM6000_BOARD_ADSTECH_MINI_DUAL_TV 8
> #define TM6010_BOARD_HAUPPAUGE_900H 9
> +#define TM6010_BOARD_BEHOLD_WANDER 10
> +#define TM6010_BOARD_BEHOLD_VOYAGER 11
> +#define TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE 12
> +
>
> #define TM6000_MAXBOARDS 16
> static unsigned int card[] = {[0 ... (TM6000_MAXBOARDS - 1)] = UNSET };
> @@ -208,7 +212,21 @@ struct tm6000_board tm6000_boards[] = {
> },
> .gpio_addr_tun_reset = TM6000_GPIO_2,
> },
> -
> + [TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE] = {
> + .name = "Terratec Cinergy Hybrid XE",
> + .tuner_type = TUNER_XC2028, /* has a XC3028 */
> + .tuner_addr = 0xc2 >> 1,
> + .demod_addr = 0x1e >> 1,
> + .type = TM6010,
> + .caps = {
> + .has_tuner = 1,
> + .has_dvb = 1,
> + .has_zl10353 = 1,
> + .has_eeprom = 1,
> + .has_remote = 1,
> + },
> + .gpio_addr_tun_reset = TM6010_GPIO_2,
> + }
> };
>
> /* table of devices that work with this driver */
> @@ -221,12 +239,13 @@ struct usb_device_id tm6000_id_table [] = {
> { USB_DEVICE(0x2040, 0x6600), .driver_info =
> TM6010_BOARD_HAUPPAUGE_900H },
> { USB_DEVICE(0x6000, 0xdec0), .driver_info =
> TM6010_BOARD_BEHOLD_WANDER },
> { USB_DEVICE(0x6000, 0xdec1), .driver_info =
> TM6010_BOARD_BEHOLD_VOYAGER },
> + { USB_DEVICE(0x0ccd, 0x0086), .driver_info =
> TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE },
> { },
> };
>
> @@ -302,15 +344,19 @@ static void tm6000_config_tuner (struct
> tm6000_core *dev)
> memset(&xc2028_cfg, 0, sizeof(xc2028_cfg));
> memset (&ctl,0,sizeof(ctl));
>
> - ctl.mts = 1;
> - ctl.read_not_reliable = 1;
> + ctl.input1 = 1;
> + ctl.read_not_reliable = 0;
> ctl.msleep = 10;
> -
> + ctl.demod = XC3028_FE_ZARLINK456;
> + ctl.vhfbw7 = 1;
> + ctl.uhfbw8 = 1;
> + ctl.switch_mode = 1;
> xc2028_cfg.tuner = TUNER_XC2028;
> xc2028_cfg.priv = &ctl;
>
> switch(dev->model) {
> case TM6010_BOARD_HAUPPAUGE_900H:
> + case TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE:
> ctl.fname = "xc3028L-v36.fw";
> break;
> default:
>
@@ -44,6 +44,10 @@
#define TM6000_BOARD_FREECOM_AND_SIMILAR 7
#define TM6000_BOARD_ADSTECH_MINI_DUAL_TV 8
#define TM6010_BOARD_HAUPPAUGE_900H 9
+#define TM6010_BOARD_BEHOLD_WANDER 10
+#define TM6010_BOARD_BEHOLD_VOYAGER 11
+#define TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE 12
+
#define TM6000_MAXBOARDS 16
static unsigned int card[] = {[0 ... (TM6000_MAXBOARDS - 1)] = UNSET };
@@ -208,7 +212,21 @@ struct tm6000_board tm6000_boards[] = {
},
.gpio_addr_tun_reset = TM6000_GPIO_2,
},
-
+ [TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE] = {
+ .name = "Terratec Cinergy Hybrid XE",
+ .tuner_type = TUNER_XC2028, /* has a XC3028 */
+ .tuner_addr = 0xc2 >> 1,
+ .demod_addr = 0x1e >> 1,
+ .type = TM6010,
+ .caps = {
+ .has_tuner = 1,
+ .has_dvb = 1,
+ .has_zl10353 = 1,
+ .has_eeprom = 1,
+ .has_remote = 1,
+ },
+ .gpio_addr_tun_reset = TM6010_GPIO_2,
+ }
};
/* table of devices that work with this driver */
@@ -221,12 +239,13 @@ struct usb_device_id tm6000_id_table [] = {
{ USB_DEVICE(0x2040, 0x6600), .driver_info =
TM6010_BOARD_HAUPPAUGE_900H },
{ USB_DEVICE(0x6000, 0xdec0), .driver_info =
TM6010_BOARD_BEHOLD_WANDER },
{ USB_DEVICE(0x6000, 0xdec1), .driver_info =
TM6010_BOARD_BEHOLD_VOYAGER },
+ { USB_DEVICE(0x0ccd, 0x0086), .driver_info =
TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE },
{ },
};
@@ -302,15 +344,19 @@ static void tm6000_config_tuner (struct
tm6000_core *dev)