Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

i2c-parport: Add support for One For All remote JP1 interface

This simple patch adds support to i2c-parport for the One For All remote
JP1 parallel port interfaces which can be found detailed at:

http://www.hifi-remote.com/jp1/hardware.shtml

These allow access to the internal configuration EEPROM on various
remote controls and there are a variety of Windows tools that make use
of this hardware. I have tested this patch with the "simple" parallel
port device and a One For All URC-7562 and confirmed that the data read
using the eeprom i2c driver matches that returned by the Windows "IR"
JP1 tool.

Signed-off-by: Jonathan McDowell <noodles@earth.li>
Signed-off-by: Jean Delvare <khali@linux-fr.org>

authored by

Jonathan McDowell and committed by
Jean Delvare
55249cf7 ab6a6ed2

+23
+15
Documentation/i2c/busses/i2c-parport
··· 19 19 * (type=4) Analog Devices ADM1032 evaluation board 20 20 * (type=5) Analog Devices evaluation boards: ADM1025, ADM1030, ADM1031 21 21 * (type=6) Barco LPT->DVI (K5800236) adapter 22 + * (type=7) One For All JP1 parallel port adapter 22 23 23 24 These devices use different pinout configurations, so you have to tell 24 25 the driver what you have, using the type module parameter. There is no ··· 158 157 http://home.wanadoo.nl/hihihi/libk8005.htm 159 158 http://struyve.mine.nu:8080/index.php?block=k8000 160 159 http://sourceforge.net/projects/libk8005/ 160 + 161 + 162 + One For All JP1 parallel port adapter 163 + ------------------------------------- 164 + 165 + The JP1 project revolves around a set of remote controls which expose 166 + the I2C bus their internal configuration EEPROM lives on via a 6 pin 167 + jumper in the battery compartment. More details can be found at: 168 + 169 + http://www.hifi-remote.com/jp1/ 170 + 171 + Details of the simple parallel port hardware can be found at: 172 + 173 + http://www.hifi-remote.com/jp1/hardware.shtml
+8
drivers/i2c/busses/i2c-parport.h
··· 88 88 .getscl = { 0x40, STAT, 0 }, 89 89 .init = { 0xfc, DATA, 0 }, 90 90 }, 91 + /* type 7: One For All JP1 parallel port adapter */ 92 + { 93 + .setsda = { 0x01, DATA, 0 }, 94 + .setscl = { 0x02, DATA, 0 }, 95 + .getsda = { 0x80, STAT, 1 }, 96 + .init = { 0x04, DATA, 1 }, 97 + }, 91 98 }; 92 99 93 100 static int type = -1; ··· 108 101 " 4 = ADM1032 evaluation board\n" 109 102 " 5 = ADM1025, ADM1030 and ADM1031 evaluation boards\n" 110 103 " 6 = Barco LPT->DVI (K5800236) adapter\n" 104 + " 7 = One For All JP1 parallel port adapter\n" 111 105 );