xref: /rk3399_ARM-atf/fdts/n1sdp.dtsi (revision f0b1864f8e309a41d2eb1c9510f8cd3c7aacbb1d)
1*000653b4SAndre Przywara// SPDX-License-Identifier: (GPL-2.0 or BSD-3-Clause)
2*000653b4SAndre Przywara/*
3*000653b4SAndre Przywara * Copyright (c) 2019-2020, Arm Limited.
4*000653b4SAndre Przywara */
5*000653b4SAndre Przywara
6*000653b4SAndre Przywara#include <dt-bindings/interrupt-controller/arm-gic.h>
7*000653b4SAndre Przywara
8*000653b4SAndre Przywara/ {
9*000653b4SAndre Przywara	interrupt-parent = <&gic>;
10*000653b4SAndre Przywara	#address-cells = <2>;
11*000653b4SAndre Przywara	#size-cells = <2>;
12*000653b4SAndre Przywara
13*000653b4SAndre Przywara	cpus {
14*000653b4SAndre Przywara		#address-cells = <2>;
15*000653b4SAndre Przywara		#size-cells = <0>;
16*000653b4SAndre Przywara
17*000653b4SAndre Przywara		cpu0@0 {
18*000653b4SAndre Przywara			compatible = "arm,neoverse-n1";
19*000653b4SAndre Przywara			reg = <0x0 0x0>;
20*000653b4SAndre Przywara			device_type = "cpu";
21*000653b4SAndre Przywara			enable-method = "psci";
22*000653b4SAndre Przywara			numa-node-id = <0>;
23*000653b4SAndre Przywara		};
24*000653b4SAndre Przywara		cpu1@100 {
25*000653b4SAndre Przywara			compatible = "arm,neoverse-n1";
26*000653b4SAndre Przywara			reg = <0x0 0x100>;
27*000653b4SAndre Przywara			device_type = "cpu";
28*000653b4SAndre Przywara			enable-method = "psci";
29*000653b4SAndre Przywara			numa-node-id = <0>;
30*000653b4SAndre Przywara		};
31*000653b4SAndre Przywara		cpu2@10000 {
32*000653b4SAndre Przywara			compatible = "arm,neoverse-n1";
33*000653b4SAndre Przywara			reg = <0x0 0x10000>;
34*000653b4SAndre Przywara			device_type = "cpu";
35*000653b4SAndre Przywara			enable-method = "psci";
36*000653b4SAndre Przywara			numa-node-id = <0>;
37*000653b4SAndre Przywara		};
38*000653b4SAndre Przywara		cpu3@10100 {
39*000653b4SAndre Przywara			compatible = "arm,neoverse-n1";
40*000653b4SAndre Przywara			reg = <0x0 0x10100>;
41*000653b4SAndre Przywara			device_type = "cpu";
42*000653b4SAndre Przywara			enable-method = "psci";
43*000653b4SAndre Przywara			numa-node-id = <0>;
44*000653b4SAndre Przywara		};
45*000653b4SAndre Przywara	};
46*000653b4SAndre Przywara
47*000653b4SAndre Przywara	pmu {
48*000653b4SAndre Przywara		compatible = "arm,armv8-pmuv3";
49*000653b4SAndre Przywara		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
50*000653b4SAndre Przywara	};
51*000653b4SAndre Przywara
52*000653b4SAndre Przywara	spe-pmu {
53*000653b4SAndre Przywara		compatible = "arm,statistical-profiling-extension-v1";
54*000653b4SAndre Przywara		interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_HIGH>;
55*000653b4SAndre Przywara	};
56*000653b4SAndre Przywara
57*000653b4SAndre Przywara	psci {
58*000653b4SAndre Przywara		compatible = "arm,psci-0.2";
59*000653b4SAndre Przywara		method = "smc";
60*000653b4SAndre Przywara	};
61*000653b4SAndre Przywara
62*000653b4SAndre Przywara	timer {
63*000653b4SAndre Przywara		compatible = "arm,armv8-timer";
64*000653b4SAndre Przywara		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
65*000653b4SAndre Przywara			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
66*000653b4SAndre Przywara			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
67*000653b4SAndre Przywara			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
68*000653b4SAndre Przywara	};
69*000653b4SAndre Przywara
70*000653b4SAndre Przywara	soc_refclk100mhz: refclk100mhz {
71*000653b4SAndre Przywara		compatible = "fixed-clock";
72*000653b4SAndre Przywara		#clock-cells = <0>;
73*000653b4SAndre Przywara		clock-frequency = <100000000>;
74*000653b4SAndre Przywara		clock-output-names = "apb_pclk";
75*000653b4SAndre Przywara	};
76*000653b4SAndre Przywara
77*000653b4SAndre Przywara	soc_uartclk:  uartclk {
78*000653b4SAndre Przywara		compatible = "fixed-clock";
79*000653b4SAndre Przywara		#clock-cells = <0>;
80*000653b4SAndre Przywara		clock-frequency = <50000000>;
81*000653b4SAndre Przywara		clock-output-names = "uartclk";
82*000653b4SAndre Przywara	};
83*000653b4SAndre Przywara
84*000653b4SAndre Przywara	soc {
85*000653b4SAndre Przywara		compatible = "arm,neoverse-n1-soc", "simple-bus";
86*000653b4SAndre Przywara		#address-cells = <2>;
87*000653b4SAndre Przywara		#size-cells = <2>;
88*000653b4SAndre Przywara		ranges;
89*000653b4SAndre Przywara
90*000653b4SAndre Przywara		gic: interrupt-controller@30000000 {
91*000653b4SAndre Przywara			compatible = "arm,gic-v3";
92*000653b4SAndre Przywara			#address-cells = <2>;
93*000653b4SAndre Przywara			#interrupt-cells = <3>;
94*000653b4SAndre Przywara			#size-cells = <2>;
95*000653b4SAndre Przywara			ranges;
96*000653b4SAndre Przywara			interrupt-controller;
97*000653b4SAndre Przywara			reg = <0x0 0x30000000 0 0x10000>,	/* GICD */
98*000653b4SAndre Przywara				<0x0 0x300c0000 0 0x80000>;	/* GICR */
99*000653b4SAndre Przywara
100*000653b4SAndre Przywara			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
101*000653b4SAndre Przywara
102*000653b4SAndre Przywara			its1: its@30040000 {
103*000653b4SAndre Przywara				compatible = "arm,gic-v3-its";
104*000653b4SAndre Przywara				msi-controller;
105*000653b4SAndre Przywara				#msi-cells = <1>;
106*000653b4SAndre Przywara				reg = <0x0 0x30040000 0x0 0x20000>;
107*000653b4SAndre Przywara			};
108*000653b4SAndre Przywara
109*000653b4SAndre Przywara			its2: its@30060000 {
110*000653b4SAndre Przywara				compatible = "arm,gic-v3-its";
111*000653b4SAndre Przywara				msi-controller;
112*000653b4SAndre Przywara				#msi-cells = <1>;
113*000653b4SAndre Przywara				reg = <0x0 0x30060000 0x0 0x20000>;
114*000653b4SAndre Przywara			};
115*000653b4SAndre Przywara
116*000653b4SAndre Przywara			its_ccix: its@30080000 {
117*000653b4SAndre Przywara				compatible = "arm,gic-v3-its";
118*000653b4SAndre Przywara				msi-controller;
119*000653b4SAndre Przywara				#msi-cells = <1>;
120*000653b4SAndre Przywara				reg = <0x0 0x30080000 0x0 0x20000>;
121*000653b4SAndre Przywara			};
122*000653b4SAndre Przywara
123*000653b4SAndre Przywara			its_pcie: its@300a0000 {
124*000653b4SAndre Przywara				compatible = "arm,gic-v3-its";
125*000653b4SAndre Przywara				msi-controller;
126*000653b4SAndre Przywara				#msi-cells = <1>;
127*000653b4SAndre Przywara				reg = <0x0 0x300a0000 0x0 0x20000>;
128*000653b4SAndre Przywara			};
129*000653b4SAndre Przywara		};
130*000653b4SAndre Przywara
131*000653b4SAndre Przywara		smmu_ccix: iommu@4f000000 {
132*000653b4SAndre Przywara			compatible = "arm,smmu-v3";
133*000653b4SAndre Przywara			reg = <0 0x4f000000 0 0x40000>;
134*000653b4SAndre Przywara			interrupts = <GIC_SPI 228 IRQ_TYPE_EDGE_RISING>,
135*000653b4SAndre Przywara					<GIC_SPI 229 IRQ_TYPE_EDGE_RISING>,
136*000653b4SAndre Przywara					<GIC_SPI 230 IRQ_TYPE_EDGE_RISING>;
137*000653b4SAndre Przywara			interrupt-names = "eventq", "cmdq-sync", "gerror";
138*000653b4SAndre Przywara			msi-parent = <&its1 0>;
139*000653b4SAndre Przywara			#iommu-cells = <1>;
140*000653b4SAndre Przywara			dma-coherent;
141*000653b4SAndre Przywara		};
142*000653b4SAndre Przywara
143*000653b4SAndre Przywara		smmu_pcie: iommu@4f400000 {
144*000653b4SAndre Przywara			compatible = "arm,smmu-v3";
145*000653b4SAndre Przywara			reg = <0 0x4f400000 0 0x40000>;
146*000653b4SAndre Przywara			interrupts = <GIC_SPI 235 IRQ_TYPE_EDGE_RISING>,
147*000653b4SAndre Przywara					<GIC_SPI 236 IRQ_TYPE_EDGE_RISING>,
148*000653b4SAndre Przywara					<GIC_SPI 237 IRQ_TYPE_EDGE_RISING>;
149*000653b4SAndre Przywara			interrupt-names = "eventq", "cmdq-sync", "gerror";
150*000653b4SAndre Przywara			msi-parent = <&its2 0>;
151*000653b4SAndre Przywara			#iommu-cells = <1>;
152*000653b4SAndre Przywara			dma-coherent;
153*000653b4SAndre Przywara		};
154*000653b4SAndre Przywara
155*000653b4SAndre Przywara		pcie_ctlr: pcie@70000000 {
156*000653b4SAndre Przywara			compatible = "arm,n1sdp-pcie";
157*000653b4SAndre Przywara			device_type = "pci";
158*000653b4SAndre Przywara			reg = <0 0x70000000 0 0x1200000>;
159*000653b4SAndre Przywara			bus-range = <0 17>;
160*000653b4SAndre Przywara			linux,pci-domain = <0>;
161*000653b4SAndre Przywara			#address-cells = <3>;
162*000653b4SAndre Przywara			#size-cells = <2>;
163*000653b4SAndre Przywara			dma-coherent;
164*000653b4SAndre Przywara			ranges = <0x01000000 0x00 0x00000000 0x00 0x75200000 0x00 0x00010000>,
165*000653b4SAndre Przywara				 <0x02000000 0x00 0x71200000 0x00 0x71200000 0x00 0x04000000>,
166*000653b4SAndre Przywara				 <0x42000000 0x09 0x00000000 0x09 0x00000000 0x20 0x00000000>;
167*000653b4SAndre Przywara			#interrupt-cells = <1>;
168*000653b4SAndre Przywara			interrupt-map-mask = <0 0 0 7>;
169*000653b4SAndre Przywara			interrupt-map = <0 0 0 1 &gic 0 0 0 169 IRQ_TYPE_LEVEL_HIGH>,
170*000653b4SAndre Przywara				<0 0 0 2 &gic 0 0 0 170 IRQ_TYPE_LEVEL_HIGH>,
171*000653b4SAndre Przywara				<0 0 0 3 &gic 0 0 0 171 IRQ_TYPE_LEVEL_HIGH>,
172*000653b4SAndre Przywara				<0 0 0 4 &gic 0 0 0 172 IRQ_TYPE_LEVEL_HIGH>;
173*000653b4SAndre Przywara			msi-map = <0 &its_pcie 0 0x10000>;
174*000653b4SAndre Przywara			iommu-map = <0 &smmu_pcie 0 0x10000>;
175*000653b4SAndre Przywara			status = "disabled";
176*000653b4SAndre Przywara		};
177*000653b4SAndre Przywara
178*000653b4SAndre Przywara		ccix_pcie_ctlr: pcie@68000000 {
179*000653b4SAndre Przywara			compatible = "arm,n1sdp-pcie";
180*000653b4SAndre Przywara			device_type = "pci";
181*000653b4SAndre Przywara			reg = <0 0x68000000 0 0x1200000>;
182*000653b4SAndre Przywara			bus-range = <0 17>;
183*000653b4SAndre Przywara			linux,pci-domain = <1>;
184*000653b4SAndre Przywara			#address-cells = <3>;
185*000653b4SAndre Przywara			#size-cells = <2>;
186*000653b4SAndre Przywara			dma-coherent;
187*000653b4SAndre Przywara			ranges = <0x01000000 0x00 0x00000000 0x00 0x6d200000 0x00 0x00010000>,
188*000653b4SAndre Przywara				 <0x02000000 0x00 0x69200000 0x00 0x69200000 0x00 0x04000000>,
189*000653b4SAndre Przywara				 <0x42000000 0x29 0x00000000 0x29 0x00000000 0x20 0x00000000>;
190*000653b4SAndre Przywara			#interrupt-cells = <1>;
191*000653b4SAndre Przywara			interrupt-map-mask = <0 0 0 7>;
192*000653b4SAndre Przywara			interrupt-map = <0 0 0 1 &gic 0 0 0 201 IRQ_TYPE_LEVEL_HIGH>,
193*000653b4SAndre Przywara				<0 0 0 2 &gic 0 0 0 202 IRQ_TYPE_LEVEL_HIGH>,
194*000653b4SAndre Przywara				<0 0 0 3 &gic 0 0 0 203 IRQ_TYPE_LEVEL_HIGH>,
195*000653b4SAndre Przywara				<0 0 0 4 &gic 0 0 0 204 IRQ_TYPE_LEVEL_HIGH>;
196*000653b4SAndre Przywara			msi-map = <0 &its_ccix 0 0x10000>;
197*000653b4SAndre Przywara			iommu-map = <0 &smmu_ccix 0 0x10000>;
198*000653b4SAndre Przywara			status = "disabled";
199*000653b4SAndre Przywara		};
200*000653b4SAndre Przywara
201*000653b4SAndre Przywara		soc_uart0: serial@2a400000 {
202*000653b4SAndre Przywara			compatible = "arm,pl011", "arm,primecell";
203*000653b4SAndre Przywara			reg = <0x0 0x2a400000 0x0 0x1000>;
204*000653b4SAndre Przywara			interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
205*000653b4SAndre Przywara			clocks = <&soc_uartclk>, <&soc_refclk100mhz>;
206*000653b4SAndre Przywara			clock-names = "uartclk", "apb_pclk";
207*000653b4SAndre Przywara			status = "disabled";
208*000653b4SAndre Przywara		};
209*000653b4SAndre Przywara	};
210*000653b4SAndre Przywara};
211