freebsd-skq/sys/dev/iicbus
Ian Lepore b180eb215d Add FDT compatibility to the icee driver.
The FDT bindings for eeprom parts don't include any metadata about the
device other than the part name encoded in the compatible property.
Instead, a driver is required to have a compiled-in table of information
about the various parts (page size, device capacity, addressing scheme).  So
much for FDT being an abstract description of hardware characteristics, huh?

In addition to the FDT-specific changes, this also switches to using the
newer iicbus_transfer_excl() mechanism which holds bus ownership for the
duration of the transfer.  Previously this code held the bus across all
the transfers needed to complete the user's IO request, which could be
up to 128KB of data which might occupy the bus for 10-20 seconds.  Now the
bus will be released and re-aquired between every page-sized (8-256 byte)
transfer, making this driver a much nicer citizen on the i2c bus.

The hint-based configuration mechanism is still in place for non-FDT systems.

Michal Meloun contributed some of the code for these changes.
2015-10-22 01:04:31 +00:00
..
ad7417.c
ad7418.c
adm1030.c
adt746x.c
ds133x.c
ds1307.c Add a driver for the Dallas/Maxim DS1307, another common i2c RTC. 2015-03-20 19:51:24 +00:00
ds1307reg.h Add a driver for the Dallas/Maxim DS1307, another common i2c RTC. 2015-03-20 19:51:24 +00:00
ds1374.c
ds1631.c
ds1672.c
ds1775.c
ds3231.c Fix off-by-one bugs. 2015-03-10 14:55:05 +00:00
ds3231reg.h Add a driver for the Maxim DS3231 a low-cost, extremely accurate (+-2PPM) 2015-02-28 19:02:44 +00:00
icee.c Add FDT compatibility to the icee driver. 2015-10-22 01:04:31 +00:00
if_ic.c
iic.c Fix numerous issues in iic(4) and iicbus(4): 2015-04-21 11:50:31 +00:00
iic.h Fix numerous issues in iic(4) and iicbus(4): 2015-04-21 11:50:31 +00:00
iicbb_if.m
iicbb.c iicbus: Use device_delete_children() instead of explicit child removal 2015-10-20 19:52:59 +00:00
iicbus_if.m Fix numerous issues in iic(4) and iicbus(4): 2015-04-21 11:50:31 +00:00
iicbus.c iicbus: Use device_delete_children() instead of explicit child removal 2015-10-20 19:52:59 +00:00
iicbus.h Handle IRQ resources on iicbus and ofw_iicbus. 2015-05-09 03:05:44 +00:00
iicoc.c iicbus: Use device_delete_children() instead of explicit child removal 2015-10-20 19:52:59 +00:00
iicoc.h
iiconf.c Add iicbus_transfer_excl(), a helper routine to do an i2c bus transaction 2015-10-22 00:54:59 +00:00
iiconf.h Add iicbus_transfer_excl(), a helper routine to do an i2c bus transaction 2015-10-22 00:54:59 +00:00
iicsmb.c iicbus: Use device_delete_children() instead of explicit child removal 2015-10-20 19:52:59 +00:00
lm75.c Fix off-by-one bugs. 2015-03-10 14:55:05 +00:00
max6690.c
pcf8563.c Make the pcf8563 RTC work on FDT systems and on interrupt based i2c 2015-04-25 21:43:29 +00:00
pcf8563reg.h
s35390a.c