aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.4/950-0658-dt-Implement-an-I2C-pinctrl-mux-for-BSC0.patch
diff options
context:
space:
mode:
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.patch434
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>;