em28xx-cards.c (9f1d0bdab24f536f82041fe2338f24b3b08d08a1) em28xx-cards.c (ec573362afa202acca640629b321ac09b6911448)
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>

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

351 {EM2874_R80_GPIO_P0_CTRL, 0xfd, 0xff, 10},
352 {EM2874_R80_GPIO_P0_CTRL, 0xff, 0xff, 10},
353 {EM2874_R80_GPIO_P0_CTRL, 0xfe, 0xff, 10},
354 {EM2874_R80_GPIO_P0_CTRL, 0xbe, 0xff, 10},
355 {EM2874_R80_GPIO_P0_CTRL, 0xfe, 0xff, 20},
356 { -1, -1, -1, -1},
357};
358
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>

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

351 {EM2874_R80_GPIO_P0_CTRL, 0xfd, 0xff, 10},
352 {EM2874_R80_GPIO_P0_CTRL, 0xff, 0xff, 10},
353 {EM2874_R80_GPIO_P0_CTRL, 0xfe, 0xff, 10},
354 {EM2874_R80_GPIO_P0_CTRL, 0xbe, 0xff, 10},
355 {EM2874_R80_GPIO_P0_CTRL, 0xfe, 0xff, 20},
356 { -1, -1, -1, -1},
357};
358
359/*
360 * 2013:0258 PCTV DVB-S2 Stick (461e)
361 * GPIO 0 = POWER_ON
362 * GPIO 1 = BOOST
363 * GPIO 2 = VUV_LNB (red LED)
364 * GPIO 3 = #EXT_12V
365 * GPIO 4 = INT_DEM
366 * GPIO 5 = INT_LNB
367 * GPIO 6 = #RESET_DEM
368 * GPIO 7 = P07_LED (green LED)
369 */
370static struct em28xx_reg_seq pctv_461e[] = {
371 {EM2874_R80_GPIO_P0_CTRL, 0x7f, 0xff, 0},
372 {0x0d, 0xff, 0xff, 0},
373 {EM2874_R80_GPIO_P0_CTRL, 0x3f, 0xff, 100}, /* reset demod */
374 {EM2874_R80_GPIO_P0_CTRL, 0x7f, 0xff, 200}, /* reset demod */
375 {0x0d, 0x42, 0xff, 0},
376 {EM2874_R80_GPIO_P0_CTRL, 0xeb, 0xff, 0},
377 {EM2874_R5F_TS_ENABLE, 0x84, 0x84, 0}, /* parallel? | null discard */
378 { -1, -1, -1, -1},
379};
380
359#if 0
360static struct em28xx_reg_seq hauppauge_930c_gpio[] = {
361 {EM2874_R80_GPIO_P0_CTRL, 0x6f, 0xff, 10},
362 {EM2874_R80_GPIO_P0_CTRL, 0x4f, 0xff, 10}, /* xc5000 reset */
363 {EM2874_R80_GPIO_P0_CTRL, 0x6f, 0xff, 10},
364 {EM2874_R80_GPIO_P0_CTRL, 0x4f, 0xff, 10},
365 { -1, -1, -1, -1},
366};

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

2120 .input = { {
2121 .type = EM28XX_VMUX_COMPOSITE1,
2122 .amux = EM28XX_AMUX_VIDEO,
2123 .gpio = speedlink_vad_laplace_reg_seq,
2124 } },
2125 .buttons = speedlink_vad_laplace_buttons,
2126 .leds = speedlink_vad_laplace_leds,
2127 },
381#if 0
382static struct em28xx_reg_seq hauppauge_930c_gpio[] = {
383 {EM2874_R80_GPIO_P0_CTRL, 0x6f, 0xff, 10},
384 {EM2874_R80_GPIO_P0_CTRL, 0x4f, 0xff, 10}, /* xc5000 reset */
385 {EM2874_R80_GPIO_P0_CTRL, 0x6f, 0xff, 10},
386 {EM2874_R80_GPIO_P0_CTRL, 0x4f, 0xff, 10},
387 { -1, -1, -1, -1},
388};

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

2142 .input = { {
2143 .type = EM28XX_VMUX_COMPOSITE1,
2144 .amux = EM28XX_AMUX_VIDEO,
2145 .gpio = speedlink_vad_laplace_reg_seq,
2146 } },
2147 .buttons = speedlink_vad_laplace_buttons,
2148 .leds = speedlink_vad_laplace_leds,
2149 },
2150 /* 2013:0258 PCTV DVB-S2 Stick (461e)
2151 * Empia EM28178, Montage M88DS3103, Montage M88TS2022, Allegro A8293 */
2152 [EM28178_BOARD_PCTV_461E] = {
2153 .def_i2c_bus = 1,
2154 .i2c_speed = EM28XX_I2C_CLK_WAIT_ENABLE | EM28XX_I2C_FREQ_400_KHZ,
2155 .name = "PCTV DVB-S2 Stick (461e)",
2156 .tuner_type = TUNER_ABSENT,
2157 .tuner_gpio = pctv_461e,
2158 .has_dvb = 1,
2159 .ir_codes = RC_MAP_PINNACLE_PCTV_HD,
2160 },
2128};
2129const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);
2130
2131/* table of devices that work with this driver */
2132struct usb_device_id em28xx_id_table[] = {
2133 { USB_DEVICE(0xeb1a, 0x2750),
2134 .driver_info = EM2750_BOARD_UNKNOWN },
2135 { USB_DEVICE(0xeb1a, 0x2751),

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

2289 { USB_DEVICE(0x2013, 0x0251),
2290 .driver_info = EM2884_BOARD_PCTV_520E },
2291 { USB_DEVICE(0x1b80, 0xe1cc),
2292 .driver_info = EM2874_BOARD_DELOCK_61959 },
2293 { USB_DEVICE(0x1ae7, 0x9003),
2294 .driver_info = EM2765_BOARD_SPEEDLINK_VAD_LAPLACE },
2295 { USB_DEVICE(0x1ae7, 0x9004),
2296 .driver_info = EM2765_BOARD_SPEEDLINK_VAD_LAPLACE },
2161};
2162const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);
2163
2164/* table of devices that work with this driver */
2165struct usb_device_id em28xx_id_table[] = {
2166 { USB_DEVICE(0xeb1a, 0x2750),
2167 .driver_info = EM2750_BOARD_UNKNOWN },
2168 { USB_DEVICE(0xeb1a, 0x2751),

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

2322 { USB_DEVICE(0x2013, 0x0251),
2323 .driver_info = EM2884_BOARD_PCTV_520E },
2324 { USB_DEVICE(0x1b80, 0xe1cc),
2325 .driver_info = EM2874_BOARD_DELOCK_61959 },
2326 { USB_DEVICE(0x1ae7, 0x9003),
2327 .driver_info = EM2765_BOARD_SPEEDLINK_VAD_LAPLACE },
2328 { USB_DEVICE(0x1ae7, 0x9004),
2329 .driver_info = EM2765_BOARD_SPEEDLINK_VAD_LAPLACE },
2330 { USB_DEVICE(0x2013, 0x0258),
2331 .driver_info = EM28178_BOARD_PCTV_461E },
2297 { },
2298};
2299MODULE_DEVICE_TABLE(usb, em28xx_id_table);
2300
2301/*
2302 * EEPROM hash table for devices with generic USB IDs
2303 */
2304static struct em28xx_hash_table em28xx_eeprom_hash[] = {

--- 1299 unchanged lines hidden ---
2332 { },
2333};
2334MODULE_DEVICE_TABLE(usb, em28xx_id_table);
2335
2336/*
2337 * EEPROM hash table for devices with generic USB IDs
2338 */
2339static struct em28xx_hash_table em28xx_eeprom_hash[] = {

--- 1299 unchanged lines hidden ---