[PATCH] v4l: 895: new avermedia 303 card without radio
authorLubomir Bulej <bulej@nenya.ms.mff.cuni.cz>
Wed, 9 Nov 2005 05:38:34 +0000 (21:38 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 9 Nov 2005 15:56:29 +0000 (07:56 -0800)
- New Avermedia 303 card (without radio).

Signed-off-by: Lubomir Bulej <bulej@nenya.ms.mff.cuni.cz>
Signed-off-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Documentation/video4linux/CARDLIST.cx88
drivers/media/video/bttv-i2c.c
drivers/media/video/cx88/cx88-cards.c
drivers/media/video/cx88/cx88.h

index 12e9e39..a1017d1 100644 (file)
@@ -34,3 +34,4 @@
  33 -> Kworld V-Stream Xpert DVD
  34 -> ATI HDTV Wonder                                     [1002:a101]
  35 -> WinFast DTV1000-T                                   [107d:665f]
+ 36 -> AVerTV 303 (M126)                                   [1461:000a]
index 1b3e0a7..77619eb 100644 (file)
@@ -294,8 +294,8 @@ static int attach_inform(struct i2c_client *client)
        int addr=ADDR_UNSET;
 
 
-        if (ADDR_UNSET != bttv_tvcards[btv->c.type].tuner_addr)
-               addr = bttv_tvcards[btv->c.type].tuner_addr;
+       if (ADDR_UNSET != bttv_tvcards[btv->c.type].tuner_addr)
+               addr = bttv_tvcards[btv->c.type].tuner_addr;
 
 
        if (bttv_debug)
@@ -311,10 +311,10 @@ static int attach_inform(struct i2c_client *client)
                if ((addr==ADDR_UNSET) ||
                                (addr==client->addr)) {
 
-                               tun_setup.mode_mask = T_ANALOG_TV | T_DIGITAL_TV | T_RADIO;
-                               tun_setup.type = btv->tuner_type;
+                       tun_setup.mode_mask = T_ANALOG_TV | T_DIGITAL_TV | T_RADIO;
+                       tun_setup.type = btv->tuner_type;
                        tun_setup.addr = addr;
-                       bttv_call_i2c_clients(btv, TUNER_SET_TYPE_ADDR, &tun_setup);
+                       bttv_call_i2c_clients(btv, TUNER_SET_TYPE_ADDR, &tun_setup);
                }
 
        }
index f20984e..f226863 100644 (file)
@@ -174,7 +174,7 @@ struct cx88_board cx88_boards[] = {
                        .gpio3  = 0x02000000,
                },
        },
-       [CX88_BOARD_AVERTV_303] = {
+       [CX88_BOARD_AVERTV_STUDIO_303] = {
                .name           = "AverTV Studio 303 (M126)",
                .tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
                .radio_type     = UNSET,
@@ -865,6 +865,36 @@ struct cx88_board cx88_boards[] = {
                }},
                .dvb            = 1,
        },
+       [CX88_BOARD_AVERTV_303] = {
+               .name           = "AVerTV 303 (M126)",
+               .tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
+               .radio_type     = UNSET,
+               .tuner_addr     = ADDR_UNSET,
+               .radio_addr     = ADDR_UNSET,
+               .tda9887_conf   = TDA9887_PRESENT,
+               .input          = {{
+                       .type   = CX88_VMUX_TELEVISION,
+                       .vmux   = 0,
+                       .gpio0  = 0x00ff,
+                       .gpio1  = 0xe09f,
+                       .gpio2  = 0x0010,
+                       .gpio3  = 0x0000,
+               },{
+                       .type   = CX88_VMUX_COMPOSITE1,
+                       .vmux   = 1,
+                       .gpio0  = 0x00ff,
+                       .gpio1  = 0xe05f,
+                       .gpio2  = 0x0010,
+                       .gpio3  = 0x0000,
+               },{
+                       .type   = CX88_VMUX_SVIDEO,
+                       .vmux   = 2,
+                       .gpio0  = 0x00ff,
+                       .gpio1  = 0xe05f,
+                       .gpio2  = 0x0010,
+                       .gpio3  = 0x0000,
+               }},
+       },
 };
 const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards);
 
@@ -915,7 +945,7 @@ struct cx88_subid cx88_subids[] = {
        },{
                .subvendor = 0x1461,
                .subdevice = 0x000b,
-               .card      = CX88_BOARD_AVERTV_303,
+               .card      = CX88_BOARD_AVERTV_STUDIO_303,
        },{
                .subvendor = 0x1462,
                .subdevice = 0x8606,
@@ -1008,6 +1038,10 @@ struct cx88_subid cx88_subids[] = {
                .subvendor = 0x107d,
                .subdevice = 0x665f,
                .card      = CX88_BOARD_WINFAST_DTV1000,
+       },{
+               .subvendor = 0x1461,
+               .subdevice = 0x000a,
+               .card      = CX88_BOARD_AVERTV_303,
        },
 };
 const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids);
index baeae1a..b19d3a9 100644 (file)
@@ -148,7 +148,7 @@ extern struct sram_channel cx88_sram_channels[];
 #define CX88_BOARD_PIXELVIEW                3
 #define CX88_BOARD_ATI_WONDER_PRO           4
 #define CX88_BOARD_WINFAST2000XP_EXPERT     5
-#define CX88_BOARD_AVERTV_303               6
+#define CX88_BOARD_AVERTV_STUDIO_303        6
 #define CX88_BOARD_MSI_TVANYWHERE_MASTER    7
 #define CX88_BOARD_WINFAST_DV2000           8
 #define CX88_BOARD_LEADTEK_PVR2000          9
@@ -178,6 +178,7 @@ extern struct sram_channel cx88_sram_channels[];
 #define CX88_BOARD_KWORLD_VSTREAM_EXPERT_DVD 33
 #define CX88_BOARD_ATI_HDTVWONDER          34
 #define CX88_BOARD_WINFAST_DTV1000         35
+#define CX88_BOARD_AVERTV_303              36
 
 enum cx88_itype {
        CX88_VMUX_COMPOSITE1 = 1,