xref: /freebsd/sys/contrib/device-tree/src/arm/broadcom/bcm-ns.dtsi (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright 2013-2014 Hauke Mehrtens <hauke@hauke-m.de>
4f126890aSEmmanuel Vadot */
5f126890aSEmmanuel Vadot
6f126890aSEmmanuel Vadot#include <dt-bindings/clock/bcm-nsp.h>
7f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
8f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
9f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
10f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
11f126890aSEmmanuel Vadot
12f126890aSEmmanuel Vadot/ {
13f126890aSEmmanuel Vadot	interrupt-parent = <&gic>;
14f126890aSEmmanuel Vadot	#address-cells = <1>;
15f126890aSEmmanuel Vadot	#size-cells = <1>;
16f126890aSEmmanuel Vadot
17*84943d6fSEmmanuel Vadot	pmu {
18*84943d6fSEmmanuel Vadot		compatible = "arm,cortex-a9-pmu";
19*84943d6fSEmmanuel Vadot		interrupts =
20*84943d6fSEmmanuel Vadot			<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
21*84943d6fSEmmanuel Vadot			<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
22*84943d6fSEmmanuel Vadot	};
23*84943d6fSEmmanuel Vadot
24f126890aSEmmanuel Vadot	chipcommon-a-bus@18000000 {
25f126890aSEmmanuel Vadot		compatible = "simple-bus";
26f126890aSEmmanuel Vadot		ranges = <0x00000000 0x18000000 0x00001000>;
27f126890aSEmmanuel Vadot		#address-cells = <1>;
28f126890aSEmmanuel Vadot		#size-cells = <1>;
29f126890aSEmmanuel Vadot
30f126890aSEmmanuel Vadot		uart0: serial@300 {
31f126890aSEmmanuel Vadot			compatible = "ns16550";
32f126890aSEmmanuel Vadot			reg = <0x0300 0x100>;
33f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
34f126890aSEmmanuel Vadot			clocks = <&iprocslow>;
35f126890aSEmmanuel Vadot			status = "disabled";
36f126890aSEmmanuel Vadot		};
37f126890aSEmmanuel Vadot
38f126890aSEmmanuel Vadot		uart1: serial@400 {
39f126890aSEmmanuel Vadot			compatible = "ns16550";
40f126890aSEmmanuel Vadot			reg = <0x0400 0x100>;
41f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
42f126890aSEmmanuel Vadot			clocks = <&iprocslow>;
43f126890aSEmmanuel Vadot			pinctrl-names = "default";
44f126890aSEmmanuel Vadot			pinctrl-0 = <&pinmux_uart1>;
45f126890aSEmmanuel Vadot			status = "disabled";
46f126890aSEmmanuel Vadot		};
47f126890aSEmmanuel Vadot	};
48f126890aSEmmanuel Vadot
49f126890aSEmmanuel Vadot	mpcore-bus@19000000 {
50f126890aSEmmanuel Vadot		compatible = "simple-bus";
51f126890aSEmmanuel Vadot		ranges = <0x00000000 0x19000000 0x00023000>;
52f126890aSEmmanuel Vadot		#address-cells = <1>;
53f126890aSEmmanuel Vadot		#size-cells = <1>;
54f126890aSEmmanuel Vadot
55f126890aSEmmanuel Vadot		scu@20000 {
56f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9-scu";
57f126890aSEmmanuel Vadot			reg = <0x20000 0x100>;
58f126890aSEmmanuel Vadot		};
59f126890aSEmmanuel Vadot
60f126890aSEmmanuel Vadot		timer@20200 {
61f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9-global-timer";
62f126890aSEmmanuel Vadot			reg = <0x20200 0x100>;
63f126890aSEmmanuel Vadot			interrupts = <GIC_PPI 11 IRQ_TYPE_EDGE_RISING>;
64f126890aSEmmanuel Vadot			clocks = <&periph_clk>;
65f126890aSEmmanuel Vadot		};
66f126890aSEmmanuel Vadot
67f126890aSEmmanuel Vadot		timer@20600 {
68f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9-twd-timer";
69f126890aSEmmanuel Vadot			reg = <0x20600 0x20>;
70f126890aSEmmanuel Vadot			interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
71f126890aSEmmanuel Vadot						  IRQ_TYPE_EDGE_RISING)>;
72f126890aSEmmanuel Vadot			clocks = <&periph_clk>;
73f126890aSEmmanuel Vadot		};
74f126890aSEmmanuel Vadot
75f126890aSEmmanuel Vadot		gic: interrupt-controller@21000 {
76f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9-gic";
77f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
78f126890aSEmmanuel Vadot			#address-cells = <0>;
79f126890aSEmmanuel Vadot			interrupt-controller;
80f126890aSEmmanuel Vadot			reg = <0x21000 0x1000>,
81f126890aSEmmanuel Vadot			      <0x20100 0x100>;
82f126890aSEmmanuel Vadot		};
83f126890aSEmmanuel Vadot
84f126890aSEmmanuel Vadot		L2: cache-controller@22000 {
85f126890aSEmmanuel Vadot			compatible = "arm,pl310-cache";
86f126890aSEmmanuel Vadot			reg = <0x22000 0x1000>;
87f126890aSEmmanuel Vadot			cache-unified;
88f126890aSEmmanuel Vadot			arm,shared-override;
89f126890aSEmmanuel Vadot			prefetch-data = <1>;
90f126890aSEmmanuel Vadot			prefetch-instr = <1>;
91f126890aSEmmanuel Vadot			cache-level = <2>;
92f126890aSEmmanuel Vadot		};
93f126890aSEmmanuel Vadot	};
94f126890aSEmmanuel Vadot
95f126890aSEmmanuel Vadot	axi@18000000 {
96f126890aSEmmanuel Vadot		compatible = "brcm,bus-axi";
97f126890aSEmmanuel Vadot		reg = <0x18000000 0x1000>;
98f126890aSEmmanuel Vadot		ranges = <0x00000000 0x18000000 0x00100000>;
99f126890aSEmmanuel Vadot		#address-cells = <1>;
100f126890aSEmmanuel Vadot		#size-cells = <1>;
101f126890aSEmmanuel Vadot
102f126890aSEmmanuel Vadot		#interrupt-cells = <1>;
103f126890aSEmmanuel Vadot		interrupt-map-mask = <0x000fffff 0xffff>;
104f126890aSEmmanuel Vadot		interrupt-map =
105f126890aSEmmanuel Vadot			/* ChipCommon */
106f126890aSEmmanuel Vadot			<0x00000000 0 &gic GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
107f126890aSEmmanuel Vadot
108f126890aSEmmanuel Vadot			/* Switch Register Access Block */
109f126890aSEmmanuel Vadot			<0x00007000 0 &gic GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
110f126890aSEmmanuel Vadot			<0x00007000 1 &gic GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
111f126890aSEmmanuel Vadot			<0x00007000 2 &gic GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
112f126890aSEmmanuel Vadot			<0x00007000 3 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
113f126890aSEmmanuel Vadot			<0x00007000 4 &gic GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
114f126890aSEmmanuel Vadot			<0x00007000 5 &gic GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
115f126890aSEmmanuel Vadot			<0x00007000 6 &gic GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
116f126890aSEmmanuel Vadot			<0x00007000 7 &gic GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
117f126890aSEmmanuel Vadot			<0x00007000 8 &gic GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
118f126890aSEmmanuel Vadot			<0x00007000 9 &gic GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
119f126890aSEmmanuel Vadot			<0x00007000 10 &gic GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
120f126890aSEmmanuel Vadot			<0x00007000 11 &gic GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
121f126890aSEmmanuel Vadot			<0x00007000 12 &gic GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
122f126890aSEmmanuel Vadot
123f126890aSEmmanuel Vadot			/* PCIe Controller 0 */
124f126890aSEmmanuel Vadot			<0x00012000 0 &gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
125f126890aSEmmanuel Vadot			<0x00012000 1 &gic GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
126f126890aSEmmanuel Vadot			<0x00012000 2 &gic GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
127f126890aSEmmanuel Vadot			<0x00012000 3 &gic GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
128f126890aSEmmanuel Vadot			<0x00012000 4 &gic GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
129f126890aSEmmanuel Vadot			<0x00012000 5 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
130f126890aSEmmanuel Vadot
131f126890aSEmmanuel Vadot			/* PCIe Controller 1 */
132f126890aSEmmanuel Vadot			<0x00013000 0 &gic GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
133f126890aSEmmanuel Vadot			<0x00013000 1 &gic GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
134f126890aSEmmanuel Vadot			<0x00013000 2 &gic GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
135f126890aSEmmanuel Vadot			<0x00013000 3 &gic GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
136f126890aSEmmanuel Vadot			<0x00013000 4 &gic GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
137f126890aSEmmanuel Vadot			<0x00013000 5 &gic GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
138f126890aSEmmanuel Vadot
139f126890aSEmmanuel Vadot			/* PCIe Controller 2 */
140f126890aSEmmanuel Vadot			<0x00014000 0 &gic GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
141f126890aSEmmanuel Vadot			<0x00014000 1 &gic GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
142f126890aSEmmanuel Vadot			<0x00014000 2 &gic GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
143f126890aSEmmanuel Vadot			<0x00014000 3 &gic GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
144f126890aSEmmanuel Vadot			<0x00014000 4 &gic GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
145f126890aSEmmanuel Vadot			<0x00014000 5 &gic GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
146f126890aSEmmanuel Vadot
147f126890aSEmmanuel Vadot			/* USB 2.0 Controller */
148f126890aSEmmanuel Vadot			<0x00021000 0 &gic GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
149f126890aSEmmanuel Vadot
150f126890aSEmmanuel Vadot			/* USB 3.0 Controller */
151f126890aSEmmanuel Vadot			<0x00023000 0 &gic GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
152f126890aSEmmanuel Vadot
153f126890aSEmmanuel Vadot			/* Ethernet Controller 0 */
154f126890aSEmmanuel Vadot			<0x00024000 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
155f126890aSEmmanuel Vadot
156f126890aSEmmanuel Vadot			/* Ethernet Controller 1 */
157f126890aSEmmanuel Vadot			<0x00025000 0 &gic GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
158f126890aSEmmanuel Vadot
159f126890aSEmmanuel Vadot			/* Ethernet Controller 2 */
160f126890aSEmmanuel Vadot			<0x00026000 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
161f126890aSEmmanuel Vadot
162f126890aSEmmanuel Vadot			/* Ethernet Controller 3 */
163f126890aSEmmanuel Vadot			<0x00027000 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
164f126890aSEmmanuel Vadot
165f126890aSEmmanuel Vadot			/* NAND Controller */
166f126890aSEmmanuel Vadot			<0x00028000 0 &gic GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
167f126890aSEmmanuel Vadot			<0x00028000 1 &gic GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
168f126890aSEmmanuel Vadot			<0x00028000 2 &gic GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
169f126890aSEmmanuel Vadot			<0x00028000 3 &gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
170f126890aSEmmanuel Vadot			<0x00028000 4 &gic GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
171f126890aSEmmanuel Vadot			<0x00028000 5 &gic GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
172f126890aSEmmanuel Vadot			<0x00028000 6 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
173f126890aSEmmanuel Vadot			<0x00028000 7 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
174f126890aSEmmanuel Vadot
175f126890aSEmmanuel Vadot		chipcommon: chipcommon@0 {
176f126890aSEmmanuel Vadot			reg = <0x00000000 0x1000>;
177f126890aSEmmanuel Vadot
178f126890aSEmmanuel Vadot			gpio-controller;
179f126890aSEmmanuel Vadot			#gpio-cells = <2>;
180f126890aSEmmanuel Vadot			interrupt-controller;
181f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
182f126890aSEmmanuel Vadot		};
183f126890aSEmmanuel Vadot
184f126890aSEmmanuel Vadot		pcie0: pcie@12000 {
185f126890aSEmmanuel Vadot			reg = <0x00012000 0x1000>;
186f126890aSEmmanuel Vadot
187f126890aSEmmanuel Vadot			#address-cells = <3>;
188f126890aSEmmanuel Vadot			#size-cells = <2>;
189f126890aSEmmanuel Vadot		};
190f126890aSEmmanuel Vadot
191f126890aSEmmanuel Vadot		pcie1: pcie@13000 {
192f126890aSEmmanuel Vadot			reg = <0x00013000 0x1000>;
193f126890aSEmmanuel Vadot
194f126890aSEmmanuel Vadot			#address-cells = <3>;
195f126890aSEmmanuel Vadot			#size-cells = <2>;
196f126890aSEmmanuel Vadot		};
197f126890aSEmmanuel Vadot
198f126890aSEmmanuel Vadot		pcie2: pcie@14000 {
199f126890aSEmmanuel Vadot			reg = <0x00014000 0x1000>;
200f126890aSEmmanuel Vadot
201f126890aSEmmanuel Vadot			#address-cells = <3>;
202f126890aSEmmanuel Vadot			#size-cells = <2>;
203f126890aSEmmanuel Vadot		};
204f126890aSEmmanuel Vadot
205f126890aSEmmanuel Vadot		usb2: usb2@21000 {
206f126890aSEmmanuel Vadot			reg = <0x00021000 0x1000>;
207f126890aSEmmanuel Vadot
208f126890aSEmmanuel Vadot			#address-cells = <1>;
209f126890aSEmmanuel Vadot			#size-cells = <1>;
210f126890aSEmmanuel Vadot			ranges;
211f126890aSEmmanuel Vadot
212f126890aSEmmanuel Vadot			interrupt-parent = <&gic>;
213f126890aSEmmanuel Vadot
214f126890aSEmmanuel Vadot			ehci: usb@21000 {
215f126890aSEmmanuel Vadot				compatible = "generic-ehci";
216f126890aSEmmanuel Vadot				reg = <0x00021000 0x1000>;
217f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
218f126890aSEmmanuel Vadot				phys = <&usb2_phy>;
219f126890aSEmmanuel Vadot
220f126890aSEmmanuel Vadot				#address-cells = <1>;
221f126890aSEmmanuel Vadot				#size-cells = <0>;
222f126890aSEmmanuel Vadot
223f126890aSEmmanuel Vadot				ehci_port1: port@1 {
224f126890aSEmmanuel Vadot					reg = <1>;
225f126890aSEmmanuel Vadot					#trigger-source-cells = <0>;
226f126890aSEmmanuel Vadot				};
227f126890aSEmmanuel Vadot
228f126890aSEmmanuel Vadot				ehci_port2: port@2 {
229f126890aSEmmanuel Vadot					reg = <2>;
230f126890aSEmmanuel Vadot					#trigger-source-cells = <0>;
231f126890aSEmmanuel Vadot				};
232f126890aSEmmanuel Vadot			};
233f126890aSEmmanuel Vadot
234f126890aSEmmanuel Vadot			ohci: usb@22000 {
235f126890aSEmmanuel Vadot				compatible = "generic-ohci";
236f126890aSEmmanuel Vadot				reg = <0x00022000 0x1000>;
237f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
238f126890aSEmmanuel Vadot
239f126890aSEmmanuel Vadot				#address-cells = <1>;
240f126890aSEmmanuel Vadot				#size-cells = <0>;
241f126890aSEmmanuel Vadot
242f126890aSEmmanuel Vadot				ohci_port1: port@1 {
243f126890aSEmmanuel Vadot					reg = <1>;
244f126890aSEmmanuel Vadot					#trigger-source-cells = <0>;
245f126890aSEmmanuel Vadot				};
246f126890aSEmmanuel Vadot
247f126890aSEmmanuel Vadot				ohci_port2: port@2 {
248f126890aSEmmanuel Vadot					reg = <2>;
249f126890aSEmmanuel Vadot					#trigger-source-cells = <0>;
250f126890aSEmmanuel Vadot				};
251f126890aSEmmanuel Vadot			};
252f126890aSEmmanuel Vadot		};
253f126890aSEmmanuel Vadot
254f126890aSEmmanuel Vadot		usb3: usb3@23000 {
255f126890aSEmmanuel Vadot			reg = <0x00023000 0x1000>;
256f126890aSEmmanuel Vadot
257f126890aSEmmanuel Vadot			#address-cells = <1>;
258f126890aSEmmanuel Vadot			#size-cells = <1>;
259f126890aSEmmanuel Vadot			ranges;
260f126890aSEmmanuel Vadot
261f126890aSEmmanuel Vadot			interrupt-parent = <&gic>;
262f126890aSEmmanuel Vadot
263f126890aSEmmanuel Vadot			xhci: usb@23000 {
264f126890aSEmmanuel Vadot				compatible = "generic-xhci";
265f126890aSEmmanuel Vadot				reg = <0x00023000 0x1000>;
266f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
267f126890aSEmmanuel Vadot				phys = <&usb3_phy>;
268f126890aSEmmanuel Vadot				phy-names = "usb";
269f126890aSEmmanuel Vadot
270f126890aSEmmanuel Vadot				#address-cells = <1>;
271f126890aSEmmanuel Vadot				#size-cells = <0>;
272f126890aSEmmanuel Vadot
273f126890aSEmmanuel Vadot				xhci_port1: port@1 {
274f126890aSEmmanuel Vadot					reg = <1>;
275f126890aSEmmanuel Vadot					#trigger-source-cells = <0>;
276f126890aSEmmanuel Vadot				};
277f126890aSEmmanuel Vadot			};
278f126890aSEmmanuel Vadot		};
279f126890aSEmmanuel Vadot
280f126890aSEmmanuel Vadot		gmac0: ethernet@24000 {
281f126890aSEmmanuel Vadot			reg = <0x24000 0x800>;
282aa1a8ff2SEmmanuel Vadot			phy-mode = "internal";
283aa1a8ff2SEmmanuel Vadot
284aa1a8ff2SEmmanuel Vadot			fixed-link {
285aa1a8ff2SEmmanuel Vadot				speed = <1000>;
286aa1a8ff2SEmmanuel Vadot				full-duplex;
287aa1a8ff2SEmmanuel Vadot			};
288f126890aSEmmanuel Vadot		};
289f126890aSEmmanuel Vadot
290f126890aSEmmanuel Vadot		gmac1: ethernet@25000 {
291f126890aSEmmanuel Vadot			reg = <0x25000 0x800>;
292aa1a8ff2SEmmanuel Vadot			phy-mode = "internal";
293aa1a8ff2SEmmanuel Vadot
294aa1a8ff2SEmmanuel Vadot			fixed-link {
295aa1a8ff2SEmmanuel Vadot				speed = <1000>;
296aa1a8ff2SEmmanuel Vadot				full-duplex;
297aa1a8ff2SEmmanuel Vadot			};
298f126890aSEmmanuel Vadot		};
299f126890aSEmmanuel Vadot
300f126890aSEmmanuel Vadot		gmac2: ethernet@26000 {
301f126890aSEmmanuel Vadot			reg = <0x26000 0x800>;
302aa1a8ff2SEmmanuel Vadot			phy-mode = "internal";
303aa1a8ff2SEmmanuel Vadot
304aa1a8ff2SEmmanuel Vadot			fixed-link {
305aa1a8ff2SEmmanuel Vadot				speed = <1000>;
306aa1a8ff2SEmmanuel Vadot				full-duplex;
307aa1a8ff2SEmmanuel Vadot			};
308f126890aSEmmanuel Vadot		};
309f126890aSEmmanuel Vadot
310f126890aSEmmanuel Vadot		gmac3: ethernet@27000 {
311f126890aSEmmanuel Vadot			reg = <0x27000 0x800>;
312f126890aSEmmanuel Vadot		};
313f126890aSEmmanuel Vadot	};
314f126890aSEmmanuel Vadot
315f126890aSEmmanuel Vadot	pwm: pwm@18002000 {
316f126890aSEmmanuel Vadot		compatible = "brcm,iproc-pwm";
317f126890aSEmmanuel Vadot		reg = <0x18002000 0x28>;
318f126890aSEmmanuel Vadot		clocks = <&osc>;
319f126890aSEmmanuel Vadot		#pwm-cells = <3>;
320f126890aSEmmanuel Vadot		status = "disabled";
321f126890aSEmmanuel Vadot	};
322f126890aSEmmanuel Vadot
323f126890aSEmmanuel Vadot	mdio: mdio@18003000 {
324f126890aSEmmanuel Vadot		compatible = "brcm,iproc-mdio";
325f126890aSEmmanuel Vadot		reg = <0x18003000 0x8>;
326f126890aSEmmanuel Vadot		#size-cells = <0>;
327f126890aSEmmanuel Vadot		#address-cells = <1>;
328f126890aSEmmanuel Vadot	};
329f126890aSEmmanuel Vadot
330*84943d6fSEmmanuel Vadot	mdio-mux@18003000 {
331*84943d6fSEmmanuel Vadot		compatible = "mdio-mux-mmioreg", "mdio-mux";
332*84943d6fSEmmanuel Vadot		mdio-parent-bus = <&mdio>;
333*84943d6fSEmmanuel Vadot		#address-cells = <1>;
334*84943d6fSEmmanuel Vadot		#size-cells = <0>;
335*84943d6fSEmmanuel Vadot		reg = <0x18003000 0x4>;
336*84943d6fSEmmanuel Vadot		mux-mask = <0x200>;
337*84943d6fSEmmanuel Vadot
338*84943d6fSEmmanuel Vadot		mdio@0 {
339*84943d6fSEmmanuel Vadot			reg = <0x0>;
340*84943d6fSEmmanuel Vadot			#address-cells = <1>;
341*84943d6fSEmmanuel Vadot			#size-cells = <0>;
342*84943d6fSEmmanuel Vadot
343*84943d6fSEmmanuel Vadot			usb3_phy: usb3-phy@10 {
344*84943d6fSEmmanuel Vadot				compatible = "brcm,ns-ax-usb3-phy";
345*84943d6fSEmmanuel Vadot				reg = <0x10>;
346*84943d6fSEmmanuel Vadot				usb3-dmp-syscon = <&usb3_dmp>;
347*84943d6fSEmmanuel Vadot				#phy-cells = <0>;
348*84943d6fSEmmanuel Vadot				status = "disabled";
349*84943d6fSEmmanuel Vadot			};
350*84943d6fSEmmanuel Vadot		};
351*84943d6fSEmmanuel Vadot	};
352*84943d6fSEmmanuel Vadot
353f126890aSEmmanuel Vadot	rng: rng@18004000 {
354f126890aSEmmanuel Vadot		compatible = "brcm,bcm5301x-rng";
355f126890aSEmmanuel Vadot		reg = <0x18004000 0x14>;
356f126890aSEmmanuel Vadot	};
357f126890aSEmmanuel Vadot
358f126890aSEmmanuel Vadot	srab: ethernet-switch@18007000 {
359f126890aSEmmanuel Vadot		compatible = "brcm,bcm53011-srab", "brcm,bcm5301x-srab";
360f126890aSEmmanuel Vadot		reg = <0x18007000 0x1000>;
361f126890aSEmmanuel Vadot
362f126890aSEmmanuel Vadot		status = "disabled";
363f126890aSEmmanuel Vadot
364f126890aSEmmanuel Vadot		ports {
365f126890aSEmmanuel Vadot			#address-cells = <1>;
366f126890aSEmmanuel Vadot			#size-cells = <0>;
367f126890aSEmmanuel Vadot
368f126890aSEmmanuel Vadot			port@0 {
369f126890aSEmmanuel Vadot				reg = <0>;
370f126890aSEmmanuel Vadot			};
371f126890aSEmmanuel Vadot
372f126890aSEmmanuel Vadot			port@1 {
373f126890aSEmmanuel Vadot				reg = <1>;
374f126890aSEmmanuel Vadot			};
375f126890aSEmmanuel Vadot
376f126890aSEmmanuel Vadot			port@2 {
377f126890aSEmmanuel Vadot				reg = <2>;
378f126890aSEmmanuel Vadot			};
379f126890aSEmmanuel Vadot
380f126890aSEmmanuel Vadot			port@3 {
381f126890aSEmmanuel Vadot				reg = <3>;
382f126890aSEmmanuel Vadot			};
383f126890aSEmmanuel Vadot
384f126890aSEmmanuel Vadot			port@4 {
385f126890aSEmmanuel Vadot				reg = <4>;
386f126890aSEmmanuel Vadot			};
387f126890aSEmmanuel Vadot
388f126890aSEmmanuel Vadot			port@5 {
389f126890aSEmmanuel Vadot				reg = <5>;
390f126890aSEmmanuel Vadot				ethernet = <&gmac0>;
391f126890aSEmmanuel Vadot			};
392f126890aSEmmanuel Vadot
393f126890aSEmmanuel Vadot			port@7 {
394f126890aSEmmanuel Vadot				reg = <7>;
395f126890aSEmmanuel Vadot				ethernet = <&gmac1>;
396f126890aSEmmanuel Vadot			};
397f126890aSEmmanuel Vadot
398f126890aSEmmanuel Vadot			port@8 {
399f126890aSEmmanuel Vadot				reg = <8>;
400f126890aSEmmanuel Vadot				ethernet = <&gmac2>;
401f126890aSEmmanuel Vadot
402f126890aSEmmanuel Vadot				fixed-link {
403f126890aSEmmanuel Vadot					speed = <1000>;
404f126890aSEmmanuel Vadot					full-duplex;
405f126890aSEmmanuel Vadot				};
406f126890aSEmmanuel Vadot			};
407f126890aSEmmanuel Vadot		};
408f126890aSEmmanuel Vadot	};
409f126890aSEmmanuel Vadot
410f126890aSEmmanuel Vadot	uart2: serial@18008000 {
411f126890aSEmmanuel Vadot		compatible = "ns16550a";
412f126890aSEmmanuel Vadot		reg = <0x18008000 0x20>;
413f126890aSEmmanuel Vadot		clocks = <&iprocslow>;
414f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
415f126890aSEmmanuel Vadot		reg-shift = <2>;
416f126890aSEmmanuel Vadot		status = "disabled";
417f126890aSEmmanuel Vadot	};
418f126890aSEmmanuel Vadot
419f126890aSEmmanuel Vadot	dmu-bus@1800c000 {
420f126890aSEmmanuel Vadot		compatible = "simple-bus";
421f126890aSEmmanuel Vadot		ranges = <0 0x1800c000 0x1000>;
422f126890aSEmmanuel Vadot		#address-cells = <1>;
423f126890aSEmmanuel Vadot		#size-cells = <1>;
424f126890aSEmmanuel Vadot
425f126890aSEmmanuel Vadot		cru-bus@100 {
426f126890aSEmmanuel Vadot			compatible = "brcm,ns-cru", "simple-mfd";
427f126890aSEmmanuel Vadot			reg = <0x100 0x1a4>;
428f126890aSEmmanuel Vadot			ranges;
429f126890aSEmmanuel Vadot			#address-cells = <1>;
430f126890aSEmmanuel Vadot			#size-cells = <1>;
431f126890aSEmmanuel Vadot
432f126890aSEmmanuel Vadot			usb2_phy: phy@164 {
433f126890aSEmmanuel Vadot				compatible = "brcm,ns-usb2-phy";
434f126890aSEmmanuel Vadot				reg = <0x164 0x4>;
435f126890aSEmmanuel Vadot				brcm,syscon-clkset = <&cru_clkset>;
436f126890aSEmmanuel Vadot				clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
437f126890aSEmmanuel Vadot				clock-names = "phy-ref-clk";
438f126890aSEmmanuel Vadot				#phy-cells = <0>;
439f126890aSEmmanuel Vadot			};
440f126890aSEmmanuel Vadot
441f126890aSEmmanuel Vadot			cru_clkset: syscon@180 {
442f126890aSEmmanuel Vadot				compatible = "brcm,cru-clkset", "syscon";
443f126890aSEmmanuel Vadot				reg = <0x180 0x4>;
444f126890aSEmmanuel Vadot			};
445f126890aSEmmanuel Vadot
446f126890aSEmmanuel Vadot			pinctrl: pinctrl@1c0 {
447f126890aSEmmanuel Vadot				compatible = "brcm,bcm4708-pinmux";
448f126890aSEmmanuel Vadot				reg = <0x1c0 0x24>;
449f126890aSEmmanuel Vadot				reg-names = "cru_gpio_control";
450f126890aSEmmanuel Vadot
451f126890aSEmmanuel Vadot				spi-pins {
452f126890aSEmmanuel Vadot					groups = "spi_grp";
453f126890aSEmmanuel Vadot					function = "spi";
454f126890aSEmmanuel Vadot				};
455f126890aSEmmanuel Vadot
456f126890aSEmmanuel Vadot				pinmux_i2c: i2c-pins {
457f126890aSEmmanuel Vadot					groups = "i2c_grp";
458f126890aSEmmanuel Vadot					function = "i2c";
459f126890aSEmmanuel Vadot				};
460f126890aSEmmanuel Vadot
461f126890aSEmmanuel Vadot				pinmux_pwm: pwm-pins {
462f126890aSEmmanuel Vadot					groups = "pwm0_grp", "pwm1_grp",
463f126890aSEmmanuel Vadot						 "pwm2_grp", "pwm3_grp";
464f126890aSEmmanuel Vadot					function = "pwm";
465f126890aSEmmanuel Vadot				};
466f126890aSEmmanuel Vadot
467f126890aSEmmanuel Vadot				pinmux_uart1: uart1-pins {
468f126890aSEmmanuel Vadot					groups = "uart1_grp";
469f126890aSEmmanuel Vadot					function = "uart1";
470f126890aSEmmanuel Vadot				};
471f126890aSEmmanuel Vadot			};
472f126890aSEmmanuel Vadot
473f126890aSEmmanuel Vadot			thermal: thermal@2c0 {
474f126890aSEmmanuel Vadot				compatible = "brcm,ns-thermal";
475f126890aSEmmanuel Vadot				reg = <0x2c0 0x10>;
476f126890aSEmmanuel Vadot				#thermal-sensor-cells = <0>;
477f126890aSEmmanuel Vadot			};
478f126890aSEmmanuel Vadot		};
479f126890aSEmmanuel Vadot	};
480f126890aSEmmanuel Vadot
481f126890aSEmmanuel Vadot	nand_controller: nand-controller@18028000 {
482f126890aSEmmanuel Vadot		compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1", "brcm,brcmnand";
483f126890aSEmmanuel Vadot		reg = <0x18028000 0x600>, <0x1811a408 0x600>, <0x18028f00 0x20>;
484f126890aSEmmanuel Vadot		reg-names = "nand", "iproc-idm", "iproc-ext";
485f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
486f126890aSEmmanuel Vadot
487f126890aSEmmanuel Vadot		#address-cells = <1>;
488f126890aSEmmanuel Vadot		#size-cells = <0>;
489f126890aSEmmanuel Vadot
490f126890aSEmmanuel Vadot		brcm,nand-has-wp;
491f126890aSEmmanuel Vadot	};
492f126890aSEmmanuel Vadot
493*84943d6fSEmmanuel Vadot	usb3_dmp: syscon@18105000 {
494*84943d6fSEmmanuel Vadot		reg = <0x18105000 0x1000>;
495*84943d6fSEmmanuel Vadot	};
496*84943d6fSEmmanuel Vadot
497f126890aSEmmanuel Vadot	thermal-zones {
498f126890aSEmmanuel Vadot		cpu_thermal: cpu-thermal {
499f126890aSEmmanuel Vadot			polling-delay-passive = <0>;
500f126890aSEmmanuel Vadot			polling-delay = <1000>;
501f126890aSEmmanuel Vadot			coefficients = <(-556) 418000>;
502f126890aSEmmanuel Vadot			thermal-sensors = <&thermal>;
503f126890aSEmmanuel Vadot
504f126890aSEmmanuel Vadot			trips {
505f126890aSEmmanuel Vadot				cpu-crit {
506f126890aSEmmanuel Vadot					temperature = <125000>;
507f126890aSEmmanuel Vadot					hysteresis = <0>;
508f126890aSEmmanuel Vadot					type = "critical";
509f126890aSEmmanuel Vadot				};
510f126890aSEmmanuel Vadot			};
511f126890aSEmmanuel Vadot
512f126890aSEmmanuel Vadot			cooling-maps {
513f126890aSEmmanuel Vadot			};
514f126890aSEmmanuel Vadot		};
515f126890aSEmmanuel Vadot	};
516f126890aSEmmanuel Vadot};
517