Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetoot...
[cascardo/linux.git] / arch / arm / boot / dts / imx51-babbage.dts
1 /*
2  * Copyright 2011 Freescale Semiconductor, Inc.
3  * Copyright 2011 Linaro Ltd.
4  *
5  * The code contained herein is licensed under the GNU General Public
6  * License. You may obtain a copy of the GNU General Public License
7  * Version 2 or later at the following locations:
8  *
9  * http://www.opensource.org/licenses/gpl-license.html
10  * http://www.gnu.org/copyleft/gpl.html
11  */
12
13 /dts-v1/;
14 /include/ "imx51.dtsi"
15
16 / {
17         model = "Freescale i.MX51 Babbage Board";
18         compatible = "fsl,imx51-babbage", "fsl,imx51";
19
20         memory {
21                 reg = <0x90000000 0x20000000>;
22         };
23
24         display@di0 {
25                 compatible = "fsl,imx-parallel-display";
26                 crtcs = <&ipu 0>;
27                 interface-pix-fmt = "rgb24";
28                 pinctrl-names = "default";
29                 pinctrl-0 = <&pinctrl_ipu_disp1_1>;
30         };
31
32         display@di1 {
33                 compatible = "fsl,imx-parallel-display";
34                 crtcs = <&ipu 1>;
35                 interface-pix-fmt = "rgb565";
36                 pinctrl-names = "default";
37                 pinctrl-0 = <&pinctrl_ipu_disp2_1>;
38         };
39
40         gpio-keys {
41                 compatible = "gpio-keys";
42
43                 power {
44                         label = "Power Button";
45                         gpios = <&gpio2 21 0>;
46                         linux,code = <116>; /* KEY_POWER */
47                         gpio-key,wakeup;
48                 };
49         };
50
51         sound {
52                 compatible = "fsl,imx51-babbage-sgtl5000",
53                              "fsl,imx-audio-sgtl5000";
54                 model = "imx51-babbage-sgtl5000";
55                 ssi-controller = <&ssi2>;
56                 audio-codec = <&sgtl5000>;
57                 audio-routing =
58                         "MIC_IN", "Mic Jack",
59                         "Mic Jack", "Mic Bias",
60                         "Headphone Jack", "HP_OUT";
61                 mux-int-port = <2>;
62                 mux-ext-port = <3>;
63         };
64 };
65
66 &esdhc1 {
67         pinctrl-names = "default";
68         pinctrl-0 = <&pinctrl_esdhc1_1>;
69         fsl,cd-controller;
70         fsl,wp-controller;
71         status = "okay";
72 };
73
74 &esdhc2 {
75         pinctrl-names = "default";
76         pinctrl-0 = <&pinctrl_esdhc2_1>;
77         cd-gpios = <&gpio1 6 0>;
78         wp-gpios = <&gpio1 5 0>;
79         status = "okay";
80 };
81
82 &uart3 {
83         pinctrl-names = "default";
84         pinctrl-0 = <&pinctrl_uart3_1>;
85         fsl,uart-has-rtscts;
86         status = "okay";
87 };
88
89 &ecspi1 {
90         pinctrl-names = "default";
91         pinctrl-0 = <&pinctrl_ecspi1_1>;
92         fsl,spi-num-chipselects = <2>;
93         cs-gpios = <&gpio4 24 0>, <&gpio4 25 0>;
94         status = "okay";
95
96         pmic: mc13892@0 {
97                 #address-cells = <1>;
98                 #size-cells = <0>;
99                 compatible = "fsl,mc13892";
100                 spi-max-frequency = <6000000>;
101                 reg = <0>;
102                 interrupt-parent = <&gpio1>;
103                 interrupts = <8 0x4>;
104
105                 regulators {
106                         sw1_reg: sw1 {
107                                 regulator-min-microvolt = <600000>;
108                                 regulator-max-microvolt = <1375000>;
109                                 regulator-boot-on;
110                                 regulator-always-on;
111                         };
112
113                         sw2_reg: sw2 {
114                                 regulator-min-microvolt = <900000>;
115                                 regulator-max-microvolt = <1850000>;
116                                 regulator-boot-on;
117                                 regulator-always-on;
118                         };
119
120                         sw3_reg: sw3 {
121                                 regulator-min-microvolt = <1100000>;
122                                 regulator-max-microvolt = <1850000>;
123                                 regulator-boot-on;
124                                 regulator-always-on;
125                         };
126
127                         sw4_reg: sw4 {
128                                 regulator-min-microvolt = <1100000>;
129                                 regulator-max-microvolt = <1850000>;
130                                 regulator-boot-on;
131                                 regulator-always-on;
132                         };
133
134                         vpll_reg: vpll {
135                                 regulator-min-microvolt = <1050000>;
136                                 regulator-max-microvolt = <1800000>;
137                                 regulator-boot-on;
138                                 regulator-always-on;
139                         };
140
141                         vdig_reg: vdig {
142                                 regulator-min-microvolt = <1650000>;
143                                 regulator-max-microvolt = <1650000>;
144                                 regulator-boot-on;
145                         };
146
147                         vsd_reg: vsd {
148                                 regulator-min-microvolt = <1800000>;
149                                 regulator-max-microvolt = <3150000>;
150                         };
151
152                         vusb2_reg: vusb2 {
153                                 regulator-min-microvolt = <2400000>;
154                                 regulator-max-microvolt = <2775000>;
155                                 regulator-boot-on;
156                                 regulator-always-on;
157                         };
158
159                         vvideo_reg: vvideo {
160                                 regulator-min-microvolt = <2775000>;
161                                 regulator-max-microvolt = <2775000>;
162                         };
163
164                         vaudio_reg: vaudio {
165                                 regulator-min-microvolt = <2300000>;
166                                 regulator-max-microvolt = <3000000>;
167                         };
168
169                         vcam_reg: vcam {
170                                 regulator-min-microvolt = <2500000>;
171                                 regulator-max-microvolt = <3000000>;
172                         };
173
174                         vgen1_reg: vgen1 {
175                                 regulator-min-microvolt = <1200000>;
176                                 regulator-max-microvolt = <1200000>;
177                         };
178
179                         vgen2_reg: vgen2 {
180                                 regulator-min-microvolt = <1200000>;
181                                 regulator-max-microvolt = <3150000>;
182                                 regulator-always-on;
183                         };
184
185                         vgen3_reg: vgen3 {
186                                 regulator-min-microvolt = <1800000>;
187                                 regulator-max-microvolt = <2900000>;
188                                 regulator-always-on;
189                         };
190                 };
191         };
192
193         flash: at45db321d@1 {
194                 #address-cells = <1>;
195                 #size-cells = <1>;
196                 compatible = "atmel,at45db321d", "atmel,at45", "atmel,dataflash";
197                 spi-max-frequency = <25000000>;
198                 reg = <1>;
199
200                 partition@0 {
201                         label = "U-Boot";
202                         reg = <0x0 0x40000>;
203                         read-only;
204                 };
205
206                 partition@40000 {
207                         label = "Kernel";
208                         reg = <0x40000 0x3c0000>;
209                 };
210         };
211 };
212
213 &ssi2 {
214         fsl,mode = "i2s-slave";
215         status = "okay";
216 };
217
218 &iomuxc {
219         pinctrl-names = "default";
220         pinctrl-0 = <&pinctrl_hog>;
221
222         hog {
223                 pinctrl_hog: hoggrp {
224                         fsl,pins = <
225                                 694  0x20d5     /* MX51_PAD_GPIO1_0__SD1_CD */
226                                 697  0x20d5     /* MX51_PAD_GPIO1_1__SD1_WP */
227                                 737  0x100      /* MX51_PAD_GPIO1_5__GPIO1_5 */
228                                 740  0x100      /* MX51_PAD_GPIO1_6__GPIO1_6 */
229                                 121  0x5        /* MX51_PAD_EIM_A27__GPIO2_21 */
230                                 402  0x85       /* MX51_PAD_CSPI1_SS0__GPIO4_24 */
231                                 405  0x85       /* MX51_PAD_CSPI1_SS1__GPIO4_25 */
232                         >;
233                 };
234         };
235 };
236
237 &uart1 {
238         pinctrl-names = "default";
239         pinctrl-0 = <&pinctrl_uart1_1>;
240         fsl,uart-has-rtscts;
241         status = "okay";
242 };
243
244 &uart2 {
245         pinctrl-names = "default";
246         pinctrl-0 = <&pinctrl_uart2_1>;
247         status = "okay";
248 };
249
250 &i2c2 {
251         pinctrl-names = "default";
252         pinctrl-0 = <&pinctrl_i2c2_1>;
253         status = "okay";
254
255         sgtl5000: codec@0a {
256                 compatible = "fsl,sgtl5000";
257                 reg = <0x0a>;
258                 clock-frequency = <26000000>;
259                 VDDA-supply = <&vdig_reg>;
260                 VDDIO-supply = <&vvideo_reg>;
261         };
262 };
263
264 &audmux {
265         pinctrl-names = "default";
266         pinctrl-0 = <&pinctrl_audmux_1>;
267         status = "okay";
268 };
269
270 &fec {
271         pinctrl-names = "default";
272         pinctrl-0 = <&pinctrl_fec_1>;
273         phy-mode = "mii";
274         status = "okay";
275 };
276
277 &kpp {
278         pinctrl-names = "default";
279         pinctrl-0 = <&pinctrl_kpp_1>;
280         linux,keymap = <0x00000067      /* KEY_UP */
281                         0x0001006c      /* KEY_DOWN */
282                         0x00020072      /* KEY_VOLUMEDOWN */
283                         0x00030066      /* KEY_HOME */
284                         0x0100006a      /* KEY_RIGHT */
285                         0x01010069      /* KEY_LEFT */
286                         0x0102001c      /* KEY_ENTER */
287                         0x01030073      /* KEY_VOLUMEUP */
288                         0x02000040      /* KEY_F6 */
289                         0x02010042      /* KEY_F8 */
290                         0x02020043      /* KEY_F9 */
291                         0x02030044      /* KEY_F10 */
292                         0x0300003b      /* KEY_F1 */
293                         0x0301003c      /* KEY_F2 */
294                         0x0302003d      /* KEY_F3 */
295                         0x03030074>;    /* KEY_POWER */
296         status = "okay";
297 };