1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright (C) 2016 Rafał Miłecki <rafal@milecki.pl>
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot
6*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
7*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
8*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
9*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
10*f126890aSEmmanuel Vadot
11*f126890aSEmmanuel Vadot/ {
12*f126890aSEmmanuel Vadot	#address-cells = <1>;
13*f126890aSEmmanuel Vadot	#size-cells = <1>;
14*f126890aSEmmanuel Vadot	interrupt-parent = <&gic>;
15*f126890aSEmmanuel Vadot
16*f126890aSEmmanuel Vadot	aliases {
17*f126890aSEmmanuel Vadot		serial0 = &uart0;
18*f126890aSEmmanuel Vadot	};
19*f126890aSEmmanuel Vadot
20*f126890aSEmmanuel Vadot	chosen {
21*f126890aSEmmanuel Vadot		stdout-path = "serial0:115200n8";
22*f126890aSEmmanuel Vadot	};
23*f126890aSEmmanuel Vadot
24*f126890aSEmmanuel Vadot	cpus {
25*f126890aSEmmanuel Vadot		#address-cells = <1>;
26*f126890aSEmmanuel Vadot		#size-cells = <0>;
27*f126890aSEmmanuel Vadot
28*f126890aSEmmanuel Vadot		cpu@0 {
29*f126890aSEmmanuel Vadot			device_type = "cpu";
30*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
31*f126890aSEmmanuel Vadot			reg = <0x0>;
32*f126890aSEmmanuel Vadot		};
33*f126890aSEmmanuel Vadot	};
34*f126890aSEmmanuel Vadot
35*f126890aSEmmanuel Vadot	mpcore@18310000 {
36*f126890aSEmmanuel Vadot		compatible = "simple-bus";
37*f126890aSEmmanuel Vadot		ranges = <0x00000000 0x18310000 0x00008000>;
38*f126890aSEmmanuel Vadot		#address-cells = <1>;
39*f126890aSEmmanuel Vadot		#size-cells = <1>;
40*f126890aSEmmanuel Vadot
41*f126890aSEmmanuel Vadot		gic: interrupt-controller@1000 {
42*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7-gic";
43*f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
44*f126890aSEmmanuel Vadot			#address-cells = <0>;
45*f126890aSEmmanuel Vadot			interrupt-controller;
46*f126890aSEmmanuel Vadot			reg = <0x1000 0x1000>,
47*f126890aSEmmanuel Vadot			      <0x2000 0x0100>;
48*f126890aSEmmanuel Vadot		};
49*f126890aSEmmanuel Vadot	};
50*f126890aSEmmanuel Vadot
51*f126890aSEmmanuel Vadot	timer {
52*f126890aSEmmanuel Vadot		compatible = "arm,armv7-timer";
53*f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
54*f126890aSEmmanuel Vadot			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
55*f126890aSEmmanuel Vadot			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
56*f126890aSEmmanuel Vadot			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
57*f126890aSEmmanuel Vadot	};
58*f126890aSEmmanuel Vadot
59*f126890aSEmmanuel Vadot	clocks {
60*f126890aSEmmanuel Vadot		#address-cells = <1>;
61*f126890aSEmmanuel Vadot		#size-cells = <1>;
62*f126890aSEmmanuel Vadot		ranges;
63*f126890aSEmmanuel Vadot
64*f126890aSEmmanuel Vadot		alp: oscillator {
65*f126890aSEmmanuel Vadot			#clock-cells = <0>;
66*f126890aSEmmanuel Vadot			compatible = "fixed-clock";
67*f126890aSEmmanuel Vadot			clock-frequency = <40000000>;
68*f126890aSEmmanuel Vadot		};
69*f126890aSEmmanuel Vadot	};
70*f126890aSEmmanuel Vadot
71*f126890aSEmmanuel Vadot	axi@18000000 {
72*f126890aSEmmanuel Vadot		compatible = "brcm,bus-axi";
73*f126890aSEmmanuel Vadot		reg = <0x18000000 0x1000>;
74*f126890aSEmmanuel Vadot		ranges = <0x00000000 0x18000000 0x00100000>;
75*f126890aSEmmanuel Vadot		#address-cells = <1>;
76*f126890aSEmmanuel Vadot		#size-cells = <1>;
77*f126890aSEmmanuel Vadot
78*f126890aSEmmanuel Vadot		#interrupt-cells = <1>;
79*f126890aSEmmanuel Vadot		interrupt-map-mask = <0x000fffff 0xffff>;
80*f126890aSEmmanuel Vadot		interrupt-map =
81*f126890aSEmmanuel Vadot			/* ChipCommon */
82*f126890aSEmmanuel Vadot			<0x00000000 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
83*f126890aSEmmanuel Vadot
84*f126890aSEmmanuel Vadot			/* IEEE 802.11 0 */
85*f126890aSEmmanuel Vadot			<0x00001000 0 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
86*f126890aSEmmanuel Vadot
87*f126890aSEmmanuel Vadot			/* PCIe Controller 0 */
88*f126890aSEmmanuel Vadot			<0x00002000 0 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
89*f126890aSEmmanuel Vadot			<0x00002000 1 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
90*f126890aSEmmanuel Vadot			<0x00002000 2 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
91*f126890aSEmmanuel Vadot			<0x00002000 3 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
92*f126890aSEmmanuel Vadot			<0x00002000 4 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
93*f126890aSEmmanuel Vadot			<0x00002000 5 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
94*f126890aSEmmanuel Vadot
95*f126890aSEmmanuel Vadot			/* USB 2.0 Controller */
96*f126890aSEmmanuel Vadot			<0x00004000 0 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
97*f126890aSEmmanuel Vadot
98*f126890aSEmmanuel Vadot			/* Ethernet Controller 0 */
99*f126890aSEmmanuel Vadot			<0x00005000 0 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
100*f126890aSEmmanuel Vadot
101*f126890aSEmmanuel Vadot			/* IEEE 802.11 1 */
102*f126890aSEmmanuel Vadot			<0x0000a000 0 &gic GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
103*f126890aSEmmanuel Vadot
104*f126890aSEmmanuel Vadot			/* Ethernet Controller 1 */
105*f126890aSEmmanuel Vadot			<0x0000b000 0 &gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
106*f126890aSEmmanuel Vadot
107*f126890aSEmmanuel Vadot		chipcommon: chipcommon@0 {
108*f126890aSEmmanuel Vadot			compatible = "simple-bus";
109*f126890aSEmmanuel Vadot			reg = <0x00000000 0x1000>;
110*f126890aSEmmanuel Vadot			ranges;
111*f126890aSEmmanuel Vadot
112*f126890aSEmmanuel Vadot			#address-cells = <1>;
113*f126890aSEmmanuel Vadot			#size-cells = <1>;
114*f126890aSEmmanuel Vadot
115*f126890aSEmmanuel Vadot			gpio-controller;
116*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
117*f126890aSEmmanuel Vadot
118*f126890aSEmmanuel Vadot			uart0: serial@300 {
119*f126890aSEmmanuel Vadot				compatible = "ns16550a";
120*f126890aSEmmanuel Vadot				reg = <0x0300 0x100>;
121*f126890aSEmmanuel Vadot				interrupt-parent = <&gic>;
122*f126890aSEmmanuel Vadot				interrupts = <GIC_PPI 16 IRQ_TYPE_LEVEL_HIGH>;
123*f126890aSEmmanuel Vadot				clocks = <&alp>;
124*f126890aSEmmanuel Vadot				status = "okay";
125*f126890aSEmmanuel Vadot			};
126*f126890aSEmmanuel Vadot		};
127*f126890aSEmmanuel Vadot
128*f126890aSEmmanuel Vadot		pcie0: pcie@2000 {
129*f126890aSEmmanuel Vadot			reg = <0x00002000 0x1000>;
130*f126890aSEmmanuel Vadot		};
131*f126890aSEmmanuel Vadot
132*f126890aSEmmanuel Vadot		usb2: usb2@4000 {
133*f126890aSEmmanuel Vadot			reg = <0x4000 0x1000>;
134*f126890aSEmmanuel Vadot			ranges;
135*f126890aSEmmanuel Vadot			#address-cells = <1>;
136*f126890aSEmmanuel Vadot			#size-cells = <1>;
137*f126890aSEmmanuel Vadot
138*f126890aSEmmanuel Vadot			ehci: usb@4000 {
139*f126890aSEmmanuel Vadot				compatible = "generic-ehci";
140*f126890aSEmmanuel Vadot				reg = <0x4000 0x1000>;
141*f126890aSEmmanuel Vadot				interrupt-parent = <&gic>;
142*f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
143*f126890aSEmmanuel Vadot
144*f126890aSEmmanuel Vadot				#address-cells = <1>;
145*f126890aSEmmanuel Vadot				#size-cells = <0>;
146*f126890aSEmmanuel Vadot
147*f126890aSEmmanuel Vadot				ehci_port1: port@1 {
148*f126890aSEmmanuel Vadot					reg = <1>;
149*f126890aSEmmanuel Vadot					#trigger-source-cells = <0>;
150*f126890aSEmmanuel Vadot				};
151*f126890aSEmmanuel Vadot
152*f126890aSEmmanuel Vadot				ehci_port2: port@2 {
153*f126890aSEmmanuel Vadot					reg = <2>;
154*f126890aSEmmanuel Vadot					#trigger-source-cells = <0>;
155*f126890aSEmmanuel Vadot				};
156*f126890aSEmmanuel Vadot			};
157*f126890aSEmmanuel Vadot
158*f126890aSEmmanuel Vadot			ohci: usb@d000 {
159*f126890aSEmmanuel Vadot				#usb-cells = <0>;
160*f126890aSEmmanuel Vadot
161*f126890aSEmmanuel Vadot				compatible = "generic-ohci";
162*f126890aSEmmanuel Vadot				reg = <0xd000 0x1000>;
163*f126890aSEmmanuel Vadot				interrupt-parent = <&gic>;
164*f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
165*f126890aSEmmanuel Vadot
166*f126890aSEmmanuel Vadot				#address-cells = <1>;
167*f126890aSEmmanuel Vadot				#size-cells = <0>;
168*f126890aSEmmanuel Vadot
169*f126890aSEmmanuel Vadot				ohci_port1: port@1 {
170*f126890aSEmmanuel Vadot					reg = <1>;
171*f126890aSEmmanuel Vadot					#trigger-source-cells = <0>;
172*f126890aSEmmanuel Vadot				};
173*f126890aSEmmanuel Vadot
174*f126890aSEmmanuel Vadot				ohci_port2: port@2 {
175*f126890aSEmmanuel Vadot					reg = <2>;
176*f126890aSEmmanuel Vadot					#trigger-source-cells = <0>;
177*f126890aSEmmanuel Vadot				};
178*f126890aSEmmanuel Vadot			};
179*f126890aSEmmanuel Vadot		};
180*f126890aSEmmanuel Vadot
181*f126890aSEmmanuel Vadot		gmac0: ethernet@5000 {
182*f126890aSEmmanuel Vadot			reg = <0x5000 0x1000>;
183*f126890aSEmmanuel Vadot
184*f126890aSEmmanuel Vadot			mdio {
185*f126890aSEmmanuel Vadot				#address-cells = <1>;
186*f126890aSEmmanuel Vadot				#size-cells = <0>;
187*f126890aSEmmanuel Vadot
188*f126890aSEmmanuel Vadot				switch: switch@1e {
189*f126890aSEmmanuel Vadot					compatible = "brcm,bcm53125";
190*f126890aSEmmanuel Vadot					reg = <0x1e>;
191*f126890aSEmmanuel Vadot
192*f126890aSEmmanuel Vadot					status = "disabled";
193*f126890aSEmmanuel Vadot
194*f126890aSEmmanuel Vadot					/* ports are defined in board DTS */
195*f126890aSEmmanuel Vadot					ports {
196*f126890aSEmmanuel Vadot						#address-cells = <1>;
197*f126890aSEmmanuel Vadot						#size-cells = <0>;
198*f126890aSEmmanuel Vadot					};
199*f126890aSEmmanuel Vadot				};
200*f126890aSEmmanuel Vadot			};
201*f126890aSEmmanuel Vadot		};
202*f126890aSEmmanuel Vadot
203*f126890aSEmmanuel Vadot		gmac1: ethernet@b000 {
204*f126890aSEmmanuel Vadot			reg = <0xb000 0x1000>;
205*f126890aSEmmanuel Vadot		};
206*f126890aSEmmanuel Vadot
207*f126890aSEmmanuel Vadot		pmu@12000 {
208*f126890aSEmmanuel Vadot			compatible = "simple-mfd", "syscon";
209*f126890aSEmmanuel Vadot			reg = <0x00012000 0x00001000>;
210*f126890aSEmmanuel Vadot
211*f126890aSEmmanuel Vadot			ilp: ilp {
212*f126890aSEmmanuel Vadot				compatible = "brcm,bcm53573-ilp";
213*f126890aSEmmanuel Vadot				clocks = <&alp>;
214*f126890aSEmmanuel Vadot				#clock-cells = <0>;
215*f126890aSEmmanuel Vadot				clock-output-names = "ilp";
216*f126890aSEmmanuel Vadot			};
217*f126890aSEmmanuel Vadot		};
218*f126890aSEmmanuel Vadot	};
219*f126890aSEmmanuel Vadot};
220