diff options
author | Nickolay V. Shmyrev <devnull@localhost> | 2005-06-12 23:32:13 +0000 |
---|---|---|
committer | Nickolay V. Shmyrev <devnull@localhost> | 2005-06-12 23:32:13 +0000 |
commit | 5363fbc6988c7298a1ff0d1e17bf802e64b61379 (patch) | |
tree | 96646e48c4eeb3c30a64ed51d5cb196b47853f9c | |
parent | b3d80d8ab905bb4e8dc4db1bfa43b65de81cc815 (diff) | |
download | mediapointer-dvb-s2-5363fbc6988c7298a1ff0d1e17bf802e64b61379.tar.gz mediapointer-dvb-s2-5363fbc6988c7298a1ff0d1e17bf802e64b61379.tar.bz2 |
Add support for ADS Tech Instant TV DVB-T PCI. Thanks to
Benoît Laniel <benoit.laniel@gmail.com>.
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-cards.c | 27 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-input.c | 60 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88.h | 3 | ||||
-rw-r--r-- | v4l/ChangeLog | 6 |
4 files changed, 92 insertions, 4 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c index 98ccd9aab..a0e945da0 100644 --- a/linux/drivers/media/video/cx88/cx88-cards.c +++ b/linux/drivers/media/video/cx88/cx88-cards.c @@ -1,5 +1,5 @@ /* - * $Id: cx88-cards.c,v 1.76 2005/06/08 01:28:09 mchehab Exp $ + * $Id: cx88-cards.c,v 1.77 2005/06/12 23:32:13 nsh Exp $ * * device driver for Conexant 2388x based TV cards * card-specific stuff. @@ -724,6 +724,25 @@ struct cx88_board cx88_boards[] = { .gpio0 = 0x0f00, }}, }, + [CX88_BOARD_ADSTECH_DVB_T_PCI] = { + .name = "ADS Tech Instant TV DVB-T PCI", + .tuner_type = TUNER_ABSENT, + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, + .input = {{ + .type = CX88_VMUX_COMPOSITE1, + .vmux = 1, + .gpio0 = 0x0700, + .gpio2 = 0x0101, + },{ + .type = CX88_VMUX_SVIDEO, + .vmux = 2, + .gpio0 = 0x0700, + .gpio2 = 0x0101, + }}, + .dvb = 1, + }, }; const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards); @@ -843,7 +862,11 @@ struct cx88_subid cx88_subids[] = { .subvendor = 0x10fc, .subdevice = 0xd035, .card = CX88_BOARD_IODATA_GVBCTV7E, - } + },{ + .subvendor = 0x1421, + .subdevice = 0x0334, + .card = CX88_BOARD_ADSTECH_DVB_T_PCI, + }, }; const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids); diff --git a/linux/drivers/media/video/cx88/cx88-input.c b/linux/drivers/media/video/cx88/cx88-input.c index 510d5b210..5e6d1bfcc 100644 --- a/linux/drivers/media/video/cx88/cx88-input.c +++ b/linux/drivers/media/video/cx88/cx88-input.c @@ -1,5 +1,5 @@ /* - * $Id: cx88-input.c,v 1.11 2005/05/22 20:57:56 nsh Exp $ + * $Id: cx88-input.c,v 1.12 2005/06/12 23:32:13 nsh Exp $ * * Device driver for GPIO attached remote control interfaces * on Conexant 2388x based TV/DVB cards. @@ -125,6 +125,57 @@ static IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = { /* ---------------------------------------------------------------------- */ +/* ADS Tech Instant TV DVB-T PCI Remote */ +static IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = { + [ 0x5b ] = KEY_POWER, + [ 0x5f ] = KEY_MUTE, + [ 0x57 ] = KEY_1, + [ 0x4f ] = KEY_2, + [ 0x53 ] = KEY_3, + [ 0x56 ] = KEY_4, + [ 0x4e ] = KEY_5, + [ 0x5e ] = KEY_6, + [ 0x54 ] = KEY_7, + [ 0x4c ] = KEY_8, + [ 0x5c ] = KEY_9, + [ 0x4d ] = KEY_0, + [ 0x55 ] = KEY_GOTO, + [ 0x5d ] = KEY_SEARCH, + [ 0x17 ] = KEY_EPG, // Guide + [ 0x1f ] = KEY_MENU, + [ 0x0f ] = KEY_UP, + [ 0x46 ] = KEY_DOWN, + [ 0x16 ] = KEY_LEFT, + [ 0x1e ] = KEY_RIGHT, + [ 0x0e ] = KEY_SELECT, // Enter + [ 0x5a ] = KEY_INFO, + [ 0x52 ] = KEY_EXIT, + [ 0x59 ] = KEY_PREVIOUS, + [ 0x51 ] = KEY_NEXT, + [ 0x58 ] = KEY_REWIND, + [ 0x50 ] = KEY_FORWARD, + [ 0x44 ] = KEY_PLAYPAUSE, + [ 0x07 ] = KEY_STOP, + [ 0x1b ] = KEY_RECORD, + [ 0x13 ] = KEY_TUNER, // Live + [ 0x0a ] = KEY_A, + [ 0x12 ] = KEY_B, + [ 0x03 ] = KEY_PROG1, // 1 + [ 0x01 ] = KEY_PROG2, // 2 + [ 0x00 ] = KEY_PROG3, // 3 + [ 0x06 ] = KEY_DVD, + [ 0x48 ] = KEY_AUX, // Photo + [ 0x40 ] = KEY_VIDEO, + [ 0x19 ] = KEY_AUDIO, // Music + [ 0x0b ] = KEY_CHANNELUP, + [ 0x08 ] = KEY_CHANNELDOWN, + [ 0x15 ] = KEY_VOLUMEUP, + [ 0x1c ] = KEY_VOLUMEDOWN, +}; + +/* ---------------------------------------------------------------------- */ + + struct cx88_IR { struct cx88_core *core; struct input_dev input; @@ -269,6 +320,13 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) ir->mask_keyup = 0x80; ir->polling = 1; // ms break; + case CX88_BOARD_ADSTECH_DVB_T_PCI: + ir_codes = ir_codes_adstech_dvb_t_pci; + ir->gpio_addr = MO_GP1_IO; + ir->mask_keycode = 0xbf; + ir->mask_keyup = 0x40; + ir->polling = 50; // ms + break; } if (NULL == ir_codes) { diff --git a/linux/drivers/media/video/cx88/cx88.h b/linux/drivers/media/video/cx88/cx88.h index 9ff3cbd9a..e885fc772 100644 --- a/linux/drivers/media/video/cx88/cx88.h +++ b/linux/drivers/media/video/cx88/cx88.h @@ -1,5 +1,5 @@ /* - * $Id: cx88.h,v 1.62 2005/06/12 04:19:19 mchehab Exp $ + * $Id: cx88.h,v 1.63 2005/06/12 23:32:13 nsh Exp $ * * v4l2 device driver for cx2388x based TV cards * @@ -172,6 +172,7 @@ extern struct sram_channel cx88_sram_channels[]; #define CX88_BOARD_IODATA_GVBCTV7E 26 #define CX88_BOARD_PIXELVIEW_PLAYTV_ULTRA_PRO 27 #define CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_T 28 +#define CX88_BOARD_ADSTECH_DVB_T_PCI 29 enum cx88_itype { CX88_VMUX_COMPOSITE1 = 1, diff --git a/v4l/ChangeLog b/v4l/ChangeLog index d19a668f2..674076f87 100644 --- a/v4l/ChangeLog +++ b/v4l/ChangeLog @@ -1,3 +1,9 @@ +2005-06-13 03:24 nshmyrev + * cx88-cards.c. cx88-input.c: + + - Add support for ADS Tech Instant TV DVB-T PCI. Thanks to + Benoît Laniel <benoit.laniel@gmail.com>. + 2005-06-13 03:08 nshmyrev * saa7134-card.c: |