12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- 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
|