freebsd-skq/sys/dev/iicbus
Emmanuel Vadot b74b94d2a1 twsi: Rework how we handle the i2c messages
We use to handle each message separately in i2c_transfer but that cannot
work with message with NOSTOP as it confuses the controller that we disable
the interrupts and start a new message.
Handle every message in the interrupt handler and fire a new start condition
if the previous message have NOSTOP, the controller understand this as a
repeated start.
This fixes booting on Allwinner A10/A20 platform where before the i2c controller
used to write 0 to the PMIC register that control the regulators as it though that
this was the continuation of the write message.

Tested on:   A20 BananaPi, Cubieboard 1 (kevans)
Reported by:	kevans
MFC after:	1 month
2020-01-10 18:52:14 +00:00
..
mux Remove some trailing whitespace; no functional changes. 2020-01-08 23:06:13 +00:00
twsi twsi: Rework how we handle the i2c messages 2020-01-10 18:52:14 +00:00
ad7417.c
ad7418.c Remove some unused header files from the ad7418 driver. 2019-06-23 17:20:39 +00:00
adm1030.c
ads111x.c Clean up some of my copyrights; add SPDX tag and remove All rights reserved. 2019-12-13 01:38:48 +00:00
adt746x.c Clean up OF_getprop_alloc API 2018-04-08 22:59:34 +00:00
ds13rtc.c Clean up some of my copyrights; add SPDX tag and remove All rights reserved. 2019-12-13 01:38:48 +00:00
ds1307.c Add pnpinfo to all i2c drivers that have FDT compat data. 2019-05-23 18:24:27 +00:00
ds1307reg.h
ds1631.c
ds1672.c Build the ds1672 driver as a module. Add a detach() to unregister the rtc. 2018-03-06 02:30:34 +00:00
ds1775.c
ds3231.c Switch to the new bcd_clocktime conversion routines, and add calls to the 2018-03-05 00:15:56 +00:00
ds3231reg.h
icee.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
if_ic.c Widen NET_EPOCH coverage. 2019-10-07 22:40:05 +00:00
iic_recover_bus.c Clean up some of my copyrights; add SPDX tag and remove All rights reserved. 2019-12-13 01:38:48 +00:00
iic_recover_bus.h Clean up some of my copyrights; add SPDX tag and remove All rights reserved. 2019-12-13 01:38:48 +00:00
iic.c
iic.h
iicbb_if.m
iicbb.c iicbb: allow longer SCL low timeout and other improvements 2019-10-31 11:31:13 +00:00
iicbus_if.m
iicbus.c If device_delete_children() returns an error, bail on the rest of the 2019-12-13 02:20:26 +00:00
iicbus.h Restore the ability for i2c slave devices to do IO from their probe method. 2019-07-08 20:26:56 +00:00
iicoc_fdt.c iicoc: add FDT bus attachment 2019-12-20 03:40:50 +00:00
iicoc_pci.c iicoc: fix the build on PCI machines 2019-12-20 05:15:03 +00:00
iicoc.c iicoc: split up common core and PCI bus specifics 2019-12-20 03:40:46 +00:00
iicoc.h iicoc: split up common core and PCI bus specifics 2019-12-20 03:40:46 +00:00
iiconf.c Add support for i2c bus mux hardware. 2020-01-02 17:51:49 +00:00
iiconf.h Add support for i2c bus mux hardware. 2020-01-02 17:51:49 +00:00
iicsmb.c
isl12xx.c Clean up some of my copyrights; add SPDX tag and remove All rights reserved. 2019-12-13 01:38:48 +00:00
lm75.c
max6690.c
nxprtc.c Clean up some of my copyrights; add SPDX tag and remove All rights reserved. 2019-12-13 01:38:48 +00:00
ofw_iicbus.c
rtc8583.c Clean up some of my copyrights; add SPDX tag and remove All rights reserved. 2019-12-13 01:38:48 +00:00
s35390a.c Switch to the new bcd_clocktime conversion routines, and add calls to the 2018-03-05 00:43:53 +00:00
sy8106a.c Remove "all rights reserved" from copyright for the file that Jared McNeill 2019-12-03 21:05:33 +00:00
syr827.c syr827: Switch to iicdev_{readfrom,writeto} 2019-10-01 18:32:27 +00:00