1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 3 * Copyright (c) 2016 Andreas Färber 4 * 5 * Copyright (c) 2016 BayLibre, SAS. 6 * Author: Neil Armstrong <narmstrong@baylibre. 7 * 8 * Copyright (c) 2016 Endless Computers, Inc. 9 * Author: Carlo Caione <carlo@endlessm.com> 10 */ 11 12 #include <dt-bindings/gpio/gpio.h> 13 #include <dt-bindings/interrupt-controller/irq 14 #include <dt-bindings/interrupt-controller/arm 15 #include <dt-bindings/power/meson-gxbb-power.h 16 #include <dt-bindings/thermal/thermal.h> 17 18 / { 19 interrupt-parent = <&gic>; 20 #address-cells = <2>; 21 #size-cells = <2>; 22 23 aliases { 24 mmc0 = &sd_emmc_b; /* SD card 25 mmc1 = &sd_emmc_c; /* eMMC */ 26 mmc2 = &sd_emmc_a; /* SDIO */ 27 }; 28 29 reserved-memory { 30 #address-cells = <2>; 31 #size-cells = <2>; 32 ranges; 33 34 /* 16 MiB reserved for Hardwar 35 hwrom_reserved: hwrom@0 { 36 reg = <0x0 0x0 0x0 0x1 37 no-map; 38 }; 39 40 /* 2 MiB reserved for ARM Trus 41 secmon_reserved: secmon@100000 42 reg = <0x0 0x10000000 43 no-map; 44 }; 45 46 /* Alternate 3 MiB reserved fo 47 secmon_reserved_alt: secmon@50 48 reg = <0x0 0x05000000 49 no-map; 50 }; 51 52 /* 32 MiB reserved for ARM Tru 53 secmon_reserved_bl32: secmon@5 54 reg = <0x0 0x05300000 55 no-map; 56 }; 57 58 linux,cma { 59 compatible = "shared-d 60 reusable; 61 size = <0x0 0x10000000 62 alignment = <0x0 0x400 63 linux,cma-default; 64 }; 65 }; 66 67 chosen { 68 #address-cells = <2>; 69 #size-cells = <2>; 70 ranges; 71 72 simplefb_cvbs: framebuffer-cvb 73 compatible = "amlogic, 74 "simple-f 75 amlogic,pipeline = "vp 76 power-domains = <&pwrc 77 status = "disabled"; 78 }; 79 80 simplefb_hdmi: framebuffer-hdm 81 compatible = "amlogic, 82 "simple-f 83 amlogic,pipeline = "vp 84 power-domains = <&pwrc 85 status = "disabled"; 86 }; 87 }; 88 89 cpus { 90 #address-cells = <0x2>; 91 #size-cells = <0x0>; 92 93 cpu0: cpu@0 { 94 device_type = "cpu"; 95 compatible = "arm,cort 96 reg = <0x0 0x0>; 97 enable-method = "psci" 98 next-level-cache = <&l 99 clocks = <&scpi_dvfs 0 100 #cooling-cells = <2>; 101 }; 102 103 cpu1: cpu@1 { 104 device_type = "cpu"; 105 compatible = "arm,cort 106 reg = <0x0 0x1>; 107 enable-method = "psci" 108 next-level-cache = <&l 109 clocks = <&scpi_dvfs 0 110 #cooling-cells = <2>; 111 }; 112 113 cpu2: cpu@2 { 114 device_type = "cpu"; 115 compatible = "arm,cort 116 reg = <0x0 0x2>; 117 enable-method = "psci" 118 next-level-cache = <&l 119 clocks = <&scpi_dvfs 0 120 #cooling-cells = <2>; 121 }; 122 123 cpu3: cpu@3 { 124 device_type = "cpu"; 125 compatible = "arm,cort 126 reg = <0x0 0x3>; 127 enable-method = "psci" 128 next-level-cache = <&l 129 clocks = <&scpi_dvfs 0 130 #cooling-cells = <2>; 131 }; 132 133 l2: l2-cache0 { 134 compatible = "cache"; 135 cache-level = <2>; 136 cache-unified; 137 }; 138 }; 139 140 thermal-zones { 141 cpu-thermal { 142 polling-delay-passive 143 polling-delay = <1000> 144 145 thermal-sensors = <&sc 146 147 trips { 148 cpu_passive: c 149 temper 150 hyster 151 type = 152 }; 153 154 cpu_hot: cpu-h 155 temper 156 hyster 157 type = 158 }; 159 160 cpu_critical: 161 temper 162 hyster 163 type = 164 }; 165 }; 166 167 cpu_cooling_maps: cool 168 map0 { 169 trip = 170 coolin 171 172 173 174 }; 175 176 map1 { 177 trip = 178 coolin 179 180 181 182 }; 183 }; 184 }; 185 }; 186 187 arm-pmu { 188 compatible = "arm,cortex-a53-p 189 interrupts = <GIC_SPI 137 IRQ_ 190 <GIC_SPI 138 IRQ_ 191 <GIC_SPI 153 IRQ_ 192 <GIC_SPI 154 IRQ_ 193 interrupt-affinity = <&cpu0>, 194 }; 195 196 psci { 197 compatible = "arm,psci-0.2"; 198 method = "smc"; 199 }; 200 201 timer { 202 compatible = "arm,armv8-timer" 203 interrupts = <GIC_PPI 13 204 (GIC_CPU_MASK_RAW(0xff 205 <GIC_PPI 14 206 (GIC_CPU_MASK_RAW(0xff 207 <GIC_PPI 11 208 (GIC_CPU_MASK_RAW(0xff 209 <GIC_PPI 10 210 (GIC_CPU_MASK_RAW(0xff 211 }; 212 213 xtal: xtal-clk { 214 compatible = "fixed-clock"; 215 clock-frequency = <24000000>; 216 clock-output-names = "xtal"; 217 #clock-cells = <0>; 218 }; 219 220 firmware { 221 sm: secure-monitor { 222 compatible = "amlogic, 223 }; 224 }; 225 226 efuse: efuse { 227 compatible = "amlogic,meson-gx 228 #address-cells = <1>; 229 #size-cells = <1>; 230 read-only; 231 secure-monitor = <&sm>; 232 233 sn: sn@14 { 234 reg = <0x14 0x10>; 235 }; 236 237 eth_mac: eth-mac@34 { 238 reg = <0x34 0x10>; 239 }; 240 241 bid: bid@46 { 242 reg = <0x46 0x30>; 243 }; 244 }; 245 246 scpi { 247 compatible = "amlogic,meson-gx 248 mboxes = <&mailbox 1 &mailbox 249 shmem = <&cpu_scp_lpri &cpu_sc 250 251 scpi_clocks: clocks { 252 compatible = "arm,scpi 253 254 scpi_dvfs: clocks-0 { 255 compatible = " 256 #clock-cells = 257 clock-indices 258 clock-output-n 259 }; 260 }; 261 262 scpi_sensors: sensors { 263 compatible = "amlogic, 264 #thermal-sensor-cells 265 }; 266 }; 267 268 soc { 269 compatible = "simple-bus"; 270 #address-cells = <2>; 271 #size-cells = <2>; 272 ranges; 273 274 cbus: bus@c1100000 { 275 compatible = "simple-b 276 reg = <0x0 0xc1100000 277 #address-cells = <2>; 278 #size-cells = <2>; 279 ranges = <0x0 0x0 0x0 280 281 gpio_intc: interrupt-c 282 compatible = " 283 reg = <0x0 0x9 284 interrupt-cont 285 #interrupt-cel 286 amlogic,channe 287 status = "disa 288 }; 289 290 reset: reset-controlle 291 compatible = " 292 reg = <0x0 0x0 293 #reset-cells = 294 }; 295 296 aiu: audio-controller@ 297 compatible = " 298 #sound-dai-cel 299 sound-name-pre 300 reg = <0x0 0x5 301 interrupts = < 302 < 303 interrupt-name 304 status = "disa 305 }; 306 307 uart_A: serial@84c0 { 308 compatible = " 309 reg = <0x0 0x8 310 interrupts = < 311 status = "disa 312 fifo-size = <1 313 }; 314 315 uart_B: serial@84dc { 316 compatible = " 317 reg = <0x0 0x8 318 interrupts = < 319 status = "disa 320 }; 321 322 i2c_A: i2c@8500 { 323 compatible = " 324 reg = <0x0 0x0 325 interrupts = < 326 #address-cells 327 #size-cells = 328 status = "disa 329 }; 330 331 pwm_ab: pwm@8550 { 332 compatible = " 333 reg = <0x0 0x0 334 #pwm-cells = < 335 status = "disa 336 }; 337 338 pwm_cd: pwm@8650 { 339 compatible = " 340 reg = <0x0 0x0 341 #pwm-cells = < 342 status = "disa 343 }; 344 345 saradc: adc@8680 { 346 compatible = " 347 reg = <0x0 0x8 348 #io-channel-ce 349 interrupts = < 350 status = "disa 351 }; 352 353 pwm_ef: pwm@86c0 { 354 compatible = " 355 reg = <0x0 0x0 356 #pwm-cells = < 357 status = "disa 358 }; 359 360 uart_C: serial@8700 { 361 compatible = " 362 reg = <0x0 0x8 363 interrupts = < 364 status = "disa 365 }; 366 367 clock-measure@8758 { 368 compatible = " 369 reg = <0x0 0x8 370 }; 371 372 i2c_B: i2c@87c0 { 373 compatible = " 374 reg = <0x0 0x0 375 interrupts = < 376 #address-cells 377 #size-cells = 378 status = "disa 379 }; 380 381 i2c_C: i2c@87e0 { 382 compatible = " 383 reg = <0x0 0x0 384 interrupts = < 385 #address-cells 386 #size-cells = 387 status = "disa 388 }; 389 390 spicc: spi@8d80 { 391 compatible = " 392 reg = <0x0 0x0 393 interrupts = < 394 #address-cells 395 #size-cells = 396 status = "disa 397 }; 398 399 spifc: spi@8c80 { 400 compatible = " 401 reg = <0x0 0x0 402 #address-cells 403 #size-cells = 404 status = "disa 405 }; 406 407 watchdog@98d0 { 408 compatible = " 409 reg = <0x0 0x0 410 clocks = <&xta 411 }; 412 }; 413 414 gic: interrupt-controller@c430 415 compatible = "arm,gic- 416 reg = <0x0 0xc4301000 417 <0x0 0xc4302000 418 <0x0 0xc4304000 419 <0x0 0xc4306000 420 interrupt-controller; 421 interrupts = <GIC_PPI 422 (GIC_CPU_MASK_ 423 #interrupt-cells = <3> 424 #address-cells = <0>; 425 }; 426 427 sram: sram@c8000000 { 428 compatible = "mmio-sra 429 reg = <0x0 0xc8000000 430 431 #address-cells = <1>; 432 #size-cells = <1>; 433 ranges = <0 0x0 0xc800 434 435 cpu_scp_lpri: scp-sram 436 compatible = " 437 reg = <0x13000 438 }; 439 440 cpu_scp_hpri: scp-sram 441 compatible = " 442 reg = <0x13400 443 }; 444 }; 445 446 aobus: bus@c8100000 { 447 compatible = "simple-b 448 reg = <0x0 0xc8100000 449 #address-cells = <2>; 450 #size-cells = <2>; 451 ranges = <0x0 0x0 0x0 452 453 sysctrl_AO: sys-ctrl@0 454 compatible = " 455 reg = <0x0 0x0 456 457 clkc_AO: clock 458 compat 459 #clock 460 #reset 461 }; 462 }; 463 464 cec_AO: cec@100 { 465 compatible = " 466 reg = <0x0 0x0 467 interrupts = < 468 status = "disa 469 }; 470 471 sec_AO: ao-secure@140 472 compatible = " 473 reg = <0x0 0x1 474 amlogic,has-ch 475 }; 476 477 uart_AO: serial@4c0 { 478 compatible = " 479 reg = <0x0 0x0 480 interrupts = < 481 status = "disa 482 }; 483 484 uart_AO_B: serial@4e0 485 compatible = " 486 reg = <0x0 0x0 487 interrupts = < 488 status = "disa 489 }; 490 491 i2c_AO: i2c@500 { 492 compatible = " 493 reg = <0x0 0x5 494 interrupts = < 495 #address-cells 496 #size-cells = 497 status = "disa 498 }; 499 500 pwm_AO_ab: pwm@550 { 501 compatible = " 502 reg = <0x0 0x0 503 #pwm-cells = < 504 status = "disa 505 }; 506 507 ir: ir@580 { 508 compatible = " 509 reg = <0x0 0x0 510 interrupts = < 511 status = "disa 512 }; 513 }; 514 515 vdec: video-codec@c8820000 { 516 compatible = "amlogic, 517 reg = <0x0 0xc8820000 518 <0x0 0xc110a580 519 reg-names = "dos", "es 520 521 interrupts = <GIC_SPI 522 <GIC_SPI 523 interrupt-names = "vde 524 525 amlogic,ao-sysctrl = < 526 amlogic,canvas = <&can 527 }; 528 529 periphs: bus@c8834000 { 530 compatible = "simple-b 531 reg = <0x0 0xc8834000 532 #address-cells = <2>; 533 #size-cells = <2>; 534 ranges = <0x0 0x0 0x0 535 536 hwrng: rng@0 { 537 compatible = " 538 reg = <0x0 0x0 539 }; 540 }; 541 542 dmcbus: bus@c8838000 { 543 compatible = "simple-b 544 reg = <0x0 0xc8838000 545 #address-cells = <2>; 546 #size-cells = <2>; 547 ranges = <0x0 0x0 0x0 548 549 canvas: video-lut@48 { 550 compatible = " 551 reg = <0x0 0x4 552 }; 553 }; 554 555 hiubus: bus@c883c000 { 556 compatible = "simple-b 557 reg = <0x0 0xc883c000 558 #address-cells = <2>; 559 #size-cells = <2>; 560 ranges = <0x0 0x0 0x0 561 562 sysctrl: system-contro 563 compatible = " 564 reg = <0 0 0 0 565 566 pwrc: power-co 567 compat 568 #power 569 amlogi 570 }; 571 }; 572 573 mailbox: mailbox@404 { 574 compatible = " 575 reg = <0 0x404 576 interrupts = < 577 < 578 < 579 #mbox-cells = 580 }; 581 }; 582 583 ethmac: ethernet@c9410000 { 584 compatible = "amlogic, 585 "snps,dwm 586 "snps,dwm 587 reg = <0x0 0xc9410000 588 <0x0 0xc8834540 589 interrupts = <GIC_SPI 590 interrupt-names = "mac 591 rx-fifo-depth = <4096> 592 tx-fifo-depth = <2048> 593 power-domains = <&pwrc 594 status = "disabled"; 595 }; 596 597 apb: apb@d0000000 { 598 compatible = "simple-b 599 reg = <0x0 0xd0000000 600 #address-cells = <2>; 601 #size-cells = <2>; 602 ranges = <0x0 0x0 0x0 603 604 sd_emmc_a: mmc@70000 { 605 compatible = " 606 reg = <0x0 0x7 607 interrupts = < 608 status = "disa 609 }; 610 611 sd_emmc_b: mmc@72000 { 612 compatible = " 613 reg = <0x0 0x7 614 interrupts = < 615 status = "disa 616 }; 617 618 sd_emmc_c: mmc@74000 { 619 compatible = " 620 reg = <0x0 0x7 621 interrupts = < 622 status = "disa 623 }; 624 }; 625 626 vpu: vpu@d0100000 { 627 compatible = "amlogic, 628 reg = <0x0 0xd0100000 629 <0x0 0xc883c000 630 reg-names = "vpu", "hh 631 interrupts = <GIC_SPI 632 #address-cells = <1>; 633 #size-cells = <0>; 634 amlogic,canvas = <&can 635 636 /* CVBS VDAC output po 637 cvbs_vdac_port: port@0 638 reg = <0>; 639 }; 640 641 /* HDMI-TX output port 642 hdmi_tx_port: port@1 { 643 reg = <1>; 644 645 hdmi_tx_out: e 646 remote 647 }; 648 }; 649 }; 650 651 hdmi_tx: hdmi-tx@c883a000 { 652 compatible = "amlogic, 653 reg = <0x0 0xc883a000 654 interrupts = <GIC_SPI 655 #address-cells = <1>; 656 #size-cells = <0>; 657 #sound-dai-cells = <0> 658 sound-name-prefix = "H 659 status = "disabled"; 660 661 /* VPU VENC Input */ 662 hdmi_tx_venc_port: por 663 reg = <0>; 664 665 hdmi_tx_in: en 666 remote 667 }; 668 }; 669 670 /* TMDS Output */ 671 hdmi_tx_tmds_port: por 672 reg = <1>; 673 }; 674 }; 675 }; 676 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.