Skip to content

Commit

Permalink
V4L/DVB (6973): Add Beholder TV 401/405/407/409/505/507/609/M6 support
Browse files Browse the repository at this point in the history
This patch updates cardlist for Beholder TV tuners:
old models (with GPIO ir) 401, 403, 405, 407, 409, 505, 507
and add support for 607, 609, M6 cards with new i2c-ir.

Signed-off-by: Igor Kuznetsov <igk72@yandex.ru>
Signed-off-by: Andrey J. Melnikov <temnota@kmv.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
  • Loading branch information
Andrey J. Melnikoff (TEMHOTA) authored and Mauro Carvalho Chehab committed Jan 25, 2008
1 parent 3f4dfe2 commit e8018c9
Show file tree
Hide file tree
Showing 8 changed files with 699 additions and 1 deletion.
13 changes: 13 additions & 0 deletions Documentation/video4linux/CARDLIST.saa7134
Original file line number Diff line number Diff line change
Expand Up @@ -116,3 +116,16 @@
115 -> Sabrent PCMCIA TV-PCB05 [0919:2003]
116 -> 10MOONS TM300 TV Card [1131:2304]
117 -> Avermedia Super 007 [1461:f01d]
118 -> Beholder BeholdTV 401 [1131:0000,0000:4016]
119 -> Beholder BeholdTV 403 [0000:4036]
120 -> Beholder BeholdTV 403 FM [1131:0000,0000:4037]
121 -> Beholder BeholdTV 405 [0000:4050]
122 -> Beholder BeholdTV 405 FM [0000:4051]
123 -> [0000:4070]
124 -> Beholder BeholdTV 407 FM [0000:4071]
125 -> Beholder BeholdTV 409 [0000:4090]
126 -> Beholder BeholdTV 505 FM/RDS [0000:5051,0000:505B,5ace:5050]
127 -> Beholder BeholdTV 507 FM/RDS / BeholdTV 509 FM [0000:5071,0000:507B,5ace:5070,5ace:5090]
128 -> Beholder BeholdTV Columbus TVFM [0000:5201]
129 -> Beholder BeholdTV 607 / BeholdTV 609 [5ace:6070,5ace:6071,5ace:6072,5ace:6073,5ace:6090,5ace:6091,5ace:6092,5ace:6093]
130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193]
104 changes: 104 additions & 0 deletions drivers/media/common/ir-keymaps.c
Original file line number Diff line number Diff line change
Expand Up @@ -1848,3 +1848,107 @@ IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE] = {
};

EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce);

/*
* Igor Kuznetsov <igk72@ya.ru>
* Andrey J. Melnikov <temnota@kmv.ru>
*
* Keytable is used by BeholdTV 60x series, M6 series at
* least, and probably other cards too.
* The "ascii-art picture" below (in comments, first row
* is the keycode in hex, and subsequent row(s) shows
* the button labels (several variants when appropriate)
* helps to descide which keycodes to assign to the buttons.
*/
IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = {

/* 0x1c 0x12 *
* TV/FM POWER *
* */
[ 0x1c ] = KEY_TUNER, /*XXX KEY_TV KEY_RADIO */
[ 0x12 ] = KEY_POWER,

/* 0x01 0x02 0x03 *
* 1 2 3 *
* *
* 0x04 0x05 0x06 *
* 4 5 6 *
* *
* 0x07 0x08 0x09 *
* 7 8 9 *
* */
[ 0x01 ] = KEY_1,
[ 0x02 ] = KEY_2,
[ 0x03 ] = KEY_3,
[ 0x04 ] = KEY_4,
[ 0x05 ] = KEY_5,
[ 0x06 ] = KEY_6,
[ 0x07 ] = KEY_7,
[ 0x08 ] = KEY_8,
[ 0x09 ] = KEY_9,

/* 0x0a 0x00 0x17 *
* RECALL 0 MODE *
* */
[ 0x0a ] = KEY_AGAIN,
[ 0x00 ] = KEY_0,
[ 0x17 ] = KEY_MODE,

/* 0x14 0x10 *
* ASPECT FULLSCREEN *
* */
[ 0x14 ] = KEY_SCREEN,
[ 0x10 ] = KEY_ZOOM,

/* 0x0b *
* Up *
* *
* 0x18 0x16 0x0c *
* Left Ok Right *
* *
* 0x015 *
* Down *
* */
[ 0x0b ] = KEY_CHANNELUP, /*XXX KEY_UP */
[ 0x18 ] = KEY_VOLUMEDOWN, /*XXX KEY_LEFT */
[ 0x16 ] = KEY_OK, /*XXX KEY_ENTER */
[ 0x0c ] = KEY_VOLUMEUP, /*XXX KEY_RIGHT */
[ 0x15 ] = KEY_CHANNELDOWN, /*XXX KEY_DOWN */

/* 0x11 0x0d *
* MUTE INFO *
* */
[ 0x11 ] = KEY_MUTE,
[ 0x0d ] = KEY_INFO,

/* 0x0f 0x1b 0x1a *
* RECORD PLAY/PAUSE STOP *
* *
* 0x0e 0x1f 0x1e *
*TELETEXT AUDIO SOURCE *
* RED YELLOW *
* */
[ 0x0f ] = KEY_RECORD,
[ 0x1b ] = KEY_PLAYPAUSE,
[ 0x1a ] = KEY_STOP,
[ 0x0e ] = KEY_TEXT,
[ 0x1f ] = KEY_RED, /*XXX KEY_AUDIO */
[ 0x1e ] = KEY_YELLOW, /*XXX KEY_SOURCE */

/* 0x1d 0x13 0x19 *
* SLEEP PREVIEW DVB *
* GREEN BLUE *
* */
[ 0x1d ] = KEY_SLEEP,
[ 0x13 ] = KEY_GREEN,
[ 0x19 ] = KEY_BLUE, /*XXX KEY_SAT */

/* 0x58 0x5c *
* FREEZE SNAPSHOT *
* */
[ 0x58 ] = KEY_SLOW,
[ 0x5c ] = KEY_SAVE,

};

EXPORT_SYMBOL_GPL(ir_codes_behold);
3 changes: 2 additions & 1 deletion drivers/media/video/ir-kbd-i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -398,6 +398,7 @@ static int ir_attach(struct i2c_adapter *adap, int addr,
case 0x7a:
case 0x47:
case 0x71:
case 0x2d:
if (adap->id == I2C_HW_B_CX2388x) {
/* Handled by cx88-input */
name = "CX2388x remote";
Expand Down Expand Up @@ -504,7 +505,7 @@ static int ir_probe(struct i2c_adapter *adap)
*/

static const int probe_bttv[] = { 0x1a, 0x18, 0x4b, 0x64, 0x30, -1};
static const int probe_saa7134[] = { 0x7a, 0x47, 0x71, -1 };
static const int probe_saa7134[] = { 0x7a, 0x47, 0x71, 0x2d, -1 };
static const int probe_em28XX[] = { 0x30, 0x47, -1 };
static const int probe_cx88[] = { 0x18, 0x6b, 0x71, -1 };
static const int probe_cx23885[] = { 0x6b, -1 };
Expand Down
Loading

0 comments on commit e8018c9

Please sign in to comment.