aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2018-03-13 17:38:04 -0400
committerArnd Bergmann <arnd@arndb.de>2018-03-13 17:38:04 -0400
commit206c12fc48fc31cb4ddaa38c48638df9eb0715ef (patch)
treeca3ccf44bfb819f646eceea26f2b27a244cf1c1b
parent90d4806b8ddfbf0999618244e0cfba61aeafda8c (diff)
parente5c851ef012b4b63ea50228da3451f3cfb690c45 (diff)
Merge tag 'arm-soc/for-4.17/devicetree' of https://github.com/Broadcom/stblinux into next/dt
Pull "Broadcom devicetree changes for 4.17" from Florian Fainelli: This pull request contains Broadcom ARM-based SoCs devicetree changes for 4.17, please pull the following: - Henry fixes the pin functions for the JTAG pins, nothing uses this for now, but it could be backported eventually if deemed appropriate - Stefan fixes the register ranges for the bcm2835-i2s nodes in the binding document definition, he then fixes the probing of the bcm2835-i2s driver by providing an appropriate register range and a missing clock. Stefan also makes sure that the appropriate pull settings are applied to the pins used on the Raspberry Pi Zero Wireless, he then adds the necessary UART node to connected to the BCM43438 Bluetooth adapter on the Pi Zero W. He finally enables USB OTG mode on the Pi Zero W since he became usable again - Baruch adds the necessary Device Tree nodes to support the Raspberry Pi GPIO expander which is controlled via the VC4 firmware - Hiroshi adds the missing LEDs on the Buffalo WZR-900DHP router - Eric adds the DPI hardware block into the BCM283x Device Tree include file for future use when an actual panel is available - Florian updates the Northstar Plus platforms to use port 8 of the internal switch as the CPU/management port since necessary code was added in the b53 switch driver to support that * tag 'arm-soc/for-4.17/devicetree' of https://github.com/Broadcom/stblinux: ARM: dts: NSP: Switch to port 8 for CPU port ARM: bcm2835: Add the DPI hardware to the device tree. ARM: dts: BCM5301X: add missing LEDs for Buffalo WZR-900DHP ARM: dts: bcm2835-rpi-zero-w: Enable OTG mode ARM: dts: bcm2835-rpi-zero-w: Add bcm43438 serial slave ARM: dts: bcm283x: Apply pull settings to Zero W relevant groups ARM: dts: bcm2837-rpi-3-b: add GPIO expander ARM: dts: bcm2835: make the firmware node into a bus ARM: dts: bcm283x: Fix probing of bcm2835-i2s dt-bindings: bcm283x: Fix register ranges of bcm2835-i2s ARM: dts: bcm283x: Fix pin function of JTAG pins
-rw-r--r--Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt4
-rw-r--r--Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt9
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-zero-w.dts16
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi.dtsi4
-rw-r--r--arch/arm/boot/dts/bcm2837-rpi-3-b.dts17
-rw-r--r--arch/arm/boot/dts/bcm283x.dtsi20
-rw-r--r--arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts68
-rw-r--r--arch/arm/boot/dts/bcm958622hr.dts6
-rw-r--r--arch/arm/boot/dts/bcm958623hr.dts6
-rw-r--r--arch/arm/boot/dts/bcm958625hr.dts6
-rw-r--r--arch/arm/boot/dts/bcm958625k.dts6
-rw-r--r--arch/arm/boot/dts/bcm988312hr.dts6
12 files changed, 140 insertions, 28 deletions
diff --git a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt
index baf9b34d20bf..b6a8cc0978cd 100644
--- a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt
+++ b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt
@@ -74,8 +74,8 @@ Example:
74 74
75bcm2835_i2s: i2s@7e203000 { 75bcm2835_i2s: i2s@7e203000 {
76 compatible = "brcm,bcm2835-i2s"; 76 compatible = "brcm,bcm2835-i2s";
77 reg = < 0x7e203000 0x20>, 77 reg = < 0x7e203000 0x24>;
78 < 0x7e101098 0x02>; 78 clocks = <&clocks BCM2835_CLOCK_PCM>;
79 79
80 dmas = <&dma 2>, 80 dmas = <&dma 2>,
81 <&dma 3>; 81 <&dma 3>;
diff --git a/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt b/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt
index 65783de0aedf..7bb0362828ec 100644
--- a/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt
+++ b/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt
@@ -2,9 +2,8 @@
2 2
3Required properties: 3Required properties:
4- compatible: "brcm,bcm2835-i2s" 4- compatible: "brcm,bcm2835-i2s"
5- reg: A list of base address and size entries: 5- reg: Should contain PCM registers location and length.
6 * The first entry should cover the PCM registers 6- clocks: the (PCM) clock to use
7 * The second entry should cover the PCM clock registers
8- dmas: List of DMA controller phandle and DMA request line ordered pairs. 7- dmas: List of DMA controller phandle and DMA request line ordered pairs.
9- dma-names: Identifier string for each DMA request line in the dmas property. 8- dma-names: Identifier string for each DMA request line in the dmas property.
10 These strings correspond 1:1 with the ordered pairs in dmas. 9 These strings correspond 1:1 with the ordered pairs in dmas.
@@ -16,8 +15,8 @@ Example:
16 15
17bcm2835_i2s: i2s@7e203000 { 16bcm2835_i2s: i2s@7e203000 {
18 compatible = "brcm,bcm2835-i2s"; 17 compatible = "brcm,bcm2835-i2s";
19 reg = <0x7e203000 0x20>, 18 reg = <0x7e203000 0x24>;
20 <0x7e101098 0x02>; 19 clocks = <&clocks BCM2835_CLOCK_PCM>;
21 20
22 dmas = <&dma 2>, 21 dmas = <&dma 2>,
23 <&dma 3>; 22 <&dma 3>;
diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
index b8565fc33eea..b7f79f1c431a 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
@@ -12,7 +12,7 @@
12/dts-v1/; 12/dts-v1/;
13#include "bcm2835.dtsi" 13#include "bcm2835.dtsi"
14#include "bcm2835-rpi.dtsi" 14#include "bcm2835-rpi.dtsi"
15#include "bcm283x-rpi-usb-host.dtsi" 15#include "bcm283x-rpi-usb-otg.dtsi"
16 16
17/ { 17/ {
18 compatible = "raspberrypi,model-zero-w", "brcm,bcm2835"; 18 compatible = "raspberrypi,model-zero-w", "brcm,bcm2835";
@@ -131,6 +131,18 @@
131 131
132&uart0 { 132&uart0 {
133 pinctrl-names = "default"; 133 pinctrl-names = "default";
134 pinctrl-0 = <&uart0_gpio14>; 134 pinctrl-0 = <&uart0_gpio32 &uart0_ctsrts_gpio30>;
135 status = "okay";
136
137 bluetooth {
138 compatible = "brcm,bcm43438-bt";
139 max-speed = <2000000>;
140 shutdown-gpios = <&gpio 45 GPIO_ACTIVE_HIGH>;
141 };
142};
143
144&uart1 {
145 pinctrl-names = "default";
146 pinctrl-0 = <&uart1_gpio14>;
135 status = "okay"; 147 status = "okay";
136}; 148};
diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
index e36c392a2b8f..0198bd46ef7c 100644
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
@@ -18,7 +18,9 @@
18 18
19 soc { 19 soc {
20 firmware: firmware { 20 firmware: firmware {
21 compatible = "raspberrypi,bcm2835-firmware"; 21 compatible = "raspberrypi,bcm2835-firmware", "simple-bus";
22 #address-cells = <0>;
23 #size-cells = <0>;
22 mboxes = <&mailbox>; 24 mboxes = <&mailbox>;
23 }; 25 };
24 26
diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
index 3e4ed7c5b0b3..0b31d995a066 100644
--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
@@ -25,6 +25,23 @@
25 }; 25 };
26}; 26};
27 27
28&firmware {
29 expgpio: gpio {
30 compatible = "raspberrypi,firmware-gpio";
31 gpio-controller;
32 #gpio-cells = <2>;
33 gpio-line-names = "BT_ON",
34 "WL_ON",
35 "STATUS_LED",
36 "LAN_RUN",
37 "HPD_N",
38 "CAM_GPIO0",
39 "CAM_GPIO1",
40 "PWR_LOW_N";
41 status = "okay";
42 };
43};
44
28/* uart0 communicates with the BT module */ 45/* uart0 communicates with the BT module */
29&uart0 { 46&uart0 {
30 pinctrl-names = "default"; 47 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
index 9d293decf8d3..ac00e730f898 100644
--- a/arch/arm/boot/dts/bcm283x.dtsi
+++ b/arch/arm/boot/dts/bcm283x.dtsi
@@ -223,6 +223,7 @@
223 gpclk2_gpio43: gpclk2_gpio43 { 223 gpclk2_gpio43: gpclk2_gpio43 {
224 brcm,pins = <43>; 224 brcm,pins = <43>;
225 brcm,function = <BCM2835_FSEL_ALT0>; 225 brcm,function = <BCM2835_FSEL_ALT0>;
226 brcm,pull = <BCM2835_PUD_OFF>;
226 }; 227 };
227 228
228 i2c0_gpio0: i2c0_gpio0 { 229 i2c0_gpio0: i2c0_gpio0 {
@@ -252,7 +253,7 @@
252 253
253 jtag_gpio4: jtag_gpio4 { 254 jtag_gpio4: jtag_gpio4 {
254 brcm,pins = <4 5 6 12 13>; 255 brcm,pins = <4 5 6 12 13>;
255 brcm,function = <BCM2835_FSEL_ALT4>; 256 brcm,function = <BCM2835_FSEL_ALT5>;
256 }; 257 };
257 jtag_gpio22: jtag_gpio22 { 258 jtag_gpio22: jtag_gpio22 {
258 brcm,pins = <22 23 24 25 26 27>; 259 brcm,pins = <22 23 24 25 26 27>;
@@ -335,10 +336,12 @@
335 uart0_ctsrts_gpio30: uart0_ctsrts_gpio30 { 336 uart0_ctsrts_gpio30: uart0_ctsrts_gpio30 {
336 brcm,pins = <30 31>; 337 brcm,pins = <30 31>;
337 brcm,function = <BCM2835_FSEL_ALT3>; 338 brcm,function = <BCM2835_FSEL_ALT3>;
339 brcm,pull = <BCM2835_PUD_UP BCM2835_PUD_OFF>;
338 }; 340 };
339 uart0_gpio32: uart0_gpio32 { 341 uart0_gpio32: uart0_gpio32 {
340 brcm,pins = <32 33>; 342 brcm,pins = <32 33>;
341 brcm,function = <BCM2835_FSEL_ALT3>; 343 brcm,function = <BCM2835_FSEL_ALT3>;
344 brcm,pull = <BCM2835_PUD_OFF BCM2835_PUD_UP>;
342 }; 345 };
343 uart0_gpio36: uart0_gpio36 { 346 uart0_gpio36: uart0_gpio36 {
344 brcm,pins = <36 37>; 347 brcm,pins = <36 37>;
@@ -397,8 +400,8 @@
397 400
398 i2s: i2s@7e203000 { 401 i2s: i2s@7e203000 {
399 compatible = "brcm,bcm2835-i2s"; 402 compatible = "brcm,bcm2835-i2s";
400 reg = <0x7e203000 0x20>, 403 reg = <0x7e203000 0x24>;
401 <0x7e101098 0x02>; 404 clocks = <&clocks BCM2835_CLOCK_PCM>;
402 405
403 dmas = <&dma 2>, 406 dmas = <&dma 2>,
404 <&dma 3>; 407 <&dma 3>;
@@ -438,6 +441,17 @@
438 interrupts = <2 14>; /* pwa1 */ 441 interrupts = <2 14>; /* pwa1 */
439 }; 442 };
440 443
444 dpi: dpi@7e208000 {
445 compatible = "brcm,bcm2835-dpi";
446 reg = <0x7e208000 0x8c>;
447 clocks = <&clocks BCM2835_CLOCK_VPU>,
448 <&clocks BCM2835_CLOCK_DPI>;
449 clock-names = "core", "pixel";
450 #address-cells = <1>;
451 #size-cells = <0>;
452 status = "disabled";
453 };
454
441 dsi0: dsi@7e209000 { 455 dsi0: dsi@7e209000 {
442 compatible = "brcm,bcm2835-dsi0"; 456 compatible = "brcm,bcm2835-dsi0";
443 reg = <0x7e209000 0x78>; 457 reg = <0x7e209000 0x78>;
diff --git a/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts b/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
index 8bef6429feee..87ea6ba664f5 100644
--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
+++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
@@ -35,6 +35,74 @@
35 0x88000000 0x08000000>; 35 0x88000000 0x08000000>;
36 }; 36 };
37 37
38 spi {
39 compatible = "spi-gpio";
40 num-chipselects = <1>;
41 gpio-sck = <&chipcommon 7 0>;
42 gpio-mosi = <&chipcommon 4 0>;
43 cs-gpios = <&chipcommon 6 0>;
44 #address-cells = <1>;
45 #size-cells = <0>;
46
47 hc595: gpio_spi@0 {
48 compatible = "fairchild,74hc595";
49 reg = <0>;
50 registers-number = <1>;
51 spi-max-frequency = <100000>;
52
53 gpio-controller;
54 #gpio-cells = <2>;
55
56 };
57 };
58
59 leds {
60 compatible = "gpio-leds";
61
62 usb {
63 label = "bcm53xx:green:usb";
64 gpios = <&hc595 0 GPIO_ACTIVE_HIGH>;
65 };
66
67 power0 {
68 label = "bcm53xx:green:power";
69 gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
70 linux,default-trigger = "default-on";
71 };
72
73 power1 {
74 label = "bcm53xx:red:power";
75 gpios = <&hc595 2 GPIO_ACTIVE_HIGH>;
76 };
77
78 router0 {
79 label = "bcm53xx:green:router";
80 gpios = <&hc595 3 GPIO_ACTIVE_HIGH>;
81 linux,default-trigger = "default-on";
82 };
83
84 router1 {
85 label = "bcm53xx:amber:router";
86 gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
87 };
88
89 wan {
90 label = "bcm53xx:green:wan";
91 gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
92 linux,default-trigger = "default-on";
93 };
94
95 wireless0 {
96 label = "bcm53xx:green:wireless";
97 gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
98 };
99
100 wireless1 {
101 label = "bcm53xx:amber:wireless";
102 gpios = <&hc595 7 GPIO_ACTIVE_HIGH>;
103 };
104 };
105
38 gpio-keys { 106 gpio-keys {
39 compatible = "gpio-keys"; 107 compatible = "gpio-keys";
40 #address-cells = <1>; 108 #address-cells = <1>;
diff --git a/arch/arm/boot/dts/bcm958622hr.dts b/arch/arm/boot/dts/bcm958622hr.dts
index fd8b8c689ffe..ecd05e26c262 100644
--- a/arch/arm/boot/dts/bcm958622hr.dts
+++ b/arch/arm/boot/dts/bcm958622hr.dts
@@ -204,10 +204,10 @@
204 reg = <4>; 204 reg = <4>;
205 }; 205 };
206 206
207 port@5 { 207 port@8 {
208 ethernet = <&amac0>; 208 ethernet = <&amac2>;
209 label = "cpu"; 209 label = "cpu";
210 reg = <5>; 210 reg = <8>;
211 fixed-link { 211 fixed-link {
212 speed = <1000>; 212 speed = <1000>;
213 full-duplex; 213 full-duplex;
diff --git a/arch/arm/boot/dts/bcm958623hr.dts b/arch/arm/boot/dts/bcm958623hr.dts
index b8bde13de90a..f5e85b301497 100644
--- a/arch/arm/boot/dts/bcm958623hr.dts
+++ b/arch/arm/boot/dts/bcm958623hr.dts
@@ -208,10 +208,10 @@
208 reg = <4>; 208 reg = <4>;
209 }; 209 };
210 210
211 port@5 { 211 port@8 {
212 ethernet = <&amac0>; 212 ethernet = <&amac2>;
213 label = "cpu"; 213 label = "cpu";
214 reg = <5>; 214 reg = <8>;
215 fixed-link { 215 fixed-link {
216 speed = <1000>; 216 speed = <1000>;
217 full-duplex; 217 full-duplex;
diff --git a/arch/arm/boot/dts/bcm958625hr.dts b/arch/arm/boot/dts/bcm958625hr.dts
index f0e2008f7490..ea3fc194f8f3 100644
--- a/arch/arm/boot/dts/bcm958625hr.dts
+++ b/arch/arm/boot/dts/bcm958625hr.dts
@@ -210,10 +210,10 @@
210 reg = <4>; 210 reg = <4>;
211 }; 211 };
212 212
213 port@5 { 213 port@8 {
214 ethernet = <&amac0>; 214 ethernet = <&amac2>;
215 label = "cpu"; 215 label = "cpu";
216 reg = <5>; 216 reg = <8>;
217 fixed-link { 217 fixed-link {
218 speed = <1000>; 218 speed = <1000>;
219 full-duplex; 219 full-duplex;
diff --git a/arch/arm/boot/dts/bcm958625k.dts b/arch/arm/boot/dts/bcm958625k.dts
index 2cf2392483b2..3ea5f739e90b 100644
--- a/arch/arm/boot/dts/bcm958625k.dts
+++ b/arch/arm/boot/dts/bcm958625k.dts
@@ -245,10 +245,10 @@
245 reg = <4>; 245 reg = <4>;
246 }; 246 };
247 247
248 port@5 { 248 port@8 {
249 ethernet = <&amac0>; 249 ethernet = <&amac2>;
250 label = "cpu"; 250 label = "cpu";
251 reg = <5>; 251 reg = <8>;
252 fixed-link { 252 fixed-link {
253 speed = <1000>; 253 speed = <1000>;
254 full-duplex; 254 full-duplex;
diff --git a/arch/arm/boot/dts/bcm988312hr.dts b/arch/arm/boot/dts/bcm988312hr.dts
index bce251a68591..ea9a0806b446 100644
--- a/arch/arm/boot/dts/bcm988312hr.dts
+++ b/arch/arm/boot/dts/bcm988312hr.dts
@@ -216,10 +216,10 @@
216 reg = <4>; 216 reg = <4>;
217 }; 217 };
218 218
219 port@5 { 219 port@8 {
220 ethernet = <&amac0>; 220 ethernet = <&amac2>;
221 label = "cpu"; 221 label = "cpu";
222 reg = <5>; 222 reg = <8>;
223 fixed-link { 223 fixed-link {
224 speed = <1000>; 224 speed = <1000>;
225 full-duplex; 225 full-duplex;