[PATCH 2/2] em28xx: Add support for 1b80:e1cc Delock 61959
Hardware is the same as MaxMedia UB425-TC but ships with a different remote. Signed-off-by: Jakob Haufe --- drivers/media/usb/em28xx/em28xx-cards.c | 16 drivers/media/usb/em28xx/em28xx-dvb.c |5 +++-- drivers/media/usb/em28xx/em28xx.h |1 + 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/drivers/media/usb/em28xx/em28xx-cards.c b/drivers/media/usb/em28xx/em28xx-cards.c index 1d3866f..f625907 100644 --- a/drivers/media/usb/em28xx/em28xx-cards.c +++ b/drivers/media/usb/em28xx/em28xx-cards.c @@ -374,6 +374,7 @@ static struct em28xx_reg_seq hauppauge_930c_digital[] = { #endif /* 1b80:e425 MaxMedia UB425-TC + * 1b80:e1cc Delock 61959 * GPIO_6 - demod reset, 0=active * GPIO_7 - LED, 0=active */ @@ -2016,6 +2017,19 @@ struct em28xx_board em28xx_boards[] = { .i2c_speed= EM28XX_I2C_CLK_WAIT_ENABLE | EM28XX_I2C_FREQ_400_KHZ, }, + /* 1b80:e1cc Delock 61959 +* Empia EM2874B + Micronas DRX 3913KA2 + NXP TDA18271HDC2 + * mostly the same as MaxMedia UB-425-TC but different remote */ + [EM2874_BOARD_DELOCK_61959] = { + .name = "Delock 61959", + .tuner_type= TUNER_ABSENT, + .tuner_gpio= maxmedia_ub425_tc, + .has_dvb = 1, + .ir_codes = RC_MAP_DELOCK_61959, + .def_i2c_bus = 1, + .i2c_speed = EM28XX_I2C_CLK_WAIT_ENABLE | + EM28XX_I2C_FREQ_400_KHZ, + }, }; const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards); @@ -2177,6 +2191,8 @@ struct usb_device_id em28xx_id_table[] = { .driver_info = EM2884_BOARD_PCTV_510E }, { USB_DEVICE(0x2013, 0x0251), .driver_info = EM2884_BOARD_PCTV_520E }, + { USB_DEVICE(0x1b80, 0xe1cc), + .driver_info = EM2874_BOARD_DELOCK_61959 }, { }, }; MODULE_DEVICE_TABLE(usb, em28xx_id_table); diff --git a/drivers/media/usb/em28xx/em28xx-dvb.c b/drivers/media/usb/em28xx/em28xx-dvb.c index 42a6a26..663c998 100644 --- a/drivers/media/usb/em28xx/em28xx-dvb.c +++ b/drivers/media/usb/em28xx/em28xx-dvb.c @@ -1213,6 +1213,7 @@ static int em28xx_dvb_init(struct em28xx *dev) dvb_attach(a8293_attach, dvb->fe[0], &dev->i2c_adap[dev->def_i2c_bus], &em28xx_a8293_config); break; + case EM2874_BOARD_DELOCK_61959: case EM2874_BOARD_MAXMEDIA_UB425_TC: /* attach demodulator */ dvb->fe[0] = dvb_attach(drxk_attach, &maxmedia_ub425_tc_drxk, @@ -1232,8 +1233,8 @@ static int em28xx_dvb_init(struct em28xx *dev) } /* TODO: we need drx-3913k firmware in order to support DVB-T */ - em28xx_info("MaxMedia UB425-TC: only DVB-C supported by that " \ - "driver version\n"); + em28xx_info("MaxMedia UB425-TC/Delock 61959: only DVB-C " \ + "supported by that driver version\n"); break; case EM2884_BOARD_PCTV_510E: diff --git a/drivers/media/usb/em28xx/em28xx.h b/drivers/media/usb/em28xx/em28xx.h index a9323b6..59a9580 100644 --- a/drivers/media/usb/em28xx/em28xx.h +++ b/drivers/media/usb/em28xx/em28xx.h @@ -130,6 +130,7 @@ #define EM2884_BOARD_PCTV_520E 86 #define EM2884_BOARD_TERRATEC_HTC_USB_XS 87 #define EM2884_BOARD_C3TECH_DIGITAL_DUO 88 +#define EM2874_BOARD_DELOCK_6195989 /* Limits minimum and default number of buffers */ #define EM28XX_MIN_BUF 4 -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 1/2] rc: Add rc-delock-61959
This adds the keytable for the remote that comes with the Delock 61959. NEC protocol with address 0x866b. Signed-off-by: Jakob Haufe --- drivers/media/rc/keymaps/Makefile |1 + drivers/media/rc/keymaps/rc-delock-61959.c | 83 include/media/rc-map.h |1 + 3 files changed, 85 insertions(+) create mode 100644 drivers/media/rc/keymaps/rc-delock-61959.c diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile index 7786619..e2b7ddb 100644 --- a/drivers/media/rc/keymaps/Makefile +++ b/drivers/media/rc/keymaps/Makefile @@ -20,6 +20,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \ rc-budget-ci-old.o \ rc-cinergy-1400.o \ rc-cinergy.o \ + rc-delock-61959.o \ rc-dib0700-nec.o \ rc-dib0700-rc5.o \ rc-digitalnow-tinytwin.o \ diff --git a/drivers/media/rc/keymaps/rc-delock-61959.c b/drivers/media/rc/keymaps/rc-delock-61959.c new file mode 100644 index 000..01bed86 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-delock-61959.c @@ -0,0 +1,83 @@ +/* rc-delock-61959.c - Keytable for Delock + * + * Copyright (c) 2013 by Jakob Haufe + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +#include +#include + +/* + * Keytable for remote provided with Delock 61959 + */ +static struct rc_map_table delock_61959[] = { + { 0x866b16, KEY_POWER2 }, /* Power */ + { 0x866b0c, KEY_POWER },/* Shut Down */ + + { 0x866b00, KEY_1}, + { 0x866b01, KEY_2}, + { 0x866b02, KEY_3}, + { 0x866b03, KEY_4}, + { 0x866b04, KEY_5}, + { 0x866b05, KEY_6}, + { 0x866b06, KEY_7}, + { 0x866b07, KEY_8}, + { 0x866b08, KEY_9}, + { 0x866b14, KEY_0}, + + { 0x866b0a, KEY_ZOOM}, /* Full Screen */ + { 0x866b10, KEY_CAMERA},/* Photo */ + { 0x866b0e, KEY_CHANNEL}, /* circular arrow / Recall */ + { 0x866b13, KEY_ESC}, /* Back */ + + { 0x866b20, KEY_UP}, + { 0x866b21, KEY_DOWN}, + { 0x866b42, KEY_LEFT}, + { 0x866b43, KEY_RIGHT}, + { 0x866b0b, KEY_OK}, + + { 0x866b11, KEY_CHANNELUP}, + { 0x866b1b, KEY_CHANNELDOWN}, + + { 0x866b12, KEY_VOLUMEUP}, + { 0x866b48, KEY_VOLUMEDOWN}, + { 0x866b44, KEY_MUTE}, + + { 0x866b1a, KEY_RECORD}, + { 0x866b41, KEY_PLAY}, + { 0x866b40, KEY_STOP}, + { 0x866b19, KEY_PAUSE}, + { 0x866b1c, KEY_FASTFORWARD}, /* >> / FWD */ + { 0x866b1e, KEY_REWIND},/* << / REW */ + +}; + +static struct rc_map_list delock_61959_map = { + .map = { + .scan= delock_61959, + .size= ARRAY_SIZE(delock_61959), + .rc_type = RC_TYPE_NEC, + .name= RC_MAP_DELOCK_61959, + } +}; + +static int __init init_rc_map_delock_61959(void) +{ + return rc_map_register(&delock_61959_map); +} + +static void __exit exit_rc_map_delock_61959(void) +{ + rc_map_unregister(&delock_61959_map); +} + +module_init(init_rc_map_delock_61959) +module_exit(exit_rc_map_delock_61959) + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Jakob Haufe "); +MODULE_DESCRIPTION("Delock 61959 remote keytable"); diff --git a/include/media/rc-map.h b/include/media/rc-map.h index f74ee6f..46326ab 100644 --- a/include/media/rc-map.h +++ b/include/media/rc-map.h @@ -111,6 +111,7 @@ void rc_map_init(void); #define RC_MAP_BUDGET_CI_OLD "rc-budget-ci-old" #define RC_MAP_CINERGY_1400 "rc-cinergy-1400" #define RC_MAP_CINERGY "rc-cinergy" +#define RC_MAP_DELOCK_61959 "rc-delock-61959" #define RC_MAP_DIB0700_NEC_TABLE "rc-dib0700-nec" #define RC_MAP_DIB0700_RC5_TABLE "rc-dib0700-rc5" #define RC_MAP_DIGITALNOW_TINYTWIN "rc-digitalnow-tinytwin" -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] Add support for Delock 61959 and its remote control
This time for real with all bells and whistles: Delock 61959 is a relabeled MexMedia UB-425TC with a different USB ID and a different remote. Patch 1 adds the keytable for the remote control and patch 2 adds support for the device itself. I'm reusing maxmedia_ub425_tc as I didn't want to duplicate it without need. DVB-T is not working (yet) because of the DRX-K firmware issue. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] Add support for Delock 61959
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Delock 61959 seems to be a relabeled version of Maxmedia UB425-TC with a different USB ID. PCB is marked as "UB425-TC Ver: A" and this change makes it work without any obvious problems. Signed-off-by: Jakob Haufe - --- drivers/media/usb/em28xx/em28xx-cards.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/media/usb/em28xx/em28xx-cards.c b/drivers/media/usb/em28xx/em28xx-cards.c index 1d3866f..82950aa 100644 - --- a/drivers/media/usb/em28xx/em28xx-cards.c +++ b/drivers/media/usb/em28xx/em28xx-cards.c @@ -2173,6 +2173,8 @@ struct usb_device_id em28xx_id_table[] = { .driver_info = EM2860_BOARD_EASYCAP }, { USB_DEVICE(0x1b80, 0xe425), .driver_info = EM2874_BOARD_MAXMEDIA_UB425_TC }, + { USB_DEVICE(0x1b80, 0xe1cc), /* Delock 61959 */ + .driver_info = EM2874_BOARD_MAXMEDIA_UB425_TC }, { USB_DEVICE(0x2304, 0x0242), .driver_info = EM2884_BOARD_PCTV_510E }, { USB_DEVICE(0x2013, 0x0251), - -- 1.7.10.4 - -- ceterum censeo microsoftem esse delendam. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAlFoF8AACgkQ1YAhDic+adaIPQCfZQ+6gUH/JA6N2QVsa7nrpZyL vSsAn3e+zMiFiM80Vn1oTGrgnkhDxfcx =mOcG -END PGP SIGNATURE-
Re: Delock 61959
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Tue, 9 Apr 2013 14:48:05 +0200 Jakob Haufe wrote: > Will do so tonight and report back. Took a little longer but it worked as expected. Patch follows in a separate mail. dmesg output: [19.474818] em28xx: New device USB 2875 Device @ 480 Mbps (1b80:e1cc, interface 0, class 0) [19.484245] em28xx: DVB interface 0 found: isoc [19.493626] em28xx: chip ID is em2874 [19.771843] em2874 #0: i2c eeprom : 26 00 01 00 02 08 c8 e5 f5 64 01 60 09 e5 f5 64 [19.781820] em2874 #0: i2c eeprom 0010: 09 60 03 c2 c6 22 e5 f7 b4 03 13 e5 f6 b4 87 03 [19.791682] em2874 #0: i2c eeprom 0020: 02 08 63 e5 f6 b4 93 03 02 06 f7 c2 c6 22 c2 c6 [19.801429] em2874 #0: i2c eeprom 0030: 22 00 60 00 90 00 60 12 06 29 7b 95 7a 67 79 eb [19.810955] em2874 #0: i2c eeprom 0040: 78 1a c3 12 06 18 70 03 d3 80 01 c3 92 02 90 78 [19.820345] em2874 #0: i2c eeprom 0050: 0b 74 96 f0 74 82 f0 90 78 5d 74 05 f0 a3 f0 22 [19.829532] em2874 #0: i2c eeprom 0060: 00 00 00 00 1a eb 67 95 80 1b cc e1 f0 93 6b 00 [19.838768] em2874 #0: i2c eeprom 0070: 6a 20 00 00 00 00 04 57 4e 07 09 00 00 00 00 00 [19.848037] em2874 #0: i2c eeprom 0080: 00 00 00 00 4e 00 12 00 f0 10 44 89 88 00 00 00 [19.857240] em2874 #0: i2c eeprom 0090: 5b 81 c0 00 00 00 20 40 20 80 02 20 01 01 00 00 [19.866452] em2874 #0: i2c eeprom 00a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [19.875663] em2874 #0: i2c eeprom 00b0: c6 40 00 00 00 00 87 00 00 00 00 00 00 40 00 00 [19.884863] em2874 #0: i2c eeprom 00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 03 [19.894000] em2874 #0: i2c eeprom 00d0: 55 00 53 00 42 00 20 00 32 00 38 00 37 00 35 00 [19.903174] em2874 #0: i2c eeprom 00e0: 20 00 44 00 65 00 76 00 69 00 63 00 65 00 04 03 [19.912282] em2874 #0: i2c eeprom 00f0: 31 00 00 00 33 00 34 00 35 00 36 00 37 00 38 00 [19.921329] em2874 #0: i2c eeprom 0100: ... (skipped) [19.930134] em2874 #0: EEPROM ID = 26 00 01 00, EEPROM hash = 0xde1f879b [19.938967] em2874 #0: EEPROM info: [19.947590] em2874 #0: microcode start address = 0x0004, boot configuration = 0x01 [19.964171] em2874 #0: No audio on board. [19.972548] em2874 #0: 500mA max power [19.980912] em2874 #0: Table at offset 0x00, strings=0x, 0x, 0x [19.989859] em2874 #0: Identified as MaxMedia UB425-TC (card=84) [19.998518] em2874 #0: v4l2 driver version 0.2.0 [20.012548] em2874 #0: V4L2 video device registered as video0 [20.021268] em2874 #0: dvb set to isoc mode. [20.02] drxk: status = 0x439130d9 [20.075896] drxk: detected a drx-3913k, spin A2, xtal 20.250 MHz [20.158282] DRXK driver version 0.9.4300 [20.184878] drxk: frontend initialized. [22.025707] em2874 #0: MaxMedia UB425-TC: only DVB-C supported by that driver version [22.035149] DVB: registering new adapter (em2874 #0) [22.044967] usb 1-1: DVB: registering adapter 0 frontend 0 (DRXK DVB-C DVB-T)... [22.061012] em2874 #0: Successfully loaded em28xx-dvb I then ran tvheadend for a couple of hours and it worked without problems. I'm just wondering how to get the IR remote to work. As the UB425-TC comes with a remote as well I kind of expected that the codes will be the same. Would trying different values for .ir_codes make sense or is there some other way to find this out? Cheers, Jakob - -- ceterum censeo microsoftem esse delendam. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAlFoF3gACgkQ1YAhDic+adZ1BQCeJbr86AncHGM+Rw2rwuDiDDDi 0qAAoIHdhZYoYxCP6fPWlfO8aH0rIC3U =dIxP -END PGP SIGNATURE-
Re: Delock 61959
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Sun, 24 Mar 2013 15:10:54 +0200 Antti Palosaari wrote: > Maybe it is em28xx + DRX-K + tda18271 based. There is few such devices > already supported by em28xx driver. First device to test is 1b80:e425 > MaxMedia UB425-TC. Perfect guess! I just got this Delock stick as well and my first action was to crack it open: * Empia EM2874B D56CN-017 1132-107G (12MHz XTAL next to it) * NXP 18271HDC2 CS5418 17 TSD11301 (16MHz XTAL next to it) * MICRONAS DRX 3913KA2 750274.000. 1213E 9325 (20.250MHz XTAL next to it) * IR Receiver * Sticker: C02-210026 UB425-TC 13012-60003-05010-G 416 * Board says: UB425-TC Ver: A > Just replace USB ID 0xe425 with 0xe1cc, compile and test. There is some > other devices too, especially all those which are using drx-k. Will do so tonight and report back. Cheers, Jakob - -- ceterum censeo microsoftem esse delendam. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAlFkDgUACgkQ1YAhDic+adYl5QCfXtU2V6CPax6Qc4qPHTRIRP/C fkcAoI7HOXVHB0DBx1joXRd6w94bBTtP =To/A -END PGP SIGNATURE-
Re: [PATCH] Add quirk for camera of Lenovo Thinkpad X220 Tablet
For the sake of completeness, I'll answer here as well. On Thu, 10 May 2012 08:45:45 +0200 Gregor Jasny wrote: > Without this patch, is the image flipped in both: laptop and normal mode? Yes, it's flipped in both modes. My girlfriend actually used that as a workaround: Flip it to tablet mode and hold it upside down while videochatting. > And could you please post the output of dmidecode? In the past we had > different default behavior (flipped vs. non-flipped) for Thinkpad > tablets with the same board / system identifiers. Attached. Cheers, Jakob -- ceterum censeo microsoftem esse delendam. # dmidecode 2.11 SMBIOS 2.6 present. 68 structures occupying 2543 bytes. Table at 0xDAE9C000. Handle 0x, DMI type 134, 16 bytes OEM-specific Type Header and Data: 86 10 00 00 00 53 54 4D 20 01 01 00 00 02 01 02 Strings: TPM INFO System Reserved Handle 0x0001, DMI type 4, 42 bytes Processor Information Socket Designation: CPU Type: Central Processor Family: Core i7 Manufacturer: Intel(R) Corporation ID: A7 06 02 00 FF FB EB BF Signature: Type 0, Family 6, Model 42, Stepping 7 Flags: FPU (Floating-point unit on-chip) VME (Virtual mode extension) DE (Debugging extension) PSE (Page size extension) TSC (Time stamp counter) MSR (Model specific registers) PAE (Physical address extension) MCE (Machine check exception) CX8 (CMPXCHG8 instruction supported) APIC (On-chip APIC hardware supported) SEP (Fast system call) MTRR (Memory type range registers) PGE (Page global enable) MCA (Machine check architecture) CMOV (Conditional move instruction supported) PAT (Page attribute table) PSE-36 (36-bit page size extension) CLFSH (CLFLUSH instruction supported) DS (Debug store) ACPI (ACPI supported) MMX (MMX technology supported) FXSR (FXSAVE and FXSTOR instructions supported) SSE (Streaming SIMD extensions) SSE2 (Streaming SIMD extensions 2) SS (Self-snoop) HTT (Multi-threading) TM (Thermal monitor supported) PBE (Pending break enabled) Version: Intel(R) Core(TM) i7-2620M CPU @ 2.70GHz Voltage: 1.2 V External Clock: 100 MHz Max Speed: 2700 MHz Current Speed: 2700 MHz Status: Populated, Enabled Upgrade: ZIF Socket L1 Cache Handle: 0x0002 L2 Cache Handle: 0x0003 L3 Cache Handle: 0x0004 Serial Number: Not Supported by CPU Asset Tag: None Part Number: None Core Count: 2 Core Enabled: 2 Thread Count: 4 Characteristics: 64-bit capable Handle 0x0002, DMI type 7, 19 bytes Cache Information Socket Designation: L1-Cache Configuration: Enabled, Not Socketed, Level 1 Operational Mode: Write Through Location: Internal Installed Size: 64 kB Maximum Size: 64 kB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Single-bit ECC System Type: Data Associativity: 8-way Set-associative Handle 0x0003, DMI type 7, 19 bytes Cache Information Socket Designation: L2-Cache Configuration: Enabled, Not Socketed, Level 2 Operational Mode: Write Through Location: Internal Installed Size: 256 kB Maximum Size: 256 kB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Single-bit ECC System Type: Data Associativity: 8-way Set-associative Handle 0x0004, DMI type 7, 19 bytes Cache Information Socket Designation: L3-Cache Configuration: Enabled, Not Socketed, Level 3 Operational Mode: Write Back Location: Internal Installed Size: 4096 kB Maximum Size: 4096 kB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Single-bit ECC System Type: Unified Associativity: 16-way Set-associative Handle 0x0005, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 16 GB Error Information Handle: Not Provided Number Of Devices: 2 Handle 0x0006, DMI type 17, 28 bytes Memory Device Array Handle: 0x0005 Error Information Ha
[PATCH] Add quirk for camera of Lenovo Thinkpad X220 Tablet
--- lib/libv4lconvert/control/libv4lcontrol.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/libv4lconvert/control/libv4lcontrol.c b/lib/libv4lconvert/control/libv4lcontrol.c index e802a90..f9fda71 100644 --- a/lib/libv4lconvert/control/libv4lcontrol.c +++ b/lib/libv4lconvert/control/libv4lcontrol.c @@ -134,6 +134,8 @@ static const struct v4lcontrol_flags_info v4lcontrol_flags[] = { "FUJITSU", "LIFEBOOK NH751" }, { 0x04f2, 0xb217, 0, "LENOVO", "42992QG", V4LCONTROL_HFLIPPED | V4LCONTROL_VFLIPPED }, + { 0x04f2, 0xb217, 0, "LENOVO", "42982YG", + V4LCONTROL_HFLIPPED | V4LCONTROL_VFLIPPED }, { 0x04f2, 0xb27c, 0, "LENOVO", "12973MG", V4LCONTROL_HFLIPPED | V4LCONTROL_VFLIPPED, 0, NULL, NULL, NULL, "ThinkPad Edge E325" }, -- 1.7.10 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html