162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2019 Amlogic, Inc. All rights reserved.
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h>
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/ {
962306a36Sopenharmony_ci	interrupt-parent = <&gic>;
1062306a36Sopenharmony_ci	#address-cells = <2>;
1162306a36Sopenharmony_ci	#size-cells = <2>;
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	cpus {
1462306a36Sopenharmony_ci		#address-cells = <0x2>;
1562306a36Sopenharmony_ci		#size-cells = <0x0>;
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci		cpu-map {
1862306a36Sopenharmony_ci			cluster0 {
1962306a36Sopenharmony_ci				core0 {
2062306a36Sopenharmony_ci					cpu = <&cpu100>;
2162306a36Sopenharmony_ci				};
2262306a36Sopenharmony_ci				core1 {
2362306a36Sopenharmony_ci					cpu = <&cpu101>;
2462306a36Sopenharmony_ci				};
2562306a36Sopenharmony_ci				core2 {
2662306a36Sopenharmony_ci					cpu = <&cpu102>;
2762306a36Sopenharmony_ci				};
2862306a36Sopenharmony_ci				core3 {
2962306a36Sopenharmony_ci					cpu = <&cpu103>;
3062306a36Sopenharmony_ci				};
3162306a36Sopenharmony_ci			};
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci			cluster1 {
3462306a36Sopenharmony_ci				core0 {
3562306a36Sopenharmony_ci					cpu = <&cpu0>;
3662306a36Sopenharmony_ci				};
3762306a36Sopenharmony_ci				core1 {
3862306a36Sopenharmony_ci					cpu = <&cpu1>;
3962306a36Sopenharmony_ci				};
4062306a36Sopenharmony_ci				core2 {
4162306a36Sopenharmony_ci					cpu = <&cpu2>;
4262306a36Sopenharmony_ci				};
4362306a36Sopenharmony_ci				core3 {
4462306a36Sopenharmony_ci					cpu = <&cpu3>;
4562306a36Sopenharmony_ci				};
4662306a36Sopenharmony_ci			};
4762306a36Sopenharmony_ci		};
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci		cpu100: cpu@100 {
5062306a36Sopenharmony_ci			device_type = "cpu";
5162306a36Sopenharmony_ci			compatible = "arm,cortex-a53";
5262306a36Sopenharmony_ci			reg = <0x0 0x100>;
5362306a36Sopenharmony_ci			enable-method = "psci";
5462306a36Sopenharmony_ci		};
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci		cpu101: cpu@101{
5762306a36Sopenharmony_ci			device_type = "cpu";
5862306a36Sopenharmony_ci			compatible = "arm,cortex-a53";
5962306a36Sopenharmony_ci			reg = <0x0 0x101>;
6062306a36Sopenharmony_ci			enable-method = "psci";
6162306a36Sopenharmony_ci		};
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci		cpu102: cpu@102 {
6462306a36Sopenharmony_ci			device_type = "cpu";
6562306a36Sopenharmony_ci			compatible = "arm,cortex-a53";
6662306a36Sopenharmony_ci			reg = <0x0 0x102>;
6762306a36Sopenharmony_ci			enable-method = "psci";
6862306a36Sopenharmony_ci		};
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci		cpu103: cpu@103 {
7162306a36Sopenharmony_ci			device_type = "cpu";
7262306a36Sopenharmony_ci			compatible = "arm,cortex-a53";
7362306a36Sopenharmony_ci			reg = <0x0 0x103>;
7462306a36Sopenharmony_ci			enable-method = "psci";
7562306a36Sopenharmony_ci		};
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci		cpu0: cpu@0 {
7862306a36Sopenharmony_ci			device_type = "cpu";
7962306a36Sopenharmony_ci			compatible = "arm,cortex-a73";
8062306a36Sopenharmony_ci			reg = <0x0 0x0>;
8162306a36Sopenharmony_ci			enable-method = "psci";
8262306a36Sopenharmony_ci		};
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci		cpu1: cpu@1 {
8562306a36Sopenharmony_ci			device_type = "cpu";
8662306a36Sopenharmony_ci			compatible = "arm,cortex-a73";
8762306a36Sopenharmony_ci			reg = <0x0 0x1>;
8862306a36Sopenharmony_ci			enable-method = "psci";
8962306a36Sopenharmony_ci		};
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci		cpu2: cpu@2 {
9262306a36Sopenharmony_ci			device_type = "cpu";
9362306a36Sopenharmony_ci			compatible = "arm,cortex-a73";
9462306a36Sopenharmony_ci			reg = <0x0 0x2>;
9562306a36Sopenharmony_ci			enable-method = "psci";
9662306a36Sopenharmony_ci		};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci		cpu3: cpu@3 {
9962306a36Sopenharmony_ci			device_type = "cpu";
10062306a36Sopenharmony_ci			compatible = "arm,cortex-a73";
10162306a36Sopenharmony_ci			reg = <0x0 0x3>;
10262306a36Sopenharmony_ci			enable-method = "psci";
10362306a36Sopenharmony_ci		};
10462306a36Sopenharmony_ci	};
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci	timer {
10762306a36Sopenharmony_ci		compatible = "arm,armv8-timer";
10862306a36Sopenharmony_ci		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
10962306a36Sopenharmony_ci			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
11062306a36Sopenharmony_ci			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
11162306a36Sopenharmony_ci			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
11262306a36Sopenharmony_ci	};
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci	psci {
11562306a36Sopenharmony_ci		compatible = "arm,psci-1.0";
11662306a36Sopenharmony_ci		method = "smc";
11762306a36Sopenharmony_ci	};
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci	sm: secure-monitor {
12062306a36Sopenharmony_ci		compatible = "amlogic,meson-gxbb-sm";
12162306a36Sopenharmony_ci	};
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci	soc {
12462306a36Sopenharmony_ci		compatible = "simple-bus";
12562306a36Sopenharmony_ci		#address-cells = <2>;
12662306a36Sopenharmony_ci		#size-cells = <2>;
12762306a36Sopenharmony_ci		ranges;
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci		gic: interrupt-controller@fff01000 {
13062306a36Sopenharmony_ci			compatible = "arm,gic-400";
13162306a36Sopenharmony_ci			#interrupt-cells = <3>;
13262306a36Sopenharmony_ci			#address-cells = <0>;
13362306a36Sopenharmony_ci			interrupt-controller;
13462306a36Sopenharmony_ci			reg = <0x0 0xfff01000 0 0x1000>,
13562306a36Sopenharmony_ci			      <0x0 0xfff02000 0 0x0100>;
13662306a36Sopenharmony_ci			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
13762306a36Sopenharmony_ci		};
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci		apb4: bus@fe000000 {
14062306a36Sopenharmony_ci			compatible = "simple-bus";
14162306a36Sopenharmony_ci			reg = <0x0 0xfe000000 0x0 0x480000>;
14262306a36Sopenharmony_ci			#address-cells = <2>;
14362306a36Sopenharmony_ci			#size-cells = <2>;
14462306a36Sopenharmony_ci			ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x480000>;
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ci			uart_a: serial@78000 {
14762306a36Sopenharmony_ci				compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart";
14862306a36Sopenharmony_ci				reg = <0x0 0x78000 0x0 0x18>;
14962306a36Sopenharmony_ci				interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
15062306a36Sopenharmony_ci				status = "disabled";
15162306a36Sopenharmony_ci			};
15262306a36Sopenharmony_ci		};
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci	};
15562306a36Sopenharmony_ci};
156