mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
47 lines
1.8 KiB
Diff
47 lines
1.8 KiB
Diff
|
From f4bdb7fdccdfe3fa382abe77f72a16c2f2e6add0 Mon Sep 17 00:00:00 2001
|
||
|
From: Birger Koblitz <git@birger-koblitz.de>
|
||
|
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 <git@birger-koblitz.de>
|
||
|
---
|
||
|
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
|