diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0658-dt-Implement-an-I2C-pinctrl-mux-for-BSC0.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0658-dt-Implement-an-I2C-pinctrl-mux-for-BSC0.patch | 434 |
1 files changed, 0 insertions, 434 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0658-dt-Implement-an-I2C-pinctrl-mux-for-BSC0.patch b/target/linux/bcm27xx/patches-5.4/950-0658-dt-Implement-an-I2C-pinctrl-mux-for-BSC0.patch deleted file mode 100644 index 002ad8686e..0000000000 --- a/target/linux/bcm27xx/patches-5.4/950-0658-dt-Implement-an-I2C-pinctrl-mux-for-BSC0.patch +++ /dev/null @@ -1,434 +0,0 @@ -From 77d7427bed21c92d1c10e0cc9beabb5ce9bb6c0b Mon Sep 17 00:00:00 2001 -From: Dave Stevenson <dave.stevenson@raspberrypi.com> -Date: Thu, 9 Apr 2020 12:46:13 +0100 -Subject: [PATCH] dt: Implement an I2C pinctrl mux for BSC0. - -BSC0 serves either the HAT EEPROM pins on the 40pin connector, -or the display and camera on a board specific pairing of either -GPIO 28&29, or 44&45. - -Use I2C_MUX_PINCTRL to allow exposing both pairs of pins as I2C -busses. - -Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> ---- - arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 9 ++++--- - arch/arm/boot/dts/bcm2708-rpi-b.dts | 9 ++++--- - arch/arm/boot/dts/bcm2708-rpi-cm.dts | 9 ++++--- - arch/arm/boot/dts/bcm2708-rpi-zero-w.dts | 9 ++++--- - arch/arm/boot/dts/bcm2708-rpi-zero.dts | 9 ++++--- - arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 9 ++++--- - arch/arm/boot/dts/bcm270x-rpi.dtsi | 7 ++--- - arch/arm/boot/dts/bcm2710-rpi-2-b.dts | 9 ++++--- - arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts | 9 ++++--- - arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 9 ++++--- - arch/arm/boot/dts/bcm2710-rpi-cm3.dts | 10 ++++--- - arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 5 ++-- - arch/arm/boot/dts/bcm2711.dtsi | 2 +- - .../boot/dts/bcm283x-rpi-i2c0mux_0_28.dtsi | 4 +++ - .../boot/dts/bcm283x-rpi-i2c0mux_0_44.dtsi | 4 +++ - arch/arm/boot/dts/bcm283x.dtsi | 26 ++++++++++++++++++- - 16 files changed, 100 insertions(+), 39 deletions(-) - create mode 100644 arch/arm/boot/dts/bcm283x-rpi-i2c0mux_0_28.dtsi - create mode 100644 arch/arm/boot/dts/bcm283x-rpi-i2c0mux_0_44.dtsi - ---- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts -+++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts -@@ -4,6 +4,7 @@ - #include "bcm2708-rpi.dtsi" - #include "bcm283x-rpi-smsc9514.dtsi" - #include "bcm283x-rpi-csi1-2lane.dtsi" -+#include "bcm283x-rpi-i2c0mux_0_28.dtsi" - - / { - compatible = "raspberrypi,model-b-plus", "brcm,bcm2835"; -@@ -68,12 +69,14 @@ - }; - }; - --&i2c0 { -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c0_pins>; -+&i2c0if { - clock-frequency = <100000>; - }; - -+&i2c0mux { -+ pinctrl-0 = <&i2c0_pins>; -+}; -+ - &i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pins>; ---- a/arch/arm/boot/dts/bcm2708-rpi-b.dts -+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts -@@ -4,6 +4,7 @@ - #include "bcm2708-rpi.dtsi" - #include "bcm283x-rpi-smsc9512.dtsi" - #include "bcm283x-rpi-csi1-2lane.dtsi" -+#include "bcm283x-rpi-i2c0mux_0_28.dtsi" - - / { - compatible = "raspberrypi,model-b", "brcm,bcm2835"; -@@ -68,12 +69,14 @@ - }; - }; - --&i2c0 { -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c0_pins>; -+&i2c0if { - clock-frequency = <100000>; - }; - -+&i2c0mux { -+ pinctrl-0 = <&i2c0_pins>; -+}; -+ - &i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pins>; ---- a/arch/arm/boot/dts/bcm2708-rpi-cm.dts -+++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dts -@@ -3,6 +3,7 @@ - #include "bcm2708-rpi-cm.dtsi" - #include "bcm283x-rpi-csi0-2lane.dtsi" - #include "bcm283x-rpi-csi1-4lane.dtsi" -+#include "bcm283x-rpi-i2c0mux_0_28.dtsi" - - / { - compatible = "raspberrypi,compute-module", "brcm,bcm2835"; -@@ -67,12 +68,14 @@ - }; - }; - --&i2c0 { -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c0_pins>; -+&i2c0if { - clock-frequency = <100000>; - }; - -+&i2c0mux { -+ pinctrl-0 = <&i2c0_pins>; -+}; -+ - &i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pins>; ---- a/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts -+++ b/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts -@@ -3,6 +3,7 @@ - #include "bcm2708.dtsi" - #include "bcm2708-rpi.dtsi" - #include "bcm283x-rpi-csi1-2lane.dtsi" -+#include "bcm283x-rpi-i2c0mux_0_28.dtsi" - - / { - compatible = "raspberrypi,model-zero-w", "brcm,bcm2835"; -@@ -116,12 +117,14 @@ - }; - }; - --&i2c0 { -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c0_pins>; -+&i2c0if { - clock-frequency = <100000>; - }; - -+&i2c0mux { -+ pinctrl-0 = <&i2c0_pins>; -+}; -+ - &i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pins>; ---- a/arch/arm/boot/dts/bcm2708-rpi-zero.dts -+++ b/arch/arm/boot/dts/bcm2708-rpi-zero.dts -@@ -3,6 +3,7 @@ - #include "bcm2708.dtsi" - #include "bcm2708-rpi.dtsi" - #include "bcm283x-rpi-csi1-2lane.dtsi" -+#include "bcm283x-rpi-i2c0mux_0_28.dtsi" - - / { - compatible = "raspberrypi,model-zero", "brcm,bcm2835"; -@@ -71,12 +72,14 @@ - }; - }; - --&i2c0 { -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c0_pins>; -+&i2c0if { - clock-frequency = <100000>; - }; - -+&i2c0mux { -+ pinctrl-0 = <&i2c0_pins>; -+}; -+ - &i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pins>; ---- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts -+++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts -@@ -4,6 +4,7 @@ - #include "bcm2709-rpi.dtsi" - #include "bcm283x-rpi-smsc9514.dtsi" - #include "bcm283x-rpi-csi1-2lane.dtsi" -+#include "bcm283x-rpi-i2c0mux_0_28.dtsi" - - / { - compatible = "raspberrypi,2-model-b", "brcm,bcm2836"; -@@ -68,12 +69,14 @@ - }; - }; - --&i2c0 { -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c0_pins>; -+&i2c0if { - clock-frequency = <100000>; - }; - -+&i2c0mux { -+ pinctrl-0 = <&i2c0_pins>; -+}; -+ - &i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pins>; ---- a/arch/arm/boot/dts/bcm270x-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm270x-rpi.dtsi -@@ -21,6 +21,7 @@ - i2s = &i2s; - i2c0 = &i2c0; - i2c1 = &i2c1; -+ i2c10 = &i2c_csi_dsi; - spi0 = &spi0; - spi1 = &spi1; - spi2 = &spi2; -@@ -83,9 +84,9 @@ - uart1 = <&uart1>,"status"; - i2s = <&i2s>,"status"; - spi = <&spi0>,"status"; -- i2c0 = <&i2c0>,"status"; -+ i2c0 = <&i2c0if>,"status",<&i2c0mux>,"status"; - i2c1 = <&i2c1>,"status"; -- i2c0_baudrate = <&i2c0>,"clock-frequency:0"; -+ i2c0_baudrate = <&i2c0if>,"clock-frequency:0"; - i2c1_baudrate = <&i2c1>,"clock-frequency:0"; - - audio = <&audio>,"status"; -@@ -105,7 +106,7 @@ - status = "disabled"; - }; - --&i2c0 { -+&i2c0if { - status = "disabled"; - }; - ---- a/arch/arm/boot/dts/bcm2710-rpi-2-b.dts -+++ b/arch/arm/boot/dts/bcm2710-rpi-2-b.dts -@@ -4,6 +4,7 @@ - #include "bcm2709-rpi.dtsi" - #include "bcm283x-rpi-smsc9514.dtsi" - #include "bcm283x-rpi-csi1-2lane.dtsi" -+#include "bcm283x-rpi-i2c0mux_0_28.dtsi" - - / { - compatible = "raspberrypi,2-model-b-rev2", "brcm,bcm2837"; -@@ -68,12 +69,14 @@ - }; - }; - --&i2c0 { -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c0_pins>; -+&i2c0if { - clock-frequency = <100000>; - }; - -+&i2c0mux { -+ pinctrl-0 = <&i2c0_pins>; -+}; -+ - &i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pins>; ---- a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts -+++ b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts -@@ -4,6 +4,7 @@ - #include "bcm2709-rpi.dtsi" - #include "bcm283x-rpi-lan7515.dtsi" - #include "bcm283x-rpi-csi1-2lane.dtsi" -+#include "bcm283x-rpi-i2c0mux_0_44.dtsi" - - / { - compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837"; -@@ -126,12 +127,14 @@ - }; - }; - --&i2c0 { -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c0_pins>; -+&i2c0if { - clock-frequency = <100000>; - }; - -+&i2c0mux { -+ pinctrl-0 = <&i2c0_pins>; -+}; -+ - &i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pins>; ---- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts -+++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts -@@ -4,6 +4,7 @@ - #include "bcm2709-rpi.dtsi" - #include "bcm283x-rpi-smsc9514.dtsi" - #include "bcm283x-rpi-csi1-2lane.dtsi" -+#include "bcm283x-rpi-i2c0mux_0_44.dtsi" - - / { - compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; -@@ -137,12 +138,14 @@ - }; - }; - --&i2c0 { -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c0_pins>; -+&i2c0if { - clock-frequency = <100000>; - }; - -+&i2c0mux { -+ pinctrl-0 = <&i2c0_pins>; -+}; -+ - &i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pins>; ---- a/arch/arm/boot/dts/bcm2710-rpi-cm3.dts -+++ b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts -@@ -4,7 +4,7 @@ - #include "bcm2709-rpi.dtsi" - #include "bcm283x-rpi-csi0-2lane.dtsi" - #include "bcm283x-rpi-csi1-4lane.dtsi" -- -+#include "bcm283x-rpi-i2c0mux_0_28.dtsi" - / { - compatible = "raspberrypi,3-compute-module", "brcm,bcm2837"; - model = "Raspberry Pi Compute Module 3"; -@@ -88,12 +88,14 @@ - }; - }; - --&i2c0 { -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c0_pins>; -+&i2c0if { - clock-frequency = <100000>; - }; - -+&i2c0mux { -+ pinctrl-0 = <&i2c0_pins>; -+}; -+ - &i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pins>; ---- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts -+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts -@@ -192,6 +192,7 @@ - - #include "bcm2711-rpi.dtsi" - #include "bcm283x-rpi-csi1-2lane.dtsi" -+#include "bcm283x-rpi-i2c0mux_0_44.dtsi" - - /delete-node/ &emmc2; - -@@ -421,9 +422,7 @@ - }; - }; - --&i2c0 { -- pinctrl-names = "default"; -- pinctrl-0 = <&i2c0_pins>; -+&i2c0if { - clock-frequency = <100000>; - }; - ---- a/arch/arm/boot/dts/bcm2711.dtsi -+++ b/arch/arm/boot/dts/bcm2711.dtsi -@@ -986,7 +986,7 @@ - alloc-ranges = <0x0 0x00000000 0x40000000>; - }; - --&i2c0 { -+&i2c0if { - compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c"; - interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; - }; ---- /dev/null -+++ b/arch/arm/boot/dts/bcm283x-rpi-i2c0mux_0_28.dtsi -@@ -0,0 +1,4 @@ -+&i2c0mux { -+ pinctrl-0 = <&i2c0_gpio0>; -+ pinctrl-1 = <&i2c0_gpio28>; -+}; ---- /dev/null -+++ b/arch/arm/boot/dts/bcm283x-rpi-i2c0mux_0_44.dtsi -@@ -0,0 +1,4 @@ -+&i2c0mux { -+ pinctrl-0 = <&i2c0_gpio0>; -+ pinctrl-1 = <&i2c0_gpio44>; -+}; ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -340,7 +340,7 @@ - status = "disabled"; - }; - -- i2c0: i2c@7e205000 { -+ i2c0if: i2c@7e205000 { - compatible = "brcm,bcm2835-i2c"; - reg = <0x7e205000 0x200>; - interrupts = <2 21>; -@@ -350,6 +350,30 @@ - status = "disabled"; - }; - -+ i2c0mux: i2c0mux { -+ compatible = "i2c-mux-pinctrl"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ i2c-parent = <&i2c0if>; -+ -+ pinctrl-names = "i2c0", "i2c_csi_dsi"; -+ -+ status = "disabled"; -+ -+ i2c0: i2c@0 { -+ reg = <0>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ }; -+ -+ i2c_csi_dsi: i2c@1 { -+ reg = <1>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ }; -+ }; -+ - dpi: dpi@7e208000 { - compatible = "brcm,bcm2835-dpi"; - reg = <0x7e208000 0x8c>; |