aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/tm6000
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/tm6000')
-rw-r--r--drivers/staging/tm6000/tm6000-cards.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/drivers/staging/tm6000/tm6000-cards.c b/drivers/staging/tm6000/tm6000-cards.c
index 22a222241cc..bd99ca7b9f2 100644
--- a/drivers/staging/tm6000/tm6000-cards.c
+++ b/drivers/staging/tm6000/tm6000-cards.c
@@ -50,6 +50,8 @@
50#define TM6010_BOARD_BEHOLD_VOYAGER 11 50#define TM6010_BOARD_BEHOLD_VOYAGER 11
51#define TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE 12 51#define TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE 12
52#define TM6010_BOARD_TWINHAN_TU501 13 52#define TM6010_BOARD_TWINHAN_TU501 13
53#define TM6010_BOARD_BEHOLD_WANDER_LITE 14
54#define TM6010_BOARD_BEHOLD_VOYAGER_LITE 15
53 55
54#define TM6000_MAXBOARDS 16 56#define TM6000_MAXBOARDS 16
55static unsigned int card[] = {[0 ... (TM6000_MAXBOARDS - 1)] = UNSET }; 57static unsigned int card[] = {[0 ... (TM6000_MAXBOARDS - 1)] = UNSET };
@@ -303,6 +305,40 @@ struct tm6000_board tm6000_boards[] = {
303 .dvb_led = TM6010_GPIO_5, 305 .dvb_led = TM6010_GPIO_5,
304 .ir = TM6010_GPIO_0, 306 .ir = TM6010_GPIO_0,
305 }, 307 },
308 },
309 [TM6010_BOARD_BEHOLD_WANDER_LITE] = {
310 .name = "Beholder Wander Lite DVB-T/TV/FM USB2.0",
311 .tuner_type = TUNER_XC5000,
312 .tuner_addr = 0xc2 >> 1,
313 .demod_addr = 0x1e >> 1,
314 .type = TM6010,
315 .caps = {
316 .has_tuner = 1,
317 .has_dvb = 1,
318 .has_zl10353 = 1,
319 .has_eeprom = 1,
320 },
321 .gpio = {
322 .tuner_reset = TM6010_GPIO_0,
323 .demod_reset = TM6010_GPIO_1,
324 .power_led = TM6010_GPIO_6,
325 },
326 },
327 [TM6010_BOARD_BEHOLD_VOYAGER_LITE] = {
328 .name = "Beholder Voyager Lite TV/FM USB2.0",
329 .tuner_type = TUNER_XC5000,
330 .tuner_addr = 0xc2 >> 1,
331 .type = TM6010,
332 .caps = {
333 .has_tuner = 1,
334 .has_dvb = 0,
335 .has_zl10353 = 0,
336 .has_eeprom = 1,
337 },
338 .gpio = {
339 .tuner_reset = TM6010_GPIO_0,
340 .power_led = TM6010_GPIO_6,
341 },
306 } 342 }
307}; 343};
308 344
@@ -325,6 +361,8 @@ struct usb_device_id tm6000_id_table[] = {
325 { USB_DEVICE(0x13d3, 0x3241), .driver_info = TM6010_BOARD_TWINHAN_TU501 }, 361 { USB_DEVICE(0x13d3, 0x3241), .driver_info = TM6010_BOARD_TWINHAN_TU501 },
326 { USB_DEVICE(0x13d3, 0x3243), .driver_info = TM6010_BOARD_TWINHAN_TU501 }, 362 { USB_DEVICE(0x13d3, 0x3243), .driver_info = TM6010_BOARD_TWINHAN_TU501 },
327 { USB_DEVICE(0x13d3, 0x3264), .driver_info = TM6010_BOARD_TWINHAN_TU501 }, 363 { USB_DEVICE(0x13d3, 0x3264), .driver_info = TM6010_BOARD_TWINHAN_TU501 },
364 { USB_DEVICE(0x6000, 0xdec2), .driver_info = TM6010_BOARD_BEHOLD_WANDER_LITE },
365 { USB_DEVICE(0x6000, 0xdec3), .driver_info = TM6010_BOARD_BEHOLD_VOYAGER_LITE },
328 { }, 366 { },
329}; 367};
330 368
@@ -346,6 +384,8 @@ void tm6000_flash_led(struct tm6000_core *dev, u8 state)
346 break; 384 break;
347 case TM6010_BOARD_BEHOLD_WANDER: 385 case TM6010_BOARD_BEHOLD_WANDER:
348 case TM6010_BOARD_BEHOLD_VOYAGER: 386 case TM6010_BOARD_BEHOLD_VOYAGER:
387 case TM6010_BOARD_BEHOLD_WANDER_LITE:
388 case TM6010_BOARD_BEHOLD_VOYAGER_LITE:
349 tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN, 389 tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN,
350 dev->gpio.power_led, 0x01); 390 dev->gpio.power_led, 0x01);
351 break; 391 break;
@@ -362,6 +402,8 @@ void tm6000_flash_led(struct tm6000_core *dev, u8 state)
362 break; 402 break;
363 case TM6010_BOARD_BEHOLD_WANDER: 403 case TM6010_BOARD_BEHOLD_WANDER:
364 case TM6010_BOARD_BEHOLD_VOYAGER: 404 case TM6010_BOARD_BEHOLD_VOYAGER:
405 case TM6010_BOARD_BEHOLD_WANDER_LITE:
406 case TM6010_BOARD_BEHOLD_VOYAGER_LITE:
365 tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN, 407 tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN,
366 dev->gpio.power_led, 0x00); 408 dev->gpio.power_led, 0x00);
367 break; 409 break;
@@ -520,6 +562,7 @@ int tm6000_cards_setup(struct tm6000_core *dev)
520 msleep(15); 562 msleep(15);
521 break; 563 break;
522 case TM6010_BOARD_BEHOLD_WANDER: 564 case TM6010_BOARD_BEHOLD_WANDER:
565 case TM6010_BOARD_BEHOLD_WANDER_LITE:
523 /* Power led on (blue) */ 566 /* Power led on (blue) */
524 tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN, dev->gpio.power_led, 0x01); 567 tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN, dev->gpio.power_led, 0x01);
525 msleep(15); 568 msleep(15);
@@ -530,6 +573,7 @@ int tm6000_cards_setup(struct tm6000_core *dev)
530 msleep(15); 573 msleep(15);
531 break; 574 break;
532 case TM6010_BOARD_BEHOLD_VOYAGER: 575 case TM6010_BOARD_BEHOLD_VOYAGER:
576 case TM6010_BOARD_BEHOLD_VOYAGER_LITE:
533 /* Power led on (blue) */ 577 /* Power led on (blue) */
534 tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN, dev->gpio.power_led, 0x01); 578 tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN, dev->gpio.power_led, 0x01);
535 msleep(15); 579 msleep(15);
@@ -955,6 +999,8 @@ static void tm6000_usb_disconnect(struct usb_interface *interface)
955 break; 999 break;
956 case TM6010_BOARD_BEHOLD_WANDER: 1000 case TM6010_BOARD_BEHOLD_WANDER:
957 case TM6010_BOARD_BEHOLD_VOYAGER: 1001 case TM6010_BOARD_BEHOLD_VOYAGER:
1002 case TM6010_BOARD_BEHOLD_WANDER_LITE:
1003 case TM6010_BOARD_BEHOLD_VOYAGER_LITE:
958 /* Power led off */ 1004 /* Power led off */
959 tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN, 1005 tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN,
960 dev->gpio.power_led, 0x00); 1006 dev->gpio.power_led, 0x00);