arm64: dts: msm8996: add support to blsp2_i2c0 pinctrl
[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>;
a70d7449 150 #power-domain-cells = <1>;
4558e9b3
SB
151 reg = <0x300000 0x90000>;
152 };
153
154 blsp2_uart1: serial@75b0000 {
155 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
156 reg = <0x75b0000 0x1000>;
157 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
158 clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
159 <&gcc GCC_BLSP2_AHB_CLK>;
160 clock-names = "core", "iface";
161 status = "disabled";
162 };
163
d41d0cee
SK
164 blsp2_i2c1: i2c@075b6000 {
165 compatible = "qcom,i2c-qup-v2.2.1";
166 reg = <0x075b6000 0x1000>;
167 interrupts = <GIC_SPI 102 0>;
168 clocks = <&gcc GCC_BLSP2_AHB_CLK>,
169 <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>;
170 clock-names = "iface", "core";
171 pinctrl-names = "default", "sleep";
172 pinctrl-0 = <&blsp2_i2c1_default>;
173 pinctrl-1 = <&blsp2_i2c1_sleep>;
174 #address-cells = <1>;
175 #size-cells = <0>;
176 status = "disabled";
177 };
178
fda48e61
SK
179 blsp2_uart2: serial@75b1000 {
180 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
181 reg = <0x075b1000 0x1000>;
182 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
183 clocks = <&gcc GCC_BLSP2_UART3_APPS_CLK>,
184 <&gcc GCC_BLSP2_AHB_CLK>;
185 clock-names = "core", "iface";
186 status = "disabled";
187 };
188
21a40384
SK
189 blsp1_i2c2: i2c@07577000 {
190 compatible = "qcom,i2c-qup-v2.2.1";
191 reg = <0x07577000 0x1000>;
192 interrupts = <GIC_SPI 97 0>;
193 clocks = <&gcc GCC_BLSP1_AHB_CLK>,
194 <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>;
195 clock-names = "iface", "core";
196 pinctrl-names = "default", "sleep";
197 pinctrl-0 = <&blsp1_i2c2_default>;
198 pinctrl-1 = <&blsp1_i2c2_sleep>;
199 #address-cells = <1>;
200 #size-cells = <0>;
201 status = "disabled";
202 };
203
84361086 204 msmgpio: pinctrl@1010000 {
4558e9b3
SB
205 compatible = "qcom,msm8996-pinctrl";
206 reg = <0x01010000 0x300000>;
207 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
208 gpio-controller;
209 #gpio-cells = <2>;
210 interrupt-controller;
211 #interrupt-cells = <2>;
212 };
213
214 timer@09840000 {
215 #address-cells = <1>;
216 #size-cells = <1>;
217 ranges;
218 compatible = "arm,armv7-timer-mem";
219 reg = <0x09840000 0x1000>;
220 clock-frequency = <19200000>;
221
222 frame@9850000 {
223 frame-number = <0>;
224 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
225 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
226 reg = <0x09850000 0x1000>,
227 <0x09860000 0x1000>;
228 };
229
230 frame@9870000 {
231 frame-number = <1>;
232 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
233 reg = <0x09870000 0x1000>;
234 status = "disabled";
235 };
236
237 frame@9880000 {
238 frame-number = <2>;
239 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
240 reg = <0x09880000 0x1000>;
241 status = "disabled";
242 };
243
244 frame@9890000 {
245 frame-number = <3>;
246 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
247 reg = <0x09890000 0x1000>;
248 status = "disabled";
249 };
250
251 frame@98a0000 {
252 frame-number = <4>;
253 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
254 reg = <0x098a0000 0x1000>;
255 status = "disabled";
256 };
257
258 frame@98b0000 {
259 frame-number = <5>;
260 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
261 reg = <0x098b0000 0x1000>;
262 status = "disabled";
263 };
264
265 frame@98c0000 {
266 frame-number = <6>;
267 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
268 reg = <0x098c0000 0x1000>;
269 status = "disabled";
270 };
271 };
272
273 spmi_bus: qcom,spmi@400f000 {
274 compatible = "qcom,spmi-pmic-arb";
275 reg = <0x400f000 0x1000>,
276 <0x4400000 0x800000>,
277 <0x4c00000 0x800000>,
278 <0x5800000 0x200000>,
279 <0x400a000 0x002100>;
280 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
281 interrupt-names = "periph_irq";
282 interrupts = <GIC_SPI 326 IRQ_TYPE_NONE>;
283 qcom,ee = <0>;
284 qcom,channel = <0>;
285 #address-cells = <2>;
286 #size-cells = <0>;
287 interrupt-controller;
288 #interrupt-cells = <4>;
289 };
290
291 mmcc: clock-controller@8c0000 {
292 compatible = "qcom,mmcc-msm8996";
293 #clock-cells = <1>;
294 #reset-cells = <1>;
a70d7449 295 #power-domain-cells = <1>;
4558e9b3
SB
296 reg = <0x8c0000 0x40000>;
297 assigned-clocks = <&mmcc MMPLL9_PLL>,
298 <&mmcc MMPLL1_PLL>,
299 <&mmcc MMPLL3_PLL>,
300 <&mmcc MMPLL4_PLL>,
301 <&mmcc MMPLL5_PLL>;
302 assigned-clock-rates = <624000000>,
303 <810000000>,
304 <980000000>,
305 <960000000>,
306 <825000000>;
307 };
308 };
309};
22e6789f 310#include "msm8996-pins.dtsi"
This page took 0.051951 seconds and 5 git commands to generate.