]> git.pld-linux.org Git - packages/kernel.git/blame - linux-2.4.25-i2c-2.8.3-1.patch
- added description of djurban's branch
[packages/kernel.git] / linux-2.4.25-i2c-2.8.3-1.patch
CommitLineData
2887572f 1diff -urN linux-2.4.24.org/Documentation/Configure.help linux-2.4.24/Documentation/Configure.help
f4f05636
AM
2--- linux-2.4.24.org/Documentation/Configure.help 2004-02-04 22:35:48.287889651 +0100
3+++ linux-2.4.24/Documentation/Configure.help 2004-02-04 22:36:36.607840921 +0100
4@@ -20127,6 +20127,16 @@
dd51a169
AM
5 <file:Documentation/modules.txt>.
6 The module will be called i2c-velleman.o.
7
8+Basic I2C on Parallel Port adapter
9+CONFIG_I2C_PPORT
10+ This supports directly connecting I2C devices to the parallel port.
11+ See <file:Documentation/i2c/i2c-pport> for more information.
12+
13+ This driver is also available as a module. If you want to compile
14+ it as a module, say M here and read
15+ <file:Documentation/modules.txt>.
16+ The module will be called i2c-pport.o.
17+
18 I2C PCF 8584 interfaces
19 CONFIG_I2C_ALGOPCF
20 This allows you to use a range of I2C adapters called PCF adapters.
f4f05636 21@@ -20148,6 +20158,15 @@
dd51a169
AM
22 <file:Documentation/modules.txt>.
23 The module will be called i2c-elektor.o.
24
25+PCF on the EPP Parallel Port
26+CONFIG_I2C_PCFEPP
27+ This supports the PCF8584 connected to the parallel port.
28+
29+ This driver is also available as a module. If you want to compile
30+ it as a module, say M here and read
31+ <file:Documentation/modules.txt>.
32+ The module will be called i2c-pcf-epp.o.
33+
34 ITE I2C Algorithm
35 CONFIG_ITE_I2C_ALGO
36 This supports the use the ITE8172 I2C interface found on some MIPS
f4f05636 37@@ -20185,6 +20204,51 @@
dd51a169
AM
38 Supports the SGI interfaces like the ones found on SGI Indy VINO
39 or SGI O2 MACE.
40
41+Motorola 8xx I2C algorithm
42+CONFIG_I2C_ALGO8XX
43+ This is the algorithm that allows you to use Motorola 8xx I2C adapters.
44+
45+ This driver is also available as a module. If you want to compile
46+ it as a module, say M here and read
47+ <file:Documentation/modules.txt>.
48+ The module will be called i2c-algo-8xx.o.
49+
50+Motorola 8xx I2C interface
51+CONFIG_I2C_RPXLITE
52+ This supports the Motorola 8xx I2C device.
53+
54+ This driver is also available as a module. If you want to compile
55+ it as a module, say M here and read
56+ <file:Documentation/modules.txt>.
57+ The module will be called i2c-rpx.o.
58+
59+IBM 405 I2C algorithm
60+CONFIG_I2C_IBM_OCP_ALGO
61+ This is the algorithm that allows you to use IBM 405 I2C adapters.
62+
63+ This driver is also available as a module. If you want to compile
64+ it as a module, say M here and read
65+ <file:Documentation/modules.txt>.
66+ The module will be called i2c-algo-ibm_ocp.o.
67+
68+IBM 405 I2C interface
69+CONFIG_I2C_IBM_OCP_ADAP
70+ This supports the IBM 405 I2C device.
71+
72+ This driver is also available as a module. If you want to compile
73+ it as a module, say M here and read
74+ <file:Documentation/modules.txt>.
75+ The module will be called i2c-adap-ibm_ocp.o.
76+
77+StrongARM SA-1110 interface
78+CONFIG_I2C_FRODO
79+ This supports the StrongARM SA-1110 Development Board.
80+
81+ This driver is also available as a module. If you want to compile
82+ it as a module, say M here and read
83+ <file:Documentation/modules.txt>.
84+ The module will be called i2c-frodo.o.
85+
86 I2C device interface
87 CONFIG_I2C_CHARDEV
88 Say Y here to use i2c-* device files, usually found in the /dev
2887572f 89diff -urN linux-2.4.24.org/Documentation/i2c/dev-interface linux-2.4.24/Documentation/i2c/dev-interface
f4f05636
AM
90--- linux-2.4.24.org/Documentation/i2c/dev-interface 2004-02-04 22:35:46.529255353 +0100
91+++ linux-2.4.24/Documentation/i2c/dev-interface 2004-02-04 22:36:36.612839881 +0100
dd51a169
AM
92@@ -89,6 +89,11 @@
93 Selects ten bit addresses if select not equals 0, selects normal 7 bit
94 addresses if select equals 0. Default 0.
95
96+ioctl(file,I2C_PEC,long select)
97+ Selects SMBus PEC (packet error checking) generation and verification
98+ if select not equals 0, disables if select equals 0. Default 0.
99+ Used only for SMBus transactions.
100+
101 ioctl(file,I2C_FUNCS,unsigned long *funcs)
102 Gets the adapter functionality and puts it in *funcs.
103
2887572f
AM
104diff -urN linux-2.4.24.org/Documentation/i2c/i2c-pport linux-2.4.24/Documentation/i2c/i2c-pport
105--- linux-2.4.24.org/Documentation/i2c/i2c-pport 1970-01-01 01:00:00.000000000 +0100
f4f05636 106+++ linux-2.4.24/Documentation/i2c/i2c-pport 2004-02-04 22:36:36.619838425 +0100
dd51a169
AM
107@@ -0,0 +1,67 @@
108+Parallel Port Adapters
109+----------------------
110+If you are installing parallel port adapters it means you are probably messing
111+around with wires and IC's and the like. If you have purchased a card that
112+provides an external i2c/smbus this will require combined algorithm and
113+adapter code in a single module.
114+If you are doing it yourself by using the parallel port there
115+are basically 2 options.
116+
117+1) Using the parallel port and using the i2c-pport adapter module and the
118+i2c-algo-bit algorithm module together to enable you to wire up your parallel
119+port to act as an i2c/smbus. This provides a bus that will enable most
120+sensors to work but doesn't support the entire i2c/smbus capability.
121+
122+2) Using the parallel port to interface to a Philips PCF8584 parallel to i2c
123+adapter chip. You will need to build a bit of a circuit to do this. This
124+configuration needs the i2c-pcf-epp adapter module and the i2c-algo-pcf
125+algorithm module. This support almost all of the i2c/smbus capabilities.
126+
127+
128+i2c-pport Documentation
129+-----------------------
130+This is a primitive parallel port driver for the i2c bus, which exploits
131+features of modern bidirectional parallel ports.
132+
133+Bidirectional ports have particular bits connected in following way:
134+
135+ |
136+ /-----| R
137+ --o| |-----|
138+ read \-----| /------- Out pin
139+ |/
140+ - -|\
141+ write V
142+ |
143+ ---
144+
145+
146+It means when output is set to 1 we can read the port. Therefore
147+we can use 2 pins of parallel port as SDA and SCL for i2c bus. It
148+is not necessary to add any external - additional parts, we can
149+read and write the same port simultaneously.
150+ I only use register base+2 so it is possible to use all
151+8 data bits of parallel port for other applications (I have
152+connected EEPROM and LCD display). I do not use bit Enable Bi-directional
153+ Port. The only disadvantage is we can only support 5V chips.
154+
155+Layout:
156+
157+Cannon 25 pin
158+
159+SDA - connect to pin 14 (Auto Linefeed)
160+SCL - connect to pin 16 (Initialize Printer)
161+GND - connect to pin 18-25
162++5V - use external supply (I use 5V from 3.5" floppy connector)
163+
164+no pullups requied
165+
166+Module parameters:
167+
168+base = 0xXXX
169+XXX - 278 or 378
170+
171+That's all.
172+
173+Daniel Smolik
174+marvin@sitour.cz
2887572f 175diff -urN linux-2.4.24.org/Documentation/i2c/i2c-protocol linux-2.4.24/Documentation/i2c/i2c-protocol
f4f05636
AM
176--- linux-2.4.24.org/Documentation/i2c/i2c-protocol 2004-02-04 22:35:46.532254730 +0100
177+++ linux-2.4.24/Documentation/i2c/i2c-protocol 2004-02-04 22:36:36.621838010 +0100
dd51a169
AM
178@@ -65,3 +65,12 @@
179 need to emit an Rd instead of a Wr, or vice versa, you set this
180 flag. For example:
181 S Addr Rd [A] Data [A] Data [A] ... [A] Data [A] P
182+
183+ Flags I2C_M_IGNORE_NAK
184+ Normally message is interrupted immediately if there is [NA] from the
185