162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
362306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
462306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
562306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h>
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci/ {
862306a36Sopenharmony_ci	compatible = "socionext,sc2000a";
962306a36Sopenharmony_ci	interrupt-parent = <&gic>;
1062306a36Sopenharmony_ci	#address-cells = <1>;
1162306a36Sopenharmony_ci	#size-cells = <1>;
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	cpus {
1462306a36Sopenharmony_ci		#address-cells = <1>;
1562306a36Sopenharmony_ci		#size-cells = <0>;
1662306a36Sopenharmony_ci		enable-method = "socionext,milbeaut-m10v-smp";
1762306a36Sopenharmony_ci		cpu@f00 {
1862306a36Sopenharmony_ci			device_type = "cpu";
1962306a36Sopenharmony_ci			compatible = "arm,cortex-a7";
2062306a36Sopenharmony_ci			reg = <0xf00>;
2162306a36Sopenharmony_ci		};
2262306a36Sopenharmony_ci		cpu@f01 {
2362306a36Sopenharmony_ci			device_type = "cpu";
2462306a36Sopenharmony_ci			compatible = "arm,cortex-a7";
2562306a36Sopenharmony_ci			reg = <0xf01>;
2662306a36Sopenharmony_ci		};
2762306a36Sopenharmony_ci		cpu@f02 {
2862306a36Sopenharmony_ci			device_type = "cpu";
2962306a36Sopenharmony_ci			compatible = "arm,cortex-a7";
3062306a36Sopenharmony_ci			reg = <0xf02>;
3162306a36Sopenharmony_ci		};
3262306a36Sopenharmony_ci		cpu@f03 {
3362306a36Sopenharmony_ci			device_type = "cpu";
3462306a36Sopenharmony_ci			compatible = "arm,cortex-a7";
3562306a36Sopenharmony_ci			reg = <0xf03>;
3662306a36Sopenharmony_ci		};
3762306a36Sopenharmony_ci	};
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci	timer { /* The Generic Timer */
4062306a36Sopenharmony_ci		compatible = "arm,armv7-timer";
4162306a36Sopenharmony_ci		interrupts = <GIC_PPI 13
4262306a36Sopenharmony_ci				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
4362306a36Sopenharmony_ci			<GIC_PPI 14
4462306a36Sopenharmony_ci				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
4562306a36Sopenharmony_ci			<GIC_PPI 11
4662306a36Sopenharmony_ci				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
4762306a36Sopenharmony_ci			<GIC_PPI 10
4862306a36Sopenharmony_ci				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
4962306a36Sopenharmony_ci		clock-frequency = <40000000>;
5062306a36Sopenharmony_ci		always-on;
5162306a36Sopenharmony_ci	};
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci	soc {
5462306a36Sopenharmony_ci		compatible = "simple-bus";
5562306a36Sopenharmony_ci		#address-cells = <1>;
5662306a36Sopenharmony_ci		#size-cells = <1>;
5762306a36Sopenharmony_ci		ranges;
5862306a36Sopenharmony_ci		interrupt-parent = <&gic>;
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci		gic: interrupt-controller@1d000000 {
6162306a36Sopenharmony_ci			compatible = "arm,cortex-a7-gic";
6262306a36Sopenharmony_ci			interrupt-controller;
6362306a36Sopenharmony_ci			#interrupt-cells = <3>;
6462306a36Sopenharmony_ci			reg = <0x1d001000 0x1000>,
6562306a36Sopenharmony_ci			      <0x1d002000 0x1000>; /* CPU I/f base and size */
6662306a36Sopenharmony_ci		};
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci		clk: clock-ctrl@1d021000 {
6962306a36Sopenharmony_ci			compatible = "socionext,milbeaut-m10v-ccu";
7062306a36Sopenharmony_ci			#clock-cells = <1>;
7162306a36Sopenharmony_ci			reg = <0x1d021000 0x1000>;
7262306a36Sopenharmony_ci			clocks = <&uclk40xi>;
7362306a36Sopenharmony_ci		};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci		timer@1e000050 { /* 32-bit Reload Timers */
7662306a36Sopenharmony_ci			compatible = "socionext,milbeaut-timer";
7762306a36Sopenharmony_ci			reg = <0x1e000050 0x20>;
7862306a36Sopenharmony_ci			interrupts = <0 91 4>;
7962306a36Sopenharmony_ci			clocks = <&clk 4>;
8062306a36Sopenharmony_ci		};
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci		uart1: serial@1e700010 { /* PE4, PE5 */
8362306a36Sopenharmony_ci			/* Enable this as ttyUSI0 */
8462306a36Sopenharmony_ci			compatible = "socionext,milbeaut-usio-uart";
8562306a36Sopenharmony_ci			reg = <0x1e700010 0x10>;
8662306a36Sopenharmony_ci			interrupts = <0 141 0x4>, <0 149 0x4>;
8762306a36Sopenharmony_ci			interrupt-names = "rx", "tx";
8862306a36Sopenharmony_ci			clocks = <&clk 2>;
8962306a36Sopenharmony_ci		};
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci	};
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci	sram@0 {
9462306a36Sopenharmony_ci		compatible = "mmio-sram";
9562306a36Sopenharmony_ci		reg = <0x0 0x10000>;
9662306a36Sopenharmony_ci		#address-cells = <1>;
9762306a36Sopenharmony_ci		#size-cells = <1>;
9862306a36Sopenharmony_ci		ranges = <0 0x0 0x10000>;
9962306a36Sopenharmony_ci		smp-sram@f100 {
10062306a36Sopenharmony_ci			compatible = "socionext,milbeaut-smp-sram";
10162306a36Sopenharmony_ci			reg = <0xf100 0x20>;
10262306a36Sopenharmony_ci		};
10362306a36Sopenharmony_ci	};
10462306a36Sopenharmony_ci};
105