1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2017 Amlogic, Inc. All rights reserved. 4 */ 5 6#include <dt-bindings/clock/axg-aoclkc.h> 7#include <dt-bindings/clock/axg-audio-clkc.h> 8#include <dt-bindings/clock/axg-clkc.h> 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/gpio/meson-axg-gpio.h> 11#include <dt-bindings/interrupt-controller/irq.h> 12#include <dt-bindings/interrupt-controller/arm-gic.h> 13#include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h> 14#include <dt-bindings/reset/amlogic,meson-axg-reset.h> 15 16/ { 17 compatible = "amlogic,meson-axg"; 18 19 interrupt-parent = <&gic>; 20 #address-cells = <2>; 21 #size-cells = <2>; 22 23 tdmif_a: audio-controller@0 { 24 compatible = "amlogic,axg-tdm-iface"; 25 #sound-dai-cells = <0>; 26 sound-name-prefix = "TDM_A"; 27 clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>, 28 <&clkc_audio AUD_CLKID_MST_A_SCLK>, 29 <&clkc_audio AUD_CLKID_MST_A_LRCLK>; 30 clock-names = "mclk", "sclk", "lrclk"; 31 status = "disabled"; 32 }; 33 34 tdmif_b: audio-controller@1 { 35 compatible = "amlogic,axg-tdm-iface"; 36 #sound-dai-cells = <0>; 37 sound-name-prefix = "TDM_B"; 38 clocks = <&clkc_audio AUD_CLKID_MST_B_MCLK>, 39 <&clkc_audio AUD_CLKID_MST_B_SCLK>, 40 <&clkc_audio AUD_CLKID_MST_B_LRCLK>; 41 clock-names = "mclk", "sclk", "lrclk"; 42 status = "disabled"; 43 }; 44 45 tdmif_c: audio-controller@2 { 46 compatible = "amlogic,axg-tdm-iface"; 47 #sound-dai-cells = <0>; 48 sound-name-prefix = "TDM_C"; 49 clocks = <&clkc_audio AUD_CLKID_MST_C_MCLK>, 50 <&clkc_audio AUD_CLKID_MST_C_SCLK>, 51 <&clkc_audio AUD_CLKID_MST_C_LRCLK>; 52 clock-names = "mclk", "sclk", "lrclk"; 53 status = "disabled"; 54 }; 55 56 ao_alt_xtal: ao_alt_xtal-clk { 57 compatible = "fixed-clock"; 58 clock-frequency = <32000000>; 59 clock-output-names = "ao_alt_xtal"; 60 #clock-cells = <0>; 61 }; 62 63 arm-pmu { 64 compatible = "arm,cortex-a53-pmu"; 65 interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, 66 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, 67 <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>, 68 <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 69 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 70 }; 71 72 cpus { 73 #address-cells = <0x2>; 74 #size-cells = <0x0>; 75 76 cpu0: cpu@0 { 77 device_type = "cpu"; 78 compatible = "arm,cortex-a53", "arm,armv8"; 79 reg = <0x0 0x0>; 80 enable-method = "psci"; 81 next-level-cache = <&l2>; 82 }; 83 84 cpu1: cpu@1 { 85 device_type = "cpu"; 86 compatible = "arm,cortex-a53", "arm,armv8"; 87 reg = <0x0 0x1>; 88 enable-method = "psci"; 89 next-level-cache = <&l2>; 90 }; 91 92 cpu2: cpu@2 { 93 device_type = "cpu"; 94 compatible = "arm,cortex-a53", "arm,armv8"; 95 reg = <0x0 0x2>; 96 enable-method = "psci"; 97 next-level-cache = <&l2>; 98 }; 99 100 cpu3: cpu@3 { 101 device_type = "cpu"; 102 compatible = "arm,cortex-a53", "arm,armv8"; 103 reg = <0x0 0x3>; 104 enable-method = "psci"; 105 next-level-cache = <&l2>; 106 }; 107 108 l2: l2-cache0 { 109 compatible = "cache"; 110 }; 111 }; 112 113 psci { 114 compatible = "arm,psci-1.0"; 115 method = "smc"; 116 }; 117 118 reserved-memory { 119 #address-cells = <2>; 120 #size-cells = <2>; 121 ranges; 122 123 /* 16 MiB reserved for Hardware ROM Firmware */ 124 hwrom_reserved: hwrom@0 { 125 reg = <0x0 0x0 0x0 0x1000000>; 126 no-map; 127 }; 128 129 /* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */ 130 secmon_reserved: secmon@5000000 { 131 reg = <0x0 0x05000000 0x0 0x300000>; 132 no-map; 133 }; 134 }; 135 136 soc { 137 compatible = "simple-bus"; 138 #address-cells = <2>; 139 #size-cells = <2>; 140 ranges; 141 142 ethmac: ethernet@ff3f0000 { 143 compatible = "amlogic,meson-gxbb-dwmac", "snps,dwmac"; 144 reg = <0x0 0xff3f0000 0x0 0x10000 145 0x0 0xff634540 0x0 0x8>; 146 interrupts = <GIC_SPI 8 IRQ_TYPE_EDGE_RISING>; 147 interrupt-names = "macirq"; 148 clocks = <&clkc CLKID_ETH>, 149 <&clkc CLKID_FCLK_DIV2>, 150 <&clkc CLKID_MPLL2>; 151 clock-names = "stmmaceth", "clkin0", "clkin1"; 152 status = "disabled"; 153 }; 154 155 periphs: bus@ff634000 { 156 compatible = "simple-bus"; 157 reg = <0x0 0xff634000 0x0 0x2000>; 158 #address-cells = <2>; 159 #size-cells = <2>; 160 ranges = <0x0 0x0 0x0 0xff634000 0x0 0x2000>; 161 162 hwrng: rng@18 { 163 compatible = "amlogic,meson-rng"; 164 reg = <0x0 0x18 0x0 0x4>; 165 clocks = <&clkc CLKID_RNG0>; 166 clock-names = "core"; 167 }; 168 169 pinctrl_periphs: pinctrl@480 { 170 compatible = "amlogic,meson-axg-periphs-pinctrl"; 171 #address-cells = <2>; 172 #size-cells = <2>; 173 ranges; 174 175 gpio: bank@480 { 176 reg = <0x0 0x00480 0x0 0x40>, 177 <0x0 0x004e8 0x0 0x14>, 178 <0x0 0x00520 0x0 0x14>, 179 <0x0 0x00430 0x0 0x3c>; 180 reg-names = "mux", "pull", "pull-enable", "gpio"; 181 gpio-controller; 182 #gpio-cells = <2>; 183 gpio-ranges = <&pinctrl_periphs 0 0 86>; 184 }; 185 186 i2c0_pins: i2c0 { 187 mux { 188 groups = "i2c0_sck", 189 "i2c0_sda"; 190 function = "i2c0"; 191 }; 192 }; 193 194 i2c1_x_pins: i2c1_x { 195 mux { 196 groups = "i2c1_sck_x", 197 "i2c1_sda_x"; 198 function = "i2c1"; 199 }; 200 }; 201 202 i2c1_z_pins: i2c1_z { 203 mux { 204 groups = "i2c1_sck_z", 205 "i2c1_sda_z"; 206 function = "i2c1"; 207 }; 208 }; 209 210 i2c2_a_pins: i2c2_a { 211 mux { 212 groups = "i2c2_sck_a", 213 "i2c2_sda_a"; 214 function = "i2c2"; 215 }; 216 }; 217 218 i2c2_x_pins: i2c2_x { 219 mux { 220 groups = "i2c2_sck_x", 221 "i2c2_sda_x"; 222 function = "i2c2"; 223 }; 224 }; 225 226 i2c3_a6_pins: i2c3_a6 { 227 mux { 228 groups = "i2c3_sda_a6", 229 "i2c3_sck_a7"; 230 function = "i2c3"; 231 }; 232 }; 233 234 i2c3_a12_pins: i2c3_a12 { 235 mux { 236 groups = "i2c3_sda_a12", 237 "i2c3_sck_a13"; 238 function = "i2c3"; 239 }; 240 }; 241 242 i2c3_a19_pins: i2c3_a19 { 243 mux { 244 groups = "i2c3_sda_a19", 245 "i2c3_sck_a20"; 246 function = "i2c3"; 247 }; 248 }; 249 250 emmc_pins: emmc { 251 mux { 252 groups = "emmc_nand_d0", 253 "emmc_nand_d1", 254 "emmc_nand_d2", 255 "emmc_nand_d3", 256 "emmc_nand_d4", 257 "emmc_nand_d5", 258 "emmc_nand_d6", 259 "emmc_nand_d7", 260 "emmc_clk", 261 "emmc_cmd", 262 "emmc_ds"; 263 function = "emmc"; 264 }; 265 }; 266 267 emmc_clk_gate_pins: emmc_clk_gate { 268 mux { 269 groups = "BOOT_8"; 270 function = "gpio_periphs"; 271 }; 272 cfg-pull-down { 273 pins = "BOOT_8"; 274 bias-pull-down; 275 }; 276 }; 277 278 eth_rgmii_x_pins: eth-x-rgmii { 279 mux { 280 groups = "eth_mdio_x", 281 "eth_mdc_x", 282 "eth_rgmii_rx_clk_x", 283 "eth_rx_dv_x", 284 "eth_rxd0_x", 285 "eth_rxd1_x", 286 "eth_rxd2_rgmii", 287 "eth_rxd3_rgmii", 288 "eth_rgmii_tx_clk", 289 "eth_txen_x", 290 "eth_txd0_x", 291 "eth_txd1_x", 292 "eth_txd2_rgmii", 293 "eth_txd3_rgmii"; 294 function = "eth"; 295 }; 296 }; 297 298 eth_rgmii_y_pins: eth-y-rgmii { 299 mux { 300 groups = "eth_mdio_y", 301 "eth_mdc_y", 302 "eth_rgmii_rx_clk_y", 303 "eth_rx_dv_y", 304 "eth_rxd0_y", 305 "eth_rxd1_y", 306 "eth_rxd2_rgmii", 307 "eth_rxd3_rgmii", 308 "eth_rgmii_tx_clk", 309 "eth_txen_y", 310 "eth_txd0_y", 311 "eth_txd1_y", 312 "eth_txd2_rgmii", 313 "eth_txd3_rgmii"; 314 function = "eth"; 315 }; 316 }; 317 318 eth_rmii_x_pins: eth-x-rmii { 319 mux { 320 groups = "eth_mdio_x", 321 "eth_mdc_x", 322 "eth_rgmii_rx_clk_x", 323 "eth_rx_dv_x", 324 "eth_rxd0_x", 325 "eth_rxd1_x", 326 "eth_txen_x", 327 "eth_txd0_x", 328 "eth_txd1_x"; 329 function = "eth"; 330 }; 331 }; 332 333 eth_rmii_y_pins: eth-y-rmii { 334 mux { 335 groups = "eth_mdio_y", 336 "eth_mdc_y", 337 "eth_rgmii_rx_clk_y", 338 "eth_rx_dv_y", 339 "eth_rxd0_y", 340 "eth_rxd1_y", 341 "eth_txen_y", 342 "eth_txd0_y", 343 "eth_txd1_y"; 344 function = "eth"; 345 }; 346 }; 347 348 mclk_b_pins: mclk_b { 349 mux { 350 groups = "mclk_b"; 351 function = "mclk_b"; 352 }; 353 }; 354 355 mclk_c_pins: mclk_c { 356 mux { 357 groups = "mclk_c"; 358 function = "mclk_c"; 359 }; 360 }; 361 362 pdm_dclk_a14_pins: pdm_dclk_a14 { 363 mux { 364 groups = "pdm_dclk_a14"; 365 function = "pdm"; 366 }; 367 }; 368 369 pdm_dclk_a19_pins: pdm_dclk_a19 { 370 mux { 371 groups = "pdm_dclk_a19"; 372 function = "pdm"; 373 }; 374 }; 375 376 pdm_din0_pins: pdm_din0 { 377 mux { 378 groups = "pdm_din0"; 379 function = "pdm"; 380 }; 381 }; 382 383 pdm_din1_pins: pdm_din1 { 384 mux { 385 groups = "pdm_din1"; 386 function = "pdm"; 387 }; 388 }; 389 390 pdm_din2_pins: pdm_din2 { 391 mux { 392 groups = "pdm_din2"; 393 function = "pdm"; 394 }; 395 }; 396 397 pdm_din3_pins: pdm_din3 { 398 mux { 399 groups = "pdm_din3"; 400 function = "pdm"; 401 }; 402 }; 403 404 pwm_a_a_pins: pwm_a_a { 405 mux { 406 groups = "pwm_a_a"; 407 function = "pwm_a"; 408 }; 409 }; 410 411 pwm_a_x18_pins: pwm_a_x18 { 412 mux { 413 groups = "pwm_a_x18"; 414 function = "pwm_a"; 415 }; 416 }; 417 418 pwm_a_x20_pins: pwm_a_x20 { 419 mux { 420 groups = "pwm_a_x20"; 421 function = "pwm_a"; 422 }; 423 }; 424 425 pwm_a_z_pins: pwm_a_z { 426 mux { 427 groups = "pwm_a_z"; 428 function = "pwm_a"; 429 }; 430 }; 431 432 pwm_b_a_pins: pwm_b_a { 433 mux { 434 groups = "pwm_b_a"; 435 function = "pwm_b"; 436 }; 437 }; 438 439 pwm_b_x_pins: pwm_b_x { 440 mux { 441 groups = "pwm_b_x"; 442 function = "pwm_b"; 443 }; 444 }; 445 446 pwm_b_z_pins: pwm_b_z { 447 mux { 448 groups = "pwm_b_z"; 449 function = "pwm_b"; 450 }; 451 }; 452 453 pwm_c_a_pins: pwm_c_a { 454 mux { 455 groups = "pwm_c_a"; 456 function = "pwm_c"; 457 }; 458 }; 459 460 pwm_c_x10_pins: pwm_c_x10 { 461 mux { 462 groups = "pwm_c_x10"; 463 function = "pwm_c"; 464 }; 465 }; 466 467 pwm_c_x17_pins: pwm_c_x17 { 468 mux { 469 groups = "pwm_c_x17"; 470 function = "pwm_c"; 471 }; 472 }; 473 474 pwm_d_x11_pins: pwm_d_x11 { 475 mux { 476 groups = "pwm_d_x11"; 477 function = "pwm_d"; 478 }; 479 }; 480 481 pwm_d_x16_pins: pwm_d_x16 { 482 mux { 483 groups = "pwm_d_x16"; 484 function = "pwm_d"; 485 }; 486 }; 487 488 sdio_pins: sdio { 489 mux { 490 groups = "sdio_d0", 491 "sdio_d1", 492 "sdio_d2", 493 "sdio_d3", 494 "sdio_cmd", 495 "sdio_clk"; 496 function = "sdio"; 497 }; 498 }; 499 500 sdio_clk_gate_pins: sdio_clk_gate { 501 mux { 502 groups = "GPIOX_4"; 503 function = "gpio_periphs"; 504 }; 505 cfg-pull-down { 506 pins = "GPIOX_4"; 507 bias-pull-down; 508 }; 509 }; 510 511 spdif_in_z_pins: spdif_in_z { 512 mux { 513 groups = "spdif_in_z"; 514 function = "spdif_in"; 515 }; 516 }; 517 518 spdif_in_a1_pins: spdif_in_a1 { 519 mux { 520 groups = "spdif_in_a1"; 521 function = "spdif_in"; 522 }; 523 }; 524 525 spdif_in_a7_pins: spdif_in_a7 { 526 mux { 527 groups = "spdif_in_a7"; 528 function = "spdif_in"; 529 }; 530 }; 531 532 spdif_in_a19_pins: spdif_in_a19 { 533 mux { 534 groups = "spdif_in_a19"; 535 function = "spdif_in"; 536 }; 537 }; 538 539 spdif_in_a20_pins: spdif_in_a20 { 540 mux { 541 groups = "spdif_in_a20"; 542 function = "spdif_in"; 543 }; 544 }; 545 546 spdif_out_a1_pins: spdif_out_a1 { 547 mux { 548 groups = "spdif_out_a1"; 549 function = "spdif_out"; 550 }; 551 }; 552 553 spdif_out_a11_pins: spdif_out_a11 { 554 mux { 555 groups = "spdif_out_a11"; 556 function = "spdif_out"; 557 }; 558 }; 559 560 spdif_out_a19_pins: spdif_out_a19 { 561 mux { 562 groups = "spdif_out_a19"; 563 function = "spdif_out"; 564 }; 565 }; 566 567 spdif_out_a20_pins: spdif_out_a20 { 568 mux { 569 groups = "spdif_out_a20"; 570 function = "spdif_out"; 571 }; 572 }; 573 574 spdif_out_z_pins: spdif_out_z { 575 mux { 576 groups = "spdif_out_z"; 577 function = "spdif_out"; 578 }; 579 }; 580 581 spi0_pins: spi0 { 582 mux { 583 groups = "spi0_miso", 584 "spi0_mosi", 585 "spi0_clk"; 586 function = "spi0"; 587 }; 588 }; 589 590 spi0_ss0_pins: spi0_ss0 { 591 mux { 592 groups = "spi0_ss0"; 593 function = "spi0"; 594 }; 595 }; 596 597 spi0_ss1_pins: spi0_ss1 { 598 mux { 599 groups = "spi0_ss1"; 600 function = "spi0"; 601 }; 602 }; 603 604 spi0_ss2_pins: spi0_ss2 { 605 mux { 606 groups = "spi0_ss2"; 607 function = "spi0"; 608 }; 609 }; 610 611 spi1_a_pins: spi1_a { 612 mux { 613 groups = "spi1_miso_a", 614 "spi1_mosi_a", 615 "spi1_clk_a"; 616 function = "spi1"; 617 }; 618 }; 619 620 spi1_ss0_a_pins: spi1_ss0_a { 621 mux { 622 groups = "spi1_ss0_a"; 623 function = "spi1"; 624 }; 625 }; 626 627 spi1_ss1_pins: spi1_ss1 { 628 mux { 629 groups = "spi1_ss1"; 630 function = "spi1"; 631 }; 632 }; 633 634 spi1_x_pins: spi1_x { 635 mux { 636 groups = "spi1_miso_x", 637 "spi1_mosi_x", 638 "spi1_clk_x"; 639 function = "spi1"; 640 }; 641 }; 642 643 spi1_ss0_x_pins: spi1_ss0_x { 644 mux { 645 groups = "spi1_ss0_x"; 646 function = "spi1"; 647 }; 648 }; 649 650 tdma_din0_pins: tdma_din0 { 651 mux { 652 groups = "tdma_din0"; 653 function = "tdma"; 654 }; 655 }; 656 657 tdma_dout0_x14_pins: tdma_dout0_x14 { 658 mux { 659 groups = "tdma_dout0_x14"; 660 function = "tdma"; 661 }; 662 }; 663 664 tdma_dout0_x15_pins: tdma_dout0_x15 { 665 mux { 666 groups = "tdma_dout0_x15"; 667 function = "tdma"; 668 }; 669 }; 670 671 tdma_dout1_pins: tdma_dout1 { 672 mux { 673 groups = "tdma_dout1"; 674 function = "tdma"; 675 }; 676 }; 677 678 tdma_din1_pins: tdma_din1 { 679 mux { 680 groups = "tdma_din1"; 681 function = "tdma"; 682 }; 683 }; 684 685 tdma_fs_pins: tdma_fs { 686 mux { 687 groups = "tdma_fs"; 688 function = "tdma"; 689 }; 690 }; 691 692 tdma_fs_slv_pins: tdma_fs_slv { 693 mux { 694 groups = "tdma_fs_slv"; 695 function = "tdma"; 696 }; 697 }; 698 699 tdma_sclk_pins: tdma_sclk { 700 mux { 701 groups = "tdma_sclk"; 702 function = "tdma"; 703 }; 704 }; 705 706 tdma_sclk_slv_pins: tdma_sclk_slv { 707 mux { 708 groups = "tdma_sclk_slv"; 709 function = "tdma"; 710 }; 711 }; 712 713 tdmb_din0_pins: tdmb_din0 { 714 mux { 715 groups = "tdmb_din0"; 716 function = "tdmb"; 717 }; 718 }; 719 720 tdmb_din1_pins: tdmb_din1 { 721 mux { 722 groups = "tdmb_din1"; 723 function = "tdmb"; 724 }; 725 }; 726 727 tdmb_din2_pins: tdmb_din2 { 728 mux { 729 groups = "tdmb_din2"; 730 function = "tdmb"; 731 }; 732 }; 733 734 tdmb_din3_pins: tdmb_din3 { 735 mux { 736 groups = "tdmb_din3"; 737 function = "tdmb"; 738 }; 739 }; 740 741 tdmb_dout0_pins: tdmb_dout0 { 742 mux { 743 groups = "tdmb_dout0"; 744 function = "tdmb"; 745 }; 746 }; 747 748 tdmb_dout1_pins: tdmb_dout1 { 749 mux { 750 groups = "tdmb_dout1"; 751 function = "tdmb"; 752 }; 753 }; 754 755 tdmb_dout2_pins: tdmb_dout2 { 756 mux { 757 groups = "tdmb_dout2"; 758 function = "tdmb"; 759 }; 760 }; 761 762 tdmb_dout3_pins: tdmb_dout3 { 763 mux { 764 groups = "tdmb_dout3"; 765 function = "tdmb"; 766 }; 767 }; 768 769 tdmb_fs_pins: tdmb_fs { 770 mux { 771 groups = "tdmb_fs"; 772 function = "tdmb"; 773 }; 774 }; 775 776 tdmb_fs_slv_pins: tdmb_fs_slv { 777 mux { 778 groups = "tdmb_fs_slv"; 779 function = "tdmb"; 780 }; 781 }; 782 783 tdmb_sclk_pins: tdmb_sclk { 784 mux { 785 groups = "tdmb_sclk"; 786 function = "tdmb"; 787 }; 788 }; 789 790 tdmb_sclk_slv_pins: tdmb_sclk_slv { 791 mux { 792 groups = "tdmb_sclk_slv"; 793 function = "tdmb"; 794 }; 795 }; 796 797 tdmc_fs_pins: tdmc_fs { 798 mux { 799 groups = "tdmc_fs"; 800 function = "tdmc"; 801 }; 802 }; 803 804 tdmc_fs_slv_pins: tdmc_fs_slv { 805 mux { 806 groups = "tdmc_fs_slv"; 807 function = "tdmc"; 808 }; 809 }; 810 811 tdmc_sclk_pins: tdmc_sclk { 812 mux { 813 groups = "tdmc_sclk"; 814 function = "tdmc"; 815 }; 816 }; 817 818 tdmc_sclk_slv_pins: tdmc_sclk_slv { 819 mux { 820 groups = "tdmc_sclk_slv"; 821 function = "tdmc"; 822 }; 823 }; 824 825 tdmc_din0_pins: tdmc_din0 { 826 mux { 827 groups = "tdmc_din0"; 828 function = "tdmc"; 829 }; 830 }; 831 832 tdmc_din1_pins: tdmc_din1 { 833 mux { 834 groups = "tdmc_din1"; 835 function = "tdmc"; 836 }; 837 }; 838 839 tdmc_din2_pins: tdmc_din2 { 840 mux { 841 groups = "tdmc_din2"; 842 function = "tdmc"; 843 }; 844 }; 845 846 tdmc_din3_pins: tdmc_din3 { 847 mux { 848 groups = "tdmc_din3"; 849 function = "tdmc"; 850 }; 851 }; 852 853 tdmc_dout0_pins: tdmc_dout0 { 854 mux { 855 groups = "tdmc_dout0"; 856 function = "tdmc"; 857 }; 858 }; 859 860 tdmc_dout1_pins: tdmc_dout1 { 861 mux { 862 groups = "tdmc_dout1"; 863 function = "tdmc"; 864 }; 865 }; 866 867 tdmc_dout2_pins: tdmc_dout2 { 868 mux { 869 groups = "tdmc_dout2"; 870 function = "tdmc"; 871 }; 872 }; 873 874 tdmc_dout3_pins: tdmc_dout3 { 875 mux { 876 groups = "tdmc_dout3"; 877 function = "tdmc"; 878 }; 879 }; 880 881 uart_a_pins: uart_a { 882 mux { 883 groups = "uart_tx_a", 884 "uart_rx_a"; 885 function = "uart_a"; 886 }; 887 }; 888 889 uart_a_cts_rts_pins: uart_a_cts_rts { 890 mux { 891 groups = "uart_cts_a", 892 "uart_rts_a"; 893 function = "uart_a"; 894 }; 895 }; 896 897 uart_b_x_pins: uart_b_x { 898 mux { 899 groups = "uart_tx_b_x", 900 "uart_rx_b_x"; 901 function = "uart_b"; 902 }; 903 }; 904 905 uart_b_x_cts_rts_pins: uart_b_x_cts_rts { 906 mux { 907 groups = "uart_cts_b_x", 908 "uart_rts_b_x"; 909 function = "uart_b"; 910 }; 911 }; 912 913 uart_b_z_pins: uart_b_z { 914 mux { 915 groups = "uart_tx_b_z", 916 "uart_rx_b_z"; 917 function = "uart_b"; 918 }; 919 }; 920 921 uart_b_z_cts_rts_pins: uart_b_z_cts_rts { 922 mux { 923 groups = "uart_cts_b_z", 924 "uart_rts_b_z"; 925 function = "uart_b"; 926 }; 927 }; 928 929 uart_ao_b_z_pins: uart_ao_b_z { 930 mux { 931 groups = "uart_ao_tx_b_z", 932 "uart_ao_rx_b_z"; 933 function = "uart_ao_b_z"; 934 }; 935 }; 936 937 uart_ao_b_z_cts_rts_pins: uart_ao_b_z_cts_rts { 938 mux { 939 groups = "uart_ao_cts_b_z", 940 "uart_ao_rts_b_z"; 941 function = "uart_ao_b_z"; 942 }; 943 }; 944 }; 945 }; 946 947 hiubus: bus@ff63c000 { 948 compatible = "simple-bus"; 949 reg = <0x0 0xff63c000 0x0 0x1c00>; 950 #address-cells = <2>; 951 #size-cells = <2>; 952 ranges = <0x0 0x0 0x0 0xff63c000 0x0 0x1c00>; 953 954 sysctrl: system-controller@0 { 955 compatible = "amlogic,meson-axg-hhi-sysctrl", 956 "syscon", "simple-mfd"; 957 reg = <0 0 0 0x400>; 958 959 clkc: clock-controller { 960 compatible = "amlogic,axg-clkc"; 961 #clock-cells = <1>; 962 }; 963 }; 964 }; 965 966 mailbox: mailbox@ff63dc00 { 967 compatible = "amlogic,meson-gx-mhu", "amlogic,meson-gxbb-mhu"; 968 reg = <0 0xff63dc00 0 0x400>; 969 interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>, 970 <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>, 971 <GIC_SPI 210 IRQ_TYPE_EDGE_RISING>; 972 #mbox-cells = <1>; 973 }; 974 975 audio: bus@ff642000 { 976 compatible = "simple-bus"; 977 reg = <0x0 0xff642000 0x0 0x2000>; 978 #address-cells = <2>; 979 #size-cells = <2>; 980 ranges = <0x0 0x0 0x0 0xff642000 0x0 0x2000>; 981 982 clkc_audio: clock-controller@0 { 983 compatible = "amlogic,axg-audio-clkc"; 984 reg = <0x0 0x0 0x0 0xb4>; 985 #clock-cells = <1>; 986 987 clocks = <&clkc CLKID_AUDIO>, 988 <&clkc CLKID_MPLL0>, 989 <&clkc CLKID_MPLL1>, 990 <&clkc CLKID_MPLL2>, 991 <&clkc CLKID_MPLL3>, 992 <&clkc CLKID_HIFI_PLL>, 993 <&clkc CLKID_FCLK_DIV3>, 994 <&clkc CLKID_FCLK_DIV4>, 995 <&clkc CLKID_GP0_PLL>; 996 clock-names = "pclk", 997 "mst_in0", 998 "mst_in1", 999 "mst_in2", 1000 "mst_in3", 1001 "mst_in4", 1002 "mst_in5", 1003 "mst_in6", 1004 "mst_in7"; 1005 1006 resets = <&reset RESET_AUDIO>; 1007 }; 1008 1009 toddr_a: audio-controller@100 { 1010 compatible = "amlogic,axg-toddr"; 1011 reg = <0x0 0x100 0x0 0x1c>; 1012 #sound-dai-cells = <0>; 1013 sound-name-prefix = "TODDR_A"; 1014 interrupts = <GIC_SPI 84 IRQ_TYPE_EDGE_RISING>; 1015 clocks = <&clkc_audio AUD_CLKID_TODDR_A>; 1016 resets = <&arb AXG_ARB_TODDR_A>; 1017 status = "disabled"; 1018 }; 1019 1020 toddr_b: audio-controller@140 { 1021 compatible = "amlogic,axg-toddr"; 1022 reg = <0x0 0x140 0x0 0x1c>; 1023 #sound-dai-cells = <0>; 1024 sound-name-prefix = "TODDR_B"; 1025 interrupts = <GIC_SPI 85 IRQ_TYPE_EDGE_RISING>; 1026 clocks = <&clkc_audio AUD_CLKID_TODDR_B>; 1027 resets = <&arb AXG_ARB_TODDR_B>; 1028 status = "disabled"; 1029 }; 1030 1031 toddr_c: audio-controller@180 { 1032 compatible = "amlogic,axg-toddr"; 1033 reg = <0x0 0x180 0x0 0x1c>; 1034 #sound-dai-cells = <0>; 1035 sound-name-prefix = "TODDR_C"; 1036 interrupts = <GIC_SPI 86 IRQ_TYPE_EDGE_RISING>; 1037 clocks = <&clkc_audio AUD_CLKID_TODDR_C>; 1038 resets = <&arb AXG_ARB_TODDR_C>; 1039 status = "disabled"; 1040 }; 1041 1042 frddr_a: audio-controller@1c0 { 1043 compatible = "amlogic,axg-frddr"; 1044 reg = <0x0 0x1c0 0x0 0x1c>; 1045 #sound-dai-cells = <0>; 1046 sound-name-prefix = "FRDDR_A"; 1047 interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>; 1048 clocks = <&clkc_audio AUD_CLKID_FRDDR_A>; 1049 resets = <&arb AXG_ARB_FRDDR_A>; 1050 status = "disabled"; 1051 }; 1052 1053 frddr_b: audio-controller@200 { 1054 compatible = "amlogic,axg-frddr"; 1055 reg = <0x0 0x200 0x0 0x1c>; 1056 #sound-dai-cells = <0>; 1057 sound-name-prefix = "FRDDR_B"; 1058 interrupts = <GIC_SPI 89 IRQ_TYPE_EDGE_RISING>; 1059 clocks = <&clkc_audio AUD_CLKID_FRDDR_B>; 1060 resets = <&arb AXG_ARB_FRDDR_B>; 1061 status = "disabled"; 1062 }; 1063 1064 frddr_c: audio-controller@240 { 1065 compatible = "amlogic,axg-frddr"; 1066 reg = <0x0 0x240 0x0 0x1c>; 1067 #sound-dai-cells = <0>; 1068 sound-name-prefix = "FRDDR_C"; 1069 interrupts = <GIC_SPI 90 IRQ_TYPE_EDGE_RISING>; 1070 clocks = <&clkc_audio AUD_CLKID_FRDDR_C>; 1071 resets = <&arb AXG_ARB_FRDDR_C>; 1072 status = "disabled"; 1073 }; 1074 1075 arb: reset-controller@280 { 1076 compatible = "amlogic,meson-axg-audio-arb"; 1077 reg = <0x0 0x280 0x0 0x4>; 1078 #reset-cells = <1>; 1079 clocks = <&clkc_audio AUD_CLKID_DDR_ARB>; 1080 }; 1081 1082 tdmin_a: audio-controller@300 { 1083 compatible = "amlogic,axg-tdmin"; 1084 reg = <0x0 0x300 0x0 0x40>; 1085 sound-name-prefix = "TDMIN_A"; 1086 clocks = <&clkc_audio AUD_CLKID_TDMIN_A>, 1087 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK>, 1088 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK_SEL>, 1089 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>, 1090 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>; 1091 clock-names = "pclk", "sclk", "sclk_sel", 1092 "lrclk", "lrclk_sel"; 1093 status = "disabled"; 1094 }; 1095 1096 tdmin_b: audio-controller@340 { 1097 compatible = "amlogic,axg-tdmin"; 1098 reg = <0x0 0x340 0x0 0x40>; 1099 sound-name-prefix = "TDMIN_B"; 1100 clocks = <&clkc_audio AUD_CLKID_TDMIN_B>, 1101 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK>, 1102 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK_SEL>, 1103 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>, 1104 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>; 1105 clock-names = "pclk", "sclk", "sclk_sel", 1106 "lrclk", "lrclk_sel"; 1107 status = "disabled"; 1108 }; 1109 1110 tdmin_c: audio-controller@380 { 1111 compatible = "amlogic,axg-tdmin"; 1112 reg = <0x0 0x380 0x0 0x40>; 1113 sound-name-prefix = "TDMIN_C"; 1114 clocks = <&clkc_audio AUD_CLKID_TDMIN_C>, 1115 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK>, 1116 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK_SEL>, 1117 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>, 1118 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>; 1119 clock-names = "pclk", "sclk", "sclk_sel", 1120 "lrclk", "lrclk_sel"; 1121 status = "disabled"; 1122 }; 1123 1124 tdmin_lb: audio-controller@3c0 { 1125 compatible = "amlogic,axg-tdmin"; 1126 reg = <0x0 0x3c0 0x0 0x40>; 1127 sound-name-prefix = "TDMIN_LB"; 1128 clocks = <&clkc_audio AUD_CLKID_TDMIN_LB>, 1129 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK>, 1130 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK_SEL>, 1131 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>, 1132 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>; 1133 clock-names = "pclk", "sclk", "sclk_sel", 1134 "lrclk", "lrclk_sel"; 1135 status = "disabled"; 1136 }; 1137 1138 spdifout: audio-controller@480 { 1139 compatible = "amlogic,axg-spdifout"; 1140 reg = <0x0 0x480 0x0 0x50>; 1141 #sound-dai-cells = <0>; 1142 sound-name-prefix = "SPDIFOUT"; 1143 clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>, 1144 <&clkc_audio AUD_CLKID_SPDIFOUT_CLK>; 1145 clock-names = "pclk", "mclk"; 1146 status = "disabled"; 1147 }; 1148 1149 tdmout_a: audio-controller@500 { 1150 compatible = "amlogic,axg-tdmout"; 1151 reg = <0x0 0x500 0x0 0x40>; 1152 sound-name-prefix = "TDMOUT_A"; 1153 clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>, 1154 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>, 1155 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>, 1156 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>, 1157 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>; 1158 clock-names = "pclk", "sclk", "sclk_sel", 1159 "lrclk", "lrclk_sel"; 1160 status = "disabled"; 1161 }; 1162 1163 tdmout_b: audio-controller@540 { 1164 compatible = "amlogic,axg-tdmout"; 1165 reg = <0x0 0x540 0x0 0x40>; 1166 sound-name-prefix = "TDMOUT_B"; 1167 clocks = <&clkc_audio AUD_CLKID_TDMOUT_B>, 1168 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK>, 1169 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK_SEL>, 1170 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>, 1171 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>; 1172 clock-names = "pclk", "sclk", "sclk_sel", 1173 "lrclk", "lrclk_sel"; 1174 status = "disabled"; 1175 }; 1176 1177 tdmout_c: audio-controller@580 { 1178 compatible = "amlogic,axg-tdmout"; 1179 reg = <0x0 0x580 0x0 0x40>; 1180 sound-name-prefix = "TDMOUT_C"; 1181 clocks = <&clkc_audio AUD_CLKID_TDMOUT_C>, 1182 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK>, 1183 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK_SEL>, 1184 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>, 1185 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>; 1186 clock-names = "pclk", "sclk", "sclk_sel", 1187 "lrclk", "lrclk_sel"; 1188 status = "disabled"; 1189 }; 1190 }; 1191 1192 aobus: bus@ff800000 { 1193 compatible = "simple-bus"; 1194 reg = <0x0 0xff800000 0x0 0x100000>; 1195 #address-cells = <2>; 1196 #size-cells = <2>; 1197 ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>; 1198 1199 sysctrl_AO: sys-ctrl@0 { 1200 compatible = "amlogic,meson-axg-ao-sysctrl", "syscon", "simple-mfd"; 1201 reg = <0x0 0x0 0x0 0x100>; 1202 1203 clkc_AO: clock-controller { 1204 compatible = "amlogic,meson-axg-aoclkc"; 1205 #clock-cells = <1>; 1206 #reset-cells = <1>; 1207 }; 1208 }; 1209 1210 pinctrl_aobus: pinctrl@14 { 1211 compatible = "amlogic,meson-axg-aobus-pinctrl"; 1212 #address-cells = <2>; 1213 #size-cells = <2>; 1214 ranges; 1215 1216 gpio_ao: bank@14 { 1217 reg = <0x0 0x00014 0x0 0x8>, 1218 <0x0 0x0002c 0x0 0x4>, 1219 <0x0 0x00024 0x0 0x8>; 1220 reg-names = "mux", "pull", "gpio"; 1221 gpio-controller; 1222 #gpio-cells = <2>; 1223 gpio-ranges = <&pinctrl_aobus 0 0 15>; 1224 }; 1225 1226 i2c_ao_sck_4_pins: i2c_ao_sck_4 { 1227 mux { 1228 groups = "i2c_ao_sck_4"; 1229 function = "i2c_ao"; 1230 }; 1231 }; 1232 1233 i2c_ao_sck_8_pins: i2c_ao_sck_8 { 1234 mux { 1235 groups = "i2c_ao_sck_8"; 1236 function = "i2c_ao"; 1237 }; 1238 }; 1239 1240 i2c_ao_sck_10_pins: i2c_ao_sck_10 { 1241 mux { 1242 groups = "i2c_ao_sck_10"; 1243 function = "i2c_ao"; 1244 }; 1245 }; 1246 1247 i2c_ao_sda_5_pins: i2c_ao_sda_5 { 1248 mux { 1249 groups = "i2c_ao_sda_5"; 1250 function = "i2c_ao"; 1251 }; 1252 }; 1253 1254 i2c_ao_sda_9_pins: i2c_ao_sda_9 { 1255 mux { 1256 groups = "i2c_ao_sda_9"; 1257 function = "i2c_ao"; 1258 }; 1259 }; 1260 1261 i2c_ao_sda_11_pins: i2c_ao_sda_11 { 1262 mux { 1263 groups = "i2c_ao_sda_11"; 1264 function = "i2c_ao"; 1265 }; 1266 }; 1267 1268 remote_input_ao_pins: remote_input_ao { 1269 mux { 1270 groups = "remote_input_ao"; 1271 function = "remote_input_ao"; 1272 }; 1273 }; 1274 1275 uart_ao_a_pins: uart_ao_a { 1276 mux { 1277 groups = "uart_ao_tx_a", 1278 "uart_ao_rx_a"; 1279 function = "uart_ao_a"; 1280 }; 1281 }; 1282 1283 uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts { 1284 mux { 1285 groups = "uart_ao_cts_a", 1286 "uart_ao_rts_a"; 1287 function = "uart_ao_a"; 1288 }; 1289 }; 1290 1291 uart_ao_b_pins: uart_ao_b { 1292 mux { 1293 groups = "uart_ao_tx_b", 1294 "uart_ao_rx_b"; 1295 function = "uart_ao_b"; 1296 }; 1297 }; 1298 1299 uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts { 1300 mux { 1301 groups = "uart_ao_cts_b", 1302 "uart_ao_rts_b"; 1303 function = "uart_ao_b"; 1304 }; 1305 }; 1306 }; 1307 1308 sec_AO: ao-secure@140 { 1309 compatible = "amlogic,meson-gx-ao-secure", "syscon"; 1310 reg = <0x0 0x140 0x0 0x140>; 1311 amlogic,has-chip-id; 1312 }; 1313 1314 pwm_AO_cd: pwm@2000 { 1315 compatible = "amlogic,meson-axg-ao-pwm"; 1316 reg = <0x0 0x02000 0x0 0x20>; 1317 #pwm-cells = <3>; 1318 status = "disabled"; 1319 }; 1320 1321 uart_AO: serial@3000 { 1322 compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; 1323 reg = <0x0 0x3000 0x0 0x18>; 1324 interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>; 1325 clocks = <&xtal>, <&clkc_AO CLKID_AO_UART1>, <&xtal>; 1326 clock-names = "xtal", "pclk", "baud"; 1327 status = "disabled"; 1328 }; 1329 1330 uart_AO_B: serial@4000 { 1331 compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; 1332 reg = <0x0 0x4000 0x0 0x18>; 1333 interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>; 1334 clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>; 1335 clock-names = "xtal", "pclk", "baud"; 1336 status = "disabled"; 1337 }; 1338 1339 i2c_AO: i2c@5000 { 1340 compatible = "amlogic,meson-axg-i2c"; 1341 reg = <0x0 0x05000 0x0 0x20>; 1342 interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>; 1343 clocks = <&clkc CLKID_AO_I2C>; 1344 #address-cells = <1>; 1345 #size-cells = <0>; 1346 status = "disabled"; 1347 }; 1348 1349 pwm_AO_ab: pwm@7000 { 1350 compatible = "amlogic,meson-axg-ao-pwm"; 1351 reg = <0x0 0x07000 0x0 0x20>; 1352 #pwm-cells = <3>; 1353 status = "disabled"; 1354 }; 1355 1356 ir: ir@8000 { 1357 compatible = "amlogic,meson-gxbb-ir"; 1358 reg = <0x0 0x8000 0x0 0x20>; 1359 interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>; 1360 status = "disabled"; 1361 }; 1362 1363 saradc: adc@9000 { 1364 compatible = "amlogic,meson-axg-saradc", 1365 "amlogic,meson-saradc"; 1366 reg = <0x0 0x9000 0x0 0x38>; 1367 #io-channel-cells = <1>; 1368 interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>; 1369 clocks = <&xtal>, 1370 <&clkc_AO CLKID_AO_SAR_ADC>, 1371 <&clkc_AO CLKID_AO_SAR_ADC_CLK>, 1372 <&clkc_AO CLKID_AO_SAR_ADC_SEL>; 1373 clock-names = "clkin", "core", "adc_clk", "adc_sel"; 1374 status = "disabled"; 1375 }; 1376 }; 1377 1378 gic: interrupt-controller@ffc01000 { 1379 compatible = "arm,gic-400"; 1380 reg = <0x0 0xffc01000 0 0x1000>, 1381 <0x0 0xffc02000 0 0x2000>, 1382 <0x0 0xffc04000 0 0x2000>, 1383 <0x0 0xffc06000 0 0x2000>; 1384 interrupt-controller; 1385 interrupts = <GIC_PPI 9 1386 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 1387 #interrupt-cells = <3>; 1388 #address-cells = <0>; 1389 }; 1390 1391 cbus: bus@ffd00000 { 1392 compatible = "simple-bus"; 1393 reg = <0x0 0xffd00000 0x0 0x25000>; 1394 #address-cells = <2>; 1395 #size-cells = <2>; 1396 ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x25000>; 1397 1398 reset: reset-controller@1004 { 1399 compatible = "amlogic,meson-axg-reset"; 1400 reg = <0x0 0x01004 0x0 0x9c>; 1401 #reset-cells = <1>; 1402 }; 1403 1404 gpio_intc: interrupt-controller@f080 { 1405 compatible = "amlogic,meson-gpio-intc"; 1406 reg = <0x0 0xf080 0x0 0x10>; 1407 interrupt-controller; 1408 #interrupt-cells = <2>; 1409 amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>; 1410 status = "disabled"; 1411 }; 1412 1413 pwm_ab: pwm@1b000 { 1414 compatible = "amlogic,meson-axg-ee-pwm"; 1415 reg = <0x0 0x1b000 0x0 0x20>; 1416 #pwm-cells = <3>; 1417 status = "disabled"; 1418 }; 1419 1420 pwm_cd: pwm@1a000 { 1421 compatible = "amlogic,meson-axg-ee-pwm"; 1422 reg = <0x0 0x1a000 0x0 0x20>; 1423 #pwm-cells = <3>; 1424 status = "disabled"; 1425 }; 1426 1427 spicc0: spi@13000 { 1428 compatible = "amlogic,meson-axg-spicc"; 1429 reg = <0x0 0x13000 0x0 0x3c>; 1430 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 1431 clocks = <&clkc CLKID_SPICC0>; 1432 clock-names = "core"; 1433 #address-cells = <1>; 1434 #size-cells = <0>; 1435 status = "disabled"; 1436 }; 1437 1438 spicc1: spi@15000 { 1439 compatible = "amlogic,meson-axg-spicc"; 1440 reg = <0x0 0x15000 0x0 0x3c>; 1441 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 1442 clocks = <&clkc CLKID_SPICC1>; 1443 clock-names = "core"; 1444 #address-cells = <1>; 1445 #size-cells = <0>; 1446 status = "disabled"; 1447 }; 1448 1449 i2c3: i2c@1c000 { 1450 compatible = "amlogic,meson-axg-i2c"; 1451 reg = <0x0 0x1c000 0x0 0x20>; 1452 interrupts = <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>; 1453 clocks = <&clkc CLKID_I2C>; 1454 #address-cells = <1>; 1455 #size-cells = <0>; 1456 status = "disabled"; 1457 }; 1458 1459 i2c2: i2c@1d000 { 1460 compatible = "amlogic,meson-axg-i2c"; 1461 reg = <0x0 0x1d000 0x0 0x20>; 1462 interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>; 1463 clocks = <&clkc CLKID_I2C>; 1464 #address-cells = <1>; 1465 #size-cells = <0>; 1466 status = "disabled"; 1467 }; 1468 1469 i2c1: i2c@1e000 { 1470 compatible = "amlogic,meson-axg-i2c"; 1471 reg = <0x0 0x1e000 0x0 0x20>; 1472 interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>; 1473 clocks = <&clkc CLKID_I2C>; 1474 #address-cells = <1>; 1475 #size-cells = <0>; 1476 status = "disabled"; 1477 }; 1478 1479 i2c0: i2c@1f000 { 1480 compatible = "amlogic,meson-axg-i2c"; 1481 reg = <0x0 0x1f000 0x0 0x20>; 1482 interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>; 1483 clocks = <&clkc CLKID_I2C>; 1484 #address-cells = <1>; 1485 #size-cells = <0>; 1486 status = "disabled"; 1487 }; 1488 1489 uart_B: serial@23000 { 1490 compatible = "amlogic,meson-gx-uart"; 1491 reg = <0x0 0x23000 0x0 0x18>; 1492 interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>; 1493 status = "disabled"; 1494 clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>; 1495 clock-names = "xtal", "pclk", "baud"; 1496 }; 1497 1498 uart_A: serial@24000 { 1499 compatible = "amlogic,meson-gx-uart"; 1500 reg = <0x0 0x24000 0x0 0x18>; 1501 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; 1502 status = "disabled"; 1503 clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>; 1504 clock-names = "xtal", "pclk", "baud"; 1505 }; 1506 }; 1507 1508 apb: bus@ffe00000 { 1509 compatible = "simple-bus"; 1510 reg = <0x0 0xffe00000 0x0 0x200000>; 1511 #address-cells = <2>; 1512 #size-cells = <2>; 1513 ranges = <0x0 0x0 0x0 0xffe00000 0x0 0x200000>; 1514 1515 sd_emmc_b: sd@5000 { 1516 compatible = "amlogic,meson-axg-mmc"; 1517 reg = <0x0 0x5000 0x0 0x800>; 1518 interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>; 1519 status = "disabled"; 1520 clocks = <&clkc CLKID_SD_EMMC_B>, 1521 <&clkc CLKID_SD_EMMC_B_CLK0>, 1522 <&clkc CLKID_FCLK_DIV2>; 1523 clock-names = "core", "clkin0", "clkin1"; 1524 resets = <&reset RESET_SD_EMMC_B>; 1525 }; 1526 1527 sd_emmc_c: mmc@7000 { 1528 compatible = "amlogic,meson-axg-mmc"; 1529 reg = <0x0 0x7000 0x0 0x800>; 1530 interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>; 1531 status = "disabled"; 1532 clocks = <&clkc CLKID_SD_EMMC_C>, 1533 <&clkc CLKID_SD_EMMC_C_CLK0>, 1534 <&clkc CLKID_FCLK_DIV2>; 1535 clock-names = "core", "clkin0", "clkin1"; 1536 resets = <&reset RESET_SD_EMMC_C>; 1537 }; 1538 }; 1539 1540 sram: sram@fffc0000 { 1541 compatible = "amlogic,meson-axg-sram", "mmio-sram"; 1542 reg = <0x0 0xfffc0000 0x0 0x20000>; 1543 #address-cells = <1>; 1544 #size-cells = <1>; 1545 ranges = <0 0x0 0xfffc0000 0x20000>; 1546 1547 cpu_scp_lpri: scp-shmem@0 { 1548 compatible = "amlogic,meson-axg-scp-shmem"; 1549 reg = <0x13000 0x400>; 1550 }; 1551 1552 cpu_scp_hpri: scp-shmem@200 { 1553 compatible = "amlogic,meson-axg-scp-shmem"; 1554 reg = <0x13400 0x400>; 1555 }; 1556 }; 1557 }; 1558 1559 timer { 1560 compatible = "arm,armv8-timer"; 1561 interrupts = <GIC_PPI 13 1562 (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 1563 <GIC_PPI 14 1564 (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 1565 <GIC_PPI 11 1566 (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 1567 <GIC_PPI 10 1568 (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>; 1569 }; 1570 1571 xtal: xtal-clk { 1572 compatible = "fixed-clock"; 1573 clock-frequency = <24000000>; 1574 clock-output-names = "xtal"; 1575 #clock-cells = <0>; 1576 }; 1577}; 1578