blob: 36b066a5124222ad45c14bce1082311f80fa149b [file] [log] [blame]
Manivannan Sadhasivam9d038b22020-11-26 14:01:38 +05301// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * SDX55 SoC device tree source
4 *
5 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
6 * Copyright (c) 2020, Linaro Ltd.
7 */
8
Manivannan Sadhasivamf0365492021-01-06 18:23:08 +05309#include <dt-bindings/clock/qcom,gcc-sdx55.h>
Manivannan Sadhasivam9d038b22020-11-26 14:01:38 +053010#include <dt-bindings/clock/qcom,rpmh.h>
11#include <dt-bindings/interrupt-controller/arm-gic.h>
12#include <dt-bindings/soc/qcom,rpmh-rsc.h>
13
14/ {
15 #address-cells = <1>;
16 #size-cells = <1>;
17 qcom,msm-id = <357 0x10000>, <368 0x10000>, <418 0x10000>;
18 interrupt-parent = <&intc>;
19
20 memory {
21 device_type = "memory";
22 reg = <0 0>;
23 };
24
25 clocks {
26 xo_board: xo-board {
27 compatible = "fixed-clock";
28 #clock-cells = <0>;
29 clock-frequency = <38400000>;
30 clock-output-names = "xo_board";
31 };
32
33 sleep_clk: sleep-clk {
34 compatible = "fixed-clock";
35 #clock-cells = <0>;
36 clock-frequency = <32000>;
37 };
38 };
39
40 cpus {
41 #address-cells = <1>;
42 #size-cells = <0>;
43
44 cpu0: cpu@0 {
45 device_type = "cpu";
46 compatible = "arm,cortex-a7";
47 reg = <0x0>;
48 enable-method = "psci";
49 };
50 };
51
52 psci {
53 compatible = "arm,psci-1.0";
54 method = "smc";
55 };
56
Vinod Koulec997702021-01-06 18:23:06 +053057 reserved-memory {
58 #address-cells = <1>;
59 #size-cells = <1>;
60 ranges;
61
62 hyp_mem: memory@8fc00000 {
63 no-map;
64 reg = <0x8fc00000 0x80000>;
65 };
66
67 ac_db_mem: memory@8fc80000 {
68 no-map;
69 reg = <0x8fc80000 0x40000>;
70 };
71
72 secdata_mem: memory@8fcfd000 {
73 no-map;
74 reg = <0x8fcfd000 0x1000>;
75 };
76
77 sbl_mem: memory@8fd00000 {
78 no-map;
79 reg = <0x8fd00000 0x100000>;
80 };
81
82 aop_image: memory@8fe00000 {
83 no-map;
84 reg = <0x8fe00000 0x20000>;
85 };
86
87 aop_cmd_db: memory@8fe20000 {
88 compatible = "qcom,cmd-db";
89 reg = <0x8fe20000 0x20000>;
90 no-map;
91 };
92
93 smem_mem: memory@8fe40000 {
94 no-map;
95 reg = <0x8fe40000 0xc0000>;
96 };
97
98 tz_mem: memory@8ff00000 {
99 no-map;
100 reg = <0x8ff00000 0x100000>;
101 };
102
103 tz_apps_mem: memory@0x90000000 {
104 no-map;
105 reg = <0x90000000 0x500000>;
106 };
107 };
108
Manivannan Sadhasivam8cf74d02021-01-06 18:23:12 +0530109 smem {
110 compatible = "qcom,smem";
111 memory-region = <&smem_mem>;
112 hwlocks = <&tcsr_mutex 3>;
113 };
114
Manivannan Sadhasivam9d038b22020-11-26 14:01:38 +0530115 soc: soc {
116 #address-cells = <1>;
117 #size-cells = <1>;
118 ranges;
119 compatible = "simple-bus";
120
121 gcc: clock-controller@100000 {
122 compatible = "qcom,gcc-sdx55";
123 reg = <0x100000 0x1f0000>;
124 #clock-cells = <1>;
125 #reset-cells = <1>;
126 clock-names = "bi_tcxo", "sleep_clk";
127 clocks = <&rpmhcc RPMH_CXO_CLK>, <&sleep_clk>;
128 };
129
130 blsp1_uart3: serial@831000 {
131 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
132 reg = <0x00831000 0x200>;
133 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_LOW>;
134 clocks = <&gcc 30>,
135 <&gcc 9>;
136 clock-names = "core", "iface";
137 status = "disabled";
138 };
139
Manivannan Sadhasivam24709412021-01-06 18:23:13 +0530140 qpic_bam: dma-controller@1b04000 {
141 compatible = "qcom,bam-v1.7.0";
142 reg = <0x01b04000 0x1c000>;
143 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
144 clocks = <&rpmhcc RPMH_QPIC_CLK>;
145 clock-names = "bam_clk";
146 #dma-cells = <1>;
147 qcom,ee = <0>;
148 qcom,controlled-remotely;
149 status = "disabled";
150 };
151
Manivannan Sadhasivam985eef12021-01-06 18:23:11 +0530152 tcsr_mutex: hwlock@1f40000 {
153 compatible = "qcom,tcsr-mutex";
154 reg = <0x01f40000 0x40000>;
155 #hwlock-cells = <1>;
156 };
157
Manivannan Sadhasivamf0365492021-01-06 18:23:08 +0530158 sdhc_1: sdhci@8804000 {
159 compatible = "qcom,sdx55-sdhci", "qcom,sdhci-msm-v5";
160 reg = <0x08804000 0x1000>;
161 interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
162 <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
163 interrupt-names = "hc_irq", "pwr_irq";
164 clocks = <&gcc GCC_SDCC1_AHB_CLK>,
165 <&gcc GCC_SDCC1_APPS_CLK>;
166 clock-names = "iface", "core";
167 status = "disabled";
168 };
169
Manivannan Sadhasivam9d038b22020-11-26 14:01:38 +0530170 pdc: interrupt-controller@b210000 {
171 compatible = "qcom,sdx55-pdc", "qcom,pdc";
172 reg = <0x0b210000 0x30000>;
173 qcom,pdc-ranges = <0 179 52>;
174 #interrupt-cells = <3>;
175 interrupt-parent = <&intc>;
176 interrupt-controller;
177 };
178
Vinod Kouldea0e9b2021-01-06 18:23:05 +0530179 tlmm: pinctrl@f100000 {
180 compatible = "qcom,sdx55-pinctrl";
181 reg = <0xf100000 0x300000>;
182 interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>;
183 gpio-controller;
184 #gpio-cells = <2>;
185 interrupt-controller;
186 #interrupt-cells = <2>;
187 };
188
Bjorn Anderssona2bdfdf2021-01-06 18:23:10 +0530189 apps_smmu: iommu@15000000 {
190 compatible = "qcom,sdx55-smmu-500", "arm,mmu-500";
191 reg = <0x15000000 0x20000>;
192 #iommu-cells = <2>;
193 #global-interrupts = <1>;
194 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
195 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
196 <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
197 <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
198 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
199 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
200 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
201 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
202 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
203 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
204 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
205 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
206 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
207 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
208 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
209 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
210 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
211 };
212
Manivannan Sadhasivam9d038b22020-11-26 14:01:38 +0530213 intc: interrupt-controller@17800000 {
214 compatible = "qcom,msm-qgic2";
215 interrupt-controller;
216 interrupt-parent = <&intc>;
217 #interrupt-cells = <3>;
218 reg = <0x17800000 0x1000>,
219 <0x17802000 0x1000>;
220 };
221
222 timer@17820000 {
223 #address-cells = <1>;
224 #size-cells = <1>;
225 ranges;
226 compatible = "arm,armv7-timer-mem";
227 reg = <0x17820000 0x1000>;
228 clock-frequency = <19200000>;
229
230 frame@17821000 {
231 frame-number = <0>;
232 interrupts = <GIC_SPI 7 0x4>,
233 <GIC_SPI 6 0x4>;
234 reg = <0x17821000 0x1000>,
235 <0x17822000 0x1000>;
236 };
237
238 frame@17823000 {
239 frame-number = <1>;
240 interrupts = <GIC_SPI 8 0x4>;
241 reg = <0x17823000 0x1000>;
242 status = "disabled";
243 };
244
245 frame@17824000 {
246 frame-number = <2>;
247 interrupts = <GIC_SPI 9 0x4>;
248 reg = <0x17824000 0x1000>;
249 status = "disabled";
250 };
251
252 frame@17825000 {
253 frame-number = <3>;
254 interrupts = <GIC_SPI 10 0x4>;
255 reg = <0x17825000 0x1000>;
256 status = "disabled";
257 };
258
259 frame@17826000 {
260 frame-number = <4>;
261 interrupts = <GIC_SPI 11 0x4>;
262 reg = <0x17826000 0x1000>;
263 status = "disabled";
264 };
265
266 frame@17827000 {
267 frame-number = <5>;
268 interrupts = <GIC_SPI 12 0x4>;
269 reg = <0x17827000 0x1000>;
270 status = "disabled";
271 };
272
273 frame@17828000 {
274 frame-number = <6>;
275 interrupts = <GIC_SPI 13 0x4>;
276 reg = <0x17828000 0x1000>;
277 status = "disabled";
278 };
279
280 frame@17829000 {
281 frame-number = <7>;
282 interrupts = <GIC_SPI 14 0x4>;
283 reg = <0x17829000 0x1000>;
284 status = "disabled";
285 };
286 };
287
288 apps_rsc: rsc@17840000 {
289 compatible = "qcom,rpmh-rsc";
290 reg = <0x17830000 0x10000>, <0x17840000 0x10000>;
291 reg-names = "drv-0", "drv-1";
292 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
293 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
294 qcom,tcs-offset = <0xd00>;
295 qcom,drv-id = <1>;
296 qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 2>,
297 <WAKE_TCS 2>, <CONTROL_TCS 1>;
298
299 rpmhcc: clock-controller {
300 compatible = "qcom,sdx55-rpmh-clk";
301 #clock-cells = <1>;
302 clock-names = "xo";
303 clocks = <&xo_board>;
304 };
305 };
306 };
307
308 timer {
309 compatible = "arm,armv7-timer";
310 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
311 <GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
312 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
313 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
314 clock-frequency = <19200000>;
315 };
316};