[PATCH] V4L: 906: remote and more info for pctv cardbus whitespace cleanup
authorPavel Mihaylov <bin@bash.info>
Wed, 9 Nov 2005 05:38:43 +0000 (21:38 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 9 Nov 2005 15:56:30 +0000 (07:56 -0800)
Remote and more info for PCTV Cardbus. Whitespace cleanup.

Signed-off-by: Pavel Mihaylov <bin@bash.info>
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.saa7134
drivers/media/video/saa7134/saa7134-cards.c
drivers/media/video/saa7134/saa7134-dvb.c
drivers/media/video/saa7134/saa7134-input.c

index 51252ff034e62f40200ca2f8995195e22d90178c..997a57db257c128f5580979160584efb570fe35c 100644 (file)
@@ -79,3 +79,4 @@
  78 -> ASUSTeK P7131 Dual                       [1043:4862]
  79 -> PCTV Cardbus TV/Radio (ITO25 Rev:2B)
  80 -> ASUS Digimatrix TV                       [1043:0210]
+ 81 -> Philips Tiger reference design           [1131:2018]
index d9b3fb0f3eff20c4084658563b9da3ffd3b59c47..e3fe15a14aee0f5fdd8f89c9b90c09ccdad42c34 100644 (file)
@@ -2453,18 +2453,33 @@ struct saa7134_board saa7134_boards[] = {
        },
        [SAA7134_BOARD_PCTV_CARDBUS] = {
                /* Paul Tom Zalac <pzalac@gmail.com> */
-               /* tda8275a tuner doesnt work yet */
+               /* Pavel Mihaylov <bin@bash.info> */
                .name           = "PCTV Cardbus TV/Radio (ITO25 Rev:2B)",
+                               /* Sedna Cardbus TV Tuner */
                .audio_clock    = 0x00187de7,
-               .tuner_type     = TUNER_ABSENT,
+               .tuner_type     = TUNER_PHILIPS_TDA8290,
                .radio_type     = UNSET,
                .tuner_addr     = ADDR_UNSET,
                .radio_addr     = ADDR_UNSET,
+               .gpiomask       = 0xe880c0,
                .inputs         = {{
+                       .name = name_tv,
+                       .vmux = 3,
+                       .amux = TV,
+                       .tv   = 1,
+               },{
                        .name = name_comp1,
                        .vmux = 1,
-                       .amux = LINE2,
+                       .amux = LINE1,
+               },{
+                       .name = name_svideo,
+                       .vmux = 6,
+                       .amux = LINE1,
                }},
+               .radio = {
+                       .name = name_radio,
+                       .amux = LINE2,
+               },
        },
        [SAA7134_BOARD_ASUSTEK_DIGIMATRIX_TV] = {
                /* "Cyril Lacoux (Yack)" <clacoux@ifeelgood.org> */
@@ -2942,7 +2957,7 @@ struct pci_device_id saa7134_pci_tbl[] = {
                .subvendor    = 0x1043,
                .subdevice    = 0x4862,
                .driver_data  = SAA7134_BOARD_ASUSTeK_P7131_DUAL,
-       },{
+       },{
                .vendor       = PCI_VENDOR_ID_PHILIPS,
                .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
                .subvendor    = PCI_VENDOR_ID_PHILIPS,
index d1d1abc55718558349e289fd4f6a5a4249e46fac..c0337cf919560f7abd54865baf18860e5160dca3 100644 (file)
@@ -749,7 +749,7 @@ static void philips_tda827xa_pll_sleep(u8 addr, struct dvb_frontend *fe)
        struct saa7134_dev *dev = fe->dvb->priv;
        static u8 tda827xa_sleep[] = { 0x30, 0x90};
        struct i2c_msg tuner_msg = {.addr = addr,.flags = 0,.buf = tda827xa_sleep,
-                                   .len = sizeof(tda827xa_sleep) };
+                                   .len = sizeof(tda827xa_sleep) };
        i2c_transfer(&dev->i2c_adap, &tuner_msg, 1);
 
 }
index 0c74c2f5edaa51fca459e2d13070bdd7aa99f34f..2aba72de55d6c276aa8e83eb6ee33b4cd81fc0d5 100644 (file)
@@ -543,6 +543,42 @@ static IR_KEYTAB_TYPE ir_codes_pinnacle[IR_KEYTAB_SIZE] = {
        [ 0x0a ] = KEY_BACKSPACE,
 };
 
+/* Mapping for the 28 key remote control as seen at
+   http://www.sednacomputer.com/photo/cardbus-tv.jpg
+   Pavel Mihaylov <bin@bash.info> */
+static IR_KEYTAB_TYPE pctv_cardbus_codes[IR_KEYTAB_SIZE] = {
+       [    0 ] = KEY_KP0,
+       [    1 ] = KEY_KP1,
+       [    2 ] = KEY_KP2,
+       [    3 ] = KEY_KP3,
+       [    4 ] = KEY_KP4,
+       [    5 ] = KEY_KP5,
+       [    6 ] = KEY_KP6,
+       [    7 ] = KEY_KP7,
+       [    8 ] = KEY_KP8,
+       [    9 ] = KEY_KP9,
+
+       [ 0x0a ] = KEY_AGAIN,          /* Recall */
+       [ 0x0b ] = KEY_CHANNELUP,
+       [ 0x0c ] = KEY_VOLUMEUP,
+       [ 0x0d ] = KEY_MODE,           /* Stereo */
+       [ 0x0e ] = KEY_STOP,
+       [ 0x0f ] = KEY_PREVIOUSSONG,
+       [ 0x10 ] = KEY_ZOOM,
+       [ 0x11 ] = KEY_TUNER,          /* Source */
+       [ 0x12 ] = KEY_POWER,
+       [ 0x13 ] = KEY_MUTE,
+       [ 0x15 ] = KEY_CHANNELDOWN,
+       [ 0x18 ] = KEY_VOLUMEDOWN,
+       [ 0x19 ] = KEY_SHUFFLE,        /* Snapshot */
+       [ 0x1a ] = KEY_NEXTSONG,
+       [ 0x1b ] = KEY_TEXT,           /* Time Shift */
+       [ 0x1c ] = KEY_RADIO,          /* FM Radio */
+       [ 0x1d ] = KEY_RECORD,
+       [ 0x1e ] = KEY_PAUSE,
+};
+
+
 /* -------------------- GPIO generic keycode builder -------------------- */
 
 static int build_key(struct saa7134_dev *dev)
@@ -745,6 +781,12 @@ int saa7134_input_init1(struct saa7134_dev *dev)
                mask_keyup   = 0x004000;
                polling      = 50; // ms
                break;
+       case SAA7134_BOARD_PCTV_CARDBUS:
+               ir_codes     = pctv_cardbus_codes;
+               mask_keycode = 0x001f00;
+               mask_keyup   = 0x004000;
+               polling      = 50; // ms
+               break;
        case SAA7134_BOARD_GOTVIEW_7135:
                ir_codes     = gotview7135_codes;
                mask_keycode = 0x0003EC;