freebsd-nq/sys/dev/gpio
Andriy Gapon e57f9c8a9f gpioiic: never drive lines active high
I2C communication is done by a combination of driving a line low or
letting it float, so that it is either pulled up or driven low by
another party.

r355276 besides the stated goal of the change -- using the new GPIO API
-- also changed the logic, so that active state is signaled by actively
driving a line.

That worked with iicbb prior to r362042, but stopped working after that
commit on at least some hardware.  My guess that the breakage was
related to getting an ACK bit.  A device expected to be able to drive
SDA actively low, but controller was actively driving it high for some
time.

Anyway, this change seems to fix the problem.
Tested using gpioiic on Orange Pi PC Plus with HTU21 sensor.

Reported by:	Nick Kostirya <nikolay.kostirya@i11.co>
Reviewed by:	manu
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D25684
2020-07-21 07:35:03 +00:00
..
dwgpio o Add support for multi-port instances of Synopsys DesignWare APB GPIO 2019-09-04 15:37:24 +00:00
bytgpio.c
chvgpio_reg.h
chvgpio.c
gpio_if.m
gpiobacklight.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
gpiobus_if.m
gpiobus.c gpiobus_release_pin: remove incorrect prefix from error messages 2020-06-22 10:32:41 +00:00
gpiobusvar.h Move most of the gpio_pin_* functions from ofw_gpiobus.c to gpiobus.c so 2019-12-01 21:27:09 +00:00
gpioc.c
gpioiic.c gpioiic: never drive lines active high 2020-07-21 07:35:03 +00:00
gpiokeys_codes.c
gpiokeys.c Revert r355806: kbd drivers: don't double register keyboard drivers 2019-12-26 17:09:36 +00:00
gpiokeys.h
gpioled_fdt.c
gpioled.c gpioled: add a new hint for initial state 2019-05-23 11:15:22 +00:00
gpiomdio.c Add a GPIO based MDIO bit-banging bus driver. 2019-12-06 20:21:07 +00:00
gpiopower.c
gpiopps.c Add PNP_INFO to the gpiopps driver. 2019-08-13 15:38:05 +00:00
gpioregulator.c Remove "all rights reserved" from copyright for the file that Jared McNeill 2019-12-03 21:05:33 +00:00
gpiospi.c
gpioths.c [gpioths] Fix GPIOTHS_DEBUG 2019-12-27 04:11:14 +00:00
ofw_gpiobus.c Move most of the gpio_pin_* functions from ofw_gpiobus.c to gpiobus.c so 2019-12-01 21:27:09 +00:00