xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/meson.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 OR MIT
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright 2014 Carlo Caione <carlo@caione.org>
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
7*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun/ {
10*4882a593Smuzhiyun	#address-cells = <1>;
11*4882a593Smuzhiyun	#size-cells = <1>;
12*4882a593Smuzhiyun	interrupt-parent = <&gic>;
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun	soc {
15*4882a593Smuzhiyun		compatible = "simple-bus";
16*4882a593Smuzhiyun		#address-cells = <1>;
17*4882a593Smuzhiyun		#size-cells = <1>;
18*4882a593Smuzhiyun		ranges;
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun		cbus: cbus@c1100000 {
21*4882a593Smuzhiyun			compatible = "simple-bus";
22*4882a593Smuzhiyun			reg = <0xc1100000 0x200000>;
23*4882a593Smuzhiyun			#address-cells = <1>;
24*4882a593Smuzhiyun			#size-cells = <1>;
25*4882a593Smuzhiyun			ranges = <0x0 0xc1100000 0x200000>;
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun			hhi: system-controller@4000 {
28*4882a593Smuzhiyun				compatible = "amlogic,meson-hhi-sysctrl",
29*4882a593Smuzhiyun					     "simple-mfd",
30*4882a593Smuzhiyun					     "syscon";
31*4882a593Smuzhiyun				reg = <0x4000 0x400>;
32*4882a593Smuzhiyun			};
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun			assist: assist@7c00 {
35*4882a593Smuzhiyun				compatible = "amlogic,meson-mx-assist", "syscon";
36*4882a593Smuzhiyun				reg = <0x7c00 0x200>;
37*4882a593Smuzhiyun			};
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun			hwrng: rng@8100 {
40*4882a593Smuzhiyun				compatible = "amlogic,meson-rng";
41*4882a593Smuzhiyun				reg = <0x8100 0x8>;
42*4882a593Smuzhiyun			};
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun			uart_A: serial@84c0 {
45*4882a593Smuzhiyun				compatible = "amlogic,meson6-uart";
46*4882a593Smuzhiyun				reg = <0x84c0 0x18>;
47*4882a593Smuzhiyun				interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
48*4882a593Smuzhiyun				status = "disabled";
49*4882a593Smuzhiyun			};
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun			uart_B: serial@84dc {
52*4882a593Smuzhiyun				compatible = "amlogic,meson6-uart";
53*4882a593Smuzhiyun				reg = <0x84dc 0x18>;
54*4882a593Smuzhiyun				interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
55*4882a593Smuzhiyun				status = "disabled";
56*4882a593Smuzhiyun			};
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun			i2c_A: i2c@8500 {
59*4882a593Smuzhiyun				compatible = "amlogic,meson6-i2c";
60*4882a593Smuzhiyun				reg = <0x8500 0x20>;
61*4882a593Smuzhiyun				interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
62*4882a593Smuzhiyun				#address-cells = <1>;
63*4882a593Smuzhiyun				#size-cells = <0>;
64*4882a593Smuzhiyun				status = "disabled";
65*4882a593Smuzhiyun			};
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun			pwm_ab: pwm@8550 {
68*4882a593Smuzhiyun				compatible = "amlogic,meson-pwm";
69*4882a593Smuzhiyun				reg = <0x8550 0x10>;
70*4882a593Smuzhiyun				#pwm-cells = <3>;
71*4882a593Smuzhiyun				status = "disabled";
72*4882a593Smuzhiyun			};
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun			pwm_cd: pwm@8650 {
75*4882a593Smuzhiyun				compatible = "amlogic,meson-pwm";
76*4882a593Smuzhiyun				reg = <0x8650 0x10>;
77*4882a593Smuzhiyun				#pwm-cells = <3>;
78*4882a593Smuzhiyun				status = "disabled";
79*4882a593Smuzhiyun			};
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun			saradc: adc@8680 {
82*4882a593Smuzhiyun				compatible = "amlogic,meson-saradc";
83*4882a593Smuzhiyun				reg = <0x8680 0x34>;
84*4882a593Smuzhiyun				#io-channel-cells = <1>;
85*4882a593Smuzhiyun				interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
86*4882a593Smuzhiyun				status = "disabled";
87*4882a593Smuzhiyun			};
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun			uart_C: serial@8700 {
90*4882a593Smuzhiyun				compatible = "amlogic,meson6-uart";
91*4882a593Smuzhiyun				reg = <0x8700 0x18>;
92*4882a593Smuzhiyun				interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
93*4882a593Smuzhiyun				status = "disabled";
94*4882a593Smuzhiyun			};
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun			i2c_B: i2c@87c0 {
97*4882a593Smuzhiyun				compatible = "amlogic,meson6-i2c";
98*4882a593Smuzhiyun				reg = <0x87c0 0x20>;
99*4882a593Smuzhiyun				interrupts = <GIC_SPI 128 IRQ_TYPE_EDGE_RISING>;
100*4882a593Smuzhiyun				#address-cells = <1>;
101*4882a593Smuzhiyun				#size-cells = <0>;
102*4882a593Smuzhiyun				status = "disabled";
103*4882a593Smuzhiyun			};
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun			usb0_phy: phy@8800 {
106*4882a593Smuzhiyun				compatible = "amlogic,meson-mx-usb2-phy";
107*4882a593Smuzhiyun				#phy-cells = <0>;
108*4882a593Smuzhiyun				reg = <0x8800 0x20>;
109*4882a593Smuzhiyun				status = "disabled";
110*4882a593Smuzhiyun			};
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun			usb1_phy: phy@8820 {
113*4882a593Smuzhiyun				compatible = "amlogic,meson-mx-usb2-phy";
114*4882a593Smuzhiyun				#phy-cells = <0>;
115*4882a593Smuzhiyun				reg = <0x8820 0x20>;
116*4882a593Smuzhiyun				status = "disabled";
117*4882a593Smuzhiyun			};
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun			sdio: mmc@8c20 {
120*4882a593Smuzhiyun				compatible = "amlogic,meson-mx-sdio";
121*4882a593Smuzhiyun				reg = <0x8c20 0x20>;
122*4882a593Smuzhiyun				interrupts = <GIC_SPI 28 IRQ_TYPE_EDGE_RISING>;
123*4882a593Smuzhiyun				#address-cells = <1>;
124*4882a593Smuzhiyun				#size-cells = <0>;
125*4882a593Smuzhiyun				status = "disabled";
126*4882a593Smuzhiyun			};
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun			spifc: spi@8c80 {
129*4882a593Smuzhiyun				compatible = "amlogic,meson6-spifc";
130*4882a593Smuzhiyun				reg = <0x8c80 0x80>;
131*4882a593Smuzhiyun				#address-cells = <1>;
132*4882a593Smuzhiyun				#size-cells = <0>;
133*4882a593Smuzhiyun				status = "disabled";
134*4882a593Smuzhiyun			};
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun			sdhc: mmc@8e00 {
137*4882a593Smuzhiyun				compatible = "amlogic,meson-mx-sdhc";
138*4882a593Smuzhiyun				reg = <0x8e00 0x42>;
139*4882a593Smuzhiyun				interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>;
140*4882a593Smuzhiyun				status = "disabled";
141*4882a593Smuzhiyun			};
142*4882a593Smuzhiyun
143*4882a593Smuzhiyun			gpio_intc: interrupt-controller@9880 {
144*4882a593Smuzhiyun				compatible = "amlogic,meson-gpio-intc";
145*4882a593Smuzhiyun				reg = <0x9880 0x10>;
146*4882a593Smuzhiyun				interrupt-controller;
147*4882a593Smuzhiyun				#interrupt-cells = <2>;
148*4882a593Smuzhiyun				amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
149*4882a593Smuzhiyun				status = "disabled";
150*4882a593Smuzhiyun			};
151*4882a593Smuzhiyun
152*4882a593Smuzhiyun			wdt: watchdog@9900 {
153*4882a593Smuzhiyun				compatible = "amlogic,meson6-wdt";
154*4882a593Smuzhiyun				reg = <0x9900 0x8>;
155*4882a593Smuzhiyun				interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
156*4882a593Smuzhiyun			};
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun			timer_abcde: timer@9940 {
159*4882a593Smuzhiyun				compatible = "amlogic,meson6-timer";
160*4882a593Smuzhiyun				reg = <0x9940 0x18>;
161*4882a593Smuzhiyun				interrupts = <GIC_SPI 10 IRQ_TYPE_EDGE_RISING>,
162*4882a593Smuzhiyun					     <GIC_SPI 11 IRQ_TYPE_EDGE_RISING>,
163*4882a593Smuzhiyun					     <GIC_SPI 6 IRQ_TYPE_EDGE_RISING>,
164*4882a593Smuzhiyun					     <GIC_SPI 29 IRQ_TYPE_EDGE_RISING>;
165*4882a593Smuzhiyun			};
166*4882a593Smuzhiyun		};
167*4882a593Smuzhiyun
168*4882a593Smuzhiyun		L2: cache-controller@c4200000 {
169*4882a593Smuzhiyun			compatible = "arm,pl310-cache";
170*4882a593Smuzhiyun			reg = <0xc4200000 0x1000>;
171*4882a593Smuzhiyun			cache-unified;
172*4882a593Smuzhiyun			cache-level = <2>;
173*4882a593Smuzhiyun		};
174*4882a593Smuzhiyun
175*4882a593Smuzhiyun		periph: bus@c4300000 {
176*4882a593Smuzhiyun			compatible = "simple-bus";
177*4882a593Smuzhiyun			reg = <0xc4300000 0x10000>;
178*4882a593Smuzhiyun			#address-cells = <1>;
179*4882a593Smuzhiyun			#size-cells = <1>;
180*4882a593Smuzhiyun			ranges = <0x0 0xc4300000 0x10000>;
181*4882a593Smuzhiyun
182*4882a593Smuzhiyun			gic: interrupt-controller@1000 {
183*4882a593Smuzhiyun				compatible = "arm,cortex-a9-gic";
184*4882a593Smuzhiyun				reg = <0x1000 0x1000>,
185*4882a593Smuzhiyun				      <0x100 0x100>;
186*4882a593Smuzhiyun				interrupt-controller;
187*4882a593Smuzhiyun				#interrupt-cells = <3>;
188*4882a593Smuzhiyun			};
189*4882a593Smuzhiyun		};
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun		aobus: aobus@c8100000 {
192*4882a593Smuzhiyun			compatible = "simple-bus";
193*4882a593Smuzhiyun			reg = <0xc8100000 0x100000>;
194*4882a593Smuzhiyun			#address-cells = <1>;
195*4882a593Smuzhiyun			#size-cells = <1>;
196*4882a593Smuzhiyun			ranges = <0x0 0xc8100000 0x100000>;
197*4882a593Smuzhiyun
198*4882a593Smuzhiyun			ir_receiver: ir-receiver@480 {
199*4882a593Smuzhiyun				compatible= "amlogic,meson6-ir";
200*4882a593Smuzhiyun				reg = <0x480 0x20>;
201*4882a593Smuzhiyun				interrupts = <GIC_SPI 15 IRQ_TYPE_EDGE_RISING>;
202*4882a593Smuzhiyun				status = "disabled";
203*4882a593Smuzhiyun			};
204*4882a593Smuzhiyun
205*4882a593Smuzhiyun			uart_AO: serial@4c0 {
206*4882a593Smuzhiyun				compatible = "amlogic,meson6-uart", "amlogic,meson-ao-uart";
207*4882a593Smuzhiyun				reg = <0x4c0 0x18>;
208*4882a593Smuzhiyun				interrupts = <GIC_SPI 90 IRQ_TYPE_EDGE_RISING>;
209*4882a593Smuzhiyun				status = "disabled";
210*4882a593Smuzhiyun			};
211*4882a593Smuzhiyun
212*4882a593Smuzhiyun			i2c_AO: i2c@500 {
213*4882a593Smuzhiyun				compatible = "amlogic,meson6-i2c";
214*4882a593Smuzhiyun				reg = <0x500 0x20>;
215*4882a593Smuzhiyun				interrupts = <GIC_SPI 92 IRQ_TYPE_EDGE_RISING>;
216*4882a593Smuzhiyun				#address-cells = <1>;
217*4882a593Smuzhiyun				#size-cells = <0>;
218*4882a593Smuzhiyun				status = "disabled";
219*4882a593Smuzhiyun			};
220*4882a593Smuzhiyun
221*4882a593Smuzhiyun			rtc: rtc@740 {
222*4882a593Smuzhiyun				compatible = "amlogic,meson6-rtc";
223*4882a593Smuzhiyun				reg = <0x740 0x14>;
224*4882a593Smuzhiyun				interrupts = <GIC_SPI 72 IRQ_TYPE_EDGE_RISING>;
225*4882a593Smuzhiyun				#address-cells = <1>;
226*4882a593Smuzhiyun				#size-cells = <1>;
227*4882a593Smuzhiyun				status = "disabled";
228*4882a593Smuzhiyun			};
229*4882a593Smuzhiyun		};
230*4882a593Smuzhiyun
231*4882a593Smuzhiyun		usb0: usb@c9040000 {
232*4882a593Smuzhiyun			compatible = "snps,dwc2";
233*4882a593Smuzhiyun			#address-cells = <1>;
234*4882a593Smuzhiyun			#size-cells = <0>;
235*4882a593Smuzhiyun			reg = <0xc9040000 0x40000>;
236*4882a593Smuzhiyun			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
237*4882a593Smuzhiyun			phys = <&usb0_phy>;
238*4882a593Smuzhiyun			phy-names = "usb2-phy";
239*4882a593Smuzhiyun			g-rx-fifo-size = <512>;
240*4882a593Smuzhiyun			g-np-tx-fifo-size = <500>;
241*4882a593Smuzhiyun			g-tx-fifo-size = <256 192 128 128 128>;
242*4882a593Smuzhiyun			dr_mode = "host";
243*4882a593Smuzhiyun			status = "disabled";
244*4882a593Smuzhiyun		};
245*4882a593Smuzhiyun
246*4882a593Smuzhiyun		usb1: usb@c90c0000 {
247*4882a593Smuzhiyun			compatible = "snps,dwc2";
248*4882a593Smuzhiyun			#address-cells = <1>;
249*4882a593Smuzhiyun			#size-cells = <0>;
250*4882a593Smuzhiyun			reg = <0xc90c0000 0x40000>;
251*4882a593Smuzhiyun			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
252*4882a593Smuzhiyun			phys = <&usb1_phy>;
253*4882a593Smuzhiyun			phy-names = "usb2-phy";
254*4882a593Smuzhiyun			dr_mode = "host";
255*4882a593Smuzhiyun			status = "disabled";
256*4882a593Smuzhiyun		};
257*4882a593Smuzhiyun
258*4882a593Smuzhiyun		ethmac: ethernet@c9410000 {
259*4882a593Smuzhiyun			compatible = "amlogic,meson6-dwmac", "snps,dwmac";
260*4882a593Smuzhiyun			reg = <0xc9410000 0x10000
261*4882a593Smuzhiyun			       0xc1108108 0x4>;
262*4882a593Smuzhiyun			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
263*4882a593Smuzhiyun			interrupt-names = "macirq";
264*4882a593Smuzhiyun			status = "disabled";
265*4882a593Smuzhiyun		};
266*4882a593Smuzhiyun
267*4882a593Smuzhiyun		ahb_sram: sram@d9000000 {
268*4882a593Smuzhiyun			compatible = "mmio-sram";
269*4882a593Smuzhiyun			reg = <0xd9000000 0x20000>;
270*4882a593Smuzhiyun			#address-cells = <1>;
271*4882a593Smuzhiyun			#size-cells = <1>;
272*4882a593Smuzhiyun			ranges = <0 0xd9000000 0x20000>;
273*4882a593Smuzhiyun		};
274*4882a593Smuzhiyun
275*4882a593Smuzhiyun		bootrom: bootrom@d9040000 {
276*4882a593Smuzhiyun			compatible = "amlogic,meson-mx-bootrom", "syscon";
277*4882a593Smuzhiyun			reg = <0xd9040000 0x10000>;
278*4882a593Smuzhiyun		};
279*4882a593Smuzhiyun
280*4882a593Smuzhiyun		secbus: secbus@da000000 {
281*4882a593Smuzhiyun			compatible = "simple-bus";
282*4882a593Smuzhiyun			reg = <0xda000000 0x6000>;
283*4882a593Smuzhiyun			#address-cells = <1>;
284*4882a593Smuzhiyun			#size-cells = <1>;
285*4882a593Smuzhiyun			ranges = <0x0 0xda000000 0x6000>;
286*4882a593Smuzhiyun
287*4882a593Smuzhiyun			efuse: nvmem@0 {
288*4882a593Smuzhiyun				compatible = "amlogic,meson6-efuse";
289*4882a593Smuzhiyun				reg = <0x0 0x2000>;
290*4882a593Smuzhiyun				#address-cells = <1>;
291*4882a593Smuzhiyun				#size-cells = <1>;
292*4882a593Smuzhiyun			};
293*4882a593Smuzhiyun		};
294*4882a593Smuzhiyun	};
295*4882a593Smuzhiyun
296*4882a593Smuzhiyun	xtal: xtal-clk {
297*4882a593Smuzhiyun		compatible = "fixed-clock";
298*4882a593Smuzhiyun		clock-frequency = <24000000>;
299*4882a593Smuzhiyun		clock-output-names = "xtal";
300*4882a593Smuzhiyun		#clock-cells = <0>;
301*4882a593Smuzhiyun	};
302*4882a593Smuzhiyun}; /* end of / */
303