freebsd-dev/sys
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
..
amd64 Simplify non-pti syscall entry on amd64. 2020-07-19 17:47:55 +00:00
arm Switch from SCTP to SCTP_SUPPORT in GENERIC configs. 2020-07-16 15:09:04 +00:00
arm64 Regen after r363304. 2020-07-18 11:31:31 +00:00
bsm bsm: add AUE_CLOSERANGE 2020-04-24 01:27:25 +00:00
cam Hold the mutex when releasing a callout. 2020-07-16 20:43:28 +00:00
cddl Fix a memory leak in dsl_scan_visitbp(). 2020-07-20 17:05:44 +00:00
compat Make linux(4) support the BLKPBSZGET ioctl. Oracle uses it. 2020-07-19 12:25:03 +00:00
conf Add a driver for the SafeXcel EIP-97. 2020-07-14 14:09:29 +00:00
contrib MFV: r363292 2020-07-18 07:35:34 +00:00
crypto padlock: fix Via Padlock with 192-bit keys 2020-07-20 16:12:14 +00:00
ddb [PowerPC] More relocation fixes 2020-06-21 03:39:26 +00:00
dev gpioiic: never drive lines active high 2020-07-21 07:35:03 +00:00
dts Remove licenses 2020-06-04 17:20:58 +00:00
fs ext2fs: Stop checking for failures from malloc(M_WAITOK). 2020-07-20 14:28:26 +00:00
gdb Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
geom Fix indent for if clause. 2020-07-20 01:55:19 +00:00
gnu dts: patch the am33xx dts for upcoming clock support 2020-06-05 20:14:54 +00:00
i386 Regen after r363304. 2020-07-18 11:31:31 +00:00
isa
kern [net80211] Add new privileges; restrict what can be done in a jail. 2020-07-19 15:16:27 +00:00
kgssapi Add support for optional separate output buffers to in-kernel crypto. 2020-05-25 22:12:04 +00:00
libkern libkern: Add arc4random_uniform 2020-05-23 17:51:06 +00:00
mips Revert r240317 to prevent leaking pmap entries 2020-07-16 23:29:26 +00:00
modules Make efirt module dependent on MK_EFI 2020-07-19 23:19:09 +00:00
net iflib: initialize netmap with the correct number of descriptors 2020-07-20 21:08:56 +00:00
net80211 [net80211] Add new privileges; restrict what can be done in a jail. 2020-07-19 15:16:27 +00:00
netgraph Fix L2CAP ACL packet PB(Packet Boundary) flag for LE PDU. 2020-07-17 15:50:03 +00:00
netinet Add MODULE_VERSION to TCP loadable congestion control modules. 2020-07-20 23:47:27 +00:00
netinet6 Temporarly revert r363319 to unbreak the build. 2020-07-19 10:53:15 +00:00
netipsec Simplify IPsec transform-specific teardown. 2020-06-25 23:59:16 +00:00
netpfil Don't print VNET pointer when initializing dummynet 2020-07-13 13:35:36 +00:00
netsmb Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
nfs Use epoch(9) for rtentries to simplify control plane operations. 2020-05-23 10:21:02 +00:00
nfsclient
nfsserver
nlm Fix export_args ex_flags field so that is 64bits, the same as mnt_flags. 2020-06-14 00:10:18 +00:00
ofed Infiniband clients must be attached and detached in a specific order in ibcore. 2020-07-06 08:50:11 +00:00
opencrypto Don't dynamically allocate data structures for KTLS crypto requests. 2020-07-20 22:32:39 +00:00
powerpc Revert r240317 to prevent leaking pmap entries 2020-07-16 23:29:26 +00:00
riscv riscv: look for bootargs in FDT 2020-07-19 23:34:52 +00:00
rpc Fix up a comment added by r362455. 2020-06-21 02:49:56 +00:00
security vfs: fix vn_poll performance with either MAC or AUDIT 2020-07-16 14:09:18 +00:00
sys [net80211] missing from last commit, le whoops 2020-07-19 16:07:51 +00:00
teken
tests Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tools
ufs The binary representation of the superblock (the fs structure) is written 2020-06-19 01:04:25 +00:00
vm Fix vnode_pager handling of read ahead/behind pages when a disk read fails. 2020-07-17 23:10:35 +00:00
x86 o Move iommu_test_boundary() to sys/iommu.h 2020-07-18 13:10:31 +00:00
xdr Split XDR into separate kernel module. Make krpc depend on xdr. 2020-04-17 06:04:20 +00:00
xen Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (16 of many) 2020-02-25 19:04:39 +00:00
Makefile