blob: f8df43e0791dd42f70d0b3b94e62d0e38cc4a695 [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>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800140
Lee Jones93b56982012-05-29 14:17:36 +0800141 cd-gpios = <&gpio6 26 0x4>; // 218
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800142 cd-inverted;
143
144 status = "okay";
Lee Jones7e0ce272012-03-15 16:46:17 +0000145 };
146
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800147 // On-board eMMC
Lee Jones81bf8c22012-09-26 12:55:56 +0100148 sdi4_per2@80114000 {
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800149 arm,primecell-periphid = <0x10480180>;
Linus Walleij90ccde42013-05-27 13:15:05 +0200150 max-frequency = <100000000>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800151 bus-width = <8>;
152 mmc-cap-mmc-highspeed;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800153 vmmc-supply = <&ab8500_ldo_aux2_reg>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800154
155 status = "okay";
Lee Jones7e0ce272012-03-15 16:46:17 +0000156 };
157
Lee Jones4905af02012-03-07 17:35:04 +0000158 uart@80120000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100159 pinctrl-names = "default", "sleep";
160 pinctrl-0 = <&uart0_default_mode>;
161 pinctrl-1 = <&uart0_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000162 status = "okay";
163 };
164
165 uart@80121000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100166 pinctrl-names = "default", "sleep";
167 pinctrl-0 = <&uart1_default_mode>;
168 pinctrl-1 = <&uart1_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000169 status = "okay";
170 };
171
172 uart@80007000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100173 pinctrl-names = "default", "sleep";
174 pinctrl-0 = <&uart2_default_mode>;
175 pinctrl-1 = <&uart2_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000176 status = "okay";
177 };
178
Linus Walleij96fee132013-11-13 11:10:07 +0100179 i2c@80004000 {
180 pinctrl-names = "default","sleep";
181 pinctrl-0 = <&i2c0_default_mode>;
182 pinctrl-1 = <&i2c0_sleep_mode>;
183 };
184
185 i2c@80122000 {
186 pinctrl-names = "default","sleep";
187 pinctrl-0 = <&i2c1_default_mode>;
188 pinctrl-1 = <&i2c1_sleep_mode>;
189 };
190
191 i2c@80128000 {
192 pinctrl-names = "default","sleep";
193 pinctrl-0 = <&i2c2_default_mode>;
194 pinctrl-1 = <&i2c2_sleep_mode>;
195 };
196
197 i2c@80110000 {
198 pinctrl-names = "default","sleep";
199 pinctrl-0 = <&i2c3_default_mode>;
200 pinctrl-1 = <&i2c3_sleep_mode>;
201 };
202
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800203 cpufreq-cooling {
204 status = "okay";
205 };
Linus Torvaldsdb5b0ae2012-12-13 10:39:26 -0800206
Lee Jones809efa52012-09-25 12:04:51 +0100207 prcmu@80157000 {
Lee Jones6cb7ea92013-09-18 16:03:07 +0100208 cpufreq {
209 status = "okay";
210 };
211
Lee Jones6c1d25b2013-04-02 14:21:51 +0100212 thermal@801573c0 {
213 num-trips = <4>;
214
215 trip0-temp = <70000>;
216 trip0-type = "active";
217 trip0-cdev-num = <1>;
218 trip0-cdev-name0 = "thermal-cpufreq-0";
219
220 trip1-temp = <75000>;
221 trip1-type = "active";
222 trip1-cdev-num = <1>;
223 trip1-cdev-name0 = "thermal-cpufreq-0";
224
225 trip2-temp = <80000>;
226 trip2-type = "active";
227 trip2-cdev-num = <1>;
228 trip2-cdev-name0 = "thermal-cpufreq-0";
229
230 trip3-temp = <85000>;
231 trip3-type = "critical";
232 trip3-cdev-num = <0>;
233
234 status = "okay";
235 };
236
Arnd Bergmannd52701d32013-03-12 09:39:01 +0100237 ab8500 {
Lee Jones924e82d2013-01-16 14:28:03 +0000238 ab8500-gpio {
239 compatible = "stericsson,ab8500-gpio";
240 };
241
Lee Jonesb0c8fad2013-06-07 17:11:21 +0100242 ext_regulators: ab8500-ext-regulators {
243 ab8500_ext1_reg: ab8500_ext1 {
244 regulator-name = "ab8500-ext-supply1";
245 };
246
247 ab8500_ext2_reg_reg: ab8500_ext2 {
248 regulator-name = "ab8500-ext-supply2";
249 };
250
251 ab8500_ext3_reg_reg: ab8500_ext3 {
252 regulator-name = "ab8500-ext-supply3";
253 };
254 };
255
Lee Jones809efa52012-09-25 12:04:51 +0100256 ab8500-regulators {
257 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
258 regulator-name = "V-DISPLAY";
259 };
260
261 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
262 regulator-name = "V-eMMC1";
263 };
264
265 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
266 regulator-name = "V-MMC-SD";
267 };
268
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200269 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
Lee Jones809efa52012-09-25 12:04:51 +0100270 regulator-name = "V-INTCORE";
271 };
272
273 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
274 regulator-name = "V-TVOUT";
275 };
276
277 ab8500_ldo_usb_reg: ab8500_ldo_usb {
278 regulator-name = "dummy";
279 };
280
281 ab8500_ldo_audio_reg: ab8500_ldo_audio {
282 regulator-name = "V-AUD";
283 };
284
285 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
286 regulator-name = "V-AMIC1";
287 };
288
Fabio Baltieri5510ed92013-05-30 15:27:42 +0200289 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
Lee Jones809efa52012-09-25 12:04:51 +0100290 regulator-name = "V-AMIC2";
291 };
292
293 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
294 regulator-name = "V-DMIC";
295 };
296
297 ab8500_ldo_ana_reg: ab8500_ldo_ana {
298 regulator-name = "V-CSI/DSI";
299 };
300 };
301 };
302 };
Arnd Bergmann2d334292012-03-07 15:04:07 +0000303 };
304};