xref: /rk3399_ARM-atf/fdts/corstone700.dtsi (revision 33172350908fb183f6b467cedab9d0b88b0f9267)
1*ef93cfa3SAbdellatif El Khlifi/*
2*ef93cfa3SAbdellatif El Khlifi * Copyright (c) 2020, Arm Limited. All rights reserved.
3*ef93cfa3SAbdellatif El Khlifi *
4*ef93cfa3SAbdellatif El Khlifi * SPDX-License-Identifier: BSD-3-Clause
5*ef93cfa3SAbdellatif El Khlifi */
6*ef93cfa3SAbdellatif El Khlifi
7*ef93cfa3SAbdellatif El Khlifi#include <dt-bindings/interrupt-controller/arm-gic.h>
8*ef93cfa3SAbdellatif El Khlifi
9*ef93cfa3SAbdellatif El Khlifi/ {
10*ef93cfa3SAbdellatif El Khlifi	compatible = "arm,Corstone-700";
11*ef93cfa3SAbdellatif El Khlifi	interrupt-parent = <&gic>;
12*ef93cfa3SAbdellatif El Khlifi	#address-cells = <1>;
13*ef93cfa3SAbdellatif El Khlifi	#size-cells = <1>;
14*ef93cfa3SAbdellatif El Khlifi
15*ef93cfa3SAbdellatif El Khlifi	chosen { };
16*ef93cfa3SAbdellatif El Khlifi
17*ef93cfa3SAbdellatif El Khlifi	cpus {
18*ef93cfa3SAbdellatif El Khlifi		#address-cells = <1>;
19*ef93cfa3SAbdellatif El Khlifi		#size-cells = <0>;
20*ef93cfa3SAbdellatif El Khlifi
21*ef93cfa3SAbdellatif El Khlifi		cpu@0 {
22*ef93cfa3SAbdellatif El Khlifi			device_type = "cpu";
23*ef93cfa3SAbdellatif El Khlifi			compatible = "arm,armv8";
24*ef93cfa3SAbdellatif El Khlifi			reg = <0>;
25*ef93cfa3SAbdellatif El Khlifi			next-level-cache = <&L2_0>;
26*ef93cfa3SAbdellatif El Khlifi		};
27*ef93cfa3SAbdellatif El Khlifi	};
28*ef93cfa3SAbdellatif El Khlifi
29*ef93cfa3SAbdellatif El Khlifi	memory@80000000 {
30*ef93cfa3SAbdellatif El Khlifi		device_type = "memory";
31*ef93cfa3SAbdellatif El Khlifi		reg = <0x80000000 0x80000000>;
32*ef93cfa3SAbdellatif El Khlifi	};
33*ef93cfa3SAbdellatif El Khlifi
34*ef93cfa3SAbdellatif El Khlifi	gic: interrupt-controller@1c000000 {
35*ef93cfa3SAbdellatif El Khlifi		compatible = "arm,gic-400";
36*ef93cfa3SAbdellatif El Khlifi		#interrupt-cells = <3>;
37*ef93cfa3SAbdellatif El Khlifi		#address-cells = <0>;
38*ef93cfa3SAbdellatif El Khlifi		interrupt-controller;
39*ef93cfa3SAbdellatif El Khlifi		reg =	<0x1c010000 0x1000>,
40*ef93cfa3SAbdellatif El Khlifi			<0x1c02f000 0x2000>,
41*ef93cfa3SAbdellatif El Khlifi			<0x1c04f000 0x1000>,
42*ef93cfa3SAbdellatif El Khlifi			<0x1c06f000 0x2000>;
43*ef93cfa3SAbdellatif El Khlifi		interrupts = <1 9 0xf08>;
44*ef93cfa3SAbdellatif El Khlifi	};
45*ef93cfa3SAbdellatif El Khlifi
46*ef93cfa3SAbdellatif El Khlifi	L2_0: l2-cache0 {
47*ef93cfa3SAbdellatif El Khlifi		compatible = "cache";
48*ef93cfa3SAbdellatif El Khlifi	};
49*ef93cfa3SAbdellatif El Khlifi
50*ef93cfa3SAbdellatif El Khlifi	refclk100mhz: refclk100mhz {
51*ef93cfa3SAbdellatif El Khlifi		compatible = "fixed-clock";
52*ef93cfa3SAbdellatif El Khlifi		#clock-cells = <0>;
53*ef93cfa3SAbdellatif El Khlifi		clock-frequency = <100000000>;
54*ef93cfa3SAbdellatif El Khlifi		clock-output-names = "apb_pclk";
55*ef93cfa3SAbdellatif El Khlifi	};
56*ef93cfa3SAbdellatif El Khlifi
57*ef93cfa3SAbdellatif El Khlifi	smbclk: refclk24mhzx2 {
58*ef93cfa3SAbdellatif El Khlifi		/* Reference 24MHz clock x 2 */
59*ef93cfa3SAbdellatif El Khlifi		compatible = "fixed-clock";
60*ef93cfa3SAbdellatif El Khlifi		#clock-cells = <0>;
61*ef93cfa3SAbdellatif El Khlifi		clock-frequency = <48000000>;
62*ef93cfa3SAbdellatif El Khlifi		clock-output-names = "smclk";
63*ef93cfa3SAbdellatif El Khlifi	};
64*ef93cfa3SAbdellatif El Khlifi
65*ef93cfa3SAbdellatif El Khlifi	uartclk: uartclk {
66*ef93cfa3SAbdellatif El Khlifi		/* UART clock - 32MHz */
67*ef93cfa3SAbdellatif El Khlifi		compatible = "fixed-clock";
68*ef93cfa3SAbdellatif El Khlifi		#clock-cells = <0>;
69*ef93cfa3SAbdellatif El Khlifi		clock-frequency = <32000000>;
70*ef93cfa3SAbdellatif El Khlifi		clock-output-names = "uartclk";
71*ef93cfa3SAbdellatif El Khlifi	};
72*ef93cfa3SAbdellatif El Khlifi
73*ef93cfa3SAbdellatif El Khlifi	serial0: uart@1a510000 {
74*ef93cfa3SAbdellatif El Khlifi		compatible = "arm,pl011", "arm,primecell";
75*ef93cfa3SAbdellatif El Khlifi		reg = <0x1a510000 0x1000>;
76*ef93cfa3SAbdellatif El Khlifi		interrupt-parent = <&gic>;
77*ef93cfa3SAbdellatif El Khlifi		interrupts = <0 19 4>;
78*ef93cfa3SAbdellatif El Khlifi		clocks = <&uartclk>, <&refclk100mhz>;
79*ef93cfa3SAbdellatif El Khlifi		clock-names = "uartclk", "apb_pclk";
80*ef93cfa3SAbdellatif El Khlifi	};
81*ef93cfa3SAbdellatif El Khlifi
82*ef93cfa3SAbdellatif El Khlifi	serial1: uart@1a520000 {
83*ef93cfa3SAbdellatif El Khlifi		compatible = "arm,pl011", "arm,primecell";
84*ef93cfa3SAbdellatif El Khlifi		reg = <0x1a520000 0x1000>;
85*ef93cfa3SAbdellatif El Khlifi		interrupt-parent = <&gic>;
86*ef93cfa3SAbdellatif El Khlifi		interrupts = <0 20 4>;
87*ef93cfa3SAbdellatif El Khlifi		clocks = <&uartclk>, <&refclk100mhz>;
88*ef93cfa3SAbdellatif El Khlifi		clock-names = "uartclk", "apb_pclk";
89*ef93cfa3SAbdellatif El Khlifi	};
90*ef93cfa3SAbdellatif El Khlifi
91*ef93cfa3SAbdellatif El Khlifi	timer {
92*ef93cfa3SAbdellatif El Khlifi		compatible = "arm,armv8-timer";
93*ef93cfa3SAbdellatif El Khlifi		interrupts =	<1 13 0xf08>,
94*ef93cfa3SAbdellatif El Khlifi				<1 14 0xf08>,
95*ef93cfa3SAbdellatif El Khlifi				<1 11 0xf08>,
96*ef93cfa3SAbdellatif El Khlifi				<1 10 0xf08>;
97*ef93cfa3SAbdellatif El Khlifi	};
98*ef93cfa3SAbdellatif El Khlifi
99*ef93cfa3SAbdellatif El Khlifi	refclk: refclk@1a220000 {
100*ef93cfa3SAbdellatif El Khlifi		compatible = "arm,armv7-timer-mem";
101*ef93cfa3SAbdellatif El Khlifi		reg = <0x1a220000  0x1000>;
102*ef93cfa3SAbdellatif El Khlifi		#address-cells = <1>;
103*ef93cfa3SAbdellatif El Khlifi		#size-cells = <1>;
104*ef93cfa3SAbdellatif El Khlifi		ranges;
105*ef93cfa3SAbdellatif El Khlifi
106*ef93cfa3SAbdellatif El Khlifi		frame@1a230000 {
107*ef93cfa3SAbdellatif El Khlifi			frame-number = <0>;
108*ef93cfa3SAbdellatif El Khlifi			interrupts = <0 2 0xf04>;
109*ef93cfa3SAbdellatif El Khlifi			reg = <0x1a230000 0x1000>;
110*ef93cfa3SAbdellatif El Khlifi		};
111*ef93cfa3SAbdellatif El Khlifi	};
112*ef93cfa3SAbdellatif El Khlifi
113*ef93cfa3SAbdellatif El Khlifi	mbox_es0mhu0: mhu@1b000000 {
114*ef93cfa3SAbdellatif El Khlifi		compatible = "arm,mhuv2","arm,primecell";
115*ef93cfa3SAbdellatif El Khlifi		reg = <0x1b000000 0x1000>,
116*ef93cfa3SAbdellatif El Khlifi		      <0x1b010000 0x1000>;
117*ef93cfa3SAbdellatif El Khlifi		clocks = <&refclk100mhz>;
118*ef93cfa3SAbdellatif El Khlifi		clock-names = "apb_pclk";
119*ef93cfa3SAbdellatif El Khlifi		interrupts = <0 12 4>;
120*ef93cfa3SAbdellatif El Khlifi		interrupt-names = "mhu_rx";
121*ef93cfa3SAbdellatif El Khlifi		#mbox-cells = <1>;
122*ef93cfa3SAbdellatif El Khlifi		mbox-name = "arm-es0-mhu0";
123*ef93cfa3SAbdellatif El Khlifi	};
124*ef93cfa3SAbdellatif El Khlifi
125*ef93cfa3SAbdellatif El Khlifi	mbox_es0mhu1: mhu@1b020000 {
126*ef93cfa3SAbdellatif El Khlifi		compatible = "arm,mhuv2","arm,primecell";
127*ef93cfa3SAbdellatif El Khlifi		reg = <0x1b020000 0x1000>,
128*ef93cfa3SAbdellatif El Khlifi		      <0x1b030000 0x1000>;
129*ef93cfa3SAbdellatif El Khlifi		clocks = <&refclk100mhz>;
130*ef93cfa3SAbdellatif El Khlifi		clock-names = "apb_pclk";
131*ef93cfa3SAbdellatif El Khlifi		interrupts = <0 47 4>;
132*ef93cfa3SAbdellatif El Khlifi		interrupt-names = "mhu_rx";
133*ef93cfa3SAbdellatif El Khlifi		#mbox-cells = <1>;
134*ef93cfa3SAbdellatif El Khlifi		mbox-name = "arm-es0-mhu1";
135*ef93cfa3SAbdellatif El Khlifi	};
136*ef93cfa3SAbdellatif El Khlifi
137*ef93cfa3SAbdellatif El Khlifi	mbox_semhu1: mhu@1b820000 {
138*ef93cfa3SAbdellatif El Khlifi		compatible = "arm,mhuv2","arm,primecell";
139*ef93cfa3SAbdellatif El Khlifi		reg = <0x1b820000 0x1000>,
140*ef93cfa3SAbdellatif El Khlifi		      <0x1b830000 0x1000>;
141*ef93cfa3SAbdellatif El Khlifi		clocks = <&refclk100mhz>;
142*ef93cfa3SAbdellatif El Khlifi		clock-names = "apb_pclk";
143*ef93cfa3SAbdellatif El Khlifi		interrupts = <0 45 4>;
144*ef93cfa3SAbdellatif El Khlifi		interrupt-names = "mhu_rx";
145*ef93cfa3SAbdellatif El Khlifi		#mbox-cells = <1>;
146*ef93cfa3SAbdellatif El Khlifi		mbox-name = "arm-se-mhu1";
147*ef93cfa3SAbdellatif El Khlifi	};
148*ef93cfa3SAbdellatif El Khlifi
149*ef93cfa3SAbdellatif El Khlifi	client {
150*ef93cfa3SAbdellatif El Khlifi		compatible = "arm,client";
151*ef93cfa3SAbdellatif El Khlifi		mboxes = <&mbox_es0mhu0 0>, <&mbox_es0mhu1 0>, <&mbox_semhu1 0>;
152*ef93cfa3SAbdellatif El Khlifi		mbox-names = "es0mhu0", "es0mhu1", "semhu1";
153*ef93cfa3SAbdellatif El Khlifi	};
154*ef93cfa3SAbdellatif El Khlifi
155*ef93cfa3SAbdellatif El Khlifi	extsys0: extsys@1A010310 {
156*ef93cfa3SAbdellatif El Khlifi		compatible = "arm,extsys_ctrl";
157*ef93cfa3SAbdellatif El Khlifi		reg = <0x1A010310 0x4>,
158*ef93cfa3SAbdellatif El Khlifi		      <0x1A010314 0x4>;
159*ef93cfa3SAbdellatif El Khlifi		reg-names = "rstreg", "streg";
160*ef93cfa3SAbdellatif El Khlifi	};
161*ef93cfa3SAbdellatif El Khlifi};
162