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>
1006b7a631SYixun Lan#include <dt-bindings/clock/axg-clkc.h>
119d59b708SYixun Lan
129d59b708SYixun Lan/ {
139d59b708SYixun Lan	compatible = "amlogic,meson-axg";
149d59b708SYixun Lan
159d59b708SYixun Lan	interrupt-parent = <&gic>;
169d59b708SYixun Lan	#address-cells = <2>;
179d59b708SYixun Lan	#size-cells = <2>;
189d59b708SYixun Lan
199d59b708SYixun Lan	reserved-memory {
209d59b708SYixun Lan		#address-cells = <2>;
219d59b708SYixun Lan		#size-cells = <2>;
229d59b708SYixun Lan		ranges;
239d59b708SYixun Lan
249d59b708SYixun Lan		/* 16 MiB reserved for Hardware ROM Firmware */
259d59b708SYixun Lan		hwrom_reserved: hwrom@0 {
269d59b708SYixun Lan			reg = <0x0 0x0 0x0 0x1000000>;
279d59b708SYixun Lan			no-map;
289d59b708SYixun Lan		};
299d59b708SYixun Lan
309d59b708SYixun Lan		/* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */
31a5494aedSArnd Bergmann		secmon_reserved: secmon@5000000 {
329d59b708SYixun Lan			reg = <0x0 0x05000000 0x0 0x300000>;
339d59b708SYixun Lan			no-map;
349d59b708SYixun Lan		};
359d59b708SYixun Lan	};
369d59b708SYixun Lan
379d59b708SYixun Lan	cpus {
389d59b708SYixun Lan		#address-cells = <0x2>;
399d59b708SYixun Lan		#size-cells = <0x0>;
409d59b708SYixun Lan
419d59b708SYixun Lan		cpu0: cpu@0 {
429d59b708SYixun Lan			device_type = "cpu";
439d59b708SYixun Lan			compatible = "arm,cortex-a53", "arm,armv8";
449d59b708SYixun Lan			reg = <0x0 0x0>;
459d59b708SYixun Lan			enable-method = "psci";
469d59b708SYixun Lan			next-level-cache = <&l2>;
479d59b708SYixun Lan		};
489d59b708SYixun Lan
499d59b708SYixun Lan		cpu1: cpu@1 {
509d59b708SYixun Lan			device_type = "cpu";
519d59b708SYixun Lan			compatible = "arm,cortex-a53", "arm,armv8";
529d59b708SYixun Lan			reg = <0x0 0x1>;
539d59b708SYixun Lan			enable-method = "psci";
549d59b708SYixun Lan			next-level-cache = <&l2>;
559d59b708SYixun Lan		};
569d59b708SYixun Lan
579d59b708SYixun Lan		cpu2: cpu@2 {
589d59b708SYixun Lan			device_type = "cpu";
599d59b708SYixun Lan			compatible = "arm,cortex-a53", "arm,armv8";
609d59b708SYixun Lan			reg = <0x0 0x2>;
619d59b708SYixun Lan			enable-method = "psci";
629d59b708SYixun Lan			next-level-cache = <&l2>;
639d59b708SYixun Lan		};
649d59b708SYixun Lan
659d59b708SYixun Lan		cpu3: cpu@3 {
669d59b708SYixun Lan			device_type = "cpu";
679d59b708SYixun Lan			compatible = "arm,cortex-a53", "arm,armv8";
689d59b708SYixun Lan			reg = <0x0 0x3>;
699d59b708SYixun Lan			enable-method = "psci";
709d59b708SYixun Lan			next-level-cache = <&l2>;
719d59b708SYixun Lan		};
729d59b708SYixun Lan
739d59b708SYixun Lan		l2: l2-cache0 {
749d59b708SYixun Lan			compatible = "cache";
759d59b708SYixun Lan		};
769d59b708SYixun Lan	};
779d59b708SYixun Lan
789d59b708SYixun Lan	arm-pmu {
799d59b708SYixun Lan		compatible = "arm,cortex-a53-pmu";
809d59b708SYixun Lan		interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
819d59b708SYixun Lan			     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
829d59b708SYixun Lan			     <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
839d59b708SYixun Lan			     <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
849d59b708SYixun Lan		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
859d59b708SYixun Lan	};
869d59b708SYixun Lan
879d59b708SYixun Lan	psci {
889d59b708SYixun Lan		compatible = "arm,psci-1.0";
899d59b708SYixun Lan		method = "smc";
909d59b708SYixun Lan	};
919d59b708SYixun Lan
929d59b708SYixun Lan	timer {
939d59b708SYixun Lan		compatible = "arm,armv8-timer";
949d59b708SYixun Lan		interrupts = <GIC_PPI 13
959d59b708SYixun Lan			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
969d59b708SYixun Lan			     <GIC_PPI 14
979d59b708SYixun Lan			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
989d59b708SYixun Lan			     <GIC_PPI 11
999d59b708SYixun Lan			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
1009d59b708SYixun Lan			     <GIC_PPI 10
1019d59b708SYixun Lan			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
1029d59b708SYixun Lan	};
1039d59b708SYixun Lan
1049d59b708SYixun Lan	xtal: xtal-clk {
1059d59b708SYixun Lan		compatible = "fixed-clock";
1069d59b708SYixun Lan		clock-frequency = <24000000>;
1079d59b708SYixun Lan		clock-output-names = "xtal";
1089d59b708SYixun Lan		#clock-cells = <0>;
1099d59b708SYixun Lan	};
1109d59b708SYixun Lan
1119d59b708SYixun Lan	soc {
1129d59b708SYixun Lan		compatible = "simple-bus";
1139d59b708SYixun Lan		#address-cells = <2>;
1149d59b708SYixun Lan		#size-cells = <2>;
1159d59b708SYixun Lan		ranges;
1169d59b708SYixun Lan
1170cb6c604SKevin Hilman		cbus: bus@ffd00000 {
1189d59b708SYixun Lan			compatible = "simple-bus";
1199d59b708SYixun Lan			reg = <0x0 0xffd00000 0x0 0x25000>;
1209d59b708SYixun Lan			#address-cells = <2>;
1219d59b708SYixun Lan			#size-cells = <2>;
1229d59b708SYixun Lan			ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x25000>;
1239d59b708SYixun Lan
1244a81e5ddSJian Hu			pwm_ab: pwm@1b000 {
1254a81e5ddSJian Hu				compatible = "amlogic,meson-axg-ee-pwm";
1264a81e5ddSJian Hu				reg = <0x0 0x1b000 0x0 0x20>;
1274a81e5ddSJian Hu				#pwm-cells = <3>;
1284a81e5ddSJian Hu				status = "disabled";
1294a81e5ddSJian Hu			};
1304a81e5ddSJian Hu
1314a81e5ddSJian Hu			pwm_cd: pwm@1a000 {
1324a81e5ddSJian Hu				compatible = "amlogic,meson-axg-ee-pwm";
1334a81e5ddSJian Hu				reg = <0x0 0x1a000 0x0 0x20>;
1344a81e5ddSJian Hu				#pwm-cells = <3>;
1354a81e5ddSJian Hu				status = "disabled";
1364a81e5ddSJian Hu			};
1374a81e5ddSJian Hu
13843b9f617SYixun Lan			reset: reset-controller@1004 {
13943b9f617SYixun Lan				compatible = "amlogic,meson-axg-reset";
14043b9f617SYixun Lan				reg = <0x0 0x01004 0x0 0x9c>;
14143b9f617SYixun Lan				#reset-cells = <1>;
14243b9f617SYixun Lan			};
14343b9f617SYixun Lan
1448ae4284eSSunny Luo			spicc0: spi@13000 {
1458ae4284eSSunny Luo				compatible = "amlogic,meson-axg-spicc";
1468ae4284eSSunny Luo				reg = <0x0 0x13000 0x0 0x3c>;
1478ae4284eSSunny Luo				interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
1488ae4284eSSunny Luo				clocks = <&clkc CLKID_SPICC0>;
1498ae4284eSSunny Luo				clock-names = "core";
1508ae4284eSSunny Luo				#address-cells = <1>;
1518ae4284eSSunny Luo				#size-cells = <0>;
1528ae4284eSSunny Luo				status = "disabled";
1538ae4284eSSunny Luo			};
1548ae4284eSSunny Luo
1558ae4284eSSunny Luo			spicc1: spi@15000 {
1568ae4284eSSunny Luo				compatible = "amlogic,meson-axg-spicc";
1578ae4284eSSunny Luo				reg = <0x0 0x15000 0x0 0x3c>;
1588ae4284eSSunny Luo				interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
1598ae4284eSSunny Luo				clocks = <&clkc CLKID_SPICC1>;
1608ae4284eSSunny Luo				clock-names = "core";
1618ae4284eSSunny Luo				#address-cells = <1>;
1628ae4284eSSunny Luo				#size-cells = <0>;
1638ae4284eSSunny Luo				status = "disabled";
1648ae4284eSSunny Luo			};
1658ae4284eSSunny Luo
166dc6f858eSJian Hu			i2c0: i2c@1f000 {
167dc6f858eSJian Hu				compatible = "amlogic,meson-axg-i2c";
168dc6f858eSJian Hu				status = "disabled";
169dc6f858eSJian Hu				reg = <0x0 0x1f000 0x0 0x20>;
170dc6f858eSJian Hu				interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
171dc6f858eSJian Hu					<GIC_SPI 47 IRQ_TYPE_EDGE_RISING>;
172dc6f858eSJian Hu				#address-cells = <1>;
173dc6f858eSJian Hu				#size-cells = <0>;
174dc6f858eSJian Hu				clocks = <&clkc CLKID_I2C>;
175dc6f858eSJian Hu				clock-names = "clk_i2c";
176dc6f858eSJian Hu			};
177dc6f858eSJian Hu
178dc6f858eSJian Hu			i2c1: i2c@1e000 {
179dc6f858eSJian Hu				compatible = "amlogic,meson-axg-i2c";
180dc6f858eSJian Hu				#address-cells = <1>;
181dc6f858eSJian Hu				#size-cells = <0>;
182dc6f858eSJian Hu				reg = <0x0 0x1e000 0x0 0x20>;
183dc6f858eSJian Hu				status = "disabled";
184dc6f858eSJian Hu				interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>,
185dc6f858eSJian Hu					<GIC_SPI 48 IRQ_TYPE_EDGE_RISING>;
186dc6f858eSJian Hu				clocks = <&clkc CLKID_I2C>;
187dc6f858eSJian Hu				clock-names = "clk_i2c";
188dc6f858eSJian Hu			};
189dc6f858eSJian Hu
190dc6f858eSJian Hu			i2c2: i2c@1d000 {
191dc6f858eSJian Hu				compatible = "amlogic,meson-axg-i2c";
192dc6f858eSJian Hu				status = "disabled";
193dc6f858eSJian Hu				reg = <0x0 0x1d000 0x0 0x20>;
194dc6f858eSJian Hu				interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>,
195dc6f858eSJian Hu					<GIC_SPI 49 IRQ_TYPE_EDGE_RISING>;
196dc6f858eSJian Hu				#address-cells = <1>;
197dc6f858eSJian Hu				#size-cells = <0>;
198dc6f858eSJian Hu				clocks = <&clkc CLKID_I2C>;
199dc6f858eSJian Hu				clock-names = "clk_i2c";
200dc6f858eSJian Hu			};
201dc6f858eSJian Hu
202dc6f858eSJian Hu			i2c3: i2c@1c000 {
203dc6f858eSJian Hu				compatible = "amlogic,meson-axg-i2c";
204dc6f858eSJian Hu				status = "disabled";
205dc6f858eSJian Hu				reg = <0x0 0x1c000 0x0 0x20>;
206dc6f858eSJian Hu				interrupts = <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>,
207dc6f858eSJian Hu					<GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
208dc6f858eSJian Hu				#address-cells = <1>;
209dc6f858eSJian Hu				#size-cells = <0>;
210dc6f858eSJian Hu				clocks = <&clkc CLKID_I2C>;
211dc6f858eSJian Hu				clock-names = "clk_i2c";
212dc6f858eSJian Hu			};
213dc6f858eSJian Hu
2149d59b708SYixun Lan			uart_A: serial@24000 {
2159d59b708SYixun Lan				compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart";
21677f5cdbdSYixun Lan				reg = <0x0 0x24000 0x0 0x18>;
2179d59b708SYixun Lan				interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
2189d59b708SYixun Lan				status = "disabled";
2199d59b708SYixun Lan			};
2209d59b708SYixun Lan
2219d59b708SYixun Lan			uart_B: serial@23000 {
2229d59b708SYixun Lan				compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart";
22377f5cdbdSYixun Lan				reg = <0x0 0x23000 0x0 0x18>;
2249d59b708SYixun Lan				interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
2259d59b708SYixun Lan				status = "disabled";
2269d59b708SYixun Lan			};
2279d59b708SYixun Lan		};
2289d59b708SYixun Lan
22929390d27SYixun Lan		ethmac: ethernet@ff3f0000 {
23029390d27SYixun Lan			compatible = "amlogic,meson-gxbb-dwmac", "snps,dwmac";
23129390d27SYixun Lan			reg = <0x0 0xff3f0000 0x0 0x10000
23229390d27SYixun Lan				0x0 0xff634540 0x0 0x8>;
23329390d27SYixun Lan			interrupts = <GIC_SPI 8 IRQ_TYPE_EDGE_RISING>;
23429390d27SYixun Lan			interrupt-names = "macirq";
23529390d27SYixun Lan			clocks = <&clkc CLKID_ETH>,
23629390d27SYixun Lan				 <&clkc CLKID_FCLK_DIV2>,
23729390d27SYixun Lan				 <&clkc CLKID_MPLL2>;
23829390d27SYixun Lan			clock-names = "stmmaceth", "clkin0", "clkin1";
23929390d27SYixun Lan			status = "disabled";
24029390d27SYixun Lan		};
24129390d27SYixun Lan
2429d59b708SYixun Lan		gic: interrupt-controller@ffc01000 {
2439d59b708SYixun Lan			compatible = "arm,gic-400";
2449d59b708SYixun Lan			reg = <0x0 0xffc01000 0 0x1000>,
2459d59b708SYixun Lan			      <0x0 0xffc02000 0 0x2000>,
2469d59b708SYixun Lan			      <0x0 0xffc04000 0 0x2000>,
2479d59b708SYixun Lan			      <0x0 0xffc06000 0 0x2000>;
2489d59b708SYixun Lan			interrupt-controller;
2499d59b708SYixun Lan			interrupts = <GIC_PPI 9
2509d59b708SYixun Lan				(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
2519d59b708SYixun Lan			#interrupt-cells = <3>;
2529d59b708SYixun Lan			#address-cells = <0>;
2539d59b708SYixun Lan		};
2549d59b708SYixun Lan
255abfc18f9SQiufang Dai		hiubus: bus@ff63c000 {
256abfc18f9SQiufang Dai			compatible = "simple-bus";
257abfc18f9SQiufang Dai			reg = <0x0 0xff63c000 0x0 0x1c00>;
258abfc18f9SQiufang Dai			#address-cells = <2>;
259abfc18f9SQiufang Dai			#size-cells = <2>;
260abfc18f9SQiufang Dai			ranges = <0x0 0x0 0x0 0xff63c000 0x0 0x1c00>;
261abfc18f9SQiufang Dai
262abfc18f9SQiufang Dai			clkc: clock-controller@0 {
263abfc18f9SQiufang Dai				compatible = "amlogic,axg-clkc";
264abfc18f9SQiufang Dai				#clock-cells = <1>;
265abfc18f9SQiufang Dai				reg = <0x0 0x0 0x0 0x320>;
266abfc18f9SQiufang Dai			};
267abfc18f9SQiufang Dai		};
268abfc18f9SQiufang Dai
2699d59b708SYixun Lan		mailbox: mailbox@ff63dc00 {
2709d59b708SYixun Lan			compatible = "amlogic,meson-gx-mhu", "amlogic,meson-gxbb-mhu";
2719d59b708SYixun Lan			reg = <0 0xff63dc00 0 0x400>;
2729d59b708SYixun Lan			interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>,
2739d59b708SYixun Lan				     <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>,
2749d59b708SYixun Lan				     <GIC_SPI 210 IRQ_TYPE_EDGE_RISING>;
2759d59b708SYixun Lan			#mbox-cells = <1>;
2769d59b708SYixun Lan		};
2779d59b708SYixun Lan
278de05ded6SXingyu Chen		periphs: periphs@ff634000 {
279de05ded6SXingyu Chen			compatible = "simple-bus";
280de05ded6SXingyu Chen			reg = <0x0 0xff634000 0x0 0x2000>;
281de05ded6SXingyu Chen			#address-cells = <2>;
282de05ded6SXingyu Chen			#size-cells = <2>;
283de05ded6SXingyu Chen			ranges = <0x0 0x0 0x0 0xff634000 0x0 0x2000>;
284de05ded6SXingyu Chen
285eafd53d3SJerome Brunet			hwrng: rng {
286eafd53d3SJerome Brunet				compatible = "amlogic,meson-rng";
287eafd53d3SJerome Brunet				reg = <0x0 0x18 0x0 0x4>;
288eafd53d3SJerome Brunet				clocks = <&clkc CLKID_RNG0>;
289eafd53d3SJerome Brunet				clock-names = "core";
290eafd53d3SJerome Brunet			};
291eafd53d3SJerome Brunet
292de05ded6SXingyu Chen			pinctrl_periphs: pinctrl@480 {
293de05ded6SXingyu Chen				compatible = "amlogic,meson-axg-periphs-pinctrl";
294de05ded6SXingyu Chen				#address-cells = <2>;
295de05ded6SXingyu Chen				#size-cells = <2>;
296de05ded6SXingyu Chen				ranges;
297de05ded6SXingyu Chen
298de05ded6SXingyu Chen				gpio: bank@480 {
299de05ded6SXingyu Chen					reg = <0x0 0x00480 0x0 0x40>,
300de05ded6SXingyu Chen						<0x0 0x004e8 0x0 0x14>,
301de05ded6SXingyu Chen						<0x0 0x00520 0x0 0x14>,
302de05ded6SXingyu Chen						<0x0 0x00430 0x0 0x3c>;
303de05ded6SXingyu Chen					reg-names = "mux", "pull", "pull-enable", "gpio";
304de05ded6SXingyu Chen					gpio-controller;
305de05ded6SXingyu Chen					#gpio-cells = <2>;
306de05ded6SXingyu Chen					gpio-ranges = <&pinctrl_periphs 0 0 86>;
307de05ded6SXingyu Chen				};
3084a81e5ddSJian Hu
30929390d27SYixun Lan				eth_rgmii_x_pins: eth-x-rgmii {
31029390d27SYixun Lan					mux {
31129390d27SYixun Lan						groups = "eth_mdio_x",
31229390d27SYixun Lan						       "eth_mdc_x",
31329390d27SYixun Lan						       "eth_rgmii_rx_clk_x",
31429390d27SYixun Lan						       "eth_rx_dv_x",
31529390d27SYixun Lan						       "eth_rxd0_x",
31629390d27SYixun Lan						       "eth_rxd1_x",
31729390d27SYixun Lan						       "eth_rxd2_rgmii",
31829390d27SYixun Lan						       "eth_rxd3_rgmii",
31929390d27SYixun Lan						       "eth_rgmii_tx_clk",
32029390d27SYixun Lan						       "eth_txen_x",
32129390d27SYixun Lan						       "eth_txd0_x",
32229390d27SYixun Lan						       "eth_txd1_x",
32329390d27SYixun Lan						       "eth_txd2_rgmii",
32429390d27SYixun Lan						       "eth_txd3_rgmii";
32529390d27SYixun Lan						function = "eth";
32629390d27SYixun Lan					};
32729390d27SYixun Lan				};
32829390d27SYixun Lan
32929390d27SYixun Lan				eth_rgmii_y_pins: eth-y-rgmii {
33029390d27SYixun Lan					mux {
33129390d27SYixun Lan						groups = "eth_mdio_y",
33229390d27SYixun Lan						       "eth_mdc_y",
33329390d27SYixun Lan						       "eth_rgmii_rx_clk_y",
33429390d27SYixun Lan						       "eth_rx_dv_y",
33529390d27SYixun Lan						       "eth_rxd0_y",
33629390d27SYixun Lan						       "eth_rxd1_y",
33729390d27SYixun Lan						       "eth_rxd2_rgmii",
33829390d27SYixun Lan						       "eth_rxd3_rgmii",
33929390d27SYixun Lan						       "eth_rgmii_tx_clk",
34029390d27SYixun Lan						       "eth_txen_y",
34129390d27SYixun Lan						       "eth_txd0_y",
34229390d27SYixun Lan						       "eth_txd1_y",
34329390d27SYixun Lan						       "eth_txd2_rgmii",
34429390d27SYixun Lan						       "eth_txd3_rgmii";
34529390d27SYixun Lan						function = "eth";
34629390d27SYixun Lan					};
34729390d27SYixun Lan				};
34829390d27SYixun Lan
3494a81e5ddSJian Hu				pwm_a_a_pins: pwm_a_a {
3504a81e5ddSJian Hu					mux {
3514a81e5ddSJian Hu						groups = "pwm_a_a";
3524a81e5ddSJian Hu						function = "pwm_a";
3534a81e5ddSJian Hu					};
3544a81e5ddSJian Hu				};
3554a81e5ddSJian Hu
3564a81e5ddSJian Hu				pwm_a_x18_pins: pwm_a_x18 {
3574a81e5ddSJian Hu					mux {
3584a81e5ddSJian Hu						groups = "pwm_a_x18";
3594a81e5ddSJian Hu						function = "pwm_a";
3604a81e5ddSJian Hu					};
3614a81e5ddSJian Hu				};
3624a81e5ddSJian Hu
3634a81e5ddSJian Hu				pwm_a_x20_pins: pwm_a_x20 {
3644a81e5ddSJian Hu					mux {
3654a81e5ddSJian Hu						groups = "pwm_a_x20";
3664a81e5ddSJian Hu						function = "pwm_a";
3674a81e5ddSJian Hu					};
3684a81e5ddSJian Hu				};
3694a81e5ddSJian Hu
3704a81e5ddSJian Hu				pwm_a_z_pins: pwm_a_z {
3714a81e5ddSJian Hu					mux {
3724a81e5ddSJian Hu						groups = "pwm_a_z";
3734a81e5ddSJian Hu						function = "pwm_a";
3744a81e5ddSJian Hu					};
3754a81e5ddSJian Hu				};
3764a81e5ddSJian Hu
3774a81e5ddSJian Hu				pwm_b_a_pins: pwm_b_a {
3784a81e5ddSJian Hu					mux {
3794a81e5ddSJian Hu						groups = "pwm_b_a";
3804a81e5ddSJian Hu						function = "pwm_b";
3814a81e5ddSJian Hu					};
3824a81e5ddSJian Hu				};
3834a81e5ddSJian Hu
3844a81e5ddSJian Hu				pwm_b_x_pins: pwm_b_x {
3854a81e5ddSJian Hu					mux {
3864a81e5ddSJian Hu						groups = "pwm_b_x";
3874a81e5ddSJian Hu						function = "pwm_b";
3884a81e5ddSJian Hu					};
3894a81e5ddSJian Hu				};
3904a81e5ddSJian Hu
3914a81e5ddSJian Hu				pwm_b_z_pins: pwm_b_z {
3924a81e5ddSJian Hu					mux {
3934a81e5ddSJian Hu						groups = "pwm_b_z";
3944a81e5ddSJian Hu						function = "pwm_b";
3954a81e5ddSJian Hu					};
3964a81e5ddSJian Hu				};
3974a81e5ddSJian Hu
3984a81e5ddSJian Hu				pwm_c_a_pins: pwm_c_a {
3994a81e5ddSJian Hu					mux {
4004a81e5ddSJian Hu						groups = "pwm_c_a";
4014a81e5ddSJian Hu						function = "pwm_c";
4024a81e5ddSJian Hu					};
4034a81e5ddSJian Hu				};
4044a81e5ddSJian Hu
4054a81e5ddSJian Hu				pwm_c_x10_pins: pwm_c_x10 {
4064a81e5ddSJian Hu					mux {
4074a81e5ddSJian Hu						groups = "pwm_c_x10";
4084a81e5ddSJian Hu						function = "pwm_c";
4094a81e5ddSJian Hu					};
4104a81e5ddSJian Hu				};
4114a81e5ddSJian Hu
4124a81e5ddSJian Hu				pwm_c_x17_pins: pwm_c_x17 {
4134a81e5ddSJian Hu					mux {
4144a81e5ddSJian Hu						groups = "pwm_c_x17";
4154a81e5ddSJian Hu						function = "pwm_c";
4164a81e5ddSJian Hu					};
4174a81e5ddSJian Hu				};
4184a81e5ddSJian Hu
4194a81e5ddSJian Hu				pwm_d_x11_pins: pwm_d_x11 {
4204a81e5ddSJian Hu					mux {
4214a81e5ddSJian Hu						groups = "pwm_d_x11";
4224a81e5ddSJian Hu						function = "pwm_d";
4234a81e5ddSJian Hu					};
4244a81e5ddSJian Hu				};
4254a81e5ddSJian Hu
4264a81e5ddSJian Hu				pwm_d_x16_pins: pwm_d_x16 {
4274a81e5ddSJian Hu					mux {
4284a81e5ddSJian Hu						groups = "pwm_d_x16";
4294a81e5ddSJian Hu						function = "pwm_d";
4304a81e5ddSJian Hu					};
4314a81e5ddSJian Hu				};
4328ae4284eSSunny Luo
4338ae4284eSSunny Luo				spi0_pins: spi0 {
4348ae4284eSSunny Luo					mux {
4358ae4284eSSunny Luo						groups = "spi0_miso",
4368ae4284eSSunny Luo							"spi0_mosi",
4378ae4284eSSunny Luo							"spi0_clk";
4388ae4284eSSunny Luo						function = "spi0";
4398ae4284eSSunny Luo					};
4408ae4284eSSunny Luo				};
4418ae4284eSSunny Luo
4428ae4284eSSunny Luo				spi0_ss0_pins: spi0_ss0 {
4438ae4284eSSunny Luo					mux {
4448ae4284eSSunny Luo						groups = "spi0_ss0";
4458ae4284eSSunny Luo						function = "spi0";
4468ae4284eSSunny Luo					};
4478ae4284eSSunny Luo				};
4488ae4284eSSunny Luo
4498ae4284eSSunny Luo				spi0_ss1_pins: spi0_ss1 {
4508ae4284eSSunny Luo					mux {
4518ae4284eSSunny Luo						groups = "spi0_ss1";
4528ae4284eSSunny Luo						function = "spi0";
4538ae4284eSSunny Luo					};
4548ae4284eSSunny Luo				};
4558ae4284eSSunny Luo
4568ae4284eSSunny Luo				spi0_ss2_pins: spi0_ss2 {
4578ae4284eSSunny Luo					mux {
4588ae4284eSSunny Luo						groups = "spi0_ss2";
4598ae4284eSSunny Luo						function = "spi0";
4608ae4284eSSunny Luo					};
4618ae4284eSSunny Luo				};
4628ae4284eSSunny Luo
4638ae4284eSSunny Luo
4648ae4284eSSunny Luo				spi1_a_pins: spi1_a {
4658ae4284eSSunny Luo					mux {
4668ae4284eSSunny Luo						groups = "spi1_miso_a",
4678ae4284eSSunny Luo							"spi1_mosi_a",
4688ae4284eSSunny Luo							"spi1_clk_a";
4698ae4284eSSunny Luo						function = "spi1";
4708ae4284eSSunny Luo					};
4718ae4284eSSunny Luo				};
4728ae4284eSSunny Luo
4738ae4284eSSunny Luo				spi1_ss0_a_pins: spi1_ss0_a {
4748ae4284eSSunny Luo					mux {
4758ae4284eSSunny Luo						groups = "spi1_ss0_a";
4768ae4284eSSunny Luo						function = "spi1";
4778ae4284eSSunny Luo					};
4788ae4284eSSunny Luo				};
4798ae4284eSSunny Luo
4808ae4284eSSunny Luo				spi1_ss1_pins: spi1_ss1 {
4818ae4284eSSunny Luo					mux {
4828ae4284eSSunny Luo						groups = "spi1_ss1";
4838ae4284eSSunny Luo						function = "spi1";
4848ae4284eSSunny Luo					};
4858ae4284eSSunny Luo				};
4868ae4284eSSunny Luo
4878ae4284eSSunny Luo				spi1_x_pins: spi1_x {
4888ae4284eSSunny Luo					mux {
4898ae4284eSSunny Luo						groups = "spi1_miso_x",
4908ae4284eSSunny Luo							"spi1_mosi_x",
4918ae4284eSSunny Luo							"spi1_clk_x";
4928ae4284eSSunny Luo						function = "spi1";
4938ae4284eSSunny Luo					};
4948ae4284eSSunny Luo				};
4958ae4284eSSunny Luo
4968ae4284eSSunny Luo				spi1_ss0_x_pins: spi1_ss0_x {
4978ae4284eSSunny Luo					mux {
4988ae4284eSSunny Luo						groups = "spi1_ss0_x";
4998ae4284eSSunny Luo						function = "spi1";
5008ae4284eSSunny Luo					};
5018ae4284eSSunny Luo				};
502de05ded6SXingyu Chen			};
503de05ded6SXingyu Chen		};
504de05ded6SXingyu Chen
5059d59b708SYixun Lan		sram: sram@fffc0000 {
5069d59b708SYixun Lan			compatible = "amlogic,meson-axg-sram", "mmio-sram";
5079d59b708SYixun Lan			reg = <0x0 0xfffc0000 0x0 0x20000>;
5089d59b708SYixun Lan			#address-cells = <1>;
5099d59b708SYixun Lan			#size-cells = <1>;
5109d59b708SYixun Lan			ranges = <0 0x0 0xfffc0000 0x20000>;
5119d59b708SYixun Lan
5129d59b708SYixun Lan			cpu_scp_lpri: scp-shmem@0 {
5139d59b708SYixun Lan				compatible = "amlogic,meson-axg-scp-shmem";
5149d59b708SYixun Lan				reg = <0x13000 0x400>;
5159d59b708SYixun Lan			};
5169d59b708SYixun Lan
5179d59b708SYixun Lan			cpu_scp_hpri: scp-shmem@200 {
5189d59b708SYixun Lan				compatible = "amlogic,meson-axg-scp-shmem";
5199d59b708SYixun Lan				reg = <0x13400 0x400>;
5209d59b708SYixun Lan			};
5219d59b708SYixun Lan		};
5229d59b708SYixun Lan
5230cb6c604SKevin Hilman		aobus: bus@ff800000 {
5249d59b708SYixun Lan			compatible = "simple-bus";
5259d59b708SYixun Lan			reg = <0x0 0xff800000 0x0 0x100000>;
5269d59b708SYixun Lan			#address-cells = <2>;
5279d59b708SYixun Lan			#size-cells = <2>;
5289d59b708SYixun Lan			ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
5299d59b708SYixun Lan
530de05ded6SXingyu Chen			pinctrl_aobus: pinctrl@14 {
531de05ded6SXingyu Chen				compatible = "amlogic,meson-axg-aobus-pinctrl";
532de05ded6SXingyu Chen				#address-cells = <2>;
533de05ded6SXingyu Chen				#size-cells = <2>;
534de05ded6SXingyu Chen				ranges;
535de05ded6SXingyu Chen
536de05ded6SXingyu Chen				gpio_ao: bank@14 {
537de05ded6SXingyu Chen					reg = <0x0 0x00014 0x0 0x8>,
538de05ded6SXingyu Chen						<0x0 0x0002c 0x0 0x4>,
539de05ded6SXingyu Chen						<0x0 0x00024 0x0 0x8>;
540de05ded6SXingyu Chen					reg-names = "mux", "pull", "gpio";
541de05ded6SXingyu Chen					gpio-controller;
542de05ded6SXingyu Chen					#gpio-cells = <2>;
543de05ded6SXingyu Chen					gpio-ranges = <&pinctrl_aobus 0 0 15>;
544de05ded6SXingyu Chen				};
5457bd46a79SYixun Lan
5467bd46a79SYixun Lan				remote_input_ao_pins: remote_input_ao {
5477bd46a79SYixun Lan					mux {
5487bd46a79SYixun Lan						groups = "remote_input_ao";
5497bd46a79SYixun Lan						function = "remote_input_ao";
5507bd46a79SYixun Lan					};
5517bd46a79SYixun Lan				};
552de05ded6SXingyu Chen			};
553de05ded6SXingyu Chen
5544a81e5ddSJian Hu			pwm_AO_ab: pwm@7000 {
5554a81e5ddSJian Hu				compatible = "amlogic,meson-axg-ao-pwm";
5564a81e5ddSJian Hu				reg = <0x0 0x07000 0x0 0x20>;
5574a81e5ddSJian Hu				#pwm-cells = <3>;
5584a81e5ddSJian Hu				status = "disabled";
5594a81e5ddSJian Hu			};
5604a81e5ddSJian Hu
5614a81e5ddSJian Hu			pwm_AO_cd: pwm@2000 {
5624a81e5ddSJian Hu				compatible = "amlogic,axg-ao-pwm";
5634a81e5ddSJian Hu				reg = <0x0 0x02000  0x0 0x20>;
5644a81e5ddSJian Hu				#pwm-cells = <3>;
5654a81e5ddSJian Hu				status = "disabled";
5664a81e5ddSJian Hu			};
5674a81e5ddSJian Hu
568dc6f858eSJian Hu			i2c_AO: i2c@5000 {
569dc6f858eSJian Hu				compatible = "amlogic,meson-axg-i2c";
570dc6f858eSJian Hu				status = "disabled";
571dc6f858eSJian Hu				reg = <0x0 0x05000 0x0 0x20>;
572dc6f858eSJian Hu				interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
573dc6f858eSJian Hu				#address-cells = <1>;
574dc6f858eSJian Hu				#size-cells = <0>;
575dc6f858eSJian Hu				clocks = <&clkc CLKID_I2C>;
576dc6f858eSJian Hu				clock-names = "clk_i2c";
577dc6f858eSJian Hu			};
578dc6f858eSJian Hu
5799d59b708SYixun Lan			uart_AO: serial@3000 {
5809d59b708SYixun Lan				compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
5819d59b708SYixun Lan				reg = <0x0 0x3000 0x0 0x18>;
5829d59b708SYixun Lan				interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
58306b7a631SYixun Lan				clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>;
5849d59b708SYixun Lan				clock-names = "xtal", "pclk", "baud";
5859d59b708SYixun Lan				status = "disabled";
5869d59b708SYixun Lan			};
5879d59b708SYixun Lan
5889d59b708SYixun Lan			uart_AO_B: serial@4000 {
5899d59b708SYixun Lan				compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
5909d59b708SYixun Lan				reg = <0x0 0x4000 0x0 0x18>;
5919d59b708SYixun Lan				interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
59206b7a631SYixun Lan				clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>;
5939d59b708SYixun Lan				clock-names = "xtal", "pclk", "baud";
5949d59b708SYixun Lan				status = "disabled";
5959d59b708SYixun Lan			};
5967bd46a79SYixun Lan
5977bd46a79SYixun Lan			ir: ir@8000 {
5987bd46a79SYixun Lan				compatible = "amlogic,meson-gxbb-ir";
5997bd46a79SYixun Lan				reg = <0x0 0x8000 0x0 0x20>;
6007bd46a79SYixun Lan				interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
6017bd46a79SYixun Lan				status = "disabled";
6027bd46a79SYixun Lan			};
6039d59b708SYixun Lan		};
6049d59b708SYixun Lan	};
6059d59b708SYixun Lan};
606