aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/realtek/patches-5.10/311-add-i2c-mux-rtl9300-support.patch
diff options
context:
space:
mode:
authorBirger Koblitz <git@birger-koblitz.de>2021-12-11 20:25:37 +0100
committerDaniel Golle <daniel@makrotopia.org>2022-02-17 15:21:46 +0000
commitf4bdb7fdccdfe3fa382abe77f72a16c2f2e6add0 (patch)
treeb692a21fde7e19338a667bec8ad5a713907fdaed /target/linux/realtek/patches-5.10/311-add-i2c-mux-rtl9300-support.patch
parent63a0a4d85bc900464c5b046b13808a582345f8c8 (diff)
downloadupstream-f4bdb7fdccdfe3fa382abe77f72a16c2f2e6add0.tar.gz
upstream-f4bdb7fdccdfe3fa382abe77f72a16c2f2e6add0.tar.bz2
upstream-f4bdb7fdccdfe3fa382abe77f72a16c2f2e6add0.zip
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. Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
Diffstat (limited to 'target/linux/realtek/patches-5.10/311-add-i2c-mux-rtl9300-support.patch')
-rw-r--r--target/linux/realtek/patches-5.10/311-add-i2c-mux-rtl9300-support.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/target/linux/realtek/patches-5.10/311-add-i2c-mux-rtl9300-support.patch b/target/linux/realtek/patches-5.10/311-add-i2c-mux-rtl9300-support.patch
new file mode 100644
index 0000000000..0204643d02
--- /dev/null
+++ b/target/linux/realtek/patches-5.10/311-add-i2c-mux-rtl9300-support.patch
@@ -0,0 +1,27 @@
+--- 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