Skip to content

Commit 0f9b34c

Browse files
committed
arm64: dts: qcom: Introduce Shikra Soc base dtsi
Introduce the initial support for the Qualcomm Shikra SoC. The initial submission enables support for: - CPUs nodes with PSCI idle states - Interrupt-controller - Top Level Mode Multiplexer (TLMM) - System Timer Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
1 parent 6de23f8 commit 0f9b34c

1 file changed

Lines changed: 245 additions & 0 deletions

File tree

Lines changed: 245 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
// SPDX-License-Identifier: BSD-3-Clause
2+
/*
3+
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
4+
*/
5+
6+
#include <dt-bindings/interrupt-controller/arm-gic.h>
7+
8+
/ {
9+
interrupt-parent = <&intc>;
10+
11+
#address-cells = <2>;
12+
#size-cells = <2>;
13+
14+
cpus {
15+
#address-cells = <2>;
16+
#size-cells = <0>;
17+
18+
cpu0: cpu@0 {
19+
device_type = "cpu";
20+
compatible = "arm,cortex-a55";
21+
reg = <0x0 0x0>;
22+
enable-method = "psci";
23+
next-level-cache = <&l3>;
24+
capacity-dmips-mhz = <1024>;
25+
dynamic-power-coefficient = <100>;
26+
};
27+
28+
cpu1: cpu@100 {
29+
device_type = "cpu";
30+
compatible = "arm,cortex-a55";
31+
reg = <0x0 0x100>;
32+
enable-method = "psci";
33+
next-level-cache = <&l3>;
34+
capacity-dmips-mhz = <1024>;
35+
dynamic-power-coefficient = <100>;
36+
};
37+
38+
cpu2: cpu@200 {
39+
device_type = "cpu";
40+
compatible = "arm,cortex-a55";
41+
reg = <0x0 0x200>;
42+
enable-method = "psci";
43+
next-level-cache = <&l3>;
44+
capacity-dmips-mhz = <1024>;
45+
dynamic-power-coefficient = <100>;
46+
};
47+
48+
cpu3: cpu@300 {
49+
device_type = "cpu";
50+
compatible = "arm,cortex-a78c";
51+
reg = <0x0 0x300>;
52+
enable-method = "psci";
53+
next-level-cache = <&l2_3>;
54+
capacity-dmips-mhz = <1946>;
55+
dynamic-power-coefficient = <486>;
56+
57+
l2_3: l2-cache {
58+
compatible = "cache";
59+
cache-level = <2>;
60+
cache-unified;
61+
next-level-cache = <&l3>;
62+
};
63+
};
64+
65+
cpu-map {
66+
cluster0 {
67+
core0 {
68+
cpu = <&cpu0>;
69+
};
70+
71+
core1 {
72+
cpu = <&cpu1>;
73+
};
74+
75+
core2 {
76+
cpu = <&cpu2>;
77+
};
78+
};
79+
80+
cluster1 {
81+
core0 {
82+
cpu = <&cpu3>;
83+
};
84+
};
85+
};
86+
87+
l3: l3-cache {
88+
compatible = "cache";
89+
cache-level = <3>;
90+
cache-unified;
91+
};
92+
};
93+
94+
memory@a0000000 {
95+
device_type = "memory";
96+
/* We expect the bootloader to fill in the size */
97+
reg = <0x0 0xa0000000 0x0 0x0>;
98+
};
99+
100+
pmu {
101+
compatible = "arm,armv8-pmuv3";
102+
interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_HIGH>;
103+
};
104+
105+
psci {
106+
compatible = "arm,psci-1.0";
107+
method = "smc";
108+
};
109+
110+
reserved-memory {
111+
#address-cells = <2>;
112+
#size-cells = <2>;
113+
};
114+
115+
soc: soc@0 {
116+
compatible = "simple-bus";
117+
118+
#address-cells = <2>;
119+
#size-cells = <2>;
120+
dma-ranges = <0x0 0x0 0x0 0x0 0x10 0x0>;
121+
ranges = <0x0 0x0 0x0 0x0 0x10 0x0>;
122+
123+
tlmm: pinctrl@500000 {
124+
compatible = "qcom,shikra-tlmm";
125+
reg = <0x0 0x00500000 0x0 0x800000>;
126+
127+
interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
128+
129+
gpio-controller;
130+
#gpio-cells = <2>;
131+
132+
interrupt-controller;
133+
#interrupt-cells = <2>;
134+
135+
gpio-ranges = <&tlmm 0 0 185>;
136+
137+
qup_uart0_default: qup-uart0-default-state {
138+
pins = "gpio0", "gpio1";
139+
function = "qup0_se1";
140+
drive-strength = <2>;
141+
bias-disable;
142+
};
143+
};
144+
145+
sram@c11e000 {
146+
compatible = "qcom,shikra-imem", "syscon", "simple-mfd";
147+
reg = <0x0 0x0c11e000 0x0 0x1000>;
148+
ranges = <0x0 0x0 0x0c11e000 0x1000>;
149+
150+
#address-cells = <1>;
151+
#size-cells = <1>;
152+
153+
pil-reloc@94c {
154+
compatible = "qcom,pil-reloc-info";
155+
reg = <0x94c 0xc8>;
156+
};
157+
};
158+
159+
intc: interrupt-controller@f200000 {
160+
compatible = "arm,gic-v3";
161+
reg = <0x0 0xf200000 0x0 0x10000>, /* GICD */
162+
<0x0 0xf240000 0x0 0x80000>; /* GICR * 4 regions */
163+
164+
interrupts = <GIC_PPI 8 IRQ_TYPE_LEVEL_HIGH>;
165+
166+
#interrupt-cells = <3>;
167+
interrupt-controller;
168+
169+
#redistributor-regions = <1>;
170+
redistributor-stride = <0x0 0x20000>;
171+
172+
#address-cells = <2>;
173+
#size-cells = <2>;
174+
ranges;
175+
};
176+
177+
timer@f420000 {
178+
compatible = "arm,armv7-timer-mem";
179+
reg = <0x0 0x0f420000 0x0 0x1000>;
180+
181+
#address-cells = <1>;
182+
#size-cells = <1>;
183+
ranges = <0x0 0x0 0x0 0x10000000>;
184+
185+
frame@f421000 {
186+
reg = <0x0f421000 0x1000>,
187+
<0x0f422000 0x1000>;
188+
frame-number = <0>;
189+
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
190+
<GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
191+
};
192+
193+
frame@f423000 {
194+
reg = <0x0f423000 0x1000>;
195+
frame-number = <1>;
196+
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
197+
status = "disabled";
198+
};
199+
200+
frame@f425000 {
201+
reg = <0x0f425000 0x1000>;
202+
frame-number = <2>;
203+
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
204+
status = "disabled";
205+
};
206+
207+
frame@f427000 {
208+
reg = <0x0f427000 0x1000>;
209+
frame-number = <3>;
210+
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
211+
status = "disabled";
212+
};
213+
214+
frame@f429000 {
215+
reg = <0x0f429000 0x1000>;
216+
frame-number = <4>;
217+
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
218+
status = "disabled";
219+
};
220+
221+
frame@f42b000 {
222+
reg = <0x0f42b000 0x1000>;
223+
frame-number = <5>;
224+
interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
225+
status = "disabled";
226+
};
227+
228+
frame@f42d000 {
229+
reg = <0x0f42d000 0x1000>;
230+
frame-number = <6>;
231+
interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
232+
status = "disabled";
233+
};
234+
};
235+
};
236+
237+
timer {
238+
compatible = "arm,armv8-timer";
239+
240+
interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
241+
<GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
242+
<GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
243+
<GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
244+
};
245+
};

0 commit comments

Comments
 (0)