em28xx-cards.c (bc0868c62bb13834b20a864f684cced1f84a2412) em28xx-cards.c (ab4d14528fdf946dfa7177b53e64f78bf8cce03a)
1/*
2 em28xx-cards.c - driver for Empia EM2800/EM2820/2840 USB
3 video capture devices
4
5 Copyright (C) 2005 Ludovico Cavedon <cavedon@sssup.it>
6 Markus Rechberger <mrechberger@gmail.com>
7 Mauro Carvalho Chehab <mchehab@infradead.org>
8 Sascha Sommer <saschasommer@freenet.de>

--- 478 unchanged lines hidden (view full) ---

487 {EM2874_R80_GPIO_P0_CTRL, 0x00, 0xff, 300},
488 {EM2874_R80_GPIO_P0_CTRL, 0xf8, 0xff, 100},
489 {EM2874_R80_GPIO_P0_CTRL, 0xfc, 0xff, 300},
490 {0x0d, 0x42, 0xff, 1000},
491 {EM2874_R5F_TS_ENABLE, 0x85, 0xff, 0},
492 {-1, -1, -1, -1},
493};
494
1/*
2 em28xx-cards.c - driver for Empia EM2800/EM2820/2840 USB
3 video capture devices
4
5 Copyright (C) 2005 Ludovico Cavedon <cavedon@sssup.it>
6 Markus Rechberger <mrechberger@gmail.com>
7 Mauro Carvalho Chehab <mchehab@infradead.org>
8 Sascha Sommer <saschasommer@freenet.de>

--- 478 unchanged lines hidden (view full) ---

487 {EM2874_R80_GPIO_P0_CTRL, 0x00, 0xff, 300},
488 {EM2874_R80_GPIO_P0_CTRL, 0xf8, 0xff, 100},
489 {EM2874_R80_GPIO_P0_CTRL, 0xfc, 0xff, 300},
490 {0x0d, 0x42, 0xff, 1000},
491 {EM2874_R5F_TS_ENABLE, 0x85, 0xff, 0},
492 {-1, -1, -1, -1},
493};
494
495static struct em28xx_reg_seq plex_px_bcud[] = {
496 {EM2874_R80_GPIO_P0_CTRL, 0xff, 0xff, 0},
497 {0x0d, 0xff, 0xff, 0},
498 {EM2874_R50_IR_CONFIG, 0x01, 0xff, 0},
499 {EM28XX_R06_I2C_CLK, 0x40, 0xff, 0},
500 {EM2874_R80_GPIO_P0_CTRL, 0xfd, 0xff, 100},
501 {EM28XX_R12_VINENABLE, 0x20, 0x20, 0},
502 {0x0d, 0x42, 0xff, 1000},
503 {EM2874_R80_GPIO_P0_CTRL, 0xfc, 0xff, 10},
504 {EM2874_R80_GPIO_P0_CTRL, 0xfd, 0xff, 10},
505 {0x73, 0xfd, 0xff, 100},
506 {-1, -1, -1, -1},
507};
508
495/*
496 * Button definitions
497 */
498static struct em28xx_button std_snapshot_button[] = {
499 {
500 .role = EM28XX_BUTTON_SNAPSHOT,
501 .reg_r = EM28XX_R0C_USBSUSP,
502 .reg_clearing = EM28XX_R0C_USBSUSP,

--- 1798 unchanged lines hidden (view full) ---

2301 .name = "Terratec Cinergy T2 Stick HD",
2302 .def_i2c_bus = 1,
2303 .i2c_speed = EM28XX_I2C_CLK_WAIT_ENABLE | EM28XX_I2C_FREQ_400_KHZ,
2304 .tuner_type = TUNER_ABSENT,
2305 .tuner_gpio = terratec_t2_stick_hd,
2306 .has_dvb = 1,
2307 .ir_codes = RC_MAP_TERRATEC_SLIM_2,
2308 },
509/*
510 * Button definitions
511 */
512static struct em28xx_button std_snapshot_button[] = {
513 {
514 .role = EM28XX_BUTTON_SNAPSHOT,
515 .reg_r = EM28XX_R0C_USBSUSP,
516 .reg_clearing = EM28XX_R0C_USBSUSP,

--- 1798 unchanged lines hidden (view full) ---

2315 .name = "Terratec Cinergy T2 Stick HD",
2316 .def_i2c_bus = 1,
2317 .i2c_speed = EM28XX_I2C_CLK_WAIT_ENABLE | EM28XX_I2C_FREQ_400_KHZ,
2318 .tuner_type = TUNER_ABSENT,
2319 .tuner_gpio = terratec_t2_stick_hd,
2320 .has_dvb = 1,
2321 .ir_codes = RC_MAP_TERRATEC_SLIM_2,
2322 },
2323
2324 /*
2325 * 3275:0085 PLEX PX-BCUD.
2326 * Empia EM28178, TOSHIBA TC90532XBG, Sharp QM1D1C0042
2327 */
2328 [EM28178_BOARD_PLEX_PX_BCUD] = {
2329 .name = "PLEX PX-BCUD",
2330 .xclk = EM28XX_XCLK_FREQUENCY_4_3MHZ,
2331 .def_i2c_bus = 1,
2332 .i2c_speed = EM28XX_I2C_CLK_WAIT_ENABLE,
2333 .tuner_type = TUNER_ABSENT,
2334 .tuner_gpio = plex_px_bcud,
2335 .has_dvb = 1,
2336 },
2309};
2310EXPORT_SYMBOL_GPL(em28xx_boards);
2311
2312static const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);
2313
2314/* table of devices that work with this driver */
2315struct usb_device_id em28xx_id_table[] = {
2316 { USB_DEVICE(0xeb1a, 0x2750),

--- 173 unchanged lines hidden (view full) ---

2490 { USB_DEVICE(0x2013, 0x025f),
2491 .driver_info = EM28178_BOARD_PCTV_292E },
2492 { USB_DEVICE(0x2040, 0x0264), /* Hauppauge WinTV-soloHD */
2493 .driver_info = EM28178_BOARD_PCTV_292E },
2494 { USB_DEVICE(0x0413, 0x6f07),
2495 .driver_info = EM2861_BOARD_LEADTEK_VC100 },
2496 { USB_DEVICE(0xeb1a, 0x8179),
2497 .driver_info = EM28178_BOARD_TERRATEC_T2_STICK_HD },
2337};
2338EXPORT_SYMBOL_GPL(em28xx_boards);
2339
2340static const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);
2341
2342/* table of devices that work with this driver */
2343struct usb_device_id em28xx_id_table[] = {
2344 { USB_DEVICE(0xeb1a, 0x2750),

--- 173 unchanged lines hidden (view full) ---

2518 { USB_DEVICE(0x2013, 0x025f),
2519 .driver_info = EM28178_BOARD_PCTV_292E },
2520 { USB_DEVICE(0x2040, 0x0264), /* Hauppauge WinTV-soloHD */
2521 .driver_info = EM28178_BOARD_PCTV_292E },
2522 { USB_DEVICE(0x0413, 0x6f07),
2523 .driver_info = EM2861_BOARD_LEADTEK_VC100 },
2524 { USB_DEVICE(0xeb1a, 0x8179),
2525 .driver_info = EM28178_BOARD_TERRATEC_T2_STICK_HD },
2526 { USB_DEVICE(0x3275, 0x0085),
2527 .driver_info = EM28178_BOARD_PLEX_PX_BCUD },
2498 { },
2499};
2500MODULE_DEVICE_TABLE(usb, em28xx_id_table);
2501
2502/*
2503 * EEPROM hash table for devices with generic USB IDs
2504 */
2505static struct em28xx_hash_table em28xx_eeprom_hash[] = {

--- 1181 unchanged lines hidden ---
2528 { },
2529};
2530MODULE_DEVICE_TABLE(usb, em28xx_id_table);
2531
2532/*
2533 * EEPROM hash table for devices with generic USB IDs
2534 */
2535static struct em28xx_hash_table em28xx_eeprom_hash[] = {

--- 1181 unchanged lines hidden ---