NetBSD/sys/dev/i2c
tsutsui 3a70013d4e Reorganize I2C bitbang ops:
- don't set DIR(INPUT) in i2c_wait_for_scl() because it could cause
  unexpected stop condition in SCL=H, SDL=L and DIR(OUTPUT) case,
  and DIR() should be used only to switch SDA direction, not SCL
  that is always output on the master device
  (I'm not sure if reading SCL on the master is defined in the I2C spec)
- set SDA right after SCL H->L edge on Tx, fetch SDA at SCL L->H edge on Rx,
  and make sure not to change SDA during SCL=H except start/stop conditions
  so that we don't have to rely on data setup time which might be critical
- don't set DIR(OUTPUT) during SDA bit read in i2c_bitbang_read_byte()
- explicitly specify both SDA and SCL bits in SETBITS() for readability
- sprinkle comments

Fixes "tl0: error reading Ethernet address" problem on tl(4).
2008-06-01 01:13:18 +00:00
..
adm1030.c nuke clause 3 2008-05-08 02:03:22 +00:00
adm1030var.h nuke clause 3 2008-05-08 02:03:22 +00:00
adt7463.c Split device_t/softc and other related cosmetic changes. 2008-04-04 09:49:49 +00:00
adt7463reg.h Split device_t/softc and other related cosmetic changes. 2008-04-04 09:49:49 +00:00
adt7467.c nuke clause 3 2008-05-08 02:03:22 +00:00
adt7467var.h nuke clause 3 2008-05-08 02:03:22 +00:00
at24cxx.c device_t/softc split and other related cosmetic changes. 2008-05-04 15:26:29 +00:00
at24cxxvar.h
ddc.c device_t/softc split and other related cosmetic changes. 2008-05-04 15:26:29 +00:00
ddcreg.h
ddcvar.h
ds1307.c device_t/softc split and other related cosmetic changes. 2008-05-04 15:26:29 +00:00
ds1307reg.h
files.i2c defflag DEBUG_SGSMIX 2007-09-02 01:40:46 +00:00
i2c_bitbang.c Reorganize I2C bitbang ops: 2008-06-01 01:13:18 +00:00
i2c_bitbang.h
i2c_exec.c use __KERNEL_RCSID() 2007-12-11 12:09:21 +00:00
i2c_io.h
i2c.c device_t/softc split and other related cosmetic changes. 2008-05-04 15:26:29 +00:00
i2cvar.h Merge some of the less invasive changes from the vmlocking branch: 2007-07-09 20:51:58 +00:00
lm75.c use aprint_*_dev and device_xname 2008-04-06 20:25:59 +00:00
lm75reg.h
m41st84.c device_t/softc split and other related cosmetic changes. 2008-05-04 15:26:29 +00:00
m41st84reg.h
m41t00.c device_t/softc split and other related cosmetic changes. 2008-05-04 15:26:29 +00:00
m41t00reg.h
max6900.c device_t/softc split and other related cosmetic changes. 2008-05-04 15:26:29 +00:00
max6900reg.h
pcf8583.c device_t/softc split and other related cosmetic changes. 2008-05-04 15:26:29 +00:00
pcf8583reg.h
pcf8583var.h
pic16lc.c Use 2-clause license. 2008-05-05 00:12:49 +00:00
pic16lcreg.h Use 2-clause license. 2008-05-05 00:12:49 +00:00
r2025.c device_t/softc split and other related cosmetic changes. 2008-05-04 15:26:29 +00:00
r2025reg.h
rs5c372.c device_t/softc split and other related cosmetic changes. 2008-05-04 15:26:29 +00:00
rs5c372reg.h
sgsmix.c nuke clause 3 2008-05-08 02:32:48 +00:00
sgsmixvar.h nuke clause 3 2008-05-08 02:32:48 +00:00
spdmem.c device_t/softc split and other related cosmetic changes. 2008-05-04 15:26:29 +00:00
spdmemreg.h Add spdmem(4) driver. This decodes technical specifications stored in 2007-08-18 11:26:35 +00:00
spdmemvar.h device_t/softc split and other related cosmetic changes. 2008-05-04 15:26:29 +00:00
x1226.c device_t/softc split and other related cosmetic changes. 2008-05-04 15:26:29 +00:00
x1226reg.h
xbseeprom.c Use 2-clause license. 2008-05-05 00:12:49 +00:00