]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blame - arch/arm64/boot/dts/broadcom/stingray/stingray.dtsi
arm64: dts: Add pinctrl DT nodes for Stingray SOC
[mirror_ubuntu-focal-kernel.git] / arch / arm64 / boot / dts / broadcom / stingray / stingray.dtsi
CommitLineData
d4b4aba6
AP
1/*
2 * BSD LICENSE
3 *
4 * Copyright(c) 2015-2017 Broadcom. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in
14 * the documentation and/or other materials provided with the
15 * distribution.
16 * * Neither the name of Broadcom nor the names of its
17 * contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32
33#include <dt-bindings/interrupt-controller/arm-gic.h>
34
35/ {
36 compatible = "brcm,stingray";
37 interrupt-parent = <&gic>;
38 #address-cells = <2>;
39 #size-cells = <2>;
40
41 cpus {
42 #address-cells = <2>;
43 #size-cells = <0>;
44
45 cpu@000 {
46 device_type = "cpu";
47 compatible = "arm,cortex-a72", "arm,armv8";
48 reg = <0x0 0x0>;
49 enable-method = "psci";
50 next-level-cache = <&CLUSTER0_L2>;
51 };
52
53 cpu@001 {
54 device_type = "cpu";
55 compatible = "arm,cortex-a72", "arm,armv8";
56 reg = <0x0 0x1>;
57 enable-method = "psci";
58 next-level-cache = <&CLUSTER0_L2>;
59 };
60
61 cpu@100 {
62 device_type = "cpu";
63 compatible = "arm,cortex-a72", "arm,armv8";
64 reg = <0x0 0x100>;
65 enable-method = "psci";
66 next-level-cache = <&CLUSTER1_L2>;
67 };
68
69 cpu@101 {
70 device_type = "cpu";
71 compatible = "arm,cortex-a72", "arm,armv8";
72 reg = <0x0 0x101>;
73 enable-method = "psci";
74 next-level-cache = <&CLUSTER1_L2>;
75 };
76
77 cpu@200 {
78 device_type = "cpu";
79 compatible = "arm,cortex-a72", "arm,armv8";
80 reg = <0x0 0x200>;
81 enable-method = "psci";
82 next-level-cache = <&CLUSTER2_L2>;
83 };
84
85 cpu@201 {
86 device_type = "cpu";
87 compatible = "arm,cortex-a72", "arm,armv8";
88 reg = <0x0 0x201>;
89 enable-method = "psci";
90 next-level-cache = <&CLUSTER2_L2>;
91 };
92
93 cpu@300 {
94 device_type = "cpu";
95 compatible = "arm,cortex-a72", "arm,armv8";
96 reg = <0x0 0x300>;
97 enable-method = "psci";
98 next-level-cache = <&CLUSTER3_L2>;
99 };
100
101 cpu@301 {
102 device_type = "cpu";
103 compatible = "arm,cortex-a72", "arm,armv8";
104 reg = <0x0 0x301>;
105 enable-method = "psci";
106 next-level-cache = <&CLUSTER3_L2>;
107 };
108
109 CLUSTER0_L2: l2-cache@000 {
110 compatible = "cache";
111 };
112
113 CLUSTER1_L2: l2-cache@100 {
114 compatible = "cache";
115 };
116
117 CLUSTER2_L2: l2-cache@200 {
118 compatible = "cache";
119 };
120
121 CLUSTER3_L2: l2-cache@300 {
122 compatible = "cache";
123 };
124 };
125
126 memory: memory@80000000 {
127 device_type = "memory";
128 reg = <0x00000000 0x80000000 0 0x40000000>;
129 };
130
131 psci {
132 compatible = "arm,psci-0.2";
133 method = "smc";
134 };
135
136 pmu {
137 compatible = "arm,armv8-pmuv3";
138 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
139 };
140
141 timer {
142 compatible = "arm,armv8-timer";
143 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
144 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
145 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
146 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
147 };
148
149 scr {
150 compatible = "simple-bus";
151 #address-cells = <1>;
152 #size-cells = <1>;
153 ranges = <0x0 0x0 0x61000000 0x05000000>;
154
155 gic: interrupt-controller@02c00000 {
156 compatible = "arm,gic-v3";
157 #interrupt-cells = <3>;
158 #address-cells = <1>;
159 #size-cells = <1>;
160 ranges;
161 interrupt-controller;
162 reg = <0x02c00000 0x010000>, /* GICD */
163 <0x02e00000 0x600000>; /* GICR */
164 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
165
166 gic_its: gic-its@63c20000 {
167 compatible = "arm,gic-v3-its";
168 msi-controller;
169 #msi-cells = <1>;
170 reg = <0x02c20000 0x10000>;
171 };
172 };
173
174 smmu: mmu@03000000 {
175 compatible = "arm,mmu-500";
176 reg = <0x03000000 0x80000>;
177 #global-interrupts = <1>;
178 interrupts = <GIC_SPI 704 IRQ_TYPE_LEVEL_HIGH>,
179 <GIC_SPI 711 IRQ_TYPE_LEVEL_HIGH>,
180 <GIC_SPI 712 IRQ_TYPE_LEVEL_HIGH>,
181 <GIC_SPI 713 IRQ_TYPE_LEVEL_HIGH>,
182 <GIC_SPI 714 IRQ_TYPE_LEVEL_HIGH>,
183 <GIC_SPI 715 IRQ_TYPE_LEVEL_HIGH>,
184 <GIC_SPI 716 IRQ_TYPE_LEVEL_HIGH>,
185 <GIC_SPI 717 IRQ_TYPE_LEVEL_HIGH>,
186 <GIC_SPI 718 IRQ_TYPE_LEVEL_HIGH>,
187 <GIC_SPI 719 IRQ_TYPE_LEVEL_HIGH>,
188 <GIC_SPI 720 IRQ_TYPE_LEVEL_HIGH>,
189 <GIC_SPI 721 IRQ_TYPE_LEVEL_HIGH>,
190 <GIC_SPI 722 IRQ_TYPE_LEVEL_HIGH>,
191 <GIC_SPI 723 IRQ_TYPE_LEVEL_HIGH>,
192 <GIC_SPI 724 IRQ_TYPE_LEVEL_HIGH>,
193 <GIC_SPI 725 IRQ_TYPE_LEVEL_HIGH>,
194 <GIC_SPI 726 IRQ_TYPE_LEVEL_HIGH>,
195 <GIC_SPI 727 IRQ_TYPE_LEVEL_HIGH>,
196 <GIC_SPI 728 IRQ_TYPE_LEVEL_HIGH>,
197 <GIC_SPI 729 IRQ_TYPE_LEVEL_HIGH>,
198 <GIC_SPI 730 IRQ_TYPE_LEVEL_HIGH>,
199 <GIC_SPI 731 IRQ_TYPE_LEVEL_HIGH>,
200 <GIC_SPI 732 IRQ_TYPE_LEVEL_HIGH>,
201 <GIC_SPI 733 IRQ_TYPE_LEVEL_HIGH>,
202 <GIC_SPI 734 IRQ_TYPE_LEVEL_HIGH>,
203 <GIC_SPI 735 IRQ_TYPE_LEVEL_HIGH>,
204 <GIC_SPI 736 IRQ_TYPE_LEVEL_HIGH>,
205 <GIC_SPI 737 IRQ_TYPE_LEVEL_HIGH>,
206 <GIC_SPI 738 IRQ_TYPE_LEVEL_HIGH>,
207 <GIC_SPI 739 IRQ_TYPE_LEVEL_HIGH>,
208 <GIC_SPI 740 IRQ_TYPE_LEVEL_HIGH>,
209 <GIC_SPI 741 IRQ_TYPE_LEVEL_HIGH>,
210 <GIC_SPI 742 IRQ_TYPE_LEVEL_HIGH>,
211 <GIC_SPI 743 IRQ_TYPE_LEVEL_HIGH>,
212 <GIC_SPI 744 IRQ_TYPE_LEVEL_HIGH>,
213 <GIC_SPI 745 IRQ_TYPE_LEVEL_HIGH>,
214 <GIC_SPI 746 IRQ_TYPE_LEVEL_HIGH>,
215 <GIC_SPI 747 IRQ_TYPE_LEVEL_HIGH>,
216 <GIC_SPI 748 IRQ_TYPE_LEVEL_HIGH>,
217 <GIC_SPI 749 IRQ_TYPE_LEVEL_HIGH>,
218 <GIC_SPI 750 IRQ_TYPE_LEVEL_HIGH>,
219 <GIC_SPI 751 IRQ_TYPE_LEVEL_HIGH>,
220 <GIC_SPI 752 IRQ_TYPE_LEVEL_HIGH>,
221 <GIC_SPI 753 IRQ_TYPE_LEVEL_HIGH>,
222 <GIC_SPI 754 IRQ_TYPE_LEVEL_HIGH>,
223 <GIC_SPI 755 IRQ_TYPE_LEVEL_HIGH>,
224 <GIC_SPI 756 IRQ_TYPE_LEVEL_HIGH>,
225 <GIC_SPI 757 IRQ_TYPE_LEVEL_HIGH>,
226 <GIC_SPI 758 IRQ_TYPE_LEVEL_HIGH>,
227 <GIC_SPI 759 IRQ_TYPE_LEVEL_HIGH>,
228 <GIC_SPI 760 IRQ_TYPE_LEVEL_HIGH>,
229 <GIC_SPI 761 IRQ_TYPE_LEVEL_HIGH>,
230 <GIC_SPI 762 IRQ_TYPE_LEVEL_HIGH>,
231 <GIC_SPI 763 IRQ_TYPE_LEVEL_HIGH>,
232 <GIC_SPI 764 IRQ_TYPE_LEVEL_HIGH>,
233 <GIC_SPI 765 IRQ_TYPE_LEVEL_HIGH>,
234 <GIC_SPI 766 IRQ_TYPE_LEVEL_HIGH>,
235 <GIC_SPI 767 IRQ_TYPE_LEVEL_HIGH>,
236 <GIC_SPI 768 IRQ_TYPE_LEVEL_HIGH>,
237 <GIC_SPI 769 IRQ_TYPE_LEVEL_HIGH>,
238 <GIC_SPI 770 IRQ_TYPE_LEVEL_HIGH>,
239 <GIC_SPI 771 IRQ_TYPE_LEVEL_HIGH>,
240 <GIC_SPI 772 IRQ_TYPE_LEVEL_HIGH>,
241 <GIC_SPI 773 IRQ_TYPE_LEVEL_HIGH>,
242 <GIC_SPI 774 IRQ_TYPE_LEVEL_HIGH>;
243 #iommu-cells = <2>;
244 };
245 };
246
73da8f97
ST
247 crmu: crmu {
248 compatible = "simple-bus";
249 #address-cells = <1>;
250 #size-cells = <1>;
251 ranges = <0x0 0x0 0x66400000 0x100000>;
252
253 #include "stingray-clock.dtsi"
254 };
255
d4b4aba6
AP
256 hsls {
257 compatible = "simple-bus";
258 #address-cells = <1>;
259 #size-cells = <1>;
260 ranges = <0x0 0x0 0x68900000 0x17700000>;
261
8aa428cc
PK
262 #include "stingray-pinctrl.dtsi"
263
d4b4aba6
AP
264 uart0: uart@00100000 {
265 device_type = "serial";
266 compatible = "snps,dw-apb-uart";
267 reg = <0x00100000 0x1000>;
268 reg-shift = <2>;
269 clock-frequency = <25000000>;
270 interrupt-parent = <&gic>;
271 interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
272 status = "disabled";
273 };
274
275 uart1: uart@00110000 {
276 device_type = "serial";
277 compatible = "snps,dw-apb-uart";
278 reg = <0x00110000 0x1000>;
279 reg-shift = <2>;
280 clock-frequency = <25000000>;
281 interrupt-parent = <&gic>;
282 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
283 status = "disabled";
284 };
285
286 uart2: uart@00120000 {
287 device_type = "serial";
288 compatible = "snps,dw-apb-uart";
289 reg = <0x00120000 0x1000>;
290 reg-shift = <2>;
291 clock-frequency = <25000000>;
292 interrupt-parent = <&gic>;
293 interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
294 status = "disabled";
295 };
296
297 uart3: uart@00130000 {
298 device_type = "serial";
299 compatible = "snps,dw-apb-uart";
300 reg = <0x00130000 0x1000>;
301 reg-shift = <2>;
302 clock-frequency = <25000000>;
303 interrupt-parent = <&gic>;
304 interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
305 status = "disabled";
306 };
307
308 hwrng: hwrng@00220000 {
309 compatible = "brcm,iproc-rng200";
310 reg = <0x00220000 0x28>;
311 };
0f67ae37
PK
312
313 nand: nand@00360000 {
314 compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1";
315 reg = <0x00360000 0x600>,
316 <0x0050a408 0x600>,
317 <0x00360f00 0x20>;
318 reg-names = "nand", "iproc-idm", "iproc-ext";
319 interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>;
320 #address-cells = <1>;
321 #size-cells = <0>;
322 brcm,nand-has-wp;
323 status = "disabled";
324 };
d4b4aba6
AP
325 };
326};