19d59b708SYixun Lan/* 29d59b708SYixun Lan * Copyright (c) 2017 Amlogic, Inc. All rights reserved. 39d59b708SYixun Lan * 49d59b708SYixun Lan * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 59d59b708SYixun Lan */ 69d59b708SYixun Lan 79d59b708SYixun Lan#include <dt-bindings/gpio/gpio.h> 89d59b708SYixun Lan#include <dt-bindings/interrupt-controller/irq.h> 99d59b708SYixun Lan#include <dt-bindings/interrupt-controller/arm-gic.h> 109d59b708SYixun Lan 119d59b708SYixun Lan/ { 129d59b708SYixun Lan compatible = "amlogic,meson-axg"; 139d59b708SYixun Lan 149d59b708SYixun Lan interrupt-parent = <&gic>; 159d59b708SYixun Lan #address-cells = <2>; 169d59b708SYixun Lan #size-cells = <2>; 179d59b708SYixun Lan 189d59b708SYixun Lan reserved-memory { 199d59b708SYixun Lan #address-cells = <2>; 209d59b708SYixun Lan #size-cells = <2>; 219d59b708SYixun Lan ranges; 229d59b708SYixun Lan 239d59b708SYixun Lan /* 16 MiB reserved for Hardware ROM Firmware */ 249d59b708SYixun Lan hwrom_reserved: hwrom@0 { 259d59b708SYixun Lan reg = <0x0 0x0 0x0 0x1000000>; 269d59b708SYixun Lan no-map; 279d59b708SYixun Lan }; 289d59b708SYixun Lan 299d59b708SYixun Lan /* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */ 30a5494aedSArnd Bergmann secmon_reserved: secmon@5000000 { 319d59b708SYixun Lan reg = <0x0 0x05000000 0x0 0x300000>; 329d59b708SYixun Lan no-map; 339d59b708SYixun Lan }; 349d59b708SYixun Lan }; 359d59b708SYixun Lan 369d59b708SYixun Lan cpus { 379d59b708SYixun Lan #address-cells = <0x2>; 389d59b708SYixun Lan #size-cells = <0x0>; 399d59b708SYixun Lan 409d59b708SYixun Lan cpu0: cpu@0 { 419d59b708SYixun Lan device_type = "cpu"; 429d59b708SYixun Lan compatible = "arm,cortex-a53", "arm,armv8"; 439d59b708SYixun Lan reg = <0x0 0x0>; 449d59b708SYixun Lan enable-method = "psci"; 459d59b708SYixun Lan next-level-cache = <&l2>; 469d59b708SYixun Lan }; 479d59b708SYixun Lan 489d59b708SYixun Lan cpu1: cpu@1 { 499d59b708SYixun Lan device_type = "cpu"; 509d59b708SYixun Lan compatible = "arm,cortex-a53", "arm,armv8"; 519d59b708SYixun Lan reg = <0x0 0x1>; 529d59b708SYixun Lan enable-method = "psci"; 539d59b708SYixun Lan next-level-cache = <&l2>; 549d59b708SYixun Lan }; 559d59b708SYixun Lan 569d59b708SYixun Lan cpu2: cpu@2 { 579d59b708SYixun Lan device_type = "cpu"; 589d59b708SYixun Lan compatible = "arm,cortex-a53", "arm,armv8"; 599d59b708SYixun Lan reg = <0x0 0x2>; 609d59b708SYixun Lan enable-method = "psci"; 619d59b708SYixun Lan next-level-cache = <&l2>; 629d59b708SYixun Lan }; 639d59b708SYixun Lan 649d59b708SYixun Lan cpu3: cpu@3 { 659d59b708SYixun Lan device_type = "cpu"; 669d59b708SYixun Lan compatible = "arm,cortex-a53", "arm,armv8"; 679d59b708SYixun Lan reg = <0x0 0x3>; 689d59b708SYixun Lan enable-method = "psci"; 699d59b708SYixun Lan next-level-cache = <&l2>; 709d59b708SYixun Lan }; 719d59b708SYixun Lan 729d59b708SYixun Lan l2: l2-cache0 { 739d59b708SYixun Lan compatible = "cache"; 749d59b708SYixun Lan }; 759d59b708SYixun Lan }; 769d59b708SYixun Lan 779d59b708SYixun Lan arm-pmu { 789d59b708SYixun Lan compatible = "arm,cortex-a53-pmu"; 799d59b708SYixun Lan interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, 809d59b708SYixun Lan <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, 819d59b708SYixun Lan <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>, 829d59b708SYixun Lan <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 839d59b708SYixun Lan interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 849d59b708SYixun Lan }; 859d59b708SYixun Lan 869d59b708SYixun Lan psci { 879d59b708SYixun Lan compatible = "arm,psci-1.0"; 889d59b708SYixun Lan method = "smc"; 899d59b708SYixun Lan }; 909d59b708SYixun Lan 919d59b708SYixun Lan timer { 929d59b708SYixun Lan compatible = "arm,armv8-timer"; 939d59b708SYixun Lan interrupts = <GIC_PPI 13 949d59b708SYixun Lan (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 959d59b708SYixun Lan <GIC_PPI 14 969d59b708SYixun Lan (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 979d59b708SYixun Lan <GIC_PPI 11 989d59b708SYixun Lan (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 999d59b708SYixun Lan <GIC_PPI 10 1009d59b708SYixun Lan (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>; 1019d59b708SYixun Lan }; 1029d59b708SYixun Lan 1039d59b708SYixun Lan xtal: xtal-clk { 1049d59b708SYixun Lan compatible = "fixed-clock"; 1059d59b708SYixun Lan clock-frequency = <24000000>; 1069d59b708SYixun Lan clock-output-names = "xtal"; 1079d59b708SYixun Lan #clock-cells = <0>; 1089d59b708SYixun Lan }; 1099d59b708SYixun Lan 1109d59b708SYixun Lan soc { 1119d59b708SYixun Lan compatible = "simple-bus"; 1129d59b708SYixun Lan #address-cells = <2>; 1139d59b708SYixun Lan #size-cells = <2>; 1149d59b708SYixun Lan ranges; 1159d59b708SYixun Lan 1160cb6c604SKevin Hilman cbus: bus@ffd00000 { 1179d59b708SYixun Lan compatible = "simple-bus"; 1189d59b708SYixun Lan reg = <0x0 0xffd00000 0x0 0x25000>; 1199d59b708SYixun Lan #address-cells = <2>; 1209d59b708SYixun Lan #size-cells = <2>; 1219d59b708SYixun Lan ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x25000>; 1229d59b708SYixun Lan 1234a81e5ddSJian Hu pwm_ab: pwm@1b000 { 1244a81e5ddSJian Hu compatible = "amlogic,meson-axg-ee-pwm"; 1254a81e5ddSJian Hu reg = <0x0 0x1b000 0x0 0x20>; 1264a81e5ddSJian Hu #pwm-cells = <3>; 1274a81e5ddSJian Hu status = "disabled"; 1284a81e5ddSJian Hu }; 1294a81e5ddSJian Hu 1304a81e5ddSJian Hu pwm_cd: pwm@1a000 { 1314a81e5ddSJian Hu compatible = "amlogic,meson-axg-ee-pwm"; 1324a81e5ddSJian Hu reg = <0x0 0x1a000 0x0 0x20>; 1334a81e5ddSJian Hu #pwm-cells = <3>; 1344a81e5ddSJian Hu status = "disabled"; 1354a81e5ddSJian Hu }; 1364a81e5ddSJian Hu 13743b9f617SYixun Lan reset: reset-controller@1004 { 13843b9f617SYixun Lan compatible = "amlogic,meson-axg-reset"; 13943b9f617SYixun Lan reg = <0x0 0x01004 0x0 0x9c>; 14043b9f617SYixun Lan #reset-cells = <1>; 14143b9f617SYixun Lan }; 14243b9f617SYixun Lan 1439d59b708SYixun Lan uart_A: serial@24000 { 1449d59b708SYixun Lan compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; 1459d59b708SYixun Lan reg = <0x0 0x24000 0x0 0x14>; 1469d59b708SYixun Lan interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; 1479d59b708SYixun Lan status = "disabled"; 1489d59b708SYixun Lan }; 1499d59b708SYixun Lan 1509d59b708SYixun Lan uart_B: serial@23000 { 1519d59b708SYixun Lan compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; 1529d59b708SYixun Lan reg = <0x0 0x23000 0x0 0x14>; 1539d59b708SYixun Lan interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>; 1549d59b708SYixun Lan status = "disabled"; 1559d59b708SYixun Lan }; 1569d59b708SYixun Lan }; 1579d59b708SYixun Lan 1589d59b708SYixun Lan gic: interrupt-controller@ffc01000 { 1599d59b708SYixun Lan compatible = "arm,gic-400"; 1609d59b708SYixun Lan reg = <0x0 0xffc01000 0 0x1000>, 1619d59b708SYixun Lan <0x0 0xffc02000 0 0x2000>, 1629d59b708SYixun Lan <0x0 0xffc04000 0 0x2000>, 1639d59b708SYixun Lan <0x0 0xffc06000 0 0x2000>; 1649d59b708SYixun Lan interrupt-controller; 1659d59b708SYixun Lan interrupts = <GIC_PPI 9 1669d59b708SYixun Lan (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 1679d59b708SYixun Lan #interrupt-cells = <3>; 1689d59b708SYixun Lan #address-cells = <0>; 1699d59b708SYixun Lan }; 1709d59b708SYixun Lan 171abfc18f9SQiufang Dai hiubus: bus@ff63c000 { 172abfc18f9SQiufang Dai compatible = "simple-bus"; 173abfc18f9SQiufang Dai reg = <0x0 0xff63c000 0x0 0x1c00>; 174abfc18f9SQiufang Dai #address-cells = <2>; 175abfc18f9SQiufang Dai #size-cells = <2>; 176abfc18f9SQiufang Dai ranges = <0x0 0x0 0x0 0xff63c000 0x0 0x1c00>; 177abfc18f9SQiufang Dai 178abfc18f9SQiufang Dai clkc: clock-controller@0 { 179abfc18f9SQiufang Dai compatible = "amlogic,axg-clkc"; 180abfc18f9SQiufang Dai #clock-cells = <1>; 181abfc18f9SQiufang Dai reg = <0x0 0x0 0x0 0x320>; 182abfc18f9SQiufang Dai }; 183abfc18f9SQiufang Dai }; 184abfc18f9SQiufang Dai 1859d59b708SYixun Lan mailbox: mailbox@ff63dc00 { 1869d59b708SYixun Lan compatible = "amlogic,meson-gx-mhu", "amlogic,meson-gxbb-mhu"; 1879d59b708SYixun Lan reg = <0 0xff63dc00 0 0x400>; 1889d59b708SYixun Lan interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>, 1899d59b708SYixun Lan <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>, 1909d59b708SYixun Lan <GIC_SPI 210 IRQ_TYPE_EDGE_RISING>; 1919d59b708SYixun Lan #mbox-cells = <1>; 1929d59b708SYixun Lan }; 1939d59b708SYixun Lan 194de05ded6SXingyu Chen periphs: periphs@ff634000 { 195de05ded6SXingyu Chen compatible = "simple-bus"; 196de05ded6SXingyu Chen reg = <0x0 0xff634000 0x0 0x2000>; 197de05ded6SXingyu Chen #address-cells = <2>; 198de05ded6SXingyu Chen #size-cells = <2>; 199de05ded6SXingyu Chen ranges = <0x0 0x0 0x0 0xff634000 0x0 0x2000>; 200de05ded6SXingyu Chen 201de05ded6SXingyu Chen pinctrl_periphs: pinctrl@480 { 202de05ded6SXingyu Chen compatible = "amlogic,meson-axg-periphs-pinctrl"; 203de05ded6SXingyu Chen #address-cells = <2>; 204de05ded6SXingyu Chen #size-cells = <2>; 205de05ded6SXingyu Chen ranges; 206de05ded6SXingyu Chen 207de05ded6SXingyu Chen gpio: bank@480 { 208de05ded6SXingyu Chen reg = <0x0 0x00480 0x0 0x40>, 209de05ded6SXingyu Chen <0x0 0x004e8 0x0 0x14>, 210de05ded6SXingyu Chen <0x0 0x00520 0x0 0x14>, 211de05ded6SXingyu Chen <0x0 0x00430 0x0 0x3c>; 212de05ded6SXingyu Chen reg-names = "mux", "pull", "pull-enable", "gpio"; 213de05ded6SXingyu Chen gpio-controller; 214de05ded6SXingyu Chen #gpio-cells = <2>; 215de05ded6SXingyu Chen gpio-ranges = <&pinctrl_periphs 0 0 86>; 216de05ded6SXingyu Chen }; 2174a81e5ddSJian Hu 2184a81e5ddSJian Hu pwm_a_a_pins: pwm_a_a { 2194a81e5ddSJian Hu mux { 2204a81e5ddSJian Hu groups = "pwm_a_a"; 2214a81e5ddSJian Hu function = "pwm_a"; 2224a81e5ddSJian Hu }; 2234a81e5ddSJian Hu }; 2244a81e5ddSJian Hu 2254a81e5ddSJian Hu pwm_a_x18_pins: pwm_a_x18 { 2264a81e5ddSJian Hu mux { 2274a81e5ddSJian Hu groups = "pwm_a_x18"; 2284a81e5ddSJian Hu function = "pwm_a"; 2294a81e5ddSJian Hu }; 2304a81e5ddSJian Hu }; 2314a81e5ddSJian Hu 2324a81e5ddSJian Hu pwm_a_x20_pins: pwm_a_x20 { 2334a81e5ddSJian Hu mux { 2344a81e5ddSJian Hu groups = "pwm_a_x20"; 2354a81e5ddSJian Hu function = "pwm_a"; 2364a81e5ddSJian Hu }; 2374a81e5ddSJian Hu }; 2384a81e5ddSJian Hu 2394a81e5ddSJian Hu pwm_a_z_pins: pwm_a_z { 2404a81e5ddSJian Hu mux { 2414a81e5ddSJian Hu groups = "pwm_a_z"; 2424a81e5ddSJian Hu function = "pwm_a"; 2434a81e5ddSJian Hu }; 2444a81e5ddSJian Hu }; 2454a81e5ddSJian Hu 2464a81e5ddSJian Hu pwm_b_a_pins: pwm_b_a { 2474a81e5ddSJian Hu mux { 2484a81e5ddSJian Hu groups = "pwm_b_a"; 2494a81e5ddSJian Hu function = "pwm_b"; 2504a81e5ddSJian Hu }; 2514a81e5ddSJian Hu }; 2524a81e5ddSJian Hu 2534a81e5ddSJian Hu pwm_b_x_pins: pwm_b_x { 2544a81e5ddSJian Hu mux { 2554a81e5ddSJian Hu groups = "pwm_b_x"; 2564a81e5ddSJian Hu function = "pwm_b"; 2574a81e5ddSJian Hu }; 2584a81e5ddSJian Hu }; 2594a81e5ddSJian Hu 2604a81e5ddSJian Hu pwm_b_z_pins: pwm_b_z { 2614a81e5ddSJian Hu mux { 2624a81e5ddSJian Hu groups = "pwm_b_z"; 2634a81e5ddSJian Hu function = "pwm_b"; 2644a81e5ddSJian Hu }; 2654a81e5ddSJian Hu }; 2664a81e5ddSJian Hu 2674a81e5ddSJian Hu pwm_c_a_pins: pwm_c_a { 2684a81e5ddSJian Hu mux { 2694a81e5ddSJian Hu groups = "pwm_c_a"; 2704a81e5ddSJian Hu function = "pwm_c"; 2714a81e5ddSJian Hu }; 2724a81e5ddSJian Hu }; 2734a81e5ddSJian Hu 2744a81e5ddSJian Hu pwm_c_x10_pins: pwm_c_x10 { 2754a81e5ddSJian Hu mux { 2764a81e5ddSJian Hu groups = "pwm_c_x10"; 2774a81e5ddSJian Hu function = "pwm_c"; 2784a81e5ddSJian Hu }; 2794a81e5ddSJian Hu }; 2804a81e5ddSJian Hu 2814a81e5ddSJian Hu pwm_c_x17_pins: pwm_c_x17 { 2824a81e5ddSJian Hu mux { 2834a81e5ddSJian Hu groups = "pwm_c_x17"; 2844a81e5ddSJian Hu function = "pwm_c"; 2854a81e5ddSJian Hu }; 2864a81e5ddSJian Hu }; 2874a81e5ddSJian Hu 2884a81e5ddSJian Hu pwm_d_x11_pins: pwm_d_x11 { 2894a81e5ddSJian Hu mux { 2904a81e5ddSJian Hu groups = "pwm_d_x11"; 2914a81e5ddSJian Hu function = "pwm_d"; 2924a81e5ddSJian Hu }; 2934a81e5ddSJian Hu }; 2944a81e5ddSJian Hu 2954a81e5ddSJian Hu pwm_d_x16_pins: pwm_d_x16 { 2964a81e5ddSJian Hu mux { 2974a81e5ddSJian Hu groups = "pwm_d_x16"; 2984a81e5ddSJian Hu function = "pwm_d"; 2994a81e5ddSJian Hu }; 3004a81e5ddSJian Hu }; 301de05ded6SXingyu Chen }; 302de05ded6SXingyu Chen }; 303de05ded6SXingyu Chen 3049d59b708SYixun Lan sram: sram@fffc0000 { 3059d59b708SYixun Lan compatible = "amlogic,meson-axg-sram", "mmio-sram"; 3069d59b708SYixun Lan reg = <0x0 0xfffc0000 0x0 0x20000>; 3079d59b708SYixun Lan #address-cells = <1>; 3089d59b708SYixun Lan #size-cells = <1>; 3099d59b708SYixun Lan ranges = <0 0x0 0xfffc0000 0x20000>; 3109d59b708SYixun Lan 3119d59b708SYixun Lan cpu_scp_lpri: scp-shmem@0 { 3129d59b708SYixun Lan compatible = "amlogic,meson-axg-scp-shmem"; 3139d59b708SYixun Lan reg = <0x13000 0x400>; 3149d59b708SYixun Lan }; 3159d59b708SYixun Lan 3169d59b708SYixun Lan cpu_scp_hpri: scp-shmem@200 { 3179d59b708SYixun Lan compatible = "amlogic,meson-axg-scp-shmem"; 3189d59b708SYixun Lan reg = <0x13400 0x400>; 3199d59b708SYixun Lan }; 3209d59b708SYixun Lan }; 3219d59b708SYixun Lan 3220cb6c604SKevin Hilman aobus: bus@ff800000 { 3239d59b708SYixun Lan compatible = "simple-bus"; 3249d59b708SYixun Lan reg = <0x0 0xff800000 0x0 0x100000>; 3259d59b708SYixun Lan #address-cells = <2>; 3269d59b708SYixun Lan #size-cells = <2>; 3279d59b708SYixun Lan ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>; 3289d59b708SYixun Lan 329de05ded6SXingyu Chen pinctrl_aobus: pinctrl@14 { 330de05ded6SXingyu Chen compatible = "amlogic,meson-axg-aobus-pinctrl"; 331de05ded6SXingyu Chen #address-cells = <2>; 332de05ded6SXingyu Chen #size-cells = <2>; 333de05ded6SXingyu Chen ranges; 334de05ded6SXingyu Chen 335de05ded6SXingyu Chen gpio_ao: bank@14 { 336de05ded6SXingyu Chen reg = <0x0 0x00014 0x0 0x8>, 337de05ded6SXingyu Chen <0x0 0x0002c 0x0 0x4>, 338de05ded6SXingyu Chen <0x0 0x00024 0x0 0x8>; 339de05ded6SXingyu Chen reg-names = "mux", "pull", "gpio"; 340de05ded6SXingyu Chen gpio-controller; 341de05ded6SXingyu Chen #gpio-cells = <2>; 342de05ded6SXingyu Chen gpio-ranges = <&pinctrl_aobus 0 0 15>; 343de05ded6SXingyu Chen }; 344de05ded6SXingyu Chen }; 345de05ded6SXingyu Chen 3464a81e5ddSJian Hu pwm_AO_ab: pwm@7000 { 3474a81e5ddSJian Hu compatible = "amlogic,meson-axg-ao-pwm"; 3484a81e5ddSJian Hu reg = <0x0 0x07000 0x0 0x20>; 3494a81e5ddSJian Hu #pwm-cells = <3>; 3504a81e5ddSJian Hu status = "disabled"; 3514a81e5ddSJian Hu }; 3524a81e5ddSJian Hu 3534a81e5ddSJian Hu pwm_AO_cd: pwm@2000 { 3544a81e5ddSJian Hu compatible = "amlogic,axg-ao-pwm"; 3554a81e5ddSJian Hu reg = <0x0 0x02000 0x0 0x20>; 3564a81e5ddSJian Hu #pwm-cells = <3>; 3574a81e5ddSJian Hu status = "disabled"; 3584a81e5ddSJian Hu }; 3594a81e5ddSJian Hu 3609d59b708SYixun Lan uart_AO: serial@3000 { 3619d59b708SYixun Lan compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; 3629d59b708SYixun Lan reg = <0x0 0x3000 0x0 0x18>; 3639d59b708SYixun Lan interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>; 3649d59b708SYixun Lan clocks = <&xtal>, <&xtal>, <&xtal>; 3659d59b708SYixun Lan clock-names = "xtal", "pclk", "baud"; 3669d59b708SYixun Lan status = "disabled"; 3679d59b708SYixun Lan }; 3689d59b708SYixun Lan 3699d59b708SYixun Lan uart_AO_B: serial@4000 { 3709d59b708SYixun Lan compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; 3719d59b708SYixun Lan reg = <0x0 0x4000 0x0 0x18>; 3729d59b708SYixun Lan interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>; 3739d59b708SYixun Lan clocks = <&xtal>, <&xtal>, <&xtal>; 3749d59b708SYixun Lan clock-names = "xtal", "pclk", "baud"; 3759d59b708SYixun Lan status = "disabled"; 3769d59b708SYixun Lan }; 3779d59b708SYixun Lan }; 3789d59b708SYixun Lan }; 3799d59b708SYixun Lan}; 380