xref: /openbmc/linux/arch/arm64/boot/dts/lg/lg1312.dtsi (revision 0c6dfa75)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * dts file for lg1312 SoC
4 *
5 * Copyright (C) 2016, LG Electronics
6 */
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/interrupt-controller/arm-gic.h>
10
11/ {
12	#address-cells = <2>;
13	#size-cells = <2>;
14
15	compatible = "lge,lg1312";
16	interrupt-parent = <&gic>;
17
18	cpus {
19		#address-cells = <2>;
20		#size-cells = <0>;
21
22		cpu0: cpu@0 {
23			device_type = "cpu";
24			compatible = "arm,cortex-a53";
25			reg = <0x0 0x0>;
26			next-level-cache = <&L2_0>;
27		};
28		cpu1: cpu@1 {
29			device_type = "cpu";
30			compatible = "arm,cortex-a53";
31			reg = <0x0 0x1>;
32			enable-method = "psci";
33			next-level-cache = <&L2_0>;
34		};
35		cpu2: cpu@2 {
36			device_type = "cpu";
37			compatible = "arm,cortex-a53";
38			reg = <0x0 0x2>;
39			enable-method = "psci";
40			next-level-cache = <&L2_0>;
41		};
42		cpu3: cpu@3 {
43			device_type = "cpu";
44			compatible = "arm,cortex-a53";
45			reg = <0x0 0x3>;
46			enable-method = "psci";
47			next-level-cache = <&L2_0>;
48		};
49		L2_0: l2-cache0 {
50			compatible = "cache";
51			cache-level = <2>;
52			cache-unified;
53		};
54	};
55
56	psci {
57		compatible = "arm,psci-0.2", "arm,psci";
58		method = "smc";
59		cpu_suspend = <0x84000001>;
60		cpu_off = <0x84000002>;
61		cpu_on = <0x84000003>;
62	};
63
64	gic: interrupt-controller@c0001000 {
65		#interrupt-cells = <3>;
66		compatible = "arm,gic-400";
67		interrupt-controller;
68		reg = <0x0 0xc0001000 0x1000>,
69		      <0x0 0xc0002000 0x2000>,
70		      <0x0 0xc0004000 0x2000>,
71		      <0x0 0xc0006000 0x2000>;
72	};
73
74	pmu {
75		compatible = "arm,cortex-a53-pmu";
76		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
77			     <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
78			     <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
79			     <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
80		interrupt-affinity = <&cpu0>,
81				     <&cpu1>,
82				     <&cpu2>,
83				     <&cpu3>;
84	};
85
86	timer {
87		compatible = "arm,armv8-timer";
88		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(0x0f) |
89			      IRQ_TYPE_LEVEL_LOW)>,
90			     <GIC_PPI 14 (GIC_CPU_MASK_RAW(0x0f) |
91			      IRQ_TYPE_LEVEL_LOW)>,
92			     <GIC_PPI 11 (GIC_CPU_MASK_RAW(0x0f) |
93			      IRQ_TYPE_LEVEL_LOW)>,
94			     <GIC_PPI 10 (GIC_CPU_MASK_RAW(0x0f) |
95			      IRQ_TYPE_LEVEL_LOW)>;
96	};
97
98	clk_bus: clk_bus {
99		#clock-cells = <0>;
100
101		compatible = "fixed-clock";
102		clock-frequency = <198000000>;
103		clock-output-names = "BUSCLK";
104	};
105
106	soc {
107		#address-cells = <2>;
108		#size-cells = <1>;
109
110		compatible = "simple-bus";
111		interrupt-parent = <&gic>;
112		ranges;
113
114		eth0: ethernet@c1b00000 {
115			compatible = "cdns,gem";
116			reg = <0x0 0xc1b00000 0x1000>;
117			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
118			clocks = <&clk_bus>, <&clk_bus>;
119			clock-names = "hclk", "pclk";
120			phy-mode = "rmii";
121			/* Filled in by boot */
122			mac-address = [ 00 00 00 00 00 00 ];
123		};
124	};
125
126	amba {
127		#address-cells = <2>;
128		#size-cells = <1>;
129		#interrupt-cells = <3>;
130
131		compatible = "simple-bus";
132		interrupt-parent = <&gic>;
133		ranges;
134
135		timers: timer@fd100000 {
136			compatible = "arm,sp804", "arm,primecell";
137			reg = <0x0 0xfd100000 0x1000>;
138			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
139			clocks = <&clk_bus>, <&clk_bus>, <&clk_bus>;
140			clock-names = "timer0clk", "timer1clk", "apb_pclk";
141		};
142		wdog: watchdog@fd200000 {
143			compatible = "arm,sp805", "arm,primecell";
144			reg = <0x0 0xfd200000 0x1000>;
145			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
146			clocks = <&clk_bus>, <&clk_bus>;
147			clock-names = "wdog_clk", "apb_pclk";
148		};
149		uart0: serial@fe000000 {
150			compatible = "arm,pl011", "arm,primecell";
151			reg = <0x0 0xfe000000 0x1000>;
152			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
153			clocks = <&clk_bus>;
154			clock-names = "apb_pclk";
155			status = "disabled";
156		};
157		uart1: serial@fe100000 {
158			compatible = "arm,pl011", "arm,primecell";
159			reg = <0x0 0xfe100000 0x1000>;
160			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
161			clocks = <&clk_bus>;
162			clock-names = "apb_pclk";
163			status = "disabled";
164		};
165		uart2: serial@fe200000 {
166			compatible = "arm,pl011", "arm,primecell";
167			reg = <0x0 0xfe200000 0x1000>;
168			interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
169			clocks = <&clk_bus>;
170			clock-names = "apb_pclk";
171			status = "disabled";
172		};
173		spi0: spi@fe800000 {
174			compatible = "arm,pl022", "arm,primecell";
175			reg = <0x0 0xfe800000 0x1000>;
176			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
177			clocks = <&clk_bus>;
178			clock-names = "apb_pclk";
179		};
180		spi1: spi@fe900000 {
181			compatible = "arm,pl022", "arm,primecell";
182			reg = <0x0 0xfe900000 0x1000>;
183			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
184			clocks = <&clk_bus>;
185			clock-names = "apb_pclk";
186		};
187		dmac0: dma-controller@c1128000 {
188			compatible = "arm,pl330", "arm,primecell";
189			reg = <0x0 0xc1128000 0x1000>;
190			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
191			clocks = <&clk_bus>;
192			clock-names = "apb_pclk";
193			#dma-cells = <1>;
194		};
195		gpio0: gpio@fd400000 {
196			#gpio-cells = <2>;
197			compatible = "arm,pl061", "arm,primecell";
198			gpio-controller;
199			reg = <0x0 0xfd400000 0x1000>;
200			clocks = <&clk_bus>;
201			clock-names = "apb_pclk";
202			status = "disabled";
203		};
204		gpio1: gpio@fd410000 {
205			#gpio-cells = <2>;
206			compatible = "arm,pl061", "arm,primecell";
207			gpio-controller;
208			reg = <0x0 0xfd410000 0x1000>;
209			clocks = <&clk_bus>;
210			clock-names = "apb_pclk";
211			status = "disabled";
212		};
213		gpio2: gpio@fd420000 {
214			#gpio-cells = <2>;
215			compatible = "arm,pl061", "arm,primecell";
216			gpio-controller;
217			reg = <0x0 0xfd420000 0x1000>;
218			clocks = <&clk_bus>;
219			clock-names = "apb_pclk";
220			status = "disabled";
221		};
222		gpio3: gpio@fd430000 {
223			#gpio-cells = <2>;
224			compatible = "arm,pl061", "arm,primecell";
225			gpio-controller;
226			reg = <0x0 0xfd430000 0x1000>;
227			clocks = <&clk_bus>;
228			clock-names = "apb_pclk";
229		};
230		gpio4: gpio@fd440000 {
231			#gpio-cells = <2>;
232			compatible = "arm,pl061", "arm,primecell";
233			gpio-controller;
234			reg = <0x0 0xfd440000 0x1000>;
235			clocks = <&clk_bus>;
236			clock-names = "apb_pclk";
237			status = "disabled";
238		};
239		gpio5: gpio@fd450000 {
240			#gpio-cells = <2>;
241			compatible = "arm,pl061", "arm,primecell";
242			gpio-controller;
243			reg = <0x0 0xfd450000 0x1000>;
244			clocks = <&clk_bus>;
245			clock-names = "apb_pclk";
246			status = "disabled";
247		};
248		gpio6: gpio@fd460000 {
249			#gpio-cells = <2>;
250			compatible = "arm,pl061", "arm,primecell";
251			gpio-controller;
252			reg = <0x0 0xfd460000 0x1000>;
253			clocks = <&clk_bus>;
254			clock-names = "apb_pclk";
255			status = "disabled";
256		};
257		gpio7: gpio@fd470000 {
258			#gpio-cells = <2>;
259			compatible = "arm,pl061", "arm,primecell";
260			gpio-controller;
261			reg = <0x0 0xfd470000 0x1000>;
262			clocks = <&clk_bus>;
263			clock-names = "apb_pclk";
264			status = "disabled";
265		};
266		gpio8: gpio@fd480000 {
267			#gpio-cells = <2>;
268			compatible = "arm,pl061", "arm,primecell";
269			gpio-controller;
270			reg = <0x0 0xfd480000 0x1000>;
271			clocks = <&clk_bus>;
272			clock-names = "apb_pclk";
273			status = "disabled";
274		};
275		gpio9: gpio@fd490000 {
276			#gpio-cells = <2>;
277			compatible = "arm,pl061", "arm,primecell";
278			gpio-controller;
279			reg = <0x0 0xfd490000 0x1000>;
280			clocks = <&clk_bus>;
281			clock-names = "apb_pclk";
282			status = "disabled";
283		};
284		gpio10: gpio@fd4a0000 {
285			#gpio-cells = <2>;
286			compatible = "arm,pl061", "arm,primecell";
287			gpio-controller;
288			reg = <0x0 0xfd4a0000 0x1000>;
289			clocks = <&clk_bus>;
290			clock-names = "apb_pclk";
291			status = "disabled";
292		};
293		gpio11: gpio@fd4b0000 {
294			#gpio-cells = <2>;
295			compatible = "arm,pl061", "arm,primecell";
296			gpio-controller;
297			reg = <0x0 0xfd4b0000 0x1000>;
298			clocks = <&clk_bus>;
299			clock-names = "apb_pclk";
300		};
301		gpio12: gpio@fd4c0000 {
302			#gpio-cells = <2>;
303			compatible = "arm,pl061", "arm,primecell";
304			gpio-controller;
305			reg = <0x0 0xfd4c0000 0x1000>;
306			clocks = <&clk_bus>;
307			clock-names = "apb_pclk";
308			status = "disabled";
309		};
310		gpio13: gpio@fd4d0000 {
311			#gpio-cells = <2>;
312			compatible = "arm,pl061", "arm,primecell";
313			gpio-controller;
314			reg = <0x0 0xfd4d0000 0x1000>;
315			clocks = <&clk_bus>;
316			clock-names = "apb_pclk";
317			status = "disabled";
318		};
319		gpio14: gpio@fd4e0000 {
320			#gpio-cells = <2>;
321			compatible = "arm,pl061", "arm,primecell";
322			gpio-controller;
323			reg = <0x0 0xfd4e0000 0x1000>;
324			clocks = <&clk_bus>;
325			clock-names = "apb_pclk";
326			status = "disabled";
327		};
328		gpio15: gpio@fd4f0000 {
329			#gpio-cells = <2>;
330			compatible = "arm,pl061", "arm,primecell";
331			gpio-controller;
332			reg = <0x0 0xfd4f0000 0x1000>;
333			clocks = <&clk_bus>;
334			clock-names = "apb_pclk";
335			status = "disabled";
336		};
337		gpio16: gpio@fd500000 {
338			#gpio-cells = <2>;
339			compatible = "arm,pl061", "arm,primecell";
340			gpio-controller;
341			reg = <0x0 0xfd500000 0x1000>;
342			clocks = <&clk_bus>;
343			clock-names = "apb_pclk";
344			status = "disabled";
345		};
346		gpio17: gpio@fd510000 {
347			#gpio-cells = <2>;
348			compatible = "arm,pl061", "arm,primecell";
349			gpio-controller;
350			reg = <0x0 0xfd510000 0x1000>;
351			clocks = <&clk_bus>;
352			clock-names = "apb_pclk";
353		};
354	};
355};
356