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@0 { 20 compatible = "loongson,la264"; 21 device_type = "cpu"; 22 reg = <0x0>; 23 clocks = <&clk LOONGSON2_NODE_CLK>; 24 }; 25 }; 26 27 ref_100m: clock-ref-100m { 28 compatible = "fixed-clock"; 29 #clock-cells = <0>; 30 clock-frequency = <100000000>; 31 clock-output-names = "ref_100m"; 32 }; 33 34 cpuintc: interrupt-controller { 35 compatible = "loongson,cpu-interrupt-controller"; 36 #interrupt-cells = <1>; 37 interrupt-controller; 38 }; 39 40 thermal-zones { 41 cpu-thermal { 42 polling-delay-passive = <1000>; 43 polling-delay = <5000>; 44 thermal-sensors = <&tsensor 0>; 45 46 trips { 47 cpu-alert { 48 temperature = <33000>; 49 hysteresis = <2000>; 50 type = "active"; 51 }; 52 53 cpu-crit { 54 temperature = <85000>; 55 hysteresis = <5000>; 56 type = "critical"; 57 }; 58 }; 59 }; 60 }; 61 62 bus@10000000 { 63 compatible = "simple-bus"; 64 ranges = <0x0 0x10000000 0x0 0x10000000 0x0 0x10000000>, 65 <0x0 0x02000000 0x0 0x02000000 0x0 0x02000000>, 66 <0x0 0x20000000 0x0 0x20000000 0x0 0x10000000>, 67 <0x0 0x40000000 0x0 0x40000000 0x0 0x40000000>, 68 <0xfe 0x0 0xfe 0x0 0x0 0x40000000>; 69 #address-cells = <2>; 70 #size-cells = <2>; 71 72 isa@16400000 { 73 compatible = "isa"; 74 #size-cells = <1>; 75 #address-cells = <2>; 76 ranges = <1 0x0 0x0 0x16400000 0x4000>; 77 }; 78 79 clk: clock-controller@1fe10400 { 80 compatible = "loongson,ls2k0500-clk"; 81 reg = <0x0 0x1fe10400 0x0 0x2c>; 82 #clock-cells = <1>; 83 clocks = <&ref_100m>; 84 clock-names = "ref_100m"; 85 }; 86 87 dma-controller@1fe10c00 { 88 compatible = "loongson,ls2k0500-apbdma", "loongson,ls2k1000-apbdma"; 89 reg = <0 0x1fe10c00 0 0x8>; 90 interrupt-parent = <&eiointc>; 91 interrupts = <67>; 92 clocks = <&clk LOONGSON2_APB_CLK>; 93 #dma-cells = <1>; 94 status = "disabled"; 95 }; 96 97 dma-controller@1fe10c10 { 98 compatible = "loongson,ls2k0500-apbdma", "loongson,ls2k1000-apbdma"; 99 reg = <0 0x1fe10c10 0 0x8>; 100 interrupt-parent = <&eiointc>; 101 interrupts = <68>; 102 clocks = <&clk LOONGSON2_APB_CLK>; 103 #dma-cells = <1>; 104 status = "disabled"; 105 }; 106 107 dma-controller@1fe10c20 { 108 compatible = "loongson,ls2k0500-apbdma", "loongson,ls2k1000-apbdma"; 109 reg = <0 0x1fe10c20 0 0x8>; 110 interrupt-parent = <&eiointc>; 111 interrupts = <69>; 112 clocks = <&clk LOONGSON2_APB_CLK>; 113 #dma-cells = <1>; 114 status = "disabled"; 115 }; 116 117 dma-controller@1fe10c30 { 118 compatible = "loongson,ls2k0500-apbdma", "loongson,ls2k1000-apbdma"; 119 reg = <0 0x1fe10c30 0 0x8>; 120 interrupt-parent = <&eiointc>; 121 interrupts = <70>; 122 clocks = <&clk LOONGSON2_APB_CLK>; 123 #dma-cells = <1>; 124 status = "disabled"; 125 }; 126 127 liointc0: interrupt-controller@1fe11400 { 128 compatible = "loongson,liointc-2.0"; 129 reg = <0x0 0x1fe11400 0x0 0x40>, 130 <0x0 0x1fe11040 0x0 0x8>; 131 reg-names = "main", "isr0"; 132 133 interrupt-controller; 134 #interrupt-cells = <2>; 135 interrupt-parent = <&cpuintc>; 136 interrupts = <2>; 137 interrupt-names = "int0"; 138 139 loongson,parent_int_map = <0xffffffff>, /* int0 */ 140 <0x00000000>, /* int1 */ 141 <0x00000000>, /* int2 */ 142 <0x00000000>; /* int3 */ 143 }; 144 145 liointc1: interrupt-controller@1fe11440 { 146 compatible = "loongson,liointc-2.0"; 147 reg = <0x0 0x1fe11440 0x0 0x40>, 148 <0x0 0x1fe11048 0x0 0x8>; 149 reg-names = "main", "isr0"; 150 151 interrupt-controller; 152 #interrupt-cells = <2>; 153 interrupt-parent = <&cpuintc>; 154 interrupts = <4>; 155 interrupt-names = "int2"; 156 157 loongson,parent_int_map = <0x00000000>, /* int0 */ 158 <0x00000000>, /* int1 */ 159 <0xffffffff>, /* int2 */ 160 <0x00000000>; /* int3 */ 161 }; 162 163 eiointc: interrupt-controller@1fe11600 { 164 compatible = "loongson,ls2k0500-eiointc"; 165 reg = <0x0 0x1fe11600 0x0 0xea00>; 166 interrupt-controller; 167 #interrupt-cells = <1>; 168 interrupt-parent = <&cpuintc>; 169 interrupts = <3>; 170 }; 171 172 gmac0: ethernet@1f020000 { 173 compatible = "snps,dwmac-3.70a"; 174 reg = <0x0 0x1f020000 0x0 0x10000>; 175 interrupt-parent = <&liointc0>; 176 interrupts = <12 IRQ_TYPE_LEVEL_HIGH>; 177 interrupt-names = "macirq"; 178 status = "disabled"; 179 }; 180 181 gmac1: ethernet@1f030000 { 182 compatible = "snps,dwmac-3.70a"; 183 reg = <0x0 0x1f030000 0x0 0x10000>; 184 interrupt-parent = <&liointc0>; 185 interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; 186 interrupt-names = "macirq"; 187 status = "disabled"; 188 }; 189 190 sata: sata@1f040000 { 191 compatible = "snps,spear-ahci"; 192 reg = <0x0 0x1f040000 0x0 0x10000>; 193 interrupt-parent = <&eiointc>; 194 interrupts = <75>; 195 status = "disabled"; 196 }; 197 198 ehci0: usb@1f050000 { 199 compatible = "generic-ehci"; 200 reg = <0x0 0x1f050000 0x0 0x8000>; 201 interrupt-parent = <&eiointc>; 202 interrupts = <71>; 203 status = "disabled"; 204 }; 205 206 ohci0: usb@1f058000 { 207 compatible = "generic-ohci"; 208 reg = <0x0 0x1f058000 0x0 0x8000>; 209 interrupt-parent = <&eiointc>; 210 interrupts = <72>; 211 status = "disabled"; 212 }; 213 214 tsensor: thermal-sensor@1fe11500 { 215 compatible = "loongson,ls2k0500-thermal", "loongson,ls2k1000-thermal"; 216 reg = <0x0 0x1fe11500 0x0 0x30>; 217 interrupt-parent = <&liointc0>; 218 interrupts = <7 IRQ_TYPE_LEVEL_HIGH>; 219 #thermal-sensor-cells = <1>; 220 }; 221 222 uart0: serial@1ff40800 { 223 compatible = "ns16550a"; 224 reg = <0x0 0x1ff40800 0x0 0x10>; 225 clock-frequency = <100000000>; 226 interrupt-parent = <&eiointc>; 227 interrupts = <2>; 228 no-loopback-test; 229 status = "disabled"; 230 }; 231 232 i2c0: i2c@1ff48000 { 233 compatible = "loongson,ls2k-i2c"; 234 reg = <0x0 0x1ff48000 0x0 0x0800>; 235 interrupt-parent = <&eiointc>; 236 interrupts = <14>; 237 status = "disabled"; 238 }; 239 240 i2c@1ff48800 { 241 compatible = "loongson,ls2k-i2c"; 242 reg = <0x0 0x1ff48800 0x0 0x0800>; 243 interrupt-parent = <&eiointc>; 244 interrupts = <15>; 245 status = "disabled"; 246 }; 247 248 i2c@1ff49000 { 249 compatible = "loongson,ls2k-i2c"; 250 reg = <0x0 0x1ff49000 0x0 0x0800>; 251 interrupt-parent = <&eiointc>; 252 interrupts = <16>; 253 status = "disabled"; 254 }; 255 256 i2c@1ff49800 { 257 compatible = "loongson,ls2k-i2c"; 258 reg = <0x0 0x1ff49800 0x0 0x0800>; 259 interrupt-parent = <&eiointc>; 260 interrupts = <17>; 261 status = "disabled"; 262 }; 263 264 i2c@1ff4a000 { 265 compatible = "loongson,ls2k-i2c"; 266 reg = <0x0 0x1ff4a000 0x0 0x0800>; 267 interrupt-parent = <&eiointc>; 268 interrupts = <18>; 269 status = "disabled"; 270 }; 271 272 i2c@1ff4a800 { 273 compatible = "loongson,ls2k-i2c"; 274 reg = <0x0 0x1ff4a800 0x0 0x0800>; 275 interrupt-parent = <&eiointc>; 276 interrupts = <19>; 277 status = "disabled"; 278 }; 279 280 pmc: power-management@1ff6c000 { 281 compatible = "loongson,ls2k0500-pmc", "syscon"; 282 reg = <0x0 0x1ff6c000 0x0 0x58>; 283 interrupt-parent = <&eiointc>; 284 interrupts = <56>; 285 loongson,suspend-address = <0x0 0x1c000500>; 286 287 syscon-reboot { 288 compatible = "syscon-reboot"; 289 offset = <0x30>; 290 mask = <0x1>; 291 }; 292 293 syscon-poweroff { 294 compatible = "syscon-poweroff"; 295 regmap = <&pmc>; 296 offset = <0x14>; 297 mask = <0x3c00>; 298 value = <0x3c00>; 299 }; 300 }; 301 302 rtc0: rtc@1ff6c100 { 303 compatible = "loongson,ls2k0500-rtc", "loongson,ls7a-rtc"; 304 reg = <0x0 0x1ff6c100 0x0 0x100>; 305 interrupt-parent = <&eiointc>; 306 interrupts = <35>; 307 status = "disabled"; 308 }; 309 310 pcie@1a000000 { 311 compatible = "loongson,ls2k-pci"; 312 reg = <0x0 0x1a000000 0x0 0x02000000>, 313 <0xfe 0x0 0x0 0x20000000>; 314 #address-cells = <3>; 315 #size-cells = <2>; 316 device_type = "pci"; 317 bus-range = <0x0 0x5>; 318 ranges = <0x01000000 0x0 0x00004000 0x0 0x16404000 0x0 0x00004000>, 319 <0x02000000 0x0 0x40000000 0x0 0x40000000 0x0 0x40000000>; 320 321 pcie@0,0 { 322 reg = <0x0000 0x0 0x0 0x0 0x0>; 323 #address-cells = <3>; 324 #size-cells = <2>; 325 device_type = "pci"; 326 interrupt-parent = <&eiointc>; 327 #interrupt-cells = <1>; 328 interrupt-map-mask = <0x0 0x0 0x0 0x0>; 329 interrupt-map = <0x0 0x0 0x0 0x0 &eiointc 81>; 330 ranges; 331 }; 332 333 pcie@1,0 { 334 reg = <0x0800 0x0 0x0 0x0 0x0>; 335 #address-cells = <3>; 336 #size-cells = <2>; 337 device_type = "pci"; 338 interrupt-parent = <&eiointc>; 339 #interrupt-cells = <1>; 340 interrupt-map-mask = <0x0 0x0 0x0 0x0>; 341 interrupt-map = <0x0 0x0 0x0 0x0 &eiointc 82>; 342 ranges; 343 }; 344 }; 345 }; 346 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.