~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/loongarch/boot/dts/loongson-2k2000.dtsi

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0
  2 /*
  3  * Copyright (C) 2023 Loongson Technology Corporation Limited
  4  */
  5 
  6 /dts-v1/;
  7 
  8 #include <dt-bindings/interrupt-controller/irq.h>
  9 #include <dt-bindings/clock/loongson,ls2k-clk.h>
 10 
 11 / {
 12         #address-cells = <2>;
 13         #size-cells = <2>;
 14 
 15         cpus {
 16                 #address-cells = <1>;
 17                 #size-cells = <0>;
 18 
 19                 cpu0: cpu@1 {
 20                         compatible = "loongson,la364";
 21                         device_type = "cpu";
 22                         reg = <0x0>;
 23                         clocks = <&clk LOONGSON2_NODE_CLK>;
 24                 };
 25 
 26                 cpu1: cpu@2 {
 27                         compatible = "loongson,la364";
 28                         device_type = "cpu";
 29                         reg = <0x1>;
 30                         clocks = <&clk LOONGSON2_NODE_CLK>;
 31                 };
 32         };
 33 
 34         ref_100m: clock-ref-100m {
 35                 compatible = "fixed-clock";
 36                 #clock-cells = <0>;
 37                 clock-frequency = <100000000>;
 38                 clock-output-names = "ref_100m";
 39         };
 40 
 41         cpuintc: interrupt-controller {
 42                 compatible = "loongson,cpu-interrupt-controller";
 43                 #interrupt-cells = <1>;
 44                 interrupt-controller;
 45         };
 46 
 47         thermal-zones {
 48                 cpu-thermal {
 49                         polling-delay-passive = <1000>;
 50                         polling-delay = <5000>;
 51                         thermal-sensors = <&tsensor 0>;
 52 
 53                         trips {
 54                                 cpu-alert {
 55                                         temperature = <40000>;
 56                                         hysteresis = <2000>;
 57                                         type = "active";
 58                                 };
 59 
 60                                 cpu-crit {
 61                                         temperature = <85000>;
 62                                         hysteresis = <5000>;
 63                                         type = "critical";
 64                                 };
 65                         };
 66                 };
 67         };
 68 
 69         bus@10000000 {
 70                 compatible = "simple-bus";
 71                 ranges = <0x0 0x10000000 0x0 0x10000000 0x0 0x10000000>,
 72                          <0x0 0x02000000 0x0 0x02000000 0x0 0x02000000>,
 73                          <0x0 0x40000000 0x0 0x40000000 0x0 0x40000000>,
 74                          <0xfe 0x0 0xfe 0x0 0x0 0x40000000>;
 75                 #address-cells = <2>;
 76                 #size-cells = <2>;
 77 
 78                 isa@18400000 {
 79                         compatible = "isa";
 80                         #size-cells = <1>;
 81                         #address-cells = <2>;
 82                         ranges = <1 0x0 0x0 0x18400000 0x4000>;
 83                 };
 84 
 85                 clk: clock-controller@10010480 {
 86                         compatible = "loongson,ls2k2000-clk";
 87                         reg = <0x0 0x10010480 0x0 0x100>;
 88                         #clock-cells = <1>;
 89                         clocks = <&ref_100m>;
 90                         clock-names = "ref_100m";
 91                 };
 92 
 93                 pmc: power-management@100d0000 {
 94                         compatible = "loongson,ls2k2000-pmc", "loongson,ls2k0500-pmc", "syscon";
 95                         reg = <0x0 0x100d0000 0x0 0x58>;
 96                         interrupt-parent = <&eiointc>;
 97                         interrupts = <47>;
 98                         loongson,suspend-address = <0x0 0x1c000500>;
 99 
100                         syscon-reboot {
101                                 compatible = "syscon-reboot";
102                                 offset = <0x30>;
103                                 mask = <0x1>;
104                         };
105 
106                         syscon-poweroff {
107                                 compatible = "syscon-poweroff";
108                                 regmap = <&pmc>;
109                                 offset = <0x14>;
110                                 mask = <0x3c00>;
111                                 value = <0x3c00>;
112                         };
113                 };
114 
115                 tsensor: thermal-sensor@1fe01460 {
116                         compatible = "loongson,ls2k2000-thermal";
117                         reg = <0x0 0x1fe01460 0x0 0x30>,
118                               <0x0 0x1fe0019c 0x0 0x4>;
119                         interrupt-parent = <&liointc>;
120                         interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
121                         #thermal-sensor-cells = <1>;
122                 };
123 
124                 liointc: interrupt-controller@1fe01400 {
125                         compatible = "loongson,liointc-1.0";
126                         reg = <0x0 0x1fe01400 0x0 0x64>;
127 
128                         interrupt-controller;
129                         #interrupt-cells = <2>;
130                         interrupt-parent = <&cpuintc>;
131                         interrupts = <2>;
132                         interrupt-names = "int0";
133                         loongson,parent_int_map = <0xffffffff>, /* int0 */
134                                                   <0x00000000>, /* int1 */
135                                                   <0x00000000>, /* int2 */
136                                                   <0x00000000>; /* int3 */
137                 };
138 
139                 eiointc: interrupt-controller@1fe01600 {
140                         compatible = "loongson,ls2k2000-eiointc";
141                         reg = <0x0 0x1fe01600 0x0 0xea00>;
142                         interrupt-controller;
143                         #interrupt-cells = <1>;
144                         interrupt-parent = <&cpuintc>;
145                         interrupts = <3>;
146                 };
147 
148                 pic: interrupt-controller@10000000 {
149                         compatible = "loongson,pch-pic-1.0";
150                         reg = <0x0 0x10000000 0x0 0x400>;
151                         interrupt-controller;
152                         #interrupt-cells = <2>;
153                         loongson,pic-base-vec = <0>;
154                         interrupt-parent = <&eiointc>;
155                 };
156 
157                 msi: msi-controller@1fe01140 {
158                         compatible = "loongson,pch-msi-1.0";
159                         reg = <0x0 0x1fe01140 0x0 0x8>;
160                         interrupt-controller;
161                         #interrupt-cells = <1>;
162                         msi-controller;
163                         loongson,msi-base-vec = <64>;
164                         loongson,msi-num-vecs = <192>;
165                         interrupt-parent = <&eiointc>;
166                 };
167 
168                 rtc0: rtc@100d0100 {
169                         compatible = "loongson,ls2k2000-rtc", "loongson,ls7a-rtc";
170                         reg = <0x0 0x100d0100 0x0 0x100>;
171                         interrupt-parent = <&pic>;
172                         interrupts = <52 IRQ_TYPE_LEVEL_HIGH>;
173                         status = "disabled";
174                 };
175 
176                 uart0: serial@1fe001e0 {
177                         compatible = "ns16550a";
178                         reg = <0x0 0x1fe001e0 0x0 0x10>;
179                         clock-frequency = <100000000>;
180                         interrupt-parent = <&liointc>;
181                         interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
182                         no-loopback-test;
183                         status = "disabled";
184                 };
185 
186                 pcie@1a000000 {
187                         compatible = "loongson,ls2k-pci";
188                         reg = <0x0 0x1a000000 0x0 0x02000000>,
189                               <0xfe 0x0 0x0 0x20000000>;
190                         #address-cells = <3>;
191                         #size-cells = <2>;
192                         device_type = "pci";
193                         msi-parent = <&msi>;
194                         bus-range = <0x0 0xff>;
195                         ranges = <0x01000000 0x0 0x00008000 0x0 0x18408000 0x0 0x00008000>,
196                                  <0x02000000 0x0 0x60000000 0x0 0x60000000 0x0 0x20000000>;
197 
198                         gmac0: ethernet@3,0 {
199                                 reg = <0x1800 0x0 0x0 0x0 0x0>;
200                                 interrupts = <12 IRQ_TYPE_LEVEL_HIGH>,
201                                              <13 IRQ_TYPE_LEVEL_HIGH>;
202                                 interrupt-names = "macirq", "eth_lpi";
203                                 interrupt-parent = <&pic>;
204                                 status = "disabled";
205                         };
206 
207                         gmac1: ethernet@3,1 {
208                                 reg = <0x1900 0x0 0x0 0x0 0x0>;
209                                 interrupts = <14 IRQ_TYPE_LEVEL_HIGH>,
210                                              <15 IRQ_TYPE_LEVEL_HIGH>;
211                                 interrupt-names = "macirq", "eth_lpi";
212                                 interrupt-parent = <&pic>;
213                                 status = "disabled";
214                         };
215 
216                         gmac2: ethernet@3,2 {
217                                 reg = <0x1a00 0x0 0x0 0x0 0x0>;
218                                 interrupts = <17 IRQ_TYPE_LEVEL_HIGH>,
219                                              <18 IRQ_TYPE_LEVEL_HIGH>;
220                                 interrupt-names = "macirq", "eth_lpi";
221                                 interrupt-parent = <&pic>;
222                                 status = "disabled";
223                         };
224 
225                         xhci0: usb@4,0 {
226                                 reg = <0x2000 0x0 0x0 0x0 0x0>;
227                                 interrupts = <48 IRQ_TYPE_LEVEL_HIGH>;
228                                 interrupt-parent = <&pic>;
229                                 status = "disabled";
230                         };
231 
232                         xhci1: usb@19,0 {
233                                 reg = <0xc800 0x0 0x0 0x0 0x0>;
234                                 interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
235                                 interrupt-parent = <&pic>;
236                                 status = "disabled";
237                         };
238 
239                         display@6,1 {
240                                 reg = <0x3100 0x0 0x0 0x0 0x0>;
241                                 interrupts = <28 IRQ_TYPE_LEVEL_HIGH>;
242                                 interrupt-parent = <&pic>;
243                                 status = "disabled";
244                         };
245 
246                         hda@7,0 {
247                                 reg = <0x3800 0x0 0x0 0x0 0x0>;
248                                 interrupts = <58 IRQ_TYPE_LEVEL_HIGH>;
249                                 interrupt-parent = <&pic>;
250                                 status = "disabled";
251                         };
252 
253                         sata: sata@8,0 {
254                                 reg = <0x4000 0x0 0x0 0x0 0x0>;
255                                 interrupts = <16 IRQ_TYPE_LEVEL_HIGH>;
256                                 interrupt-parent = <&pic>;
257                                 status = "disabled";
258                         };
259 
260                         pcie@9,0 {
261                                 reg = <0x4800 0x0 0x0 0x0 0x0>;
262                                 #address-cells = <3>;
263                                 #size-cells = <2>;
264                                 device_type = "pci";
265                                 interrupt-parent = <&pic>;
266                                 #interrupt-cells = <1>;
267                                 interrupt-map-mask = <0x0 0x0 0x0 0x0>;
268                                 interrupt-map = <0x0 0x0 0x0 0x0 &pic 32 IRQ_TYPE_LEVEL_HIGH>;
269                                 ranges;
270                         };
271 
272                         pcie@a,0 {
273                                 reg = <0x5000 0x0 0x0 0x0 0x0>;
274                                 #address-cells = <3>;
275                                 #size-cells = <2>;
276                                 device_type = "pci";
277                                 interrupt-parent = <&pic>;
278                                 #interrupt-cells = <1>;
279                                 interrupt-map-mask = <0x0 0x0 0x0 0x0>;
280                                 interrupt-map = <0x0 0x0 0x0 0x0 &pic 33 IRQ_TYPE_LEVEL_HIGH>;
281                                 ranges;
282                         };
283 
284                         pcie@b,0 {
285                                 reg = <0x5800 0x0 0x0 0x0 0x0>;
286                                 #address-cells = <3>;
287                                 #size-cells = <2>;
288                                 device_type = "pci";
289                                 interrupt-parent = <&pic>;
290                                 #interrupt-cells = <1>;
291                                 interrupt-map-mask = <0x0 0x0 0x0 0x0>;
292                                 interrupt-map = <0x0 0x0 0x0 0x0 &pic 34 IRQ_TYPE_LEVEL_HIGH>;
293                                 ranges;
294                         };
295 
296                         pcie@c,0 {
297                                 reg = <0x6000 0x0 0x0 0x0 0x0>;
298                                 #address-cells = <3>;
299                                 #size-cells = <2>;
300                                 device_type = "pci";
301                                 interrupt-parent = <&pic>;
302                                 #interrupt-cells = <1>;
303                                 interrupt-map-mask = <0x0 0x0 0x0 0x0>;
304                                 interrupt-map = <0x0 0x0 0x0 0x0 &pic 35 IRQ_TYPE_LEVEL_HIGH>;
305                                 ranges;
306                         };
307 
308                         pcie@d,0 {
309                                 reg = <0x6800 0x0 0x0 0x0 0x0>;
310                                 #address-cells = <3>;
311                                 #size-cells = <2>;
312                                 device_type = "pci";
313                                 interrupt-parent = <&pic>;
314                                 #interrupt-cells = <1>;
315                                 interrupt-map-mask = <0x0 0x0 0x0 0x0>;
316                                 interrupt-map = <0x0 0x0 0x0 0x0 &pic 36 IRQ_TYPE_LEVEL_HIGH>;
317                                 ranges;
318                         };
319 
320                         pcie@e,0 {
321                                 reg = <0x7000 0x0 0x0 0x0 0x0>;
322                                 #address-cells = <3>;
323                                 #size-cells = <2>;
324                                 device_type = "pci";
325                                 interrupt-parent = <&pic>;
326                                 #interrupt-cells = <1>;
327                                 interrupt-map-mask = <0x0 0x0 0x0 0x0>;
328                                 interrupt-map = <0x0 0x0 0x0 0x0 &pic 37 IRQ_TYPE_LEVEL_HIGH>;
329                                 ranges;
330                         };
331 
332                         pcie@f,0 {
333                                 reg = <0x7800 0x0 0x0 0x0 0x0>;
334                                 #address-cells = <3>;
335                                 #size-cells = <2>;
336                                 device_type = "pci";
337                                 interrupt-parent = <&pic>;
338                                 #interrupt-cells = <1>;
339                                 interrupt-map-mask = <0x0 0x0 0x0 0x0>;
340                                 interrupt-map = <0x0 0x0 0x0 0x0 &pic 40 IRQ_TYPE_LEVEL_HIGH>;
341                                 ranges;
342                         };
343 
344                         pcie@10,0 {
345                                 reg = <0x8000 0x0 0x0 0x0 0x0>;
346                                 #address-cells = <3>;
347                                 #size-cells = <2>;
348                                 device_type = "pci";
349                                 interrupt-parent = <&pic>;
350                                 #interrupt-cells = <1>;
351                                 interrupt-map-mask = <0x0 0x0 0x0 0x0>;
352                                 interrupt-map = <0x0 0x0 0x0 0x0 &pic 30 IRQ_TYPE_LEVEL_HIGH>;
353                                 ranges;
354                         };
355                 };
356         };
357 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php