Linux 6.9-rc1
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / lg / lg1312.dtsi
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
130                 compatible = "simple-bus";
131                 interrupt-parent = <&gic>;
132                 ranges;
133
134                 timers: timer@fd100000 {
135                         compatible = "arm,sp804", "arm,primecell";
136                         reg = <0x0 0xfd100000 0x1000>;
137                         interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
138                         clocks = <&clk_bus>, <&clk_bus>, <&clk_bus>;
139                         clock-names = "timer0clk", "timer1clk", "apb_pclk";
140                 };
141                 wdog: watchdog@fd200000 {
142                         compatible = "arm,sp805", "arm,primecell";
143                         reg = <0x0 0xfd200000 0x1000>;
144                         interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
145                         clocks = <&clk_bus>, <&clk_bus>;
146                         clock-names = "wdog_clk", "apb_pclk";
147                 };
148                 uart0: serial@fe000000 {
149                         compatible = "arm,pl011", "arm,primecell";
150                         reg = <0x0 0xfe000000 0x1000>;
151                         interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
152                         clocks = <&clk_bus>;
153                         clock-names = "apb_pclk";
154                         status = "disabled";
155                 };
156                 uart1: serial@fe100000 {
157                         compatible = "arm,pl011", "arm,primecell";
158                         reg = <0x0 0xfe100000 0x1000>;
159                         interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
160                         clocks = <&clk_bus>;
161                         clock-names = "apb_pclk";
162                         status = "disabled";
163                 };
164                 uart2: serial@fe200000 {
165                         compatible = "arm,pl011", "arm,primecell";
166                         reg = <0x0 0xfe200000 0x1000>;
167                         interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
168                         clocks = <&clk_bus>;
169                         clock-names = "apb_pclk";
170                         status = "disabled";
171                 };
172                 spi0: spi@fe800000 {
173                         compatible = "arm,pl022", "arm,primecell";
174                         reg = <0x0 0xfe800000 0x1000>;
175                         interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
176                         clocks = <&clk_bus>;
177                         clock-names = "apb_pclk";
178                 };
179                 spi1: spi@fe900000 {
180                         compatible = "arm,pl022", "arm,primecell";
181                         reg = <0x0 0xfe900000 0x1000>;
182                         interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
183                         clocks = <&clk_bus>;
184                         clock-names = "apb_pclk";
185                 };
186                 dmac0: dma-controller@c1128000 {
187                         compatible = "arm,pl330", "arm,primecell";
188                         reg = <0x0 0xc1128000 0x1000>;
189                         interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
190                         clocks = <&clk_bus>;
191                         clock-names = "apb_pclk";
192                         #dma-cells = <1>;
193                 };
194                 gpio0: gpio@fd400000 {
195                         #gpio-cells = <2>;
196                         compatible = "arm,pl061", "arm,primecell";
197                         gpio-controller;
198                         reg = <0x0 0xfd400000 0x1000>;
199                         clocks = <&clk_bus>;
200                         clock-names = "apb_pclk";
201                         status = "disabled";
202                 };
203                 gpio1: gpio@fd410000 {
204                         #gpio-cells = <2>;
205                         compatible = "arm,pl061", "arm,primecell";
206                         gpio-controller;
207                         reg = <0x0 0xfd410000 0x1000>;
208                         clocks = <&clk_bus>;
209                         clock-names = "apb_pclk";
210                         status = "disabled";
211                 };
212                 gpio2: gpio@fd420000 {
213                         #gpio-cells = <2>;
214                         compatible = "arm,pl061", "arm,primecell";
215                         gpio-controller;
216                         reg = <0x0 0xfd420000 0x1000>;
217                         clocks = <&clk_bus>;
218                         clock-names = "apb_pclk";
219                         status = "disabled";
220                 };
221                 gpio3: gpio@fd430000 {
222                         #gpio-cells = <2>;
223                         compatible = "arm,pl061", "arm,primecell";
224                         gpio-controller;
225                         reg = <0x0 0xfd430000 0x1000>;
226                         clocks = <&clk_bus>;
227                         clock-names = "apb_pclk";
228                 };
229                 gpio4: gpio@fd440000 {
230                         #gpio-cells = <2>;
231                         compatible = "arm,pl061", "arm,primecell";
232                         gpio-controller;
233                         reg = <0x0 0xfd440000 0x1000>;
234                         clocks = <&clk_bus>;
235                         clock-names = "apb_pclk";
236                         status = "disabled";
237                 };
238                 gpio5: gpio@fd450000 {
239                         #gpio-cells = <2>;
240                         compatible = "arm,pl061", "arm,primecell";
241                         gpio-controller;
242                         reg = <0x0 0xfd450000 0x1000>;
243                         clocks = <&clk_bus>;
244                         clock-names = "apb_pclk";
245                         status = "disabled";
246                 };
247                 gpio6: gpio@fd460000 {
248                         #gpio-cells = <2>;
249                         compatible = "arm,pl061", "arm,primecell";
250                         gpio-controller;
251                         reg = <0x0 0xfd460000 0x1000>;
252                         clocks = <&clk_bus>;
253                         clock-names = "apb_pclk";
254                         status = "disabled";
255                 };
256                 gpio7: gpio@fd470000 {
257                         #gpio-cells = <2>;
258                         compatible = "arm,pl061", "arm,primecell";
259                         gpio-controller;
260                         reg = <0x0 0xfd470000 0x1000>;
261                         clocks = <&clk_bus>;
262                         clock-names = "apb_pclk";
263                         status = "disabled";
264                 };
265                 gpio8: gpio@fd480000 {
266                         #gpio-cells = <2>;
267                         compatible = "arm,pl061", "arm,primecell";
268                         gpio-controller;
269                         reg = <0x0 0xfd480000 0x1000>;
270                         clocks = <&clk_bus>;
271                         clock-names = "apb_pclk";
272                         status = "disabled";
273                 };
274                 gpio9: gpio@fd490000 {
275                         #gpio-cells = <2>;
276                         compatible = "arm,pl061", "arm,primecell";
277                         gpio-controller;
278                         reg = <0x0 0xfd490000 0x1000>;
279                         clocks = <&clk_bus>;
280                         clock-names = "apb_pclk";
281                         status = "disabled";
282                 };
283                 gpio10: gpio@fd4a0000 {
284                         #gpio-cells = <2>;
285                         compatible = "arm,pl061", "arm,primecell";
286                         gpio-controller;
287                         reg = <0x0 0xfd4a0000 0x1000>;
288                         clocks = <&clk_bus>;
289                         clock-names = "apb_pclk";
290                         status = "disabled";
291                 };
292                 gpio11: gpio@fd4b0000 {
293                         #gpio-cells = <2>;
294                         compatible = "arm,pl061", "arm,primecell";
295                         gpio-controller;
296                         reg = <0x0 0xfd4b0000 0x1000>;
297                         clocks = <&clk_bus>;
298                         clock-names = "apb_pclk";
299                 };
300                 gpio12: gpio@fd4c0000 {
301                         #gpio-cells = <2>;
302                         compatible = "arm,pl061", "arm,primecell";
303                         gpio-controller;
304                         reg = <0x0 0xfd4c0000 0x1000>;
305                         clocks = <&clk_bus>;
306                         clock-names = "apb_pclk";
307                         status = "disabled";
308                 };
309                 gpio13: gpio@fd4d0000 {
310                         #gpio-cells = <2>;
311                         compatible = "arm,pl061", "arm,primecell";
312                         gpio-controller;
313                         reg = <0x0 0xfd4d0000 0x1000>;
314                         clocks = <&clk_bus>;
315                         clock-names = "apb_pclk";
316                         status = "disabled";
317                 };
318                 gpio14: gpio@fd4e0000 {
319                         #gpio-cells = <2>;
320                         compatible = "arm,pl061", "arm,primecell";
321                         gpio-controller;
322                         reg = <0x0 0xfd4e0000 0x1000>;
323                         clocks = <&clk_bus>;
324                         clock-names = "apb_pclk";
325                         status = "disabled";
326                 };
327                 gpio15: gpio@fd4f0000 {
328                         #gpio-cells = <2>;
329                         compatible = "arm,pl061", "arm,primecell";
330                         gpio-controller;
331                         reg = <0x0 0xfd4f0000 0x1000>;
332                         clocks = <&clk_bus>;
333                         clock-names = "apb_pclk";
334                         status = "disabled";
335                 };
336                 gpio16: gpio@fd500000 {
337                         #gpio-cells = <2>;
338                         compatible = "arm,pl061", "arm,primecell";
339                         gpio-controller;
340                         reg = <0x0 0xfd500000 0x1000>;
341                         clocks = <&clk_bus>;
342                         clock-names = "apb_pclk";
343                         status = "disabled";
344                 };
345                 gpio17: gpio@fd510000 {
346                         #gpio-cells = <2>;
347                         compatible = "arm,pl061", "arm,primecell";
348                         gpio-controller;
349                         reg = <0x0 0xfd510000 0x1000>;
350                         clocks = <&clk_bus>;
351                         clock-names = "apb_pclk";
352                 };
353         };
354 };