mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
190 lines
7.5 KiB
190 lines
7.5 KiB
========================= |
|
Kernel driver i2c-parport |
|
========================= |
|
|
|
Author: Jean Delvare <[email protected]> |
|
|
|
This is a unified driver for several i2c-over-parallel-port adapters, |
|
such as the ones made by Philips, Velleman or ELV. This driver is |
|
meant as a replacement for the older, individual drivers: |
|
|
|
* i2c-philips-par |
|
* i2c-elv |
|
* i2c-velleman |
|
* video/i2c-parport |
|
(NOT the same as this one, dedicated to home brew teletext adapters) |
|
|
|
It currently supports the following devices: |
|
|
|
* (type=0) Philips adapter |
|
* (type=1) home brew teletext adapter |
|
* (type=2) Velleman K8000 adapter |
|
* (type=3) ELV adapter |
|
* (type=4) Analog Devices ADM1032 evaluation board |
|
* (type=5) Analog Devices evaluation boards: ADM1025, ADM1030, ADM1031 |
|
* (type=6) Barco LPT->DVI (K5800236) adapter |
|
* (type=7) One For All JP1 parallel port adapter |
|
* (type=8) VCT-jig |
|
|
|
These devices use different pinout configurations, so you have to tell |
|
the driver what you have, using the type module parameter. There is no |
|
way to autodetect the devices. Support for different pinout configurations |
|
can be easily added when needed. |
|
|
|
Earlier kernels defaulted to type=0 (Philips). But now, if the type |
|
parameter is missing, the driver will simply fail to initialize. |
|
|
|
SMBus alert support is available on adapters which have this line properly |
|
connected to the parallel port's interrupt pin. |
|
|
|
|
|
Building your own adapter |
|
------------------------- |
|
|
|
If you want to build you own i2c-over-parallel-port adapter, here is |
|
a sample electronics schema (credits go to Sylvain Munaut):: |
|
|
|
Device PC |
|
Side ___________________Vdd (+) Side |
|
| | | |
|
--- --- --- |
|
| | | | | | |
|
|R| |R| |R| |
|
| | | | | | |
|
--- --- --- |
|
| | | |
|
| | /| | |
|
SCL ----------x--------o |-----------x------------------- pin 2 |
|
| \| | | |
|
| | | |
|
| |\ | | |
|
SDA ----------x----x---| o---x--------------------------- pin 13 |
|
| |/ | |
|
| | |
|
| /| | |
|
---------o |----------------x-------------- pin 3 |
|
\| | | |
|
| | |
|
--- --- |
|
| | | | |
|
|R| |R| |
|
| | | | |
|
--- --- |
|
| | |
|
### ### |
|
GND GND |
|
|
|
Remarks: |
|
- This is the exact pinout and electronics used on the Analog Devices |
|
evaluation boards. |
|
- All inverters:: |
|
|
|
/| |
|
-o |- |
|
\| |
|
|
|
must be 74HC05, they must be open collector output. |
|
- All resitors are 10k. |
|
- Pins 18-25 of the parallel port connected to GND. |
|
- Pins 4-9 (D2-D7) could be used as VDD is the driver drives them high. |
|
The ADM1032 evaluation board uses D4-D7. Beware that the amount of |
|
current you can draw from the parallel port is limited. Also note that |
|
all connected lines MUST BE driven at the same state, else you'll short |
|
circuit the output buffers! So plugging the I2C adapter after loading |
|
the i2c-parport module might be a good safety since data line state |
|
prior to init may be unknown. |
|
- This is 5V! |
|
- Obviously you cannot read SCL (so it's not really standard-compliant). |
|
Pretty easy to add, just copy the SDA part and use another input pin. |
|
That would give (ELV compatible pinout):: |
|
|
|
|
|
Device PC |
|
Side ______________________________Vdd (+) Side |
|
| | | | |
|
--- --- --- --- |
|
| | | | | | | | |
|
|R| |R| |R| |R| |
|
| | | | | | | | |
|
--- --- --- --- |
|
| | | | |
|
| | |\ | | |
|
SCL ----------x--------x--| o---x------------------------ pin 15 |
|
| | |/ | |
|
| | | |
|
| | /| | |
|
| ---o |-------------x-------------- pin 2 |
|
| \| | | |
|
| | | |
|
| | | |
|
| |\ | | |
|
SDA ---------------x---x--| o--------x------------------- pin 10 |
|
| |/ | |
|
| | |
|
| /| | |
|
---o |------------------x--------- pin 3 |
|
\| | | |
|
| | |
|
--- --- |
|
| | | | |
|
|R| |R| |
|
| | | | |
|
--- --- |
|
| | |
|
### ### |
|
GND GND |
|
|
|
|
|
If possible, you should use the same pinout configuration as existing |
|
adapters do, so you won't even have to change the code. |
|
|
|
|
|
Similar (but different) drivers |
|
------------------------------- |
|
|
|
This driver is NOT the same as the i2c-pport driver found in the i2c |
|
package. The i2c-pport driver makes use of modern parallel port features so |
|
that you don't need additional electronics. It has other restrictions |
|
however, and was not ported to Linux 2.6 (yet). |
|
|
|
This driver is also NOT the same as the i2c-pcf-epp driver found in the |
|
lm_sensors package. The i2c-pcf-epp driver doesn't use the parallel port as |
|
an I2C bus directly. Instead, it uses it to control an external I2C bus |
|
master. That driver was not ported to Linux 2.6 (yet) either. |
|
|
|
|
|
Legacy documentation for Velleman adapter |
|
----------------------------------------- |
|
|
|
Useful links: |
|
|
|
- Velleman http://www.velleman.be/ |
|
- Velleman K8000 Howto http://howto.htlw16.ac.at/k8000-howto.html |
|
|
|
The project has lead to new libs for the Velleman K8000 and K8005: |
|
|
|
LIBK8000 v1.99.1 and LIBK8005 v0.21 |
|
|
|
With these libs, you can control the K8000 interface card and the K8005 |
|
stepper motor card with the simple commands which are in the original |
|
Velleman software, like SetIOchannel, ReadADchannel, SendStepCCWFull and |
|
many more, using /dev/velleman. |
|
|
|
- http://home.wanadoo.nl/hihihi/libk8000.htm |
|
- http://home.wanadoo.nl/hihihi/libk8005.htm |
|
- http://struyve.mine.nu:8080/index.php?block=k8000 |
|
- http://sourceforge.net/projects/libk8005/ |
|
|
|
|
|
One For All JP1 parallel port adapter |
|
------------------------------------- |
|
|
|
The JP1 project revolves around a set of remote controls which expose |
|
the I2C bus their internal configuration EEPROM lives on via a 6 pin |
|
jumper in the battery compartment. More details can be found at: |
|
|
|
http://www.hifi-remote.com/jp1/ |
|
|
|
Details of the simple parallel port hardware can be found at: |
|
|
|
http://www.hifi-remote.com/jp1/hardware.shtml
|
|
|