opnsense-src/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 Do the ADC init only at startup and not during every sensor read call. 2012-08-19 19:31:36 +00:00
ad7418.c Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
adm1030.c Move the adm1030 driver to the proper location, and rename it. 2014-10-16 01:32:22 +00:00
adt746x.c Use proper signed types. The ADT746x uses signed 8-bit numbers for the 2015-01-18 07:08:06 +00:00
ds133x.c Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
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 Don't include MIPS machine headers. There's no need for it. 2012-05-19 17:42:11 +00:00
ds1631.c Make more unsigned ints signed. 2013-12-07 22:25:07 +00:00
ds1672.c Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
ds1775.c Make more unsigned ints signed. 2013-12-07 22:25:07 +00:00
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 Mechanically convert to if_inc_counter(). 2014-09-19 03:51:26 +00:00
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.c iicbus: Use device_delete_children() instead of explicit child removal 2015-10-20 19:52:59 +00:00
iicbb_if.m Provide pre/post transfer method callbacks for icbbb 2012-03-01 20:58:20 +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
iicbus_if.m Fix numerous issues in iic(4) and iicbus(4): 2015-04-21 11:50:31 +00:00
iicoc.c iicbus: Use device_delete_children() instead of explicit child removal 2015-10-20 19:52:59 +00:00
iicoc.h Driver for OpenCores I2C controller. 2012-03-27 10:44:32 +00:00
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 Check error return from reading integer part of temperature. 2014-10-12 23:48:55 +00:00
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 Add a driver for the NXP (Philips) PCF8563 RTC. 2012-04-13 23:07:32 +00:00
s35390a.c Remove unused variables. 2012-09-29 16:15:27 +00:00