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
309777fa58dSYixun Lan				eth_rmii_x_pins: eth-x-rmii {
310777fa58dSYixun Lan					mux {
311777fa58dSYixun Lan						groups = "eth_mdio_x",
312777fa58dSYixun Lan						       "eth_mdc_x",
313777fa58dSYixun Lan						       "eth_rgmii_rx_clk_x",
314777fa58dSYixun Lan						       "eth_rx_dv_x",
315777fa58dSYixun Lan						       "eth_rxd0_x",
316777fa58dSYixun Lan						       "eth_rxd1_x",
317777fa58dSYixun Lan						       "eth_txen_x",
318777fa58dSYixun Lan						       "eth_txd0_x",
319777fa58dSYixun Lan						       "eth_txd1_x";
320777fa58dSYixun Lan						function = "eth";
321777fa58dSYixun Lan					};
322777fa58dSYixun Lan				};
323777fa58dSYixun Lan
324777fa58dSYixun Lan				eth_rmii_y_pins: eth-y-rmii {
325777fa58dSYixun Lan					mux {
326777fa58dSYixun Lan						groups = "eth_mdio_y",
327777fa58dSYixun Lan						       "eth_mdc_y",
328777fa58dSYixun Lan						       "eth_rgmii_rx_clk_y",
329777fa58dSYixun Lan						       "eth_rx_dv_y",
330777fa58dSYixun Lan						       "eth_rxd0_y",
331777fa58dSYixun Lan						       "eth_rxd1_y",
332777fa58dSYixun Lan						       "eth_txen_y",
333777fa58dSYixun Lan						       "eth_txd0_y",
334777fa58dSYixun Lan						       "eth_txd1_y";
335777fa58dSYixun Lan						function = "eth";
336777fa58dSYixun Lan					};
337777fa58dSYixun Lan				};
338777fa58dSYixun Lan
33929390d27SYixun Lan				eth_rgmii_x_pins: eth-x-rgmii {
34029390d27SYixun Lan					mux {
34129390d27SYixun Lan						groups = "eth_mdio_x",
34229390d27SYixun Lan						       "eth_mdc_x",
34329390d27SYixun Lan						       "eth_rgmii_rx_clk_x",
34429390d27SYixun Lan						       "eth_rx_dv_x",
34529390d27SYixun Lan						       "eth_rxd0_x",
34629390d27SYixun Lan						       "eth_rxd1_x",
34729390d27SYixun Lan						       "eth_rxd2_rgmii",
34829390d27SYixun Lan						       "eth_rxd3_rgmii",
34929390d27SYixun Lan						       "eth_rgmii_tx_clk",
35029390d27SYixun Lan						       "eth_txen_x",
35129390d27SYixun Lan						       "eth_txd0_x",
35229390d27SYixun Lan						       "eth_txd1_x",
35329390d27SYixun Lan						       "eth_txd2_rgmii",
35429390d27SYixun Lan						       "eth_txd3_rgmii";
35529390d27SYixun Lan						function = "eth";
35629390d27SYixun Lan					};
35729390d27SYixun Lan				};
35829390d27SYixun Lan
35929390d27SYixun Lan				eth_rgmii_y_pins: eth-y-rgmii {
36029390d27SYixun Lan					mux {
36129390d27SYixun Lan						groups = "eth_mdio_y",
36229390d27SYixun Lan						       "eth_mdc_y",
36329390d27SYixun Lan						       "eth_rgmii_rx_clk_y",
36429390d27SYixun Lan						       "eth_rx_dv_y",
36529390d27SYixun Lan						       "eth_rxd0_y",
36629390d27SYixun Lan						       "eth_rxd1_y",
36729390d27SYixun Lan						       "eth_rxd2_rgmii",
36829390d27SYixun Lan						       "eth_rxd3_rgmii",
36929390d27SYixun Lan						       "eth_rgmii_tx_clk",
37029390d27SYixun Lan						       "eth_txen_y",
37129390d27SYixun Lan						       "eth_txd0_y",
37229390d27SYixun Lan						       "eth_txd1_y",
37329390d27SYixun Lan						       "eth_txd2_rgmii",
37429390d27SYixun Lan						       "eth_txd3_rgmii";
37529390d27SYixun Lan						function = "eth";
37629390d27SYixun Lan					};
37729390d27SYixun Lan				};
37829390d27SYixun Lan
3794a81e5ddSJian Hu				pwm_a_a_pins: pwm_a_a {
3804a81e5ddSJian Hu					mux {
3814a81e5ddSJian Hu						groups = "pwm_a_a";
3824a81e5ddSJian Hu						function = "pwm_a";
3834a81e5ddSJian Hu					};
3844a81e5ddSJian Hu				};
3854a81e5ddSJian Hu
3864a81e5ddSJian Hu				pwm_a_x18_pins: pwm_a_x18 {
3874a81e5ddSJian Hu					mux {
3884a81e5ddSJian Hu						groups = "pwm_a_x18";
3894a81e5ddSJian Hu						function = "pwm_a";
3904a81e5ddSJian Hu					};
3914a81e5ddSJian Hu				};
3924a81e5ddSJian Hu
3934a81e5ddSJian Hu				pwm_a_x20_pins: pwm_a_x20 {
3944a81e5ddSJian Hu					mux {
3954a81e5ddSJian Hu						groups = "pwm_a_x20";
3964a81e5ddSJian Hu						function = "pwm_a";
3974a81e5ddSJian Hu					};
3984a81e5ddSJian Hu				};
3994a81e5ddSJian Hu
4004a81e5ddSJian Hu				pwm_a_z_pins: pwm_a_z {
4014a81e5ddSJian Hu					mux {
4024a81e5ddSJian Hu						groups = "pwm_a_z";
4034a81e5ddSJian Hu						function = "pwm_a";
4044a81e5ddSJian Hu					};
4054a81e5ddSJian Hu				};
4064a81e5ddSJian Hu
4074a81e5ddSJian Hu				pwm_b_a_pins: pwm_b_a {
4084a81e5ddSJian Hu					mux {
4094a81e5ddSJian Hu						groups = "pwm_b_a";
4104a81e5ddSJian Hu						function = "pwm_b";
4114a81e5ddSJian Hu					};
4124a81e5ddSJian Hu				};
4134a81e5ddSJian Hu
4144a81e5ddSJian Hu				pwm_b_x_pins: pwm_b_x {
4154a81e5ddSJian Hu					mux {
4164a81e5ddSJian Hu						groups = "pwm_b_x";
4174a81e5ddSJian Hu						function = "pwm_b";
4184a81e5ddSJian Hu					};
4194a81e5ddSJian Hu				};
4204a81e5ddSJian Hu
4214a81e5ddSJian Hu				pwm_b_z_pins: pwm_b_z {
4224a81e5ddSJian Hu					mux {
4234a81e5ddSJian Hu						groups = "pwm_b_z";
4244a81e5ddSJian Hu						function = "pwm_b";
4254a81e5ddSJian Hu					};
4264a81e5ddSJian Hu				};
4274a81e5ddSJian Hu
4284a81e5ddSJian Hu				pwm_c_a_pins: pwm_c_a {
4294a81e5ddSJian Hu					mux {
4304a81e5ddSJian Hu						groups = "pwm_c_a";
4314a81e5ddSJian Hu						function = "pwm_c";
4324a81e5ddSJian Hu					};
4334a81e5ddSJian Hu				};
4344a81e5ddSJian Hu
4354a81e5ddSJian Hu				pwm_c_x10_pins: pwm_c_x10 {
4364a81e5ddSJian Hu					mux {
4374a81e5ddSJian Hu						groups = "pwm_c_x10";
4384a81e5ddSJian Hu						function = "pwm_c";
4394a81e5ddSJian Hu					};
4404a81e5ddSJian Hu				};
4414a81e5ddSJian Hu
4424a81e5ddSJian Hu				pwm_c_x17_pins: pwm_c_x17 {
4434a81e5ddSJian Hu					mux {
4444a81e5ddSJian Hu						groups = "pwm_c_x17";
4454a81e5ddSJian Hu						function = "pwm_c";
4464a81e5ddSJian Hu					};
4474a81e5ddSJian Hu				};
4484a81e5ddSJian Hu
4494a81e5ddSJian Hu				pwm_d_x11_pins: pwm_d_x11 {
4504a81e5ddSJian Hu					mux {
4514a81e5ddSJian Hu						groups = "pwm_d_x11";
4524a81e5ddSJian Hu						function = "pwm_d";
4534a81e5ddSJian Hu					};
4544a81e5ddSJian Hu				};
4554a81e5ddSJian Hu
4564a81e5ddSJian Hu				pwm_d_x16_pins: pwm_d_x16 {
4574a81e5ddSJian Hu					mux {
4584a81e5ddSJian Hu						groups = "pwm_d_x16";
4594a81e5ddSJian Hu						function = "pwm_d";
4604a81e5ddSJian Hu					};
4614a81e5ddSJian Hu				};
4628ae4284eSSunny Luo
4638ae4284eSSunny Luo				spi0_pins: spi0 {
4648ae4284eSSunny Luo					mux {
4658ae4284eSSunny Luo						groups = "spi0_miso",
4668ae4284eSSunny Luo							"spi0_mosi",
4678ae4284eSSunny Luo							"spi0_clk";
4688ae4284eSSunny Luo						function = "spi0";
4698ae4284eSSunny Luo					};
4708ae4284eSSunny Luo				};
4718ae4284eSSunny Luo
4728ae4284eSSunny Luo				spi0_ss0_pins: spi0_ss0 {
4738ae4284eSSunny Luo					mux {
4748ae4284eSSunny Luo						groups = "spi0_ss0";
4758ae4284eSSunny Luo						function = "spi0";
4768ae4284eSSunny Luo					};
4778ae4284eSSunny Luo				};
4788ae4284eSSunny Luo
4798ae4284eSSunny Luo				spi0_ss1_pins: spi0_ss1 {
4808ae4284eSSunny Luo					mux {
4818ae4284eSSunny Luo						groups = "spi0_ss1";
4828ae4284eSSunny Luo						function = "spi0";
4838ae4284eSSunny Luo					};
4848ae4284eSSunny Luo				};
4858ae4284eSSunny Luo
4868ae4284eSSunny Luo				spi0_ss2_pins: spi0_ss2 {
4878ae4284eSSunny Luo					mux {
4888ae4284eSSunny Luo						groups = "spi0_ss2";
4898ae4284eSSunny Luo						function = "spi0";
4908ae4284eSSunny Luo					};
4918ae4284eSSunny Luo				};
4928ae4284eSSunny Luo
4938ae4284eSSunny Luo
4948ae4284eSSunny Luo				spi1_a_pins: spi1_a {
4958ae4284eSSunny Luo					mux {
4968ae4284eSSunny Luo						groups = "spi1_miso_a",
4978ae4284eSSunny Luo							"spi1_mosi_a",
4988ae4284eSSunny Luo							"spi1_clk_a";
4998ae4284eSSunny Luo						function = "spi1";
5008ae4284eSSunny Luo					};
5018ae4284eSSunny Luo				};
5028ae4284eSSunny Luo
5038ae4284eSSunny Luo				spi1_ss0_a_pins: spi1_ss0_a {
5048ae4284eSSunny Luo					mux {
5058ae4284eSSunny Luo						groups = "spi1_ss0_a";
5068ae4284eSSunny Luo						function = "spi1";
5078ae4284eSSunny Luo					};
5088ae4284eSSunny Luo				};
5098ae4284eSSunny Luo
5108ae4284eSSunny Luo				spi1_ss1_pins: spi1_ss1 {
5118ae4284eSSunny Luo					mux {
5128ae4284eSSunny Luo						groups = "spi1_ss1";
5138ae4284eSSunny Luo						function = "spi1";
5148ae4284eSSunny Luo					};
5158ae4284eSSunny Luo				};
5168ae4284eSSunny Luo
5178ae4284eSSunny Luo				spi1_x_pins: spi1_x {
5188ae4284eSSunny Luo					mux {
5198ae4284eSSunny Luo						groups = "spi1_miso_x",
5208ae4284eSSunny Luo							"spi1_mosi_x",
5218ae4284eSSunny Luo							"spi1_clk_x";
5228ae4284eSSunny Luo						function = "spi1";
5238ae4284eSSunny Luo					};
5248ae4284eSSunny Luo				};
5258ae4284eSSunny Luo
5268ae4284eSSunny Luo				spi1_ss0_x_pins: spi1_ss0_x {
5278ae4284eSSunny Luo					mux {
5288ae4284eSSunny Luo						groups = "spi1_ss0_x";
5298ae4284eSSunny Luo						function = "spi1";
5308ae4284eSSunny Luo					};
5318ae4284eSSunny Luo				};
5328a7669a5SJian Hu
5338a7669a5SJian Hu				i2c0_pins: i2c0 {
5348a7669a5SJian Hu					mux {
5358a7669a5SJian Hu						groups = "i2c0_sck",
5368a7669a5SJian Hu							"i2c0_sda";
5378a7669a5SJian Hu						function = "i2c0";
5388a7669a5SJian Hu					};
5398a7669a5SJian Hu				};
5408a7669a5SJian Hu
5418a7669a5SJian Hu				i2c1_z_pins: i2c1_z {
5428a7669a5SJian Hu					mux {
5438a7669a5SJian Hu						groups = "i2c1_sck_z",
5448a7669a5SJian Hu							"i2c1_sda_z";
5458a7669a5SJian Hu						function = "i2c1";
5468a7669a5SJian Hu					};
5478a7669a5SJian Hu				};
5488a7669a5SJian Hu
5498a7669a5SJian Hu				i2c1_x_pins: i2c1_x {
5508a7669a5SJian Hu					mux {
5518a7669a5SJian Hu						groups = "i2c1_sck_x",
5528a7669a5SJian Hu							"i2c1_sda_x";
5538a7669a5SJian Hu						function = "i2c1";
5548a7669a5SJian Hu					};
5558a7669a5SJian Hu				};
5568a7669a5SJian Hu
5578a7669a5SJian Hu				i2c2_x_pins: i2c2_x {
5588a7669a5SJian Hu					mux {
5598a7669a5SJian Hu						groups = "i2c2_sck_x",
5608a7669a5SJian Hu							"i2c2_sda_x";
5618a7669a5SJian Hu						function = "i2c2";
5628a7669a5SJian Hu					};
5638a7669a5SJian Hu				};
5648a7669a5SJian Hu
5658a7669a5SJian Hu				i2c2_a_pins: i2c2_a {
5668a7669a5SJian Hu					mux {
5678a7669a5SJian Hu						groups = "i2c2_sck_a",
5688a7669a5SJian Hu							"i2c2_sda_a";
5698a7669a5SJian Hu						function = "i2c2";
5708a7669a5SJian Hu					};
5718a7669a5SJian Hu				};
5728a7669a5SJian Hu
5738a7669a5SJian Hu				i2c3_a6_pins: i2c3_a6 {
5748a7669a5SJian Hu					mux {
5758a7669a5SJian Hu						groups = "i2c3_sda_a6",
5768a7669a5SJian Hu							"i2c3_sck_a7";
5778a7669a5SJian Hu						function = "i2c3";
5788a7669a5SJian Hu					};
5798a7669a5SJian Hu				};
5808a7669a5SJian Hu
5818a7669a5SJian Hu				i2c3_a12_pins: i2c3_a12 {
5828a7669a5SJian Hu					mux {
5838a7669a5SJian Hu						groups = "i2c3_sda_a12",
5848a7669a5SJian Hu							"i2c3_sck_a13";
5858a7669a5SJian Hu						function = "i2c3";
5868a7669a5SJian Hu					};
5878a7669a5SJian Hu				};
5888a7669a5SJian Hu
5898a7669a5SJian Hu				i2c3_a19_pins: i2c3_a19 {
5908a7669a5SJian Hu					mux {
5918a7669a5SJian Hu						groups = "i2c3_sda_a19",
5928a7669a5SJian Hu							"i2c3_sck_a20";
5938a7669a5SJian Hu						function = "i2c3";
5948a7669a5SJian Hu					};
5958a7669a5SJian Hu				};
596de05ded6SXingyu Chen			};
597de05ded6SXingyu Chen		};
598de05ded6SXingyu Chen
5999d59b708SYixun Lan		sram: sram@fffc0000 {
6009d59b708SYixun Lan			compatible = "amlogic,meson-axg-sram", "mmio-sram";
6019d59b708SYixun Lan			reg = <0x0 0xfffc0000 0x0 0x20000>;
6029d59b708SYixun Lan			#address-cells = <1>;
6039d59b708SYixun Lan			#size-cells = <1>;
6049d59b708SYixun Lan			ranges = <0 0x0 0xfffc0000 0x20000>;
6059d59b708SYixun Lan
6069d59b708SYixun Lan			cpu_scp_lpri: scp-shmem@0 {
6079d59b708SYixun Lan				compatible = "amlogic,meson-axg-scp-shmem";
6089d59b708SYixun Lan				reg = <0x13000 0x400>;
6099d59b708SYixun Lan			};
6109d59b708SYixun Lan
6119d59b708SYixun Lan			cpu_scp_hpri: scp-shmem@200 {
6129d59b708SYixun Lan				compatible = "amlogic,meson-axg-scp-shmem";
6139d59b708SYixun Lan				reg = <0x13400 0x400>;
6149d59b708SYixun Lan			};
6159d59b708SYixun Lan		};
6169d59b708SYixun Lan
6170cb6c604SKevin Hilman		aobus: bus@ff800000 {
6189d59b708SYixun Lan			compatible = "simple-bus";
6199d59b708SYixun Lan			reg = <0x0 0xff800000 0x0 0x100000>;
6209d59b708SYixun Lan			#address-cells = <2>;
6219d59b708SYixun Lan			#size-cells = <2>;
6229d59b708SYixun Lan			ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
6239d59b708SYixun Lan
624de05ded6SXingyu Chen			pinctrl_aobus: pinctrl@14 {
625de05ded6SXingyu Chen				compatible = "amlogic,meson-axg-aobus-pinctrl";
626de05ded6SXingyu Chen				#address-cells = <2>;
627de05ded6SXingyu Chen				#size-cells = <2>;
628de05ded6SXingyu Chen				ranges;
629de05ded6SXingyu Chen
630de05ded6SXingyu Chen				gpio_ao: bank@14 {
631de05ded6SXingyu Chen					reg = <0x0 0x00014 0x0 0x8>,
632de05ded6SXingyu Chen						<0x0 0x0002c 0x0 0x4>,
633de05ded6SXingyu Chen						<0x0 0x00024 0x0 0x8>;
634de05ded6SXingyu Chen					reg-names = "mux", "pull", "gpio";
635de05ded6SXingyu Chen					gpio-controller;
636de05ded6SXingyu Chen					#gpio-cells = <2>;
637de05ded6SXingyu Chen					gpio-ranges = <&pinctrl_aobus 0 0 15>;
638de05ded6SXingyu Chen				};
6397bd46a79SYixun Lan
6407bd46a79SYixun Lan				remote_input_ao_pins: remote_input_ao {
6417bd46a79SYixun Lan					mux {
6427bd46a79SYixun Lan						groups = "remote_input_ao";
6437bd46a79SYixun Lan						function = "remote_input_ao";
6447bd46a79SYixun Lan					};
6457bd46a79SYixun Lan				};
646de05ded6SXingyu Chen			};
647de05ded6SXingyu Chen
6484a81e5ddSJian Hu			pwm_AO_ab: pwm@7000 {
6494a81e5ddSJian Hu				compatible = "amlogic,meson-axg-ao-pwm";
6504a81e5ddSJian Hu				reg = <0x0 0x07000 0x0 0x20>;
6514a81e5ddSJian Hu				#pwm-cells = <3>;
6524a81e5ddSJian Hu				status = "disabled";
6534a81e5ddSJian Hu			};
6544a81e5ddSJian Hu
6554a81e5ddSJian Hu			pwm_AO_cd: pwm@2000 {
6564a81e5ddSJian Hu				compatible = "amlogic,axg-ao-pwm";
6574a81e5ddSJian Hu				reg = <0x0 0x02000  0x0 0x20>;
6584a81e5ddSJian Hu				#pwm-cells = <3>;
6594a81e5ddSJian Hu				status = "disabled";
6604a81e5ddSJian Hu			};
6614a81e5ddSJian Hu
662dc6f858eSJian Hu			i2c_AO: i2c@5000 {
663dc6f858eSJian Hu				compatible = "amlogic,meson-axg-i2c";
664dc6f858eSJian Hu				status = "disabled";
665dc6f858eSJian Hu				reg = <0x0 0x05000 0x0 0x20>;
666dc6f858eSJian Hu				interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
667dc6f858eSJian Hu				#address-cells = <1>;
668dc6f858eSJian Hu				#size-cells = <0>;
669dc6f858eSJian Hu				clocks = <&clkc CLKID_I2C>;
670dc6f858eSJian Hu				clock-names = "clk_i2c";
671dc6f858eSJian Hu			};
672dc6f858eSJian Hu
6739d59b708SYixun Lan			uart_AO: serial@3000 {
6749d59b708SYixun Lan				compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
6759d59b708SYixun Lan				reg = <0x0 0x3000 0x0 0x18>;
6769d59b708SYixun Lan				interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
67706b7a631SYixun Lan				clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>;
6789d59b708SYixun Lan				clock-names = "xtal", "pclk", "baud";
6799d59b708SYixun Lan				status = "disabled";
6809d59b708SYixun Lan			};
6819d59b708SYixun Lan
6829d59b708SYixun Lan			uart_AO_B: serial@4000 {
6839d59b708SYixun Lan				compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
6849d59b708SYixun Lan				reg = <0x0 0x4000 0x0 0x18>;
6859d59b708SYixun Lan				interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
68606b7a631SYixun Lan				clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>;
6879d59b708SYixun Lan				clock-names = "xtal", "pclk", "baud";
6889d59b708SYixun Lan				status = "disabled";
6899d59b708SYixun Lan			};
6907bd46a79SYixun Lan
6917bd46a79SYixun Lan			ir: ir@8000 {
6927bd46a79SYixun Lan				compatible = "amlogic,meson-gxbb-ir";
6937bd46a79SYixun Lan				reg = <0x0 0x8000 0x0 0x20>;
6947bd46a79SYixun Lan				interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
6957bd46a79SYixun Lan				status = "disabled";
6967bd46a79SYixun Lan			};
6979d59b708SYixun Lan		};
6989d59b708SYixun Lan	};
6999d59b708SYixun Lan};
700