|
|
@@ -0,0 +1,46 @@
|
|
|
+From f4bdb7fdccdfe3fa382abe77f72a16c2f2e6add0 Mon Sep 17 00:00:00 2001
|
|
|
+From: Birger Koblitz <[email protected]>
|
|
|
+Date: Sat, 11 Dec 2021 20:25:37 +0100
|
|
|
+Subject: [PATCH] realtek: Add support for RTL9300/RTL9310 I2C multiplexing
|
|
|
+
|
|
|
+The RTL9300/RTL9310 I2C controllers have support for 2 independent I2C
|
|
|
+masters, each with a fixed SCL pin, that cannot be changed. Each of these
|
|
|
+masters can use 8 (RTL9300) or 16 (RTL9310) different pins for SDA.
|
|
|
+This multiplexer directly controls the two masters and their shared
|
|
|
+IO configuration registers to allow multiplexing between any of these
|
|
|
+busses. The two masters cannot be used in parallel as the multiplex
|
|
|
+is protected by a standard multiplex lock.
|
|
|
+
|
|
|
+Submitted-by: Birger Koblitz <[email protected]>
|
|
|
+---
|
|
|
+ drivers/i2c/muxes/Kconfig | 9 +++++++
|
|
|
+ drivers/i2c/muxes/Makefile | 1 +
|
|
|
+ 2 files changed, 10 insertions(+)
|
|
|
+
|
|
|
+--- a/drivers/i2c/muxes/Kconfig
|
|
|
++++ b/drivers/i2c/muxes/Kconfig
|
|
|
+@@ -99,6 +99,15 @@ config I2C_MUX_REG
|
|
|
+ This driver can also be built as a module. If so, the module
|
|
|
+ will be called i2c-mux-reg.
|
|
|
+
|
|
|
++config I2C_MUX_RTL9300
|
|
|
++ tristate "RTL9300 based I2C multiplexer"
|
|
|
++ help
|
|
|
++ If you say yes to this option, support will be included for a
|
|
|
++ RTL9300 based I2C multiplexer.
|
|
|
++
|
|
|
++ This driver can also be built as a module. If so, the module
|
|
|
++ will be called i2c-mux-reg.
|
|
|
++
|
|
|
+ config I2C_DEMUX_PINCTRL
|
|
|
+ tristate "pinctrl-based I2C demultiplexer"
|
|
|
+ depends on PINCTRL && OF
|
|
|
+--- a/drivers/i2c/muxes/Makefile
|
|
|
++++ b/drivers/i2c/muxes/Makefile
|
|
|
+@@ -14,5 +14,6 @@ obj-$(CONFIG_I2C_MUX_PCA9541) += i2c-mux
|
|
|
+ obj-$(CONFIG_I2C_MUX_PCA954x) += i2c-mux-pca954x.o
|
|
|
+ obj-$(CONFIG_I2C_MUX_PINCTRL) += i2c-mux-pinctrl.o
|
|
|
+ obj-$(CONFIG_I2C_MUX_REG) += i2c-mux-reg.o
|
|
|
++obj-$(CONFIG_I2C_MUX_RTL9300) += i2c-mux-rtl9300.o
|
|
|
+
|
|
|
+ ccflags-$(CONFIG_I2C_DEBUG_BUS) := -DDEBUG
|