xref: /freebsd/sys/contrib/device-tree/src/arm/socionext/milbeaut-m10v.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
3*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
4*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
5*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
6*f126890aSEmmanuel Vadot
7*f126890aSEmmanuel Vadot/ {
8*f126890aSEmmanuel Vadot	compatible = "socionext,sc2000a";
9*f126890aSEmmanuel Vadot	interrupt-parent = <&gic>;
10*f126890aSEmmanuel Vadot	#address-cells = <1>;
11*f126890aSEmmanuel Vadot	#size-cells = <1>;
12*f126890aSEmmanuel Vadot
13*f126890aSEmmanuel Vadot	cpus {
14*f126890aSEmmanuel Vadot		#address-cells = <1>;
15*f126890aSEmmanuel Vadot		#size-cells = <0>;
16*f126890aSEmmanuel Vadot		enable-method = "socionext,milbeaut-m10v-smp";
17*f126890aSEmmanuel Vadot		cpu@f00 {
18*f126890aSEmmanuel Vadot			device_type = "cpu";
19*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
20*f126890aSEmmanuel Vadot			reg = <0xf00>;
21*f126890aSEmmanuel Vadot		};
22*f126890aSEmmanuel Vadot		cpu@f01 {
23*f126890aSEmmanuel Vadot			device_type = "cpu";
24*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
25*f126890aSEmmanuel Vadot			reg = <0xf01>;
26*f126890aSEmmanuel Vadot		};
27*f126890aSEmmanuel Vadot		cpu@f02 {
28*f126890aSEmmanuel Vadot			device_type = "cpu";
29*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
30*f126890aSEmmanuel Vadot			reg = <0xf02>;
31*f126890aSEmmanuel Vadot		};
32*f126890aSEmmanuel Vadot		cpu@f03 {
33*f126890aSEmmanuel Vadot			device_type = "cpu";
34*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
35*f126890aSEmmanuel Vadot			reg = <0xf03>;
36*f126890aSEmmanuel Vadot		};
37*f126890aSEmmanuel Vadot	};
38*f126890aSEmmanuel Vadot
39*f126890aSEmmanuel Vadot	timer { /* The Generic Timer */
40*f126890aSEmmanuel Vadot		compatible = "arm,armv7-timer";
41*f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 13
42*f126890aSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
43*f126890aSEmmanuel Vadot			<GIC_PPI 14
44*f126890aSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
45*f126890aSEmmanuel Vadot			<GIC_PPI 11
46*f126890aSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
47*f126890aSEmmanuel Vadot			<GIC_PPI 10
48*f126890aSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
49*f126890aSEmmanuel Vadot		clock-frequency = <40000000>;
50*f126890aSEmmanuel Vadot		always-on;
51*f126890aSEmmanuel Vadot	};
52*f126890aSEmmanuel Vadot
53*f126890aSEmmanuel Vadot	soc {
54*f126890aSEmmanuel Vadot		compatible = "simple-bus";
55*f126890aSEmmanuel Vadot		#address-cells = <1>;
56*f126890aSEmmanuel Vadot		#size-cells = <1>;
57*f126890aSEmmanuel Vadot		ranges;
58*f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
59*f126890aSEmmanuel Vadot
60*f126890aSEmmanuel Vadot		gic: interrupt-controller@1d000000 {
61*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7-gic";
62*f126890aSEmmanuel Vadot			interrupt-controller;
63*f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
64*f126890aSEmmanuel Vadot			reg = <0x1d001000 0x1000>,
65*f126890aSEmmanuel Vadot			      <0x1d002000 0x1000>; /* CPU I/f base and size */
66*f126890aSEmmanuel Vadot		};
67*f126890aSEmmanuel Vadot
68*f126890aSEmmanuel Vadot		clk: clock-ctrl@1d021000 {
69*f126890aSEmmanuel Vadot			compatible = "socionext,milbeaut-m10v-ccu";
70*f126890aSEmmanuel Vadot			#clock-cells = <1>;
71*f126890aSEmmanuel Vadot			reg = <0x1d021000 0x1000>;
72*f126890aSEmmanuel Vadot			clocks = <&uclk40xi>;
73*f126890aSEmmanuel Vadot		};
74*f126890aSEmmanuel Vadot
75*f126890aSEmmanuel Vadot		timer@1e000050 { /* 32-bit Reload Timers */
76*f126890aSEmmanuel Vadot			compatible = "socionext,milbeaut-timer";
77*f126890aSEmmanuel Vadot			reg = <0x1e000050 0x20>;
78*f126890aSEmmanuel Vadot			interrupts = <0 91 4>;
79*f126890aSEmmanuel Vadot			clocks = <&clk 4>;
80*f126890aSEmmanuel Vadot		};
81*f126890aSEmmanuel Vadot
82*f126890aSEmmanuel Vadot		uart1: serial@1e700010 { /* PE4, PE5 */
83*f126890aSEmmanuel Vadot			/* Enable this as ttyUSI0 */
84*f126890aSEmmanuel Vadot			compatible = "socionext,milbeaut-usio-uart";
85*f126890aSEmmanuel Vadot			reg = <0x1e700010 0x10>;
86*f126890aSEmmanuel Vadot			interrupts = <0 141 0x4>, <0 149 0x4>;
87*f126890aSEmmanuel Vadot			interrupt-names = "rx", "tx";
88*f126890aSEmmanuel Vadot			clocks = <&clk 2>;
89*f126890aSEmmanuel Vadot		};
90*f126890aSEmmanuel Vadot
91*f126890aSEmmanuel Vadot	};
92*f126890aSEmmanuel Vadot
93*f126890aSEmmanuel Vadot	sram@0 {
94*f126890aSEmmanuel Vadot		compatible = "mmio-sram";
95*f126890aSEmmanuel Vadot		reg = <0x0 0x10000>;
96*f126890aSEmmanuel Vadot		#address-cells = <1>;
97*f126890aSEmmanuel Vadot		#size-cells = <1>;
98*f126890aSEmmanuel Vadot		ranges = <0 0x0 0x10000>;
99*f126890aSEmmanuel Vadot		smp-sram@f100 {
100*f126890aSEmmanuel Vadot			compatible = "socionext,milbeaut-smp-sram";
101*f126890aSEmmanuel Vadot			reg = <0xf100 0x20>;
102*f126890aSEmmanuel Vadot		};
103*f126890aSEmmanuel Vadot	};
104*f126890aSEmmanuel Vadot};
105