]> git.ipfire.org Git - thirdparty/linux.git/commit
i2c: Add driver for the RTL9300 I2C controller
authorChris Packham <chris.packham@alliedtelesis.co.nz>
Wed, 6 Nov 2024 00:18:35 +0000 (13:18 +1300)
committerAndi Shyti <andi.shyti@kernel.org>
Sun, 17 Nov 2024 10:58:57 +0000 (11:58 +0100)
commitc366be720235301fdadf67e6f1ea6ff32669c074
treea83dcd914e3047ee225a8d185ebec9c9fb2fdb4c
parentb641af684fc28a07bee9c808eb6c433f9d9bcec6
i2c: Add driver for the RTL9300 I2C controller

Add support for the I2C controller on the RTL9300 SoC. There are two I2C
controllers in the RTL9300 that are part of the Ethernet switch register
block. Each of these controllers owns a SCL pin (GPIO8 for the fiorst
I2C controller, GPIO17 for the second). There are 8 possible SDA pins
(GPIO9-16) that can be assigned to either I2C controller. This
relationship is represented in the device tree with a child node for
each SDA line in use.

This is based on the openwrt implementation[1] but has been
significantly modified

[1] - https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/realtek/files-5.15/drivers/i2c/busses/i2c-rtl9300.c

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
MAINTAINERS
drivers/i2c/busses/Kconfig
drivers/i2c/busses/Makefile
drivers/i2c/busses/i2c-rtl9300.c [new file with mode: 0644]