1ae3fe828e59299d0e55a683ee49f1e814ff71f4
[deliverable/linux.git] / arch / arm / boot / dts / qcom-msm8960.dtsi
1 /dts-v1/;
2
3 /include/ "skeleton.dtsi"
4
5 #include <dt-bindings/interrupt-controller/arm-gic.h>
6 #include <dt-bindings/clock/qcom,gcc-msm8960.h>
7 #include <dt-bindings/soc/qcom,gsbi.h>
8
9 / {
10 model = "Qualcomm MSM8960";
11 compatible = "qcom,msm8960";
12 interrupt-parent = <&intc>;
13
14 cpus {
15 #address-cells = <1>;
16 #size-cells = <0>;
17 interrupts = <1 14 0x304>;
18
19 cpu@0 {
20 compatible = "qcom,krait";
21 enable-method = "qcom,kpss-acc-v1";
22 device_type = "cpu";
23 reg = <0>;
24 next-level-cache = <&L2>;
25 qcom,acc = <&acc0>;
26 qcom,saw = <&saw0>;
27 };
28
29 cpu@1 {
30 compatible = "qcom,krait";
31 enable-method = "qcom,kpss-acc-v1";
32 device_type = "cpu";
33 reg = <1>;
34 next-level-cache = <&L2>;
35 qcom,acc = <&acc1>;
36 qcom,saw = <&saw1>;
37 };
38
39 L2: l2-cache {
40 compatible = "cache";
41 cache-level = <2>;
42 };
43 };
44
45 cpu-pmu {
46 compatible = "qcom,krait-pmu";
47 interrupts = <1 10 0x304>;
48 qcom,no-pc-write;
49 };
50
51 soc: soc {
52 #address-cells = <1>;
53 #size-cells = <1>;
54 ranges;
55 compatible = "simple-bus";
56
57 intc: interrupt-controller@2000000 {
58 compatible = "qcom,msm-qgic2";
59 interrupt-controller;
60 #interrupt-cells = <3>;
61 reg = <0x02000000 0x1000>,
62 <0x02002000 0x1000>;
63 };
64
65 timer@200a000 {
66 compatible = "qcom,kpss-timer", "qcom,msm-timer";
67 interrupts = <1 1 0x301>,
68 <1 2 0x301>,
69 <1 3 0x301>;
70 reg = <0x0200a000 0x100>;
71 clock-frequency = <27000000>,
72 <32768>;
73 cpu-offset = <0x80000>;
74 };
75
76 msmgpio: pinctrl@800000 {
77 compatible = "qcom,msm8960-pinctrl";
78 gpio-controller;
79 #gpio-cells = <2>;
80 interrupts = <0 16 0x4>;
81 interrupt-controller;
82 #interrupt-cells = <2>;
83 reg = <0x800000 0x4000>;
84 };
85
86 gcc: clock-controller@900000 {
87 compatible = "qcom,gcc-msm8960";
88 #clock-cells = <1>;
89 #reset-cells = <1>;
90 reg = <0x900000 0x4000>;
91 };
92
93 lcc: clock-controller@28000000 {
94 compatible = "qcom,lcc-msm8960";
95 reg = <0x28000000 0x1000>;
96 #clock-cells = <1>;
97 #reset-cells = <1>;
98 };
99
100 clock-controller@4000000 {
101 compatible = "qcom,mmcc-msm8960";
102 reg = <0x4000000 0x1000>;
103 #clock-cells = <1>;
104 #reset-cells = <1>;
105 };
106
107 acc0: clock-controller@2088000 {
108 compatible = "qcom,kpss-acc-v1";
109 reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
110 };
111
112 acc1: clock-controller@2098000 {
113 compatible = "qcom,kpss-acc-v1";
114 reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
115 };
116
117 saw0: regulator@2089000 {
118 compatible = "qcom,saw2";
119 reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
120 regulator;
121 };
122
123 saw1: regulator@2099000 {
124 compatible = "qcom,saw2";
125 reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
126 regulator;
127 };
128
129 gsbi5: gsbi@16400000 {
130 compatible = "qcom,gsbi-v1.0.0";
131 cell-index = <5>;
132 reg = <0x16400000 0x100>;
133 clocks = <&gcc GSBI5_H_CLK>;
134 clock-names = "iface";
135 #address-cells = <1>;
136 #size-cells = <1>;
137 ranges;
138
139 syscon-tcsr = <&tcsr>;
140
141 serial@16440000 {
142 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
143 reg = <0x16440000 0x1000>,
144 <0x16400000 0x1000>;
145 interrupts = <0 154 0x0>;
146 clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
147 clock-names = "core", "iface";
148 status = "disabled";
149 };
150 };
151
152 qcom,ssbi@500000 {
153 compatible = "qcom,ssbi";
154 reg = <0x500000 0x1000>;
155 qcom,controller-type = "pmic-arbiter";
156
157 pmicintc: pmic@0 {
158 compatible = "qcom,pm8921";
159 interrupt-parent = <&msmgpio>;
160 interrupts = <104 8>;
161 #interrupt-cells = <2>;
162 interrupt-controller;
163 #address-cells = <1>;
164 #size-cells = <0>;
165
166 pwrkey@1c {
167 compatible = "qcom,pm8921-pwrkey";
168 reg = <0x1c>;
169 interrupt-parent = <&pmicintc>;
170 interrupts = <50 1>, <51 1>;
171 debounce = <15625>;
172 pull-up;
173 };
174
175 keypad@148 {
176 compatible = "qcom,pm8921-keypad";
177 reg = <0x148>;
178 interrupt-parent = <&pmicintc>;
179 interrupts = <74 1>, <75 1>;
180 debounce = <15>;
181 scan-delay = <32>;
182 row-hold = <91500>;
183 };
184
185 rtc@11d {
186 compatible = "qcom,pm8921-rtc";
187 interrupt-parent = <&pmicintc>;
188 interrupts = <39 1>;
189 reg = <0x11d>;
190 allow-set-time;
191 };
192 };
193 };
194
195 rng@1a500000 {
196 compatible = "qcom,prng";
197 reg = <0x1a500000 0x200>;
198 clocks = <&gcc PRNG_CLK>;
199 clock-names = "core";
200 };
201
202 /* Temporary fixed regulator */
203 vsdcc_fixed: vsdcc-regulator {
204 compatible = "regulator-fixed";
205 regulator-name = "SDCC Power";
206 regulator-min-microvolt = <2700000>;
207 regulator-max-microvolt = <2700000>;
208 regulator-always-on;
209 };
210
211 amba {
212 compatible = "arm,amba-bus";
213 #address-cells = <1>;
214 #size-cells = <1>;
215 ranges;
216 sdcc1: sdcc@12400000 {
217 status = "disabled";
218 compatible = "arm,pl18x", "arm,primecell";
219 arm,primecell-periphid = <0x00051180>;
220 reg = <0x12400000 0x8000>;
221 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
222 interrupt-names = "cmd_irq";
223 clocks = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
224 clock-names = "mclk", "apb_pclk";
225 bus-width = <8>;
226 max-frequency = <96000000>;
227 non-removable;
228 cap-sd-highspeed;
229 cap-mmc-highspeed;
230 vmmc-supply = <&vsdcc_fixed>;
231 };
232
233 sdcc3: sdcc@12180000 {
234 compatible = "arm,pl18x", "arm,primecell";
235 arm,primecell-periphid = <0x00051180>;
236 status = "disabled";
237 reg = <0x12180000 0x8000>;
238 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
239 interrupt-names = "cmd_irq";
240 clocks = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
241 clock-names = "mclk", "apb_pclk";
242 bus-width = <4>;
243 cap-sd-highspeed;
244 cap-mmc-highspeed;
245 max-frequency = <192000000>;
246 no-1-8-v;
247 vmmc-supply = <&vsdcc_fixed>;
248 };
249 };
250
251 tcsr: syscon@1a400000 {
252 compatible = "qcom,tcsr-msm8960", "syscon";
253 reg = <0x1a400000 0x100>;
254 };
255 };
256 };
This page took 0.035403 seconds and 4 git commands to generate.