1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2018 Amlogic, Inc. All rights reserved.
6 #include <dt-bindings/gpio/gpio.h>
7 #include <dt-bindings/clock/g12a-clkc.h>
8 #include <dt-bindings/interrupt-controller/irq.h>
9 #include <dt-bindings/interrupt-controller/arm-gic.h>
12 compatible = "amlogic,g12a";
14 interrupt-parent = <&gic>;
19 #address-cells = <0x2>;
24 compatible = "arm,cortex-a53";
26 enable-method = "psci";
27 next-level-cache = <&l2>;
32 compatible = "arm,cortex-a53";
34 enable-method = "psci";
35 next-level-cache = <&l2>;
40 compatible = "arm,cortex-a53";
42 enable-method = "psci";
43 next-level-cache = <&l2>;
48 compatible = "arm,cortex-a53";
50 enable-method = "psci";
51 next-level-cache = <&l2>;
60 compatible = "amlogic,meson-gxbb-efuse";
61 clocks = <&clkc CLKID_EFUSE>;
68 compatible = "arm,psci-1.0";
77 /* 3 MiB reserved for ARM Trusted Firmware (BL31) */
78 secmon_reserved: secmon@5000000 {
79 reg = <0x0 0x05000000 0x0 0x300000>;
85 compatible = "amlogic,meson-gxbb-sm";
89 compatible = "simple-bus";
95 compatible = "simple-bus";
96 reg = <0x0 0xff600000 0x0 0x200000>;
99 ranges = <0x0 0x0 0x0 0xff600000 0x0 0x200000>;
102 compatible = "simple-bus";
103 reg = <0x0 0x34400 0x0 0x400>;
104 #address-cells = <2>;
106 ranges = <0x0 0x0 0x0 0x34400 0x0 0x400>;
110 compatible = "simple-bus";
111 reg = <0x0 0x3c000 0x0 0x1400>;
112 #address-cells = <2>;
114 ranges = <0x0 0x0 0x0 0x3c000 0x0 0x1400>;
116 hhi: system-controller@0 {
117 compatible = "amlogic,meson-gx-hhi-sysctrl",
118 "simple-mfd", "syscon";
121 clkc: clock-controller {
122 compatible = "amlogic,g12a-clkc";
125 clock-names = "xtal";
131 aobus: bus@ff800000 {
132 compatible = "simple-bus";
133 reg = <0x0 0xff800000 0x0 0x100000>;
134 #address-cells = <2>;
136 ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
139 compatible = "amlogic,meson-gx-ao-sysctrl",
140 "simple-mfd", "syscon";
141 reg = <0x0 0x0 0x0 0x100>;
142 #address-cells = <2>;
144 ranges = <0x0 0x0 0x0 0x0 0x0 0x100>;
146 clkc_AO: clock-controller {
147 compatible = "amlogic,meson-g12a-aoclkc";
150 clocks = <&xtal>, <&clkc CLKID_CLK81>;
151 clock-names = "xtal", "mpeg-clk";
155 sec_AO: ao-secure@140 {
156 compatible = "amlogic,meson-gx-ao-secure", "syscon";
157 reg = <0x0 0x140 0x0 0x140>;
161 uart_AO: serial@3000 {
162 compatible = "amlogic,meson-gx-uart",
163 "amlogic,meson-ao-uart";
164 reg = <0x0 0x3000 0x0 0x18>;
165 interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
166 clocks = <&xtal>, <&xtal>, <&xtal>;
167 clock-names = "xtal", "pclk", "baud";
171 uart_AO_B: serial@4000 {
172 compatible = "amlogic,meson-gx-uart",
173 "amlogic,meson-ao-uart";
174 reg = <0x0 0x4000 0x0 0x18>;
175 interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
176 clocks = <&xtal>, <&xtal>, <&xtal>;
177 clock-names = "xtal", "pclk", "baud";
182 gic: interrupt-controller@ffc01000 {
183 compatible = "arm,gic-400";
184 reg = <0x0 0xffc01000 0 0x1000>,
185 <0x0 0xffc02000 0 0x2000>,
186 <0x0 0xffc04000 0 0x2000>,
187 <0x0 0xffc06000 0 0x2000>;
188 interrupt-controller;
189 interrupts = <GIC_PPI 9
190 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
191 #interrupt-cells = <3>;
192 #address-cells = <0>;
196 compatible = "simple-bus";
197 reg = <0x0 0xffd00000 0x0 0x100000>;
198 #address-cells = <2>;
200 ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x100000>;
202 clk_msr: clock-measure@18000 {
203 compatible = "amlogic,meson-g12a-clk-measure";
204 reg = <0x0 0x18000 0x0 0x10>;
210 compatible = "arm,armv8-timer";
211 interrupts = <GIC_PPI 13
212 (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
214 (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
216 (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
218 (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
222 compatible = "fixed-clock";
223 clock-frequency = <24000000>;
224 clock-output-names = "xtal";