ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / Documentation / i2c / i2c-pport
1 Primitive parallel port is driver for i2c bus, which exploits 
2 features of modern bidirectional parallel ports. 
3
4 Bidirectional ports have particular bits connected in following way:
5    
6                         |
7             /-----|     R
8          --o|     |-----|
9       read  \-----|     /------- Out pin
10                       |/
11                    - -|\
12                 write   V
13                         |
14                        ---  
15
16
17 It means when output is set to 1 we can read the port. Therefore 
18 we can use 2 pins of parallel port as SDA and SCL for i2c bus. It 
19 is not necessary to add any external - additional parts, we can 
20 read and write the same port simultaneously.
21         I only use register base+2 so it is possible to use all 
22 8 data bits of parallel port for other applications (I have 
23 connected EEPROM and LCD display). I do not use bit Enable Bi-directional
24  Port. The only disadvantage is we can only support 5V chips.
25
26 Layout:
27
28 Cannon 25 pin
29
30 SDA - connect to pin 14 (Auto Linefeed)
31 SCL - connect to pin 16 (Initialize Printer)
32 GND - connect to pin 18-25
33 +5V - use external supply (I use 5V from 3.5" floppy connector)
34       
35 no pullups  requied
36
37 Module parameters:
38
39 base = 0xXXX
40 XXX - 278 or 378
41
42 That's all.
43
44 Daniel Smolik
45 marvin@sitour.cz