brcm2708: update to latest patches from the RPi foundation
[openwrt/staging/chunkeey.git] / target / linux / brcm2708 / patches-4.14 / 950-0159-overlays-Add-uart0-overlay-to-change-pin-usage.patch
1 From f0f4af3ddb0fc5ea529c0147ebf8be47b1a80335 Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.org>
3 Date: Fri, 12 Jan 2018 09:15:01 +0000
4 Subject: [PATCH 159/454] overlays: Add uart0 overlay to change pin usage
5
6 Signed-off-by: Phil Elwell <phil@raspberrypi.org>
7 ---
8 arch/arm/boot/dts/overlays/Makefile | 1 +
9 arch/arm/boot/dts/overlays/README | 13 +++++++-
10 arch/arm/boot/dts/overlays/uart0-overlay.dts | 32 ++++++++++++++++++++
11 3 files changed, 45 insertions(+), 1 deletion(-)
12 create mode 100755 arch/arm/boot/dts/overlays/uart0-overlay.dts
13
14 --- a/arch/arm/boot/dts/overlays/Makefile
15 +++ b/arch/arm/boot/dts/overlays/Makefile
16 @@ -117,6 +117,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
17 spi2-2cs.dtbo \
18 spi2-3cs.dtbo \
19 tinylcd35.dtbo \
20 + uart0.dtbo \
21 uart1.dtbo \
22 vc4-fkms-v3d.dtbo \
23 vc4-kms-v3d.dtbo \
24 --- a/arch/arm/boot/dts/overlays/README
25 +++ b/arch/arm/boot/dts/overlays/README
26 @@ -1671,8 +1671,19 @@ Params: speed Display
27 dtoverlay=tinylcd35,touch,touchgpio=3
28
29
30 +Name: uart0
31 +Info: Change the pin usage of uart0
32 +Load: dtoverlay=uart0,<param>=<val>
33 +Params: txd0_pin GPIO pin for TXD0 (14, 32 or 36 - default 14)
34 +
35 + rxd0_pin GPIO pin for RXD0 (15, 33 or 37 - default 15)
36 +
37 + pin_func Alternative pin function - 4(Alt0) for 14&15,
38 + 7(Alt3) for 32&33, 6(Alt2) for 36&37
39 +
40 +
41 Name: uart1
42 -Info: Enable uart1 in place of uart0
43 +Info: Change the pin usage of uart1
44 Load: dtoverlay=uart1,<param>=<val>
45 Params: txd1_pin GPIO pin for TXD1 (14, 32 or 40 - default 14)
46
47 --- /dev/null
48 +++ b/arch/arm/boot/dts/overlays/uart0-overlay.dts
49 @@ -0,0 +1,32 @@
50 +/dts-v1/;
51 +/plugin/;
52 +
53 +/{
54 + compatible = "brcm,bcm2708";
55 +
56 + fragment@0 {
57 + target = <&uart0>;
58 + __overlay__ {
59 + pinctrl-names = "default";
60 + pinctrl-0 = <&uart0_pins>;
61 + status = "okay";
62 + };
63 + };
64 +
65 + fragment@1 {
66 + target = <&gpio>;
67 + __overlay__ {
68 + uart0_pins: uart0_pins {
69 + brcm,pins = <14 15>;
70 + brcm,function = <4>; /* alt0 */
71 + brcm,pull = <0 2>;
72 + };
73 + };
74 + };
75 +
76 + __overrides__ {
77 + txd0_pin = <&uart0_pins>,"brcm,pins:0";
78 + rxd0_pin = <&uart0_pins>,"brcm,pins:4";
79 + pin_func = <&uart0_pins>,"brcm,function:0";
80 + };
81 +};