Merge tag 'ntb-3.13' of git://github.com/jonmason/ntb
[linux-drm-fsl-dcu.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                 display-timings {
31                         native-mode = <&timing0>;
32                         timing0: dvi {
33                                 clock-frequency = <65000000>;
34                                 hactive = <1024>;
35                                 vactive = <768>;
36                                 hback-porch = <220>;
37                                 hfront-porch = <40>;
38                                 vback-porch = <21>;
39                                 vfront-porch = <7>;
40                                 hsync-len = <60>;
41                                 vsync-len = <10>;
42                         };
43                 };
44         };
45
46         display@di1 {
47                 compatible = "fsl,imx-parallel-display";
48                 crtcs = <&ipu 1>;
49                 interface-pix-fmt = "rgb565";
50                 pinctrl-names = "default";
51                 pinctrl-0 = <&pinctrl_ipu_disp2_1>;
52                 status = "disabled";
53                 display-timings {
54                         native-mode = <&timing1>;
55                         timing1: claawvga {
56                                 clock-frequency = <27000000>;
57                                 hactive = <800>;
58                                 vactive = <480>;
59                                 hback-porch = <40>;
60                                 hfront-porch = <60>;
61                                 vback-porch = <10>;
62                                 vfront-porch = <10>;
63                                 hsync-len = <20>;
64                                 vsync-len = <10>;
65                                 hsync-active = <0>;
66                                 vsync-active = <0>;
67                                 de-active = <1>;
68                                 pixelclk-active = <0>;
69                         };
70                 };
71         };
72
73         gpio-keys {
74                 compatible = "gpio-keys";
75
76                 power {
77                         label = "Power Button";
78                         gpios = <&gpio2 21 0>;
79                         linux,code = <116>; /* KEY_POWER */
80                         gpio-key,wakeup;
81                 };
82         };
83
84         sound {
85                 compatible = "fsl,imx51-babbage-sgtl5000",
86                              "fsl,imx-audio-sgtl5000";
87                 model = "imx51-babbage-sgtl5000";
88                 ssi-controller = <&ssi2>;
89                 audio-codec = <&sgtl5000>;
90                 audio-routing =
91                         "MIC_IN", "Mic Jack",
92                         "Mic Jack", "Mic Bias",
93                         "Headphone Jack", "HP_OUT";
94                 mux-int-port = <2>;
95                 mux-ext-port = <3>;
96         };
97
98         clocks {
99                 ckih1 {
100                         clock-frequency = <22579200>;
101                 };
102
103                 clk_26M: codec_clock {
104                         compatible = "fixed-clock";
105                         reg=<0>;
106                         #clock-cells = <0>;
107                         clock-frequency = <26000000>;
108                         gpios = <&gpio4 26 1>;
109                 };
110         };
111 };
112
113 &esdhc1 {
114         pinctrl-names = "default";
115         pinctrl-0 = <&pinctrl_esdhc1_1>;
116         fsl,cd-controller;
117         fsl,wp-controller;
118         status = "okay";
119 };
120
121 &esdhc2 {
122         pinctrl-names = "default";
123         pinctrl-0 = <&pinctrl_esdhc2_1>;
124         cd-gpios = <&gpio1 6 0>;
125         wp-gpios = <&gpio1 5 0>;
126         status = "okay";
127 };
128
129 &uart3 {
130         pinctrl-names = "default";
131         pinctrl-0 = <&pinctrl_uart3_1 &pinctrl_uart3_rtscts_1>;
132         fsl,uart-has-rtscts;
133         status = "okay";
134 };
135
136 &ecspi1 {
137         pinctrl-names = "default";
138         pinctrl-0 = <&pinctrl_ecspi1_1>;
139         fsl,spi-num-chipselects = <2>;
140         cs-gpios = <&gpio4 24 0>, <&gpio4 25 0>;
141         status = "okay";
142
143         pmic: mc13892@0 {
144                 #address-cells = <1>;
145                 #size-cells = <0>;
146                 compatible = "fsl,mc13892";
147                 spi-max-frequency = <6000000>;
148                 spi-cs-high;
149                 reg = <0>;
150                 interrupt-parent = <&gpio1>;
151                 interrupts = <8 0x4>;
152
153                 regulators {
154                         sw1_reg: sw1 {
155                                 regulator-min-microvolt = <600000>;
156                                 regulator-max-microvolt = <1375000>;
157                                 regulator-boot-on;
158                                 regulator-always-on;
159                         };
160
161                         sw2_reg: sw2 {
162                                 regulator-min-microvolt = <900000>;
163                                 regulator-max-microvolt = <1850000>;
164                                 regulator-boot-on;
165                                 regulator-always-on;
166                         };
167
168                         sw3_reg: sw3 {
169                                 regulator-min-microvolt = <1100000>;
170                                 regulator-max-microvolt = <1850000>;
171                                 regulator-boot-on;
172                                 regulator-always-on;
173                         };
174
175                         sw4_reg: sw4 {
176                                 regulator-min-microvolt = <1100000>;
177                                 regulator-max-microvolt = <1850000>;
178                                 regulator-boot-on;
179                                 regulator-always-on;
180                         };
181
182                         vpll_reg: vpll {
183                                 regulator-min-microvolt = <1050000>;
184                                 regulator-max-microvolt = <1800000>;
185                                 regulator-boot-on;
186                                 regulator-always-on;
187                         };
188
189                         vdig_reg: vdig {
190                                 regulator-min-microvolt = <1650000>;
191                                 regulator-max-microvolt = <1650000>;
192                                 regulator-boot-on;
193                         };
194
195                         vsd_reg: vsd {
196                                 regulator-min-microvolt = <1800000>;
197                                 regulator-max-microvolt = <3150000>;
198                         };
199
200                         vusb2_reg: vusb2 {
201                                 regulator-min-microvolt = <2400000>;
202                                 regulator-max-microvolt = <2775000>;
203                                 regulator-boot-on;
204                                 regulator-always-on;
205                         };
206
207                         vvideo_reg: vvideo {
208                                 regulator-min-microvolt = <2775000>;
209                                 regulator-max-microvolt = <2775000>;
210                         };
211
212                         vaudio_reg: vaudio {
213                                 regulator-min-microvolt = <2300000>;
214                                 regulator-max-microvolt = <3000000>;
215                         };
216
217                         vcam_reg: vcam {
218                                 regulator-min-microvolt = <2500000>;
219                                 regulator-max-microvolt = <3000000>;
220                         };
221
222                         vgen1_reg: vgen1 {
223                                 regulator-min-microvolt = <1200000>;
224                                 regulator-max-microvolt = <1200000>;
225                         };
226
227                         vgen2_reg: vgen2 {
228                                 regulator-min-microvolt = <1200000>;
229                                 regulator-max-microvolt = <3150000>;
230                                 regulator-always-on;
231                         };
232
233                         vgen3_reg: vgen3 {
234                                 regulator-min-microvolt = <1800000>;
235                                 regulator-max-microvolt = <2900000>;
236                                 regulator-always-on;
237                         };
238                 };
239         };
240
241         flash: at45db321d@1 {
242                 #address-cells = <1>;
243                 #size-cells = <1>;
244                 compatible = "atmel,at45db321d", "atmel,at45", "atmel,dataflash";
245                 spi-max-frequency = <25000000>;
246                 reg = <1>;
247
248                 partition@0 {
249                         label = "U-Boot";
250                         reg = <0x0 0x40000>;
251                         read-only;
252                 };
253
254                 partition@40000 {
255                         label = "Kernel";
256                         reg = <0x40000 0x3c0000>;
257                 };
258         };
259 };
260
261 &ssi2 {
262         fsl,mode = "i2s-slave";
263         status = "okay";
264 };
265
266 &iomuxc {
267         pinctrl-names = "default";
268         pinctrl-0 = <&pinctrl_hog>;
269
270         hog {
271                 pinctrl_hog: hoggrp {
272                         fsl,pins = <
273                                 MX51_PAD_GPIO1_0__SD1_CD     0x20d5
274                                 MX51_PAD_GPIO1_1__SD1_WP     0x20d5
275                                 MX51_PAD_GPIO1_5__GPIO1_5    0x100
276                                 MX51_PAD_GPIO1_6__GPIO1_6    0x100
277                                 MX51_PAD_EIM_A27__GPIO2_21   0x5
278                                 MX51_PAD_CSPI1_SS0__GPIO4_24 0x85
279                                 MX51_PAD_CSPI1_SS1__GPIO4_25 0x85
280                                 MX51_PAD_CSPI1_RDY__GPIO4_26 0x80000000
281                         >;
282                 };
283         };
284 };
285
286 &uart1 {
287         pinctrl-names = "default";
288         pinctrl-0 = <&pinctrl_uart1_1 &pinctrl_uart1_rtscts_1>;
289         fsl,uart-has-rtscts;
290         status = "okay";
291 };
292
293 &uart2 {
294         pinctrl-names = "default";
295         pinctrl-0 = <&pinctrl_uart2_1>;
296         status = "okay";
297 };
298
299 &i2c2 {
300         pinctrl-names = "default";
301         pinctrl-0 = <&pinctrl_i2c2_1>;
302         status = "okay";
303
304         sgtl5000: codec@0a {
305                 compatible = "fsl,sgtl5000";
306                 reg = <0x0a>;
307                 clocks = <&clk_26M>;
308                 VDDA-supply = <&vdig_reg>;
309                 VDDIO-supply = <&vvideo_reg>;
310         };
311 };
312
313 &audmux {
314         pinctrl-names = "default";
315         pinctrl-0 = <&pinctrl_audmux_1>;
316         status = "okay";
317 };
318
319 &fec {
320         pinctrl-names = "default";
321         pinctrl-0 = <&pinctrl_fec_1>;
322         phy-mode = "mii";
323         status = "okay";
324 };
325
326 &kpp {
327         pinctrl-names = "default";
328         pinctrl-0 = <&pinctrl_kpp_1>;
329         linux,keymap = <0x00000067      /* KEY_UP */
330                         0x0001006c      /* KEY_DOWN */
331                         0x00020072      /* KEY_VOLUMEDOWN */
332                         0x00030066      /* KEY_HOME */
333                         0x0100006a      /* KEY_RIGHT */
334                         0x01010069      /* KEY_LEFT */
335                         0x0102001c      /* KEY_ENTER */
336                         0x01030073      /* KEY_VOLUMEUP */
337                         0x02000040      /* KEY_F6 */
338                         0x02010042      /* KEY_F8 */
339                         0x02020043      /* KEY_F9 */
340                         0x02030044      /* KEY_F10 */
341                         0x0300003b      /* KEY_F1 */
342                         0x0301003c      /* KEY_F2 */
343                         0x0302003d      /* KEY_F3 */
344                         0x03030074>;    /* KEY_POWER */
345         status = "okay";
346 };