blob: 65180b2bc409f6e27d16e8187c372a9f539a55f5 [file] [log] [blame]
Arnd Bergmann2d334292012-03-07 15:04:07 +00001/*
2 * Copyright 2011 ST-Ericsson AB
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
12/dts-v1/;
Linus Walleij2ce05a12013-08-07 15:37:52 +020013#include "ste-dbx5x0.dtsi"
Linus Walleij3bfdebb2013-11-13 10:32:20 +010014#include "ste-href-family-pinctrl.dtsi"
Arnd Bergmann2d334292012-03-07 15:04:07 +000015
16/ {
17 model = "Calao Systems Snowball platform with device tree";
Lee Jones79b40752012-10-15 10:07:55 +010018 compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
Arnd Bergmann2d334292012-03-07 15:04:07 +000019
Arnd Bergmann2d334292012-03-07 15:04:07 +000020 memory {
21 reg = <0x00000000 0x20000000>;
22 };
23
Lee Jonesbc367482012-05-03 11:23:47 +010024 en_3v3_reg: en_3v3 {
25 compatible = "regulator-fixed";
Lee Jonesb0995762013-06-18 09:51:58 +010026 regulator-name = "en-3v3-fixed-supply";
27 regulator-min-microvolt = <3300000>;
28 regulator-max-microvolt = <3300000>;
29 /* AB8500 GPIOs start from 1 - offset 25 is GPIO26. */
30 gpio = <&ab8500_gpio 25 0x4>;
31 startup-delay-us = <5000>;
32 enable-active-high;
Lee Jonesbc367482012-05-03 11:23:47 +010033 };
34
Lee Jones7e0ce272012-03-15 16:46:17 +000035 gpio_keys {
36 compatible = "gpio-keys";
37 #address-cells = <1>;
38 #size-cells = <0>;
39
40 button@1 {
41 debounce_interval = <50>;
42 wakeup = <1>;
43 linux,code = <2>;
44 label = "userpb";
Lee Jones93b56982012-05-29 14:17:36 +080045 gpios = <&gpio1 0 0x4>;
Lee Jones7e0ce272012-03-15 16:46:17 +000046 };
47 button@2 {
48 debounce_interval = <50>;
49 wakeup = <1>;
50 linux,code = <3>;
Lee Jones3f3ed402012-04-13 15:05:07 +010051 label = "extkb1";
Lee Jones93b56982012-05-29 14:17:36 +080052 gpios = <&gpio4 23 0x4>;
Lee Jones7e0ce272012-03-15 16:46:17 +000053 };
54 button@3 {
55 debounce_interval = <50>;
56 wakeup = <1>;
57 linux,code = <4>;
Lee Jones3f3ed402012-04-13 15:05:07 +010058 label = "extkb2";
Lee Jones93b56982012-05-29 14:17:36 +080059 gpios = <&gpio4 24 0x4>;
Lee Jones7e0ce272012-03-15 16:46:17 +000060 };
61 button@4 {
62 debounce_interval = <50>;
63 wakeup = <1>;
64 linux,code = <5>;
Lee Jones3f3ed402012-04-13 15:05:07 +010065 label = "extkb3";
Lee Jones93b56982012-05-29 14:17:36 +080066 gpios = <&gpio5 1 0x4>;
Lee Jones7e0ce272012-03-15 16:46:17 +000067 };
68 button@5 {
69 debounce_interval = <50>;
70 wakeup = <1>;
71 linux,code = <6>;
Lee Jones3f3ed402012-04-13 15:05:07 +010072 label = "extkb4";
Lee Jones93b56982012-05-29 14:17:36 +080073 gpios = <&gpio5 2 0x4>;
Lee Jones7e0ce272012-03-15 16:46:17 +000074 };
75 };
76
77 leds {
78 compatible = "gpio-leds";
79 used-led {
80 label = "user_led";
Lee Jones93b56982012-05-29 14:17:36 +080081 gpios = <&gpio4 14 0x4>;
Lee Jones7fd975f2012-06-15 09:30:30 +010082 default-state = "on";
Lee Jonesfd53d042012-05-02 09:48:38 +010083 linux,default-trigger = "heartbeat";
Lee Jones7e0ce272012-03-15 16:46:17 +000084 };
85 };
86
Gabriel Fernandezb1ba1432013-03-01 14:38:07 +010087 soc {
Lee Jonese6488062012-07-31 13:31:50 +010088
89 sound {
90 compatible = "stericsson,snd-soc-mop500";
91
92 stericsson,cpu-dai = <&msp1 &msp3>;
93 stericsson,audio-codec = <&codec>;
94 };
95
Linus Walleij70b41ab2013-11-13 14:45:06 +010096 msp0: msp@80123000 {
97 pinctrl-names = "default";
98 pinctrl-0 = <&msp0_default_mode>;
99 status = "okay";
100 };
101
Lee Jonesfe164522012-07-31 12:37:16 +0100102 msp1: msp@80124000 {
Linus Walleij70b41ab2013-11-13 14:45:06 +0100103 pinctrl-names = "default";
104 pinctrl-0 = <&msp1_default_mode>;
105 status = "okay";
106 };
107
108 msp2: msp@80117000 {
109 pinctrl-names = "default";
110 pinctrl-0 = <&msp2_default_mode>;
Lee Jonesfe164522012-07-31 12:37:16 +0100111 status = "okay";
112 };
113
114 msp3: msp@80125000 {
115 status = "okay";
116 };
117
Lee Jones7e0ce272012-03-15 16:46:17 +0000118 external-bus@50000000 {
Lee Jonesbf76e062012-04-24 10:53:18 +0100119 status = "okay";
Lee Jones7e0ce272012-03-15 16:46:17 +0000120
Lee Jonesbf76e062012-04-24 10:53:18 +0100121 ethernet@0 {
122 compatible = "smsc,lan9115";
123 reg = <0 0x10000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200124 interrupts = <12 IRQ_TYPE_EDGE_RISING>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000125 interrupt-parent = <&gpio4>;
Lee Jonesbc367482012-05-03 11:23:47 +0100126 vdd33a-supply = <&en_3v3_reg>;
127 vddvario-supply = <&db8500_vape_reg>;
128
Lee Jonesbf76e062012-04-24 10:53:18 +0100129 reg-shift = <1>;
130 reg-io-width = <2>;
131 smsc,force-internal-phy;
132 smsc,irq-active-high;
133 smsc,irq-push-pull;
Lee Jones7fb2afc2013-06-03 13:06:13 +0100134
135 clocks = <&prcc_pclk 3 0>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000136 };
137 };
138
Lee Jones383307c2013-04-02 14:21:54 +0100139 vmmci: regulator-gpio {
140 gpios = <&gpio6 25 0x4>;
141 enable-gpio = <&gpio7 4 0x4>;
142
143 status = "okay";
144 };
145
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800146 // External Micro SD slot
Lee Jones81bf8c22012-09-26 12:55:56 +0100147 sdi0_per1@80126000 {
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800148 arm,primecell-periphid = <0x10480180>;
Linus Walleij90ccde42013-05-27 13:15:05 +0200149 max-frequency = <100000000>;
Lee Jones92a0f482012-09-26 11:12:48 +0100150 bus-width = <4>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800151 mmc-cap-mmc-highspeed;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800152 vmmc-supply = <&ab8500_ldo_aux3_reg>;
Lee Jones383307c2013-04-02 14:21:54 +0100153 vqmmc-supply = <&vmmci>;
Linus Walleij1e662352013-11-13 13:46:57 +0100154 pinctrl-names = "default", "sleep";
155 pinctrl-0 = <&sdi0_default_mode>;
156 pinctrl-1 = <&sdi0_sleep_mode>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800157
Lee Jones93b56982012-05-29 14:17:36 +0800158 cd-gpios = <&gpio6 26 0x4>; // 218
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800159 cd-inverted;
160
161 status = "okay";
Lee Jones7e0ce272012-03-15 16:46:17 +0000162 };
163
Linus Walleij1e662352013-11-13 13:46:57 +0100164 // WLAN SDIO channel
165 sdi1_per2@80118000 {
166 arm,primecell-periphid = <0x10480180>;
167 max-frequency = <100000000>;
168 bus-width = <4>;
169 pinctrl-names = "default", "sleep";
170 pinctrl-0 = <&sdi1_default_mode>;
171 pinctrl-1 = <&sdi1_sleep_mode>;
172
173 status = "okay";
174 };
175
176 // Unused PoP eMMC - register and put it to sleep by default */
177 sdi2_per3@80005000 {
178 arm,primecell-periphid = <0x10480180>;
179 pinctrl-names = "default";
180 pinctrl-0 = <&sdi2_sleep_mode>;
181
182 status = "okay";
183 };
184
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800185 // On-board eMMC
Lee Jones81bf8c22012-09-26 12:55:56 +0100186 sdi4_per2@80114000 {
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800187 arm,primecell-periphid = <0x10480180>;
Linus Walleij90ccde42013-05-27 13:15:05 +0200188 max-frequency = <100000000>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800189 bus-width = <8>;
190 mmc-cap-mmc-highspeed;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800191 vmmc-supply = <&ab8500_ldo_aux2_reg>;
Linus Walleij1e662352013-11-13 13:46:57 +0100192 pinctrl-names = "default", "sleep";
193 pinctrl-0 = <&sdi4_default_mode>;
194 pinctrl-1 = <&sdi4_sleep_mode>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800195
196 status = "okay";
Lee Jones7e0ce272012-03-15 16:46:17 +0000197 };
198
Lee Jones4905af02012-03-07 17:35:04 +0000199 uart@80120000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100200 pinctrl-names = "default", "sleep";
201 pinctrl-0 = <&uart0_default_mode>;
202 pinctrl-1 = <&uart0_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000203 status = "okay";
204 };
205
206 uart@80121000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100207 pinctrl-names = "default", "sleep";
208 pinctrl-0 = <&uart1_default_mode>;
209 pinctrl-1 = <&uart1_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000210 status = "okay";
211 };
212
213 uart@80007000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100214 pinctrl-names = "default", "sleep";
215 pinctrl-0 = <&uart2_default_mode>;
216 pinctrl-1 = <&uart2_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000217 status = "okay";
218 };
219
Linus Walleij96fee132013-11-13 11:10:07 +0100220 i2c@80004000 {
221 pinctrl-names = "default","sleep";
222 pinctrl-0 = <&i2c0_default_mode>;
223 pinctrl-1 = <&i2c0_sleep_mode>;
224 };
225
226 i2c@80122000 {
227 pinctrl-names = "default","sleep";
228 pinctrl-0 = <&i2c1_default_mode>;
229 pinctrl-1 = <&i2c1_sleep_mode>;
230 };
231
232 i2c@80128000 {
233 pinctrl-names = "default","sleep";
234 pinctrl-0 = <&i2c2_default_mode>;
235 pinctrl-1 = <&i2c2_sleep_mode>;
236 };
237
238 i2c@80110000 {
239 pinctrl-names = "default","sleep";
240 pinctrl-0 = <&i2c3_default_mode>;
241 pinctrl-1 = <&i2c3_sleep_mode>;
242 };
243
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800244 cpufreq-cooling {
245 status = "okay";
246 };
Linus Torvaldsdb5b0ae2012-12-13 10:39:26 -0800247
Lee Jones809efa52012-09-25 12:04:51 +0100248 prcmu@80157000 {
Lee Jones6cb7ea92013-09-18 16:03:07 +0100249 cpufreq {
250 status = "okay";
251 };
252
Lee Jones6c1d25b2013-04-02 14:21:51 +0100253 thermal@801573c0 {
254 num-trips = <4>;
255
256 trip0-temp = <70000>;
257 trip0-type = "active";
258 trip0-cdev-num = <1>;
259 trip0-cdev-name0 = "thermal-cpufreq-0";
260
261 trip1-temp = <75000>;
262 trip1-type = "active";
263 trip1-cdev-num = <1>;
264 trip1-cdev-name0 = "thermal-cpufreq-0";
265
266 trip2-temp = <80000>;
267 trip2-type = "active";
268 trip2-cdev-num = <1>;
269 trip2-cdev-name0 = "thermal-cpufreq-0";
270
271 trip3-temp = <85000>;
272 trip3-type = "critical";
273 trip3-cdev-num = <0>;
274
275 status = "okay";
276 };
277
Arnd Bergmannd52701d32013-03-12 09:39:01 +0100278 ab8500 {
Lee Jones924e82d2013-01-16 14:28:03 +0000279 ab8500-gpio {
280 compatible = "stericsson,ab8500-gpio";
281 };
282
Lee Jonesb0c8fad2013-06-07 17:11:21 +0100283 ext_regulators: ab8500-ext-regulators {
284 ab8500_ext1_reg: ab8500_ext1 {
285 regulator-name = "ab8500-ext-supply1";
286 };
287
288 ab8500_ext2_reg_reg: ab8500_ext2 {
289 regulator-name = "ab8500-ext-supply2";
290 };
291
292 ab8500_ext3_reg_reg: ab8500_ext3 {
293 regulator-name = "ab8500-ext-supply3";
294 };
295 };
296
Lee Jones809efa52012-09-25 12:04:51 +0100297 ab8500-regulators {
298 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
299 regulator-name = "V-DISPLAY";
300 };
301
302 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
303 regulator-name = "V-eMMC1";
304 };
305
306 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
307 regulator-name = "V-MMC-SD";
308 };
309
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200310 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
Lee Jones809efa52012-09-25 12:04:51 +0100311 regulator-name = "V-INTCORE";
312 };
313
314 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
315 regulator-name = "V-TVOUT";
316 };
317
318 ab8500_ldo_usb_reg: ab8500_ldo_usb {
319 regulator-name = "dummy";
320 };
321
322 ab8500_ldo_audio_reg: ab8500_ldo_audio {
323 regulator-name = "V-AUD";
324 };
325
326 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
327 regulator-name = "V-AMIC1";
328 };
329
Fabio Baltieri5510ed92013-05-30 15:27:42 +0200330 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
Lee Jones809efa52012-09-25 12:04:51 +0100331 regulator-name = "V-AMIC2";
332 };
333
334 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
335 regulator-name = "V-DMIC";
336 };
337
338 ab8500_ldo_ana_reg: ab8500_ldo_ana {
339 regulator-name = "V-CSI/DSI";
340 };
341 };
342 };
343 };
Linus Walleij1e662352013-11-13 13:46:57 +0100344
345 pinctrl {
346 sdi0 {
347 sdi0_default_mode: sdi0_default {
348 snowball_mux {
349 ste,function = "mc0";
350 ste,pins = "mc0dat31dir_a_1";
351 };
352 snowball_cfg1 {
353 ste,pins = "GPIO21_AB3"; /* DAT31DIR */
354 ste,config = <&out_hi>;
355 };
356
357 };
358 };
359 };
Arnd Bergmann2d334292012-03-07 15:04:07 +0000360 };
361};