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
1519d59b708SYixun Lan		mailbox: mailbox@ff63dc00 {
1529d59b708SYixun Lan			compatible = "amlogic,meson-gx-mhu", "amlogic,meson-gxbb-mhu";
1539d59b708SYixun Lan			reg = <0 0xff63dc00 0 0x400>;
1549d59b708SYixun Lan			interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>,
1559d59b708SYixun Lan				     <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>,
1569d59b708SYixun Lan				     <GIC_SPI 210 IRQ_TYPE_EDGE_RISING>;
1579d59b708SYixun Lan			#mbox-cells = <1>;
1589d59b708SYixun Lan		};
1599d59b708SYixun Lan
1609d59b708SYixun Lan		sram: sram@fffc0000 {
1619d59b708SYixun Lan			compatible = "amlogic,meson-axg-sram", "mmio-sram";
1629d59b708SYixun Lan			reg = <0x0 0xfffc0000 0x0 0x20000>;
1639d59b708SYixun Lan			#address-cells = <1>;
1649d59b708SYixun Lan			#size-cells = <1>;
1659d59b708SYixun Lan			ranges = <0 0x0 0xfffc0000 0x20000>;
1669d59b708SYixun Lan
1679d59b708SYixun Lan			cpu_scp_lpri: scp-shmem@0 {
1689d59b708SYixun Lan				compatible = "amlogic,meson-axg-scp-shmem";
1699d59b708SYixun Lan				reg = <0x13000 0x400>;
1709d59b708SYixun Lan			};
1719d59b708SYixun Lan
1729d59b708SYixun Lan			cpu_scp_hpri: scp-shmem@200 {
1739d59b708SYixun Lan				compatible = "amlogic,meson-axg-scp-shmem";
1749d59b708SYixun Lan				reg = <0x13400 0x400>;
1759d59b708SYixun Lan			};
1769d59b708SYixun Lan		};
1779d59b708SYixun Lan
1780cb6c604SKevin Hilman		aobus: bus@ff800000 {
1799d59b708SYixun Lan			compatible = "simple-bus";
1809d59b708SYixun Lan			reg = <0x0 0xff800000 0x0 0x100000>;
1819d59b708SYixun Lan			#address-cells = <2>;
1829d59b708SYixun Lan			#size-cells = <2>;
1839d59b708SYixun Lan			ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
1849d59b708SYixun Lan
1859d59b708SYixun Lan			uart_AO: serial@3000 {
1869d59b708SYixun Lan				compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
1879d59b708SYixun Lan				reg = <0x0 0x3000 0x0 0x18>;
1889d59b708SYixun Lan				interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
1899d59b708SYixun Lan				clocks = <&xtal>, <&xtal>, <&xtal>;
1909d59b708SYixun Lan				clock-names = "xtal", "pclk", "baud";
1919d59b708SYixun Lan				status = "disabled";
1929d59b708SYixun Lan			};
1939d59b708SYixun Lan
1949d59b708SYixun Lan			uart_AO_B: serial@4000 {
1959d59b708SYixun Lan				compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
1969d59b708SYixun Lan				reg = <0x0 0x4000 0x0 0x18>;
1979d59b708SYixun Lan				interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
1989d59b708SYixun Lan				clocks = <&xtal>, <&xtal>, <&xtal>;
1999d59b708SYixun Lan				clock-names = "xtal", "pclk", "baud";
2009d59b708SYixun Lan				status = "disabled";
2019d59b708SYixun Lan			};
2029d59b708SYixun Lan		};
2039d59b708SYixun Lan	};
2049d59b708SYixun Lan};
205