Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[linux-2.6-block.git] / arch / arm / boot / dts / qcom-msm8660.dtsi
CommitLineData
cc60a1a4
KG
1/dts-v1/;
2
3/include/ "skeleton.dtsi"
4
55602a09 5#include <dt-bindings/interrupt-controller/arm-gic.h>
cc60a1a4 6#include <dt-bindings/clock/qcom,gcc-msm8660.h>
66a6c317 7#include <dt-bindings/soc/qcom,gsbi.h>
cc60a1a4
KG
8
9/ {
10 model = "Qualcomm MSM8660";
11 compatible = "qcom,msm8660";
12 interrupt-parent = <&intc>;
13
2ab27991
RV
14 cpus {
15 #address-cells = <1>;
16 #size-cells = <0>;
2ab27991
RV
17
18 cpu@0 {
66a6c317
KG
19 compatible = "qcom,scorpion";
20 enable-method = "qcom,gcc-msm8660";
2ab27991
RV
21 device_type = "cpu";
22 reg = <0>;
23 next-level-cache = <&L2>;
24 };
25
26 cpu@1 {
66a6c317
KG
27 compatible = "qcom,scorpion";
28 enable-method = "qcom,gcc-msm8660";
2ab27991
RV
29 device_type = "cpu";
30 reg = <1>;
31 next-level-cache = <&L2>;
32 };
33
34 L2: l2-cache {
35 compatible = "cache";
36 cache-level = <2>;
37 };
38 };
39
b73b3157
SB
40 cpu-pmu {
41 compatible = "qcom,scorpion-mp-pmu";
42 interrupts = <1 9 0x304>;
43 };
44
66a6c317
KG
45 soc: soc {
46 #address-cells = <1>;
47 #size-cells = <1>;
48 ranges;
49 compatible = "simple-bus";
cc60a1a4 50
66a6c317
KG
51 intc: interrupt-controller@2080000 {
52 compatible = "qcom,msm-8660-qgic";
53 interrupt-controller;
54 #interrupt-cells = <3>;
55 reg = < 0x02080000 0x1000 >,
56 < 0x02081000 0x1000 >;
57 };
cc60a1a4 58
66a6c317
KG
59 timer@2000000 {
60 compatible = "qcom,scss-timer", "qcom,msm-timer";
61 interrupts = <1 0 0x301>,
62 <1 1 0x301>,
63 <1 2 0x301>;
64 reg = <0x02000000 0x100>;
65 clock-frequency = <27000000>,
66 <32768>;
67 cpu-offset = <0x40000>;
68 };
cc60a1a4 69
8e140c8e
BA
70 tlmm: pinctrl@800000 {
71 compatible = "qcom,msm8660-pinctrl";
72 reg = <0x800000 0x4000>;
73
66a6c317
KG
74 gpio-controller;
75 #gpio-cells = <2>;
66a6c317
KG
76 interrupts = <0 16 0x4>;
77 interrupt-controller;
78 #interrupt-cells = <2>;
8e140c8e 79
66a6c317 80 };
cc60a1a4 81
66a6c317
KG
82 gcc: clock-controller@900000 {
83 compatible = "qcom,gcc-msm8660";
84 #clock-cells = <1>;
85 #reset-cells = <1>;
86 reg = <0x900000 0x4000>;
87 };
88
89 gsbi12: gsbi@19c00000 {
90 compatible = "qcom,gsbi-v1.0.0";
da047acd 91 cell-index = <12>;
66a6c317
KG
92 reg = <0x19c00000 0x100>;
93 clocks = <&gcc GSBI12_H_CLK>;
94 clock-names = "iface";
95 #address-cells = <1>;
96 #size-cells = <1>;
97 ranges;
cc60a1a4 98
da047acd
AG
99 syscon-tcsr = <&tcsr>;
100
10bfcfea 101 gsbi12_serial: serial@19c40000 {
66a6c317
KG
102 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
103 reg = <0x19c40000 0x1000>,
104 <0x19c00000 0x1000>;
105 interrupts = <0 195 0x0>;
106 clocks = <&gcc GSBI12_UART_CLK>, <&gcc GSBI12_H_CLK>;
107 clock-names = "core", "iface";
108 status = "disabled";
109 };
110 };
111
112 qcom,ssbi@500000 {
113 compatible = "qcom,ssbi";
114 reg = <0x500000 0x1000>;
115 qcom,controller-type = "pmic-arbiter";
94ae991d
SB
116
117 pmicintc: pmic@0 {
118 compatible = "qcom,pm8058";
8e140c8e 119 interrupt-parent = <&tlmm>;
94ae991d
SB
120 interrupts = <88 8>;
121 #interrupt-cells = <2>;
122 interrupt-controller;
123 #address-cells = <1>;
124 #size-cells = <0>;
125
126 pwrkey@1c {
127 compatible = "qcom,pm8058-pwrkey";
128 reg = <0x1c>;
129 interrupt-parent = <&pmicintc>;
130 interrupts = <50 1>, <51 1>;
131 debounce = <15625>;
132 pull-up;
133 };
134
135 keypad@148 {
136 compatible = "qcom,pm8058-keypad";
137 reg = <0x148>;
138 interrupt-parent = <&pmicintc>;
139 interrupts = <74 1>, <75 1>;
140 debounce = <15>;
141 scan-delay = <32>;
142 row-hold = <91500>;
143 };
144
145 rtc@11d {
146 compatible = "qcom,pm8058-rtc";
147 interrupt-parent = <&pmicintc>;
148 interrupts = <39 1>;
149 reg = <0x11d>;
150 allow-set-time;
151 };
152
153 vibrator@4a {
154 compatible = "qcom,pm8058-vib";
155 reg = <0x4a>;
156 };
157 };
66a6c317 158 };
55602a09
SB
159
160 /* Temporary fixed regulator */
161 vsdcc_fixed: vsdcc-regulator {
162 compatible = "regulator-fixed";
163 regulator-name = "SDCC Power";
164 regulator-min-microvolt = <2700000>;
165 regulator-max-microvolt = <2700000>;
166 regulator-always-on;
167 };
168
169 amba {
170 compatible = "arm,amba-bus";
171 #address-cells = <1>;
172 #size-cells = <1>;
173 ranges;
174 sdcc1: sdcc@12400000 {
175 status = "disabled";
176 compatible = "arm,pl18x", "arm,primecell";
177 arm,primecell-periphid = <0x00051180>;
178 reg = <0x12400000 0x8000>;
179 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
180 interrupt-names = "cmd_irq";
181 clocks = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
182 clock-names = "mclk", "apb_pclk";
183 bus-width = <8>;
184 max-frequency = <48000000>;
185 non-removable;
186 cap-sd-highspeed;
187 cap-mmc-highspeed;
188 vmmc-supply = <&vsdcc_fixed>;
189 };
190
191 sdcc3: sdcc@12180000 {
192 compatible = "arm,pl18x", "arm,primecell";
193 arm,primecell-periphid = <0x00051180>;
194 status = "disabled";
195 reg = <0x12180000 0x8000>;
196 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
197 interrupt-names = "cmd_irq";
198 clocks = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
199 clock-names = "mclk", "apb_pclk";
200 bus-width = <4>;
201 cap-sd-highspeed;
202 cap-mmc-highspeed;
203 max-frequency = <48000000>;
204 no-1-8-v;
205 vmmc-supply = <&vsdcc_fixed>;
206 };
207 };
da047acd
AG
208
209 tcsr: syscon@1a400000 {
210 compatible = "qcom,tcsr-msm8660", "syscon";
211 reg = <0x1a400000 0x100>;
212 };
cc60a1a4 213 };
55602a09 214
cc60a1a4 215};