i2c: add zhaoxin i2c controller driver
authorHans Hu <hanshu-oc@zhaoxin.com>
Mon, 8 Apr 2024 02:54:48 +0000 (10:54 +0800)
committerAndi Shyti <andi.shyti@kernel.org>
Sun, 5 May 2024 22:56:46 +0000 (00:56 +0200)
commita06b80e83011c996147e94a3bcd9c7387c14abd9
tree4be36093eb48472a7273256ba4bd7f12868213a2
parentb06204c7d4f4a4059c16d20bd9eb618edad49aa1
i2c: add zhaoxin i2c controller driver

Add Zhaoxin I2C controller driver. It provides the access to the i2c
busses, which connects to the touchpad, eeprom, I2S, etc.

Zhaoxin I2C controller has two separate busses, so may accommodate up
to two I2C adapters. Those adapters are listed in the ACPI namespace
with the IIC1D17 HID, and probed by a platform driver.

The driver works with IRQ mode, and supports basic I2C features. Flags
I2C_AQ_NO_ZERO_LEN and I2C_AQ_COMB_WRITE_THEN_READ are used to limit
the unsupported access.

Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Hans Hu <hanshu-oc@zhaoxin.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
MAINTAINERS
drivers/i2c/busses/Kconfig
drivers/i2c/busses/Makefile
drivers/i2c/busses/i2c-viai2c-common.c
drivers/i2c/busses/i2c-viai2c-common.h
drivers/i2c/busses/i2c-viai2c-zhaoxin.c [new file with mode: 0644]