ARM: ux500: move MCDE pin config to device tree
[platform/adaptation/renesas_rcar/renesas_kernel.git] / arch / arm / boot / dts / ste-snowball.dts
1 /*
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/;
13 #include "ste-dbx5x0.dtsi"
14 #include "ste-href-family-pinctrl.dtsi"
15
16 / {
17         model = "Calao Systems Snowball platform with device tree";
18         compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
19
20         memory {
21                 reg = <0x00000000 0x20000000>;
22         };
23
24         en_3v3_reg: en_3v3 {
25                 compatible = "regulator-fixed";
26                 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;
33         };
34
35         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";
45                         gpios = <&gpio1 0 0x4>;
46                 };
47                 button@2 {
48                         debounce_interval = <50>;
49                         wakeup = <1>;
50                         linux,code = <3>;
51                         label = "extkb1";
52                         gpios = <&gpio4 23 0x4>;
53                 };
54                 button@3 {
55                         debounce_interval = <50>;
56                         wakeup = <1>;
57                         linux,code = <4>;
58                         label = "extkb2";
59                         gpios = <&gpio4 24 0x4>;
60                 };
61                 button@4 {
62                         debounce_interval = <50>;
63                         wakeup = <1>;
64                         linux,code = <5>;
65                         label = "extkb3";
66                         gpios = <&gpio5 1 0x4>;
67                 };
68                 button@5 {
69                         debounce_interval = <50>;
70                         wakeup = <1>;
71                         linux,code = <6>;
72                         label = "extkb4";
73                         gpios = <&gpio5 2 0x4>;
74                 };
75         };
76
77         leds {
78                 compatible = "gpio-leds";
79                 used-led {
80                         label = "user_led";
81                         gpios = <&gpio4 14 0x4>;
82                         default-state = "on";
83                         linux,default-trigger = "heartbeat";
84                 };
85         };
86
87         soc {
88                 usb_per5@a03e0000 {
89                         pinctrl-names = "default", "sleep";
90                         pinctrl-0 = <&musb_default_mode>;
91                         pinctrl-1 = <&musb_sleep_mode>;
92                 };
93
94                 sound {
95                         compatible = "stericsson,snd-soc-mop500";
96
97                         stericsson,cpu-dai = <&msp1 &msp3>;
98                         stericsson,audio-codec = <&codec>;
99                 };
100
101                 msp0: msp@80123000 {
102                         pinctrl-names = "default";
103                         pinctrl-0 = <&msp0_default_mode>;
104                         status = "okay";
105                 };
106
107                 msp1: msp@80124000 {
108                         pinctrl-names = "default";
109                         pinctrl-0 = <&msp1_default_mode>;
110                         status = "okay";
111                 };
112
113                 msp2: msp@80117000 {
114                         pinctrl-names = "default";
115                         pinctrl-0 = <&msp2_default_mode>;
116                         status = "okay";
117                 };
118
119                 msp3: msp@80125000 {
120                         status = "okay";
121                 };
122
123                 external-bus@50000000 {
124                         status = "okay";
125
126                         ethernet@0 {
127                                 compatible = "smsc,lan9115";
128                                 reg = <0 0x10000>;
129                                 interrupts = <12 IRQ_TYPE_EDGE_RISING>;
130                                 interrupt-parent = <&gpio4>;
131                                 vdd33a-supply = <&en_3v3_reg>;
132                                 vddvario-supply = <&db8500_vape_reg>;
133
134                                 reg-shift = <1>;
135                                 reg-io-width = <2>;
136                                 smsc,force-internal-phy;
137                                 smsc,irq-active-high;
138                                 smsc,irq-push-pull;
139
140                                 clocks = <&prcc_pclk 3 0>;
141                         };
142                 };
143
144                 vmmci: regulator-gpio {
145                         gpios = <&gpio6 25 0x4>;
146                         enable-gpio = <&gpio7 4 0x4>;
147
148                         status = "okay";
149                 };
150
151                 // External Micro SD slot
152                 sdi0_per1@80126000 {
153                         arm,primecell-periphid = <0x10480180>;
154                         max-frequency = <100000000>;
155                         bus-width = <4>;
156                         mmc-cap-mmc-highspeed;
157                         vmmc-supply = <&ab8500_ldo_aux3_reg>;
158                         vqmmc-supply = <&vmmci>;
159                         pinctrl-names = "default", "sleep";
160                         pinctrl-0 = <&sdi0_default_mode>;
161                         pinctrl-1 = <&sdi0_sleep_mode>;
162
163                         cd-gpios  = <&gpio6 26 0x4>; // 218
164                         cd-inverted;
165
166                         status = "okay";
167                 };
168
169                 // WLAN SDIO channel
170                 sdi1_per2@80118000 {
171                         arm,primecell-periphid = <0x10480180>;
172                         max-frequency = <100000000>;
173                         bus-width = <4>;
174                         pinctrl-names = "default", "sleep";
175                         pinctrl-0 = <&sdi1_default_mode>;
176                         pinctrl-1 = <&sdi1_sleep_mode>;
177
178                         status = "okay";
179                 };
180
181                 // Unused PoP eMMC - register and put it to sleep by default */
182                 sdi2_per3@80005000 {
183                         arm,primecell-periphid = <0x10480180>;
184                         pinctrl-names = "default";
185                         pinctrl-0 = <&sdi2_sleep_mode>;
186
187                         status = "okay";
188                 };
189
190                 // On-board eMMC
191                 sdi4_per2@80114000 {
192                         arm,primecell-periphid = <0x10480180>;
193                         max-frequency = <100000000>;
194                         bus-width = <8>;
195                         mmc-cap-mmc-highspeed;
196                         vmmc-supply = <&ab8500_ldo_aux2_reg>;
197                         pinctrl-names = "default", "sleep";
198                         pinctrl-0 = <&sdi4_default_mode>;
199                         pinctrl-1 = <&sdi4_sleep_mode>;
200
201                         status = "okay";
202                 };
203
204                 uart@80120000 {
205                         pinctrl-names = "default", "sleep";
206                         pinctrl-0 = <&uart0_default_mode>;
207                         pinctrl-1 = <&uart0_sleep_mode>;
208                         status = "okay";
209                 };
210
211                 uart@80121000 {
212                         pinctrl-names = "default", "sleep";
213                         pinctrl-0 = <&uart1_default_mode>;
214                         pinctrl-1 = <&uart1_sleep_mode>;
215                         status = "okay";
216                 };
217
218                 uart@80007000 {
219                         pinctrl-names = "default", "sleep";
220                         pinctrl-0 = <&uart2_default_mode>;
221                         pinctrl-1 = <&uart2_sleep_mode>;
222                         status = "okay";
223                 };
224
225                 i2c@80004000 {
226                         pinctrl-names = "default","sleep";
227                         pinctrl-0 = <&i2c0_default_mode>;
228                         pinctrl-1 = <&i2c0_sleep_mode>;
229                 };
230
231                 i2c@80122000 {
232                         pinctrl-names = "default","sleep";
233                         pinctrl-0 = <&i2c1_default_mode>;
234                         pinctrl-1 = <&i2c1_sleep_mode>;
235                 };
236
237                 i2c@80128000 {
238                         pinctrl-names = "default","sleep";
239                         pinctrl-0 = <&i2c2_default_mode>;
240                         pinctrl-1 = <&i2c2_sleep_mode>;
241                 };
242
243                 i2c@80110000 {
244                         pinctrl-names = "default","sleep";
245                         pinctrl-0 = <&i2c3_default_mode>;
246                         pinctrl-1 = <&i2c3_sleep_mode>;
247                 };
248
249                 cpufreq-cooling {
250                         status = "okay";
251                 };
252
253                 prcmu@80157000 {
254                         cpufreq {
255                                 status = "okay";
256                         };
257
258                         thermal@801573c0 {
259                                 num-trips = <4>;
260
261                                 trip0-temp = <70000>;
262                                 trip0-type = "active";
263                                 trip0-cdev-num = <1>;
264                                 trip0-cdev-name0 = "thermal-cpufreq-0";
265
266                                 trip1-temp = <75000>;
267                                 trip1-type = "active";
268                                 trip1-cdev-num = <1>;
269                                 trip1-cdev-name0 = "thermal-cpufreq-0";
270
271                                 trip2-temp = <80000>;
272                                 trip2-type = "active";
273                                 trip2-cdev-num = <1>;
274                                 trip2-cdev-name0 = "thermal-cpufreq-0";
275
276                                 trip3-temp = <85000>;
277                                 trip3-type = "critical";
278                                 trip3-cdev-num = <0>;
279
280                                 status = "okay";
281                         };
282
283                         ab8500 {
284                                 ab8500-gpio {
285                                         compatible = "stericsson,ab8500-gpio";
286                                 };
287
288                                 ext_regulators: ab8500-ext-regulators {
289                                         ab8500_ext1_reg: ab8500_ext1 {
290                                                 regulator-name = "ab8500-ext-supply1";
291                                         };
292
293                                         ab8500_ext2_reg_reg: ab8500_ext2 {
294                                                 regulator-name = "ab8500-ext-supply2";
295                                         };
296
297                                         ab8500_ext3_reg_reg: ab8500_ext3 {
298                                                 regulator-name = "ab8500-ext-supply3";
299                                         };
300                                 };
301
302                                 ab8500-regulators {
303                                         ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
304                                                 regulator-name = "V-DISPLAY";
305                                         };
306
307                                         ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
308                                                 regulator-name = "V-eMMC1";
309                                         };
310
311                                         ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
312                                                 regulator-name = "V-MMC-SD";
313                                         };
314
315                                         ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
316                                                 regulator-name = "V-INTCORE";
317                                         };
318
319                                         ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
320                                                 regulator-name = "V-TVOUT";
321                                         };
322
323                                         ab8500_ldo_usb_reg: ab8500_ldo_usb {
324                                                 regulator-name = "dummy";
325                                         };
326
327                                         ab8500_ldo_audio_reg: ab8500_ldo_audio {
328                                                 regulator-name = "V-AUD";
329                                         };
330
331                                         ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
332                                                 regulator-name = "V-AMIC1";
333                                         };
334
335                                         ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
336                                                 regulator-name = "V-AMIC2";
337                                         };
338
339                                         ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
340                                                 regulator-name = "V-DMIC";
341                                         };
342
343                                         ab8500_ldo_ana_reg: ab8500_ldo_ana {
344                                                 regulator-name = "V-CSI/DSI";
345                                         };
346                                 };
347                         };
348                 };
349
350                 pinctrl {
351                         sdi0 {
352                                 sdi0_default_mode: sdi0_default {
353                                         snowball_mux {
354                                                 ste,function = "mc0";
355                                                 ste,pins = "mc0dat31dir_a_1";
356                                         };
357                                         snowball_cfg1 {
358                                                 ste,pins = "GPIO21_AB3"; /* DAT31DIR */
359                                                 ste,config = <&out_hi>;
360                                         };
361
362                                 };
363                         };
364                 };
365
366                 mcde@a0350000 {
367                         pinctrl-names = "default", "sleep";
368                         pinctrl-0 = <&lcd_default_mode>;
369                         pinctrl-1 = <&lcd_sleep_mode>;
370                 };
371         };
372 };