1 From 98e84cdbce80fe8a8177fb1f42800af76b3da9ac Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.org>
3 Date: Fri, 26 Jun 2015 08:50:11 +0100
4 Subject: [PATCH 098/171] BCM270X_DT: Add overlay to enable uart1
6 N.B. The UART1 clock is derived from the core clock. The firmware
7 will update clock-frequency if core_freq is set, but be aware
8 that unless force_turbo=1 while overclocking then the baud rate
9 will vary with ARM activity.
11 arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 1 +
12 arch/arm/boot/dts/bcm2708-rpi-b.dts | 1 +
13 arch/arm/boot/dts/bcm2708-rpi-cm.dts | 1 +
14 arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 1 +
15 arch/arm/boot/dts/overlays/Makefile | 1 +
16 arch/arm/boot/dts/overlays/README | 8 ++++++
17 arch/arm/boot/dts/overlays/uart1-overlay.dts | 38 ++++++++++++++++++++++++++++
18 arch/arm/configs/bcm2709_defconfig | 2 +-
19 arch/arm/configs/bcmrpi_defconfig | 2 +-
20 9 files changed, 53 insertions(+), 2 deletions(-)
21 create mode 100644 arch/arm/boot/dts/overlays/uart1-overlay.dts
23 --- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
24 +++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
27 uart0 = <&uart0>,"status";
28 uart0_clkrate = <&clk_uart0>,"clock-frequency:0";
29 + uart1_clkrate = <&uart1>,"clock-frequency:0";
30 i2s = <&i2s>,"status";
31 spi = <&spi0>,"status";
32 i2c0 = <&i2c0>,"status";
33 --- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
34 +++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
37 uart0 = <&uart0>,"status";
38 uart0_clkrate = <&clk_uart0>,"clock-frequency:0";
39 + uart1_clkrate = <&uart1>,"clock-frequency:0";
40 i2s = <&i2s>,"status";
41 spi = <&spi0>,"status";
42 i2c0 = <&i2c0>,"status";
43 --- a/arch/arm/boot/dts/bcm2708-rpi-cm.dts
44 +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dts
47 uart0 = <&uart0>,"status";
48 uart0_clkrate = <&clk_uart0>,"clock-frequency:0";
49 + uart1_clkrate = <&uart1>,"clock-frequency:0";
50 i2s = <&i2s>,"status";
51 spi = <&spi0>,"status";
52 i2c0 = <&i2c0>,"status";
53 --- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
54 +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
57 uart0 = <&uart0>,"status";
58 uart0_clkrate = <&clk_uart0>,"clock-frequency:0";
59 + uart1_clkrate = <&uart1>,"clock-frequency:0";
60 i2s = <&i2s>,"status";
61 spi = <&spi0>,"status";
62 i2c0 = <&i2c0>,"status";
63 --- a/arch/arm/boot/dts/overlays/Makefile
64 +++ b/arch/arm/boot/dts/overlays/Makefile
65 @@ -42,6 +42,7 @@ dtb-$(RPI_DT_OVERLAYS) += sdhost-overlay
66 dtb-$(RPI_DT_OVERLAYS) += spi-bcm2708-overlay.dtb
67 dtb-$(RPI_DT_OVERLAYS) += spi-bcm2835-overlay.dtb
68 dtb-$(RPI_DT_OVERLAYS) += tinylcd35-overlay.dtb
69 +dtb-$(RPI_DT_OVERLAYS) += uart1-overlay.dtb
70 dtb-$(RPI_DT_OVERLAYS) += w1-gpio-overlay.dtb
71 dtb-$(RPI_DT_OVERLAYS) += w1-gpio-pullup-overlay.dtb
73 --- a/arch/arm/boot/dts/overlays/README
74 +++ b/arch/arm/boot/dts/overlays/README
75 @@ -489,6 +489,14 @@ Params: speed Display
76 dtoverlay=tinylcd35,touch,touchgpio=3
80 +Info: Enable uart1 in place of uart0
81 +Load: dtoverlay=uart1,<param>=<val>
82 +Params: txd1_pin GPIO pin for TXD1 (14, 32 or 40 - default 14)
84 + rxd1_pin GPIO pin for RXD1 (15, 33 or 41 - default 15)
88 Info: Configures the w1-gpio Onewire interface module.
89 Use this overlay if you *don't* need a GPIO to drive an external pullup.
91 +++ b/arch/arm/boot/dts/overlays/uart1-overlay.dts
97 + compatible = "brcm,bcm2708";
102 + pinctrl-names = "default";
103 + pinctrl-0 = <&uart1_pins>;
111 + uart1_pins: uart1_pins {
112 + brcm,pins = <14 15>;
113 + brcm,function = <2>; /* alt5 */
120 + target-path = "/chosen";
122 + bootargs = "8250.nr_uarts=1";
127 + txd1_pin = <&uart1_pins>,"brcm,pins:0";
128 + rxd1_pin = <&uart1_pins>,"brcm,pins:4";
131 --- a/arch/arm/configs/bcm2709_defconfig
132 +++ b/arch/arm/configs/bcm2709_defconfig
133 @@ -562,7 +562,7 @@ CONFIG_SERIAL_8250=y
134 CONFIG_SERIAL_8250_CONSOLE=y
135 # CONFIG_SERIAL_8250_DMA is not set
136 CONFIG_SERIAL_8250_NR_UARTS=1
137 -CONFIG_SERIAL_8250_RUNTIME_UARTS=1
138 +CONFIG_SERIAL_8250_RUNTIME_UARTS=0
139 CONFIG_SERIAL_AMBA_PL011=y
140 CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
141 CONFIG_SERIAL_OF_PLATFORM=y
142 --- a/arch/arm/configs/bcmrpi_defconfig
143 +++ b/arch/arm/configs/bcmrpi_defconfig
144 @@ -555,7 +555,7 @@ CONFIG_SERIAL_8250=y
145 CONFIG_SERIAL_8250_CONSOLE=y
146 # CONFIG_SERIAL_8250_DMA is not set
147 CONFIG_SERIAL_8250_NR_UARTS=1
148 -CONFIG_SERIAL_8250_RUNTIME_UARTS=1
149 +CONFIG_SERIAL_8250_RUNTIME_UARTS=0
150 CONFIG_SERIAL_AMBA_PL011=y
151 CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
152 CONFIG_SERIAL_OF_PLATFORM=y