1 // SPDX-License-Identifier: GPL-2.0 2 #include <dt-bindings/clock/ingenic,jz4770-cgu 3 #include <dt-bindings/clock/ingenic,tcu.h> 4 5 / { 6 #address-cells = <1>; 7 #size-cells = <1>; 8 compatible = "ingenic,jz4770"; 9 10 cpus { 11 #address-cells = <1>; 12 #size-cells = <0>; 13 14 cpu0: cpu@0 { 15 device_type = "cpu"; 16 compatible = "ingenic, 17 reg = <0>; 18 19 clocks = <&cgu JZ4770_ 20 clock-names = "cpu"; 21 }; 22 }; 23 24 cpuintc: interrupt-controller { 25 #address-cells = <0>; 26 #interrupt-cells = <1>; 27 interrupt-controller; 28 compatible = "mti,cpu-interrup 29 }; 30 31 intc: interrupt-controller@10001000 { 32 compatible = "ingenic,jz4770-i 33 reg = <0x10001000 0x40>; 34 35 interrupt-controller; 36 #interrupt-cells = <1>; 37 38 interrupt-parent = <&cpuintc>; 39 interrupts = <2>; 40 }; 41 42 ext: ext { 43 compatible = "fixed-clock"; 44 #clock-cells = <0>; 45 }; 46 47 osc32k: osc32k { 48 compatible = "fixed-clock"; 49 #clock-cells = <0>; 50 clock-frequency = <32768>; 51 }; 52 53 cgu: jz4770-cgu@10000000 { 54 compatible = "ingenic,jz4770-c 55 reg = <0x10000000 0x100>; 56 #address-cells = <1>; 57 #size-cells = <1>; 58 ranges = <0x0 0x10000000 0x100 59 60 clocks = <&ext>, <&osc32k>; 61 clock-names = "ext", "osc32k"; 62 63 #clock-cells = <1>; 64 65 otg_phy: usb-phy@3c { 66 compatible = "ingenic, 67 reg = <0x3c 0x10>; 68 69 clocks = <&cgu JZ4770_ 70 71 #phy-cells = <0>; 72 }; 73 }; 74 75 tcu: timer@10002000 { 76 compatible = "ingenic,jz4770-t 77 reg = <0x10002000 0x1000>; 78 #address-cells = <1>; 79 #size-cells = <1>; 80 ranges = <0x0 0x10002000 0x100 81 82 #clock-cells = <1>; 83 84 clocks = <&cgu JZ4770_CLK_RTC> 85 <&cgu JZ4770_CLK_EXT> 86 <&cgu JZ4770_CLK_PCLK 87 clock-names = "rtc", "ext", "p 88 89 interrupt-controller; 90 #interrupt-cells = <1>; 91 92 interrupt-parent = <&intc>; 93 interrupts = <27 26 25>; 94 95 watchdog: watchdog@0 { 96 compatible = "ingenic, 97 "ingenic, 98 reg = <0x0 0xc>; 99 100 clocks = <&tcu TCU_CLK 101 clock-names = "wdt"; 102 }; 103 104 pwm: pwm@40 { 105 compatible = "ingenic, 106 reg = <0x40 0x80>; 107 108 #pwm-cells = <3>; 109 110 clocks = <&tcu TCU_CLK 111 <&tcu TCU_CLK 112 <&tcu TCU_CLK 113 <&tcu TCU_CLK 114 clock-names = "timer0" 115 "timer4" 116 }; 117 118 ost: timer@e0 { 119 compatible = "ingenic, 120 reg = <0xe0 0x20>; 121 122 clocks = <&tcu TCU_CLK 123 clock-names = "ost"; 124 125 interrupts = <15>; 126 }; 127 }; 128 129 rtc: rtc@10003000 { 130 compatible = "ingenic,jz4770-r 131 reg = <0x10003000 0x40>; 132 133 interrupt-parent = <&intc>; 134 interrupts = <32>; 135 }; 136 137 pinctrl: pin-controller@10010000 { 138 compatible = "ingenic,jz4770-p 139 reg = <0x10010000 0x600>; 140 141 #address-cells = <1>; 142 #size-cells = <0>; 143 144 gpa: gpio@0 { 145 compatible = "ingenic, 146 reg = <0>; 147 148 gpio-controller; 149 gpio-ranges = <&pinctr 150 #gpio-cells = <2>; 151 152 interrupt-controller; 153 #interrupt-cells = <2> 154 155 interrupt-parent = <&i 156 interrupts = <17>; 157 }; 158 159 gpb: gpio@1 { 160 compatible = "ingenic, 161 reg = <1>; 162 163 gpio-controller; 164 gpio-ranges = <&pinctr 165 #gpio-cells = <2>; 166 167 interrupt-controller; 168 #interrupt-cells = <2> 169 170 interrupt-parent = <&i 171 interrupts = <16>; 172 }; 173 174 gpc: gpio@2 { 175 compatible = "ingenic, 176 reg = <2>; 177 178 gpio-controller; 179 gpio-ranges = <&pinctr 180 #gpio-cells = <2>; 181 182 interrupt-controller; 183 #interrupt-cells = <2> 184 185 interrupt-parent = <&i 186 interrupts = <15>; 187 }; 188 189 gpd: gpio@3 { 190 compatible = "ingenic, 191 reg = <3>; 192 193 gpio-controller; 194 gpio-ranges = <&pinctr 195 #gpio-cells = <2>; 196 197 interrupt-controller; 198 #interrupt-cells = <2> 199 200 interrupt-parent = <&i 201 interrupts = <14>; 202 }; 203 204 gpe: gpio@4 { 205 compatible = "ingenic, 206 reg = <4>; 207 208 gpio-controller; 209 gpio-ranges = <&pinctr 210 #gpio-cells = <2>; 211 212 interrupt-controller; 213 #interrupt-cells = <2> 214 215 interrupt-parent = <&i 216 interrupts = <13>; 217 }; 218 219 gpf: gpio@5 { 220 compatible = "ingenic, 221 reg = <5>; 222 223 gpio-controller; 224 gpio-ranges = <&pinctr 225 #gpio-cells = <2>; 226 227 interrupt-controller; 228 #interrupt-cells = <2> 229 230 interrupt-parent = <&i 231 interrupts = <12>; 232 }; 233 }; 234 235 aic: audio-controller@10020000 { 236 compatible = "ingenic,jz4770-i 237 reg = <0x10020000 0x94>; 238 239 #sound-dai-cells = <0>; 240 241 clocks = <&cgu JZ4770_CLK_AIC> 242 clock-names = "aic", "i2s"; 243 244 interrupt-parent = <&intc>; 245 interrupts = <34>; 246 247 dmas = <&dmac0 25 0xffffffff>, 248 dma-names = "rx", "tx"; 249 }; 250 251 codec: audio-codec@100200a0 { 252 compatible = "ingenic,jz4770-c 253 reg = <0x100200a4 0x8>; 254 255 #sound-dai-cells = <0>; 256 257 clocks = <&cgu JZ4770_CLK_AIC> 258 clock-names = "aic"; 259 }; 260 261 mmc0: mmc@10021000 { 262 compatible = "ingenic,jz4770-m 263 reg = <0x10021000 0x1000>; 264 265 clocks = <&cgu JZ4770_CLK_MMC0 266 clock-names = "mmc"; 267 268 interrupt-parent = <&intc>; 269 interrupts = <37>; 270 271 dmas = <&dmac1 27 0xffffffff>, 272 dma-names = "rx", "tx"; 273 274 cap-sd-highspeed; 275 cap-mmc-highspeed; 276 cap-sdio-irq; 277 278 status = "disabled"; 279 }; 280 281 mmc1: mmc@10022000 { 282 compatible = "ingenic,jz4770-m 283 reg = <0x10022000 0x1000>; 284 285 clocks = <&cgu JZ4770_CLK_MMC1 286 clock-names = "mmc"; 287 288 interrupt-parent = <&intc>; 289 interrupts = <36>; 290 291 dmas = <&dmac1 31 0xffffffff>, 292 dma-names = "rx", "tx"; 293 294 cap-sd-highspeed; 295 cap-mmc-highspeed; 296 cap-sdio-irq; 297 298 status = "disabled"; 299 }; 300 301 mmc2: mmc@10023000 { 302 compatible = "ingenic,jz4770-m 303 reg = <0x10023000 0x1000>; 304 305 clocks = <&cgu JZ4770_CLK_MMC2 306 clock-names = "mmc"; 307 308 interrupt-parent = <&intc>; 309 interrupts = <35>; 310 311 dmas = <&dmac1 37 0xffffffff>, 312 dma-names = "rx", "tx"; 313 314 cap-sd-highspeed; 315 cap-mmc-highspeed; 316 cap-sdio-irq; 317 318 status = "disabled"; 319 }; 320 321 uart0: serial@10030000 { 322 compatible = "ingenic,jz4770-u 323 reg = <0x10030000 0x100>; 324 325 clocks = <&ext>, <&cgu JZ4770_ 326 clock-names = "baud", "module" 327 328 interrupt-parent = <&intc>; 329 interrupts = <5>; 330 331 status = "disabled"; 332 }; 333 334 uart1: serial@10031000 { 335 compatible = "ingenic,jz4770-u 336 reg = <0x10031000 0x100>; 337 338 clocks = <&ext>, <&cgu JZ4770_ 339 clock-names = "baud", "module" 340 341 interrupt-parent = <&intc>; 342 interrupts = <4>; 343 344 status = "disabled"; 345 }; 346 347 uart2: serial@10032000 { 348 compatible = "ingenic,jz4770-u 349 reg = <0x10032000 0x100>; 350 351 clocks = <&ext>, <&cgu JZ4770_ 352 clock-names = "baud", "module" 353 354 interrupt-parent = <&intc>; 355 interrupts = <3>; 356 357 status = "disabled"; 358 }; 359 360 uart3: serial@10033000 { 361 compatible = "ingenic,jz4770-u 362 reg = <0x10033000 0x100>; 363 364 clocks = <&ext>, <&cgu JZ4770_ 365 clock-names = "baud", "module" 366 367 interrupt-parent = <&intc>; 368 interrupts = <2>; 369 370 status = "disabled"; 371 }; 372 373 adc: adc@10070000 { 374 compatible = "ingenic,jz4770-a 375 reg = <0x10070000 0x30>; 376 377 #io-channel-cells = <1>; 378 379 clocks = <&cgu JZ4770_CLK_ADC> 380 clock-names = "adc"; 381 382 interrupt-parent = <&intc>; 383 interrupts = <18>; 384 }; 385 386 gpu: gpu@13040000 { 387 compatible = "vivante,gc"; 388 reg = <0x13040000 0x10000>; 389 390 clocks = <&cgu JZ4770_CLK_GPU> 391 <&cgu JZ4770_CLK_GPU> 392 <&cgu JZ4770_CLK_GPU> 393 clock-names = "bus", "core", " 394 395 interrupt-parent = <&intc>; 396 interrupts = <6>; 397 }; 398 399 lcd: lcd-controller@13050000 { 400 compatible = "ingenic,jz4770-l 401 reg = <0x13050000 0x130>; /* t 402 403 interrupt-parent = <&intc>; 404 interrupts = <31>; 405 406 clocks = <&cgu JZ4770_CLK_LPCL 407 clock-names = "lcd_pclk"; 408 }; 409 410 dmac0: dma-controller@13420000 { 411 compatible = "ingenic,jz4770-d 412 reg = <0x13420000 0xC0>, <0x13 413 414 #dma-cells = <2>; 415 416 clocks = <&cgu JZ4770_CLK_DMA> 417 interrupt-parent = <&intc>; 418 interrupts = <24>; 419 }; 420 421 dmac1: dma-controller@13420100 { 422 compatible = "ingenic,jz4770-d 423 reg = <0x13420100 0xC0>, <0x13 424 425 #dma-cells = <2>; 426 427 clocks = <&cgu JZ4770_CLK_DMA> 428 interrupt-parent = <&intc>; 429 interrupts = <23>; 430 }; 431 432 uhc: usb@13430000 { 433 compatible = "generic-ohci"; 434 reg = <0x13430000 0x1000>; 435 436 clocks = <&cgu JZ4770_CLK_UHC> 437 assigned-clocks = <&cgu JZ4770 438 assigned-clock-rates = <480000 439 440 interrupt-parent = <&intc>; 441 interrupts = <20>; 442 443 status = "disabled"; 444 }; 445 446 usb_otg: usb@13440000 { 447 compatible = "ingenic,jz4770-m 448 reg = <0x13440000 0x10000>; 449 450 clocks = <&cgu JZ4770_CLK_OTG> 451 clock-names = "udc"; 452 453 interrupt-parent = <&intc>; 454 interrupts = <21>; 455 interrupt-names = "mc"; 456 457 phys = <&otg_phy>; 458 459 usb-role-switch; 460 }; 461 462 rom: memory@1fc00000 { 463 compatible = "mtd-rom"; 464 reg = <0x1fc00000 0x2000>; 465 466 bank-width = <4>; 467 device-width = <1>; 468 }; 469 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.