brcm2708: update to latest patches from RPi Foundation
[openwrt/staging/chunkeey.git] / target / linux / brcm2708 / patches-4.19 / 950-0560-overlays-Add-i2c3-6-and-uart2-5-overlays.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0560-overlays-Add-i2c3-6-and-uart2-5-overlays.patch b/target/linux/brcm2708/patches-4.19/950-0560-overlays-Add-i2c3-6-and-uart2-5-overlays.patch
new file mode 100644 (file)
index 0000000..d1d8f72
--- /dev/null
@@ -0,0 +1,359 @@
+From 13be2bbd1a22f1b4d9fd260d80b561698f623ac1 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Thu, 30 May 2019 16:44:24 +0100
+Subject: [PATCH] overlays: Add i2c3-6 and uart2-5 overlays
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/Makefile          |  8 +++
+ arch/arm/boot/dts/overlays/README            | 52 ++++++++++++++++++++
+ arch/arm/boot/dts/overlays/i2c3-overlay.dts  | 27 ++++++++++
+ arch/arm/boot/dts/overlays/i2c4-overlay.dts  | 27 ++++++++++
+ arch/arm/boot/dts/overlays/i2c5-overlay.dts  | 27 ++++++++++
+ arch/arm/boot/dts/overlays/i2c6-overlay.dts  | 27 ++++++++++
+ arch/arm/boot/dts/overlays/uart2-overlay.dts | 27 ++++++++++
+ arch/arm/boot/dts/overlays/uart3-overlay.dts | 27 ++++++++++
+ arch/arm/boot/dts/overlays/uart4-overlay.dts | 27 ++++++++++
+ arch/arm/boot/dts/overlays/uart5-overlay.dts | 27 ++++++++++
+ 10 files changed, 276 insertions(+)
+ create mode 100644 arch/arm/boot/dts/overlays/i2c3-overlay.dts
+ create mode 100644 arch/arm/boot/dts/overlays/i2c4-overlay.dts
+ create mode 100644 arch/arm/boot/dts/overlays/i2c5-overlay.dts
+ create mode 100644 arch/arm/boot/dts/overlays/i2c6-overlay.dts
+ create mode 100644 arch/arm/boot/dts/overlays/uart2-overlay.dts
+ create mode 100644 arch/arm/boot/dts/overlays/uart3-overlay.dts
+ create mode 100644 arch/arm/boot/dts/overlays/uart4-overlay.dts
+ create mode 100644 arch/arm/boot/dts/overlays/uart5-overlay.dts
+
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -65,6 +65,10 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
+       i2c-sensor.dtbo \
+       i2c0-bcm2708.dtbo \
+       i2c1-bcm2708.dtbo \
++      i2c3.dtbo \
++      i2c4.dtbo \
++      i2c5.dtbo \
++      i2c6.dtbo \
+       i2s-gpio28-31.dtbo \
+       ilitek251x.dtbo \
+       iqaudio-codec.dtbo \
+@@ -149,6 +153,10 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
+       tpm-slb9670.dtbo \
+       uart0.dtbo \
+       uart1.dtbo \
++      uart2.dtbo \
++      uart3.dtbo \
++      uart4.dtbo \
++      uart5.dtbo \
+       udrc.dtbo \
+       upstream.dtbo \
+       vc4-fkms-v3d.dtbo \
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -1137,6 +1137,34 @@ Params: sda1_pin                GPIO pin
+                                 "yes")
++Name:   i2c3
++Info:   Enable the i2c3 bus
++Load:   dtoverlay=i2c3,<param>
++Params: pins_2_3                Use GPIOs 2 and 3
++        pins_4_5                Use GPIOs 4 and 5 (default)
++
++
++Name:   i2c4
++Info:   Enable the i2c4 bus
++Load:   dtoverlay=i2c4,<param>
++Params: pins_6_7                Use GPIOs 6 and 7
++        pins_8_9                Use GPIOs 8 and 9 (default)
++
++
++Name:   i2c5
++Info:   Enable the i2c5 bus
++Load:   dtoverlay=i2c5,<param>
++Params: pins_10_11              Use GPIOs 10 and 11
++        pins_12_13              Use GPIOs 12 and 13 (default)
++
++
++Name:   i2c6
++Info:   Enable the i2c6 bus
++Load:   dtoverlay=i2c6,<param>
++Params: pins_0_1                Use GPIOs 0 and 1
++        pins_22_23              Use GPIOs 22 and 23 (default)
++
++
+ Name:   i2s-gpio28-31
+ Info:   move I2S function block to GPIO 28 to 31
+ Load:   dtoverlay=i2s-gpio28-31
+@@ -2199,6 +2227,30 @@ Params: txd1_pin                GPIO pin
+         rxd1_pin                GPIO pin for RXD1 (15, 33 or 41 - default 15)
++Name:   uart2
++Info:   Enable uart 2 on GPIOs 0-3
++Load:   dtoverlay=uart2,<param>
++Params: ctsrts                  Enable CTS/RTS on GPIOs 2-3 (default off)
++
++
++Name:   uart3
++Info:   Enable uart 3 on GPIOs 4-7
++Load:   dtoverlay=uart3,<param>
++Params: ctsrts                  Enable CTS/RTS on GPIOs 6-7 (default off)
++
++
++Name:   uart4
++Info:   Enable uart 4 on GPIOs 8-11
++Load:   dtoverlay=uart4,<param>
++Params: ctsrts                  Enable CTS/RTS on GPIOs 10-11 (default off)
++
++
++Name:   uart5
++Info:   Enable uart 5 on GPIOs 12-15
++Load:   dtoverlay=uart5,<param>
++Params: ctsrts                  Enable CTS/RTS on GPIOs 14-15 (default off)
++
++
+ Name:   udrc
+ Info:   Configures the NW Digital Radio UDRC Hat
+ Load:   dtoverlay=udrc,<param>=<val>
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/i2c3-overlay.dts
+@@ -0,0 +1,27 @@
++/dts-v1/;
++/plugin/;
++
++/{
++      compatible = "brcm,bcm2838";
++
++      fragment@0 {
++              target = <&i2c3>;
++              __overlay__ {
++                      status = "okay";
++                      pinctrl-names = "default";
++                      pinctrl-0 = <&i2c3_pins>;
++              };
++      };
++
++      fragment@1 {
++              target = <&i2c3_pins>;
++              __dormant__ {
++                      brcm,pins = <2 3>;
++              };
++      };
++
++      __overrides__ {
++              pins_2_3 = <0>,"=1";
++              pins_4_5 = <0>,"!1";
++      };
++};
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/i2c4-overlay.dts
+@@ -0,0 +1,27 @@
++/dts-v1/;
++/plugin/;
++
++/{
++      compatible = "brcm,bcm2838";
++
++      fragment@0 {
++              target = <&i2c4>;
++              __overlay__ {
++                      status = "okay";
++                      pinctrl-names = "default";
++                      pinctrl-0 = <&i2c4_pins>;
++              };
++      };
++
++      fragment@1 {
++              target = <&i2c4_pins>;
++              __dormant__ {
++                      brcm,pins = <6 7>;
++              };
++      };
++
++      __overrides__ {
++              pins_6_7 = <0>,"=1";
++              pins_8_9 = <0>,"!1";
++      };
++};
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/i2c5-overlay.dts
+@@ -0,0 +1,27 @@
++/dts-v1/;
++/plugin/;
++
++/{
++      compatible = "brcm,bcm2838";
++
++      fragment@0 {
++              target = <&i2c5>;
++              __overlay__ {
++                      status = "okay";
++                      pinctrl-names = "default";
++                      pinctrl-0 = <&i2c5_pins>;
++              };
++      };
++
++      fragment@1 {
++              target = <&i2c5_pins>;
++              __dormant__ {
++                      brcm,pins = <10 11>;
++              };
++      };
++
++      __overrides__ {
++              pins_10_11 = <0>,"=1";
++              pins_12_13 = <0>,"!1";
++      };
++};
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/i2c6-overlay.dts
+@@ -0,0 +1,27 @@
++/dts-v1/;
++/plugin/;
++
++/{
++      compatible = "brcm,bcm2838";
++
++      fragment@0 {
++              target = <&i2c6>;
++              __overlay__ {
++                      status = "okay";
++                      pinctrl-names = "default";
++                      pinctrl-0 = <&i2c6_pins>;
++              };
++      };
++
++      fragment@1 {
++              target = <&i2c6_pins>;
++              __dormant__ {
++                      brcm,pins = <0 1>;
++              };
++      };
++
++      __overrides__ {
++              pins_0_1 = <0>,"=1";
++              pins_22_23 = <0>,"!1";
++      };
++};
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/uart2-overlay.dts
+@@ -0,0 +1,27 @@
++/dts-v1/;
++/plugin/;
++
++/{
++      compatible = "brcm,bcm2838";
++
++      fragment@0 {
++              target = <&uart2>;
++              __overlay__ {
++                      pinctrl-names = "default";
++                      pinctrl-0 = <&uart2_pins>;
++                      status = "okay";
++              };
++      };
++
++      fragment@1 {
++              target = <&uart2_pins>;
++              __dormant__ {
++                      brcm,pins = <0 1 2 3>;
++                      brcm,pull = <0 2 2 0>;
++              };
++      };
++
++      __overrides__ {
++              ctsrts = <0>,"=1";
++      };
++};
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/uart3-overlay.dts
+@@ -0,0 +1,27 @@
++/dts-v1/;
++/plugin/;
++
++/{
++      compatible = "brcm,bcm2838";
++
++      fragment@0 {
++              target = <&uart3>;
++              __overlay__ {
++                      pinctrl-names = "default";
++                      pinctrl-0 = <&uart3_pins>;
++                      status = "okay";
++              };
++      };
++
++      fragment@1 {
++              target = <&uart3_pins>;
++              __dormant__ {
++                      brcm,pins = <4 5 6 7>;
++                      brcm,pull = <0 2 2 0>;
++              };
++      };
++
++      __overrides__ {
++              ctsrts = <0>,"=1";
++      };
++};
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/uart4-overlay.dts
+@@ -0,0 +1,27 @@
++/dts-v1/;
++/plugin/;
++
++/{
++      compatible = "brcm,bcm2838";
++
++      fragment@0 {
++              target = <&uart4>;
++              __overlay__ {
++                      pinctrl-names = "default";
++                      pinctrl-0 = <&uart4_pins>;
++                      status = "okay";
++              };
++      };
++
++      fragment@1 {
++              target = <&uart4_pins>;
++              __dormant__ {
++                      brcm,pins = <8 9 10 11>;
++                      brcm,pull = <0 2 2 0>;
++              };
++      };
++
++      __overrides__ {
++              ctsrts = <0>,"=1";
++      };
++};
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/uart5-overlay.dts
+@@ -0,0 +1,27 @@
++/dts-v1/;
++/plugin/;
++
++/{
++      compatible = "brcm,bcm2838";
++
++      fragment@0 {
++              target = <&uart5>;
++              __overlay__ {
++                      pinctrl-names = "default";
++                      pinctrl-0 = <&uart5_pins>;
++                      status = "okay";
++              };
++      };
++
++      fragment@1 {
++              target = <&uart5_pins>;
++              __dormant__ {
++                      brcm,pins = <12 13 14 15>;
++                      brcm,pull = <0 2 2 0>;
++              };
++      };
++
++      __overrides__ {
++              ctsrts = <0>,"=1";
++      };
++};