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
1239d59b708SYixun Lan			uart_A: serial@24000 {
1249d59b708SYixun Lan				compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart";
1259d59b708SYixun Lan				reg = <0x0 0x24000 0x0 0x14>;
1269d59b708SYixun Lan				interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
1279d59b708SYixun Lan				status = "disabled";
1289d59b708SYixun Lan			};
1299d59b708SYixun Lan
1309d59b708SYixun Lan			uart_B: serial@23000 {
1319d59b708SYixun Lan				compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart";
1329d59b708SYixun Lan				reg = <0x0 0x23000 0x0 0x14>;
1339d59b708SYixun Lan				interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
1349d59b708SYixun Lan				status = "disabled";
1359d59b708SYixun Lan			};
1369d59b708SYixun Lan		};
1379d59b708SYixun Lan
1389d59b708SYixun Lan		gic: interrupt-controller@ffc01000 {
1399d59b708SYixun Lan			compatible = "arm,gic-400";
1409d59b708SYixun Lan			reg = <0x0 0xffc01000 0 0x1000>,
1419d59b708SYixun Lan			      <0x0 0xffc02000 0 0x2000>,
1429d59b708SYixun Lan			      <0x0 0xffc04000 0 0x2000>,
1439d59b708SYixun Lan			      <0x0 0xffc06000 0 0x2000>;
1449d59b708SYixun Lan			interrupt-controller;
1459d59b708SYixun Lan			interrupts = <GIC_PPI 9
1469d59b708SYixun Lan				(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
1479d59b708SYixun Lan			#interrupt-cells = <3>;
1489d59b708SYixun Lan			#address-cells = <0>;
1499d59b708SYixun Lan		};
1509d59b708SYixun Lan
151abfc18f9SQiufang Dai		hiubus: bus@ff63c000 {
152abfc18f9SQiufang Dai			compatible = "simple-bus";
153abfc18f9SQiufang Dai			reg = <0x0 0xff63c000 0x0 0x1c00>;
154abfc18f9SQiufang Dai			#address-cells = <2>;
155abfc18f9SQiufang Dai			#size-cells = <2>;
156abfc18f9SQiufang Dai			ranges = <0x0 0x0 0x0 0xff63c000 0x0 0x1c00>;
157abfc18f9SQiufang Dai
158abfc18f9SQiufang Dai			clkc: clock-controller@0 {
159abfc18f9SQiufang Dai				compatible = "amlogic,axg-clkc";
160abfc18f9SQiufang Dai				#clock-cells = <1>;
161abfc18f9SQiufang Dai				reg = <0x0 0x0 0x0 0x320>;
162abfc18f9SQiufang Dai			};
163abfc18f9SQiufang Dai		};
164abfc18f9SQiufang Dai
1659d59b708SYixun Lan		mailbox: mailbox@ff63dc00 {
1669d59b708SYixun Lan			compatible = "amlogic,meson-gx-mhu", "amlogic,meson-gxbb-mhu";
1679d59b708SYixun Lan			reg = <0 0xff63dc00 0 0x400>;
1689d59b708SYixun Lan			interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>,
1699d59b708SYixun Lan				     <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>,
1709d59b708SYixun Lan				     <GIC_SPI 210 IRQ_TYPE_EDGE_RISING>;
1719d59b708SYixun Lan			#mbox-cells = <1>;
1729d59b708SYixun Lan		};
1739d59b708SYixun Lan
1749d59b708SYixun Lan		sram: sram@fffc0000 {
1759d59b708SYixun Lan			compatible = "amlogic,meson-axg-sram", "mmio-sram";
1769d59b708SYixun Lan			reg = <0x0 0xfffc0000 0x0 0x20000>;
1779d59b708SYixun Lan			#address-cells = <1>;
1789d59b708SYixun Lan			#size-cells = <1>;
1799d59b708SYixun Lan			ranges = <0 0x0 0xfffc0000 0x20000>;
1809d59b708SYixun Lan
1819d59b708SYixun Lan			cpu_scp_lpri: scp-shmem@0 {
1829d59b708SYixun Lan				compatible = "amlogic,meson-axg-scp-shmem";
1839d59b708SYixun Lan				reg = <0x13000 0x400>;
1849d59b708SYixun Lan			};
1859d59b708SYixun Lan
1869d59b708SYixun Lan			cpu_scp_hpri: scp-shmem@200 {
1879d59b708SYixun Lan				compatible = "amlogic,meson-axg-scp-shmem";
1889d59b708SYixun Lan				reg = <0x13400 0x400>;
1899d59b708SYixun Lan			};
1909d59b708SYixun Lan		};
1919d59b708SYixun Lan
1920cb6c604SKevin Hilman		aobus: bus@ff800000 {
1939d59b708SYixun Lan			compatible = "simple-bus";
1949d59b708SYixun Lan			reg = <0x0 0xff800000 0x0 0x100000>;
1959d59b708SYixun Lan			#address-cells = <2>;
1969d59b708SYixun Lan			#size-cells = <2>;
1979d59b708SYixun Lan			ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
1989d59b708SYixun Lan
1999d59b708SYixun Lan			uart_AO: serial@3000 {
2009d59b708SYixun Lan				compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
2019d59b708SYixun Lan				reg = <0x0 0x3000 0x0 0x18>;
2029d59b708SYixun Lan				interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
2039d59b708SYixun Lan				clocks = <&xtal>, <&xtal>, <&xtal>;
2049d59b708SYixun Lan				clock-names = "xtal", "pclk", "baud";
2059d59b708SYixun Lan				status = "disabled";
2069d59b708SYixun Lan			};
2079d59b708SYixun Lan
2089d59b708SYixun Lan			uart_AO_B: serial@4000 {
2099d59b708SYixun Lan				compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
2109d59b708SYixun Lan				reg = <0x0 0x4000 0x0 0x18>;
2119d59b708SYixun Lan				interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
2129d59b708SYixun Lan				clocks = <&xtal>, <&xtal>, <&xtal>;
2139d59b708SYixun Lan				clock-names = "xtal", "pclk", "baud";
2149d59b708SYixun Lan				status = "disabled";
2159d59b708SYixun Lan			};
2169d59b708SYixun Lan		};
2179d59b708SYixun Lan	};
2189d59b708SYixun Lan};
219