arm64: dts: apq8016-sbc: Add real regulators and pinctrl for sdhc
[deliverable/linux.git] / arch / arm64 / boot / dts / qcom / msm8996.dtsi
CommitLineData
4558e9b3
SB
1/* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
13#include <dt-bindings/interrupt-controller/arm-gic.h>
14#include <dt-bindings/clock/qcom,gcc-msm8996.h>
15#include <dt-bindings/clock/qcom,mmcc-msm8996.h>
16
17/ {
18 model = "Qualcomm Technologies, Inc. MSM8996";
19
20 interrupt-parent = <&intc>;
21
22 #address-cells = <2>;
23 #size-cells = <2>;
24
25 chosen { };
26
27 memory {
28 device_type = "memory";
29 /* We expect the bootloader to fill in the reg */
30 reg = <0 0 0 0>;
31 };
32
33 cpus {
34 #address-cells = <2>;
35 #size-cells = <0>;
36
37 CPU0: cpu@0 {
38 device_type = "cpu";
39 compatible = "qcom,kryo";
40 reg = <0x0 0x0>;
41 enable-method = "psci";
42 next-level-cache = <&L2_0>;
43 L2_0: l2-cache {
44 compatible = "cache";
45 cache-level = <2>;
46 };
47 };
48
49 CPU1: cpu@1 {
50 device_type = "cpu";
51 compatible = "qcom,kryo";
52 reg = <0x0 0x1>;
53 enable-method = "psci";
54 next-level-cache = <&L2_0>;
55 };
56
57 CPU2: cpu@100 {
58 device_type = "cpu";
59 compatible = "qcom,kryo";
60 reg = <0x0 0x100>;
61 enable-method = "psci";
62 next-level-cache = <&L2_1>;
63 L2_1: l2-cache {
64 compatible = "cache";
65 cache-level = <2>;
66 };
67 };
68
69 CPU3: cpu@101 {
70 device_type = "cpu";
71 compatible = "qcom,kryo";
72 reg = <0x0 0x101>;
73 enable-method = "psci";
74 next-level-cache = <&L2_1>;
75 };
76
77 cpu-map {
78 cluster0 {
79 core0 {
80 cpu = <&CPU0>;
81 };
82
83 core1 {
84 cpu = <&CPU1>;
85 };
86 };
87
88 cluster1 {
89 core0 {
90 cpu = <&CPU2>;
91 };
92
93 core1 {
94 cpu = <&CPU3>;
95 };
96 };
97 };
98 };
99
100 timer {
101 compatible = "arm,armv8-timer";
102 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
103 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
104 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
105 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
106 };
107
108 clocks {
109 xo_board {
110 compatible = "fixed-clock";
111 #clock-cells = <0>;
112 clock-frequency = <19200000>;
113 clock-output-names = "xo_board";
114 };
115
116 sleep_clk {
117 compatible = "fixed-clock";
118 #clock-cells = <0>;
119 clock-frequency = <32764>;
120 clock-output-names = "sleep_clk";
121 };
122 };
123
124 psci {
125 compatible = "arm,psci-1.0";
126 method = "smc";
127 };
128
129 soc: soc {
130 #address-cells = <1>;
131 #size-cells = <1>;
132 ranges = <0 0 0 0xffffffff>;
133 compatible = "simple-bus";
134
135 intc: interrupt-controller@9bc0000 {
136 compatible = "arm,gic-v3";
137 #interrupt-cells = <3>;
138 interrupt-controller;
139 #redistributor-regions = <1>;
140 redistributor-stride = <0x0 0x40000>;
141 reg = <0x09bc0000 0x10000>,
142 <0x09c00000 0x100000>;
143 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
144 };
145
146 gcc: clock-controller@300000 {
147 compatible = "qcom,gcc-msm8996";
148 #clock-cells = <1>;
149 #reset-cells = <1>;
150 reg = <0x300000 0x90000>;
151 };
152
153 blsp2_uart1: serial@75b0000 {
154 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
155 reg = <0x75b0000 0x1000>;
156 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
157 clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
158 <&gcc GCC_BLSP2_AHB_CLK>;
159 clock-names = "core", "iface";
160 status = "disabled";
161 };
162
163 pinctrl@1010000 {
164 compatible = "qcom,msm8996-pinctrl";
165 reg = <0x01010000 0x300000>;
166 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
167 gpio-controller;
168 #gpio-cells = <2>;
169 interrupt-controller;
170 #interrupt-cells = <2>;
171 };
172
173 timer@09840000 {
174 #address-cells = <1>;
175 #size-cells = <1>;
176 ranges;
177 compatible = "arm,armv7-timer-mem";
178 reg = <0x09840000 0x1000>;
179 clock-frequency = <19200000>;
180
181 frame@9850000 {
182 frame-number = <0>;
183 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
184 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
185 reg = <0x09850000 0x1000>,
186 <0x09860000 0x1000>;
187 };
188
189 frame@9870000 {
190 frame-number = <1>;
191 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
192 reg = <0x09870000 0x1000>;
193 status = "disabled";
194 };
195
196 frame@9880000 {
197 frame-number = <2>;
198 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
199 reg = <0x09880000 0x1000>;
200 status = "disabled";
201 };
202
203 frame@9890000 {
204 frame-number = <3>;
205 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
206 reg = <0x09890000 0x1000>;
207 status = "disabled";
208 };
209
210 frame@98a0000 {
211 frame-number = <4>;
212 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
213 reg = <0x098a0000 0x1000>;
214 status = "disabled";
215 };
216
217 frame@98b0000 {
218 frame-number = <5>;
219 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
220 reg = <0x098b0000 0x1000>;
221 status = "disabled";
222 };
223
224 frame@98c0000 {
225 frame-number = <6>;
226 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
227 reg = <0x098c0000 0x1000>;
228 status = "disabled";
229 };
230 };
231
232 spmi_bus: qcom,spmi@400f000 {
233 compatible = "qcom,spmi-pmic-arb";
234 reg = <0x400f000 0x1000>,
235 <0x4400000 0x800000>,
236 <0x4c00000 0x800000>,
237 <0x5800000 0x200000>,
238 <0x400a000 0x002100>;
239 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
240 interrupt-names = "periph_irq";
241 interrupts = <GIC_SPI 326 IRQ_TYPE_NONE>;
242 qcom,ee = <0>;
243 qcom,channel = <0>;
244 #address-cells = <2>;
245 #size-cells = <0>;
246 interrupt-controller;
247 #interrupt-cells = <4>;
248 };
249
250 mmcc: clock-controller@8c0000 {
251 compatible = "qcom,mmcc-msm8996";
252 #clock-cells = <1>;
253 #reset-cells = <1>;
254 reg = <0x8c0000 0x40000>;
255 assigned-clocks = <&mmcc MMPLL9_PLL>,
256 <&mmcc MMPLL1_PLL>,
257 <&mmcc MMPLL3_PLL>,
258 <&mmcc MMPLL4_PLL>,
259 <&mmcc MMPLL5_PLL>;
260 assigned-clock-rates = <624000000>,
261 <810000000>,
262 <980000000>,
263 <960000000>,
264 <825000000>;
265 };
266 };
267};
This page took 0.03917 seconds and 5 git commands to generate.