blob: c2cb3ea637dc27dbca89eb067b7056a86628cd70 [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
Lee Jonesfe164522012-07-31 12:37:16 +010096 msp1: msp@80124000 {
97 status = "okay";
98 };
99
100 msp3: msp@80125000 {
101 status = "okay";
102 };
103
Lee Jones7e0ce272012-03-15 16:46:17 +0000104 external-bus@50000000 {
Lee Jonesbf76e062012-04-24 10:53:18 +0100105 status = "okay";
Lee Jones7e0ce272012-03-15 16:46:17 +0000106
Lee Jonesbf76e062012-04-24 10:53:18 +0100107 ethernet@0 {
108 compatible = "smsc,lan9115";
109 reg = <0 0x10000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200110 interrupts = <12 IRQ_TYPE_EDGE_RISING>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000111 interrupt-parent = <&gpio4>;
Lee Jonesbc367482012-05-03 11:23:47 +0100112 vdd33a-supply = <&en_3v3_reg>;
113 vddvario-supply = <&db8500_vape_reg>;
114
Lee Jonesbf76e062012-04-24 10:53:18 +0100115 reg-shift = <1>;
116 reg-io-width = <2>;
117 smsc,force-internal-phy;
118 smsc,irq-active-high;
119 smsc,irq-push-pull;
Lee Jones7fb2afc2013-06-03 13:06:13 +0100120
121 clocks = <&prcc_pclk 3 0>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000122 };
123 };
124
Lee Jones383307c2013-04-02 14:21:54 +0100125 vmmci: regulator-gpio {
126 gpios = <&gpio6 25 0x4>;
127 enable-gpio = <&gpio7 4 0x4>;
128
129 status = "okay";
130 };
131
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800132 // External Micro SD slot
Lee Jones81bf8c22012-09-26 12:55:56 +0100133 sdi0_per1@80126000 {
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800134 arm,primecell-periphid = <0x10480180>;
Linus Walleij90ccde42013-05-27 13:15:05 +0200135 max-frequency = <100000000>;
Lee Jones92a0f482012-09-26 11:12:48 +0100136 bus-width = <4>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800137 mmc-cap-mmc-highspeed;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800138 vmmc-supply = <&ab8500_ldo_aux3_reg>;
Lee Jones383307c2013-04-02 14:21:54 +0100139 vqmmc-supply = <&vmmci>;
Linus Walleij1e662352013-11-13 13:46:57 +0100140 pinctrl-names = "default", "sleep";
141 pinctrl-0 = <&sdi0_default_mode>;
142 pinctrl-1 = <&sdi0_sleep_mode>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800143
Lee Jones93b56982012-05-29 14:17:36 +0800144 cd-gpios = <&gpio6 26 0x4>; // 218
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800145 cd-inverted;
146
147 status = "okay";
Lee Jones7e0ce272012-03-15 16:46:17 +0000148 };
149
Linus Walleij1e662352013-11-13 13:46:57 +0100150 // WLAN SDIO channel
151 sdi1_per2@80118000 {
152 arm,primecell-periphid = <0x10480180>;
153 max-frequency = <100000000>;
154 bus-width = <4>;
155 pinctrl-names = "default", "sleep";
156 pinctrl-0 = <&sdi1_default_mode>;
157 pinctrl-1 = <&sdi1_sleep_mode>;
158
159 status = "okay";
160 };
161
162 // Unused PoP eMMC - register and put it to sleep by default */
163 sdi2_per3@80005000 {
164 arm,primecell-periphid = <0x10480180>;
165 pinctrl-names = "default";
166 pinctrl-0 = <&sdi2_sleep_mode>;
167
168 status = "okay";
169 };
170
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800171 // On-board eMMC
Lee Jones81bf8c22012-09-26 12:55:56 +0100172 sdi4_per2@80114000 {
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800173 arm,primecell-periphid = <0x10480180>;
Linus Walleij90ccde42013-05-27 13:15:05 +0200174 max-frequency = <100000000>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800175 bus-width = <8>;
176 mmc-cap-mmc-highspeed;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800177 vmmc-supply = <&ab8500_ldo_aux2_reg>;
Linus Walleij1e662352013-11-13 13:46:57 +0100178 pinctrl-names = "default", "sleep";
179 pinctrl-0 = <&sdi4_default_mode>;
180 pinctrl-1 = <&sdi4_sleep_mode>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800181
182 status = "okay";
Lee Jones7e0ce272012-03-15 16:46:17 +0000183 };
184
Lee Jones4905af02012-03-07 17:35:04 +0000185 uart@80120000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100186 pinctrl-names = "default", "sleep";
187 pinctrl-0 = <&uart0_default_mode>;
188 pinctrl-1 = <&uart0_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000189 status = "okay";
190 };
191
192 uart@80121000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100193 pinctrl-names = "default", "sleep";
194 pinctrl-0 = <&uart1_default_mode>;
195 pinctrl-1 = <&uart1_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000196 status = "okay";
197 };
198
199 uart@80007000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100200 pinctrl-names = "default", "sleep";
201 pinctrl-0 = <&uart2_default_mode>;
202 pinctrl-1 = <&uart2_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000203 status = "okay";
204 };
205
Linus Walleij96fee132013-11-13 11:10:07 +0100206 i2c@80004000 {
207 pinctrl-names = "default","sleep";
208 pinctrl-0 = <&i2c0_default_mode>;
209 pinctrl-1 = <&i2c0_sleep_mode>;
210 };
211
212 i2c@80122000 {
213 pinctrl-names = "default","sleep";
214 pinctrl-0 = <&i2c1_default_mode>;
215 pinctrl-1 = <&i2c1_sleep_mode>;
216 };
217
218 i2c@80128000 {
219 pinctrl-names = "default","sleep";
220 pinctrl-0 = <&i2c2_default_mode>;
221 pinctrl-1 = <&i2c2_sleep_mode>;
222 };
223
224 i2c@80110000 {
225 pinctrl-names = "default","sleep";
226 pinctrl-0 = <&i2c3_default_mode>;
227 pinctrl-1 = <&i2c3_sleep_mode>;
228 };
229
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800230 cpufreq-cooling {
231 status = "okay";
232 };
Linus Torvaldsdb5b0ae2012-12-13 10:39:26 -0800233
Lee Jones809efa52012-09-25 12:04:51 +0100234 prcmu@80157000 {
Lee Jones6cb7ea92013-09-18 16:03:07 +0100235 cpufreq {
236 status = "okay";
237 };
238
Lee Jones6c1d25b2013-04-02 14:21:51 +0100239 thermal@801573c0 {
240 num-trips = <4>;
241
242 trip0-temp = <70000>;
243 trip0-type = "active";
244 trip0-cdev-num = <1>;
245 trip0-cdev-name0 = "thermal-cpufreq-0";
246
247 trip1-temp = <75000>;
248 trip1-type = "active";
249 trip1-cdev-num = <1>;
250 trip1-cdev-name0 = "thermal-cpufreq-0";
251
252 trip2-temp = <80000>;
253 trip2-type = "active";
254 trip2-cdev-num = <1>;
255 trip2-cdev-name0 = "thermal-cpufreq-0";
256
257 trip3-temp = <85000>;
258 trip3-type = "critical";
259 trip3-cdev-num = <0>;
260
261 status = "okay";
262 };
263
Arnd Bergmannd52701d32013-03-12 09:39:01 +0100264 ab8500 {
Lee Jones924e82d2013-01-16 14:28:03 +0000265 ab8500-gpio {
266 compatible = "stericsson,ab8500-gpio";
267 };
268
Lee Jonesb0c8fad2013-06-07 17:11:21 +0100269 ext_regulators: ab8500-ext-regulators {
270 ab8500_ext1_reg: ab8500_ext1 {
271 regulator-name = "ab8500-ext-supply1";
272 };
273
274 ab8500_ext2_reg_reg: ab8500_ext2 {
275 regulator-name = "ab8500-ext-supply2";
276 };
277
278 ab8500_ext3_reg_reg: ab8500_ext3 {
279 regulator-name = "ab8500-ext-supply3";
280 };
281 };
282
Lee Jones809efa52012-09-25 12:04:51 +0100283 ab8500-regulators {
284 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
285 regulator-name = "V-DISPLAY";
286 };
287
288 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
289 regulator-name = "V-eMMC1";
290 };
291
292 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
293 regulator-name = "V-MMC-SD";
294 };
295
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200296 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
Lee Jones809efa52012-09-25 12:04:51 +0100297 regulator-name = "V-INTCORE";
298 };
299
300 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
301 regulator-name = "V-TVOUT";
302 };
303
304 ab8500_ldo_usb_reg: ab8500_ldo_usb {
305 regulator-name = "dummy";
306 };
307
308 ab8500_ldo_audio_reg: ab8500_ldo_audio {
309 regulator-name = "V-AUD";
310 };
311
312 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
313 regulator-name = "V-AMIC1";
314 };
315
Fabio Baltieri5510ed92013-05-30 15:27:42 +0200316 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
Lee Jones809efa52012-09-25 12:04:51 +0100317 regulator-name = "V-AMIC2";
318 };
319
320 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
321 regulator-name = "V-DMIC";
322 };
323
324 ab8500_ldo_ana_reg: ab8500_ldo_ana {
325 regulator-name = "V-CSI/DSI";
326 };
327 };
328 };
329 };
Linus Walleij1e662352013-11-13 13:46:57 +0100330
331 pinctrl {
332 sdi0 {
333 sdi0_default_mode: sdi0_default {
334 snowball_mux {
335 ste,function = "mc0";
336 ste,pins = "mc0dat31dir_a_1";
337 };
338 snowball_cfg1 {
339 ste,pins = "GPIO21_AB3"; /* DAT31DIR */
340 ste,config = <&out_hi>;
341 };
342
343 };
344 };
345 };
Arnd Bergmann2d334292012-03-07 15:04:07 +0000346 };
347};