overlays: Add uart0 overlay to change pin usage
authorPhil Elwell <phil@raspberrypi.org>
Fri, 12 Jan 2018 09:15:01 +0000 (09:15 +0000)
committerRaspbian kernel package updater <root@raspbian.org>
Sat, 31 Mar 2018 14:57:28 +0000 (15:57 +0100)
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
arch/arm/boot/dts/overlays/Makefile
arch/arm/boot/dts/overlays/README
arch/arm/boot/dts/overlays/uart0-overlay.dts [new file with mode: 0755]

index b1f2ec2fdb3e97a9893ef37bfaa51e07fb0a1e7c..8090fee1d5a49c525c77547fbe42e80cef0d3bca 100644 (file)
@@ -115,6 +115,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
        spi2-2cs.dtbo \
        spi2-3cs.dtbo \
        tinylcd35.dtbo \
+       uart0.dtbo \
        uart1.dtbo \
        vc4-fkms-v3d.dtbo \
        vc4-kms-v3d.dtbo \
index 34777b4209fd3d2e30f77e92e6849ab3239b1071..1cf89d6423ac013c01b768940f57f7551f76a3f5 100644 (file)
@@ -1643,8 +1643,19 @@ Params: speed                   Display SPI bus speed
                 dtoverlay=tinylcd35,touch,touchgpio=3
 
 
+Name:   uart0
+Info:   Change the pin usage of uart0
+Load:   dtoverlay=uart0,<param>=<val>
+Params: txd0_pin                GPIO pin for TXD0 (14, 32 or 36 - default 14)
+
+        rxd0_pin                GPIO pin for RXD0 (15, 33 or 37 - default 15)
+
+        pin_func                Alternative pin function - 4(Alt0) for 14&15,
+                                7(Alt3) for 32&33, 6(Alt2) for 36&37
+
+
 Name:   uart1
-Info:   Enable uart1 in place of uart0
+Info:   Change the pin usage of uart1
 Load:   dtoverlay=uart1,<param>=<val>
 Params: txd1_pin                GPIO pin for TXD1 (14, 32 or 40 - default 14)
 
diff --git a/arch/arm/boot/dts/overlays/uart0-overlay.dts b/arch/arm/boot/dts/overlays/uart0-overlay.dts
new file mode 100755 (executable)
index 0000000..20b2a60
--- /dev/null
@@ -0,0 +1,32 @@
+/dts-v1/;
+/plugin/;
+
+/{
+       compatible = "brcm,bcm2708";
+
+       fragment@0 {
+               target = <&uart0>;
+               __overlay__ {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&uart0_pins>;
+                       status = "okay";
+               };
+       };
+
+       fragment@1 {
+               target = <&gpio>;
+               __overlay__ {
+                       uart0_pins: uart0_pins {
+                               brcm,pins = <14 15>;
+                               brcm,function = <4>; /* alt0 */
+                               brcm,pull = <0 2>;
+                       };
+               };
+       };
+
+       __overrides__ {
+               txd0_pin = <&uart0_pins>,"brcm,pins:0";
+               rxd0_pin = <&uart0_pins>,"brcm,pins:4";
+               pin_func = <&uart0_pins>,"brcm,function:0";
+       };
+};