Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-block.git] / arch / arm / boot / dts / imx6qdl-sabresd.dtsi
CommitLineData
082d33d0
SG
1/*
2 * Copyright 2012 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
22724cf1 13#include <dt-bindings/gpio/gpio.h>
8e4422ae
AH
14#include <dt-bindings/input/input.h>
15
082d33d0 16/ {
48f51963
SH
17 chosen {
18 stdout-path = &uart1;
19 };
20
082d33d0
SG
21 memory {
22 reg = <0x10000000 0x40000000>;
23 };
24
25 regulators {
26 compatible = "simple-bus";
56160e33
SG
27 #address-cells = <1>;
28 #size-cells = <0>;
082d33d0 29
56160e33 30 reg_usb_otg_vbus: regulator@0 {
082d33d0 31 compatible = "regulator-fixed";
56160e33 32 reg = <0>;
082d33d0
SG
33 regulator-name = "usb_otg_vbus";
34 regulator-min-microvolt = <5000000>;
35 regulator-max-microvolt = <5000000>;
36 gpio = <&gpio3 22 0>;
37 enable-active-high;
38 };
fdbfb43b 39
56160e33 40 reg_usb_h1_vbus: regulator@1 {
015fa46d 41 compatible = "regulator-fixed";
56160e33 42 reg = <1>;
015fa46d
PC
43 regulator-name = "usb_h1_vbus";
44 regulator-min-microvolt = <5000000>;
45 regulator-max-microvolt = <5000000>;
46 gpio = <&gpio1 29 0>;
47 enable-active-high;
48 };
49
56160e33 50 reg_audio: regulator@2 {
fdbfb43b 51 compatible = "regulator-fixed";
56160e33 52 reg = <2>;
fdbfb43b
NC
53 regulator-name = "wm8962-supply";
54 gpio = <&gpio4 10 0>;
55 enable-active-high;
56 };
082d33d0
SG
57 };
58
59 gpio-keys {
60 compatible = "gpio-keys";
8e4422ae
AH
61 pinctrl-names = "default";
62 pinctrl-0 = <&pinctrl_gpio_keys>;
63
64 power {
65 label = "Power Button";
22724cf1 66 gpios = <&gpio3 29 GPIO_ACTIVE_LOW>;
8e4422ae
AH
67 gpio-key,wakeup;
68 linux,code = <KEY_POWER>;
69 };
082d33d0
SG
70
71 volume-up {
72 label = "Volume Up";
22724cf1 73 gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
6c30640d 74 gpio-key,wakeup;
8e4422ae 75 linux,code = <KEY_VOLUMEUP>;
082d33d0
SG
76 };
77
78 volume-down {
79 label = "Volume Down";
22724cf1 80 gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
6c30640d 81 gpio-key,wakeup;
8e4422ae 82 linux,code = <KEY_VOLUMEDOWN>;
082d33d0
SG
83 };
84 };
77b38fc3
NC
85
86 sound {
87 compatible = "fsl,imx6q-sabresd-wm8962",
88 "fsl,imx-audio-wm8962";
89 model = "wm8962-audio";
90 ssi-controller = <&ssi2>;
91 audio-codec = <&codec>;
92 audio-routing =
93 "Headphone Jack", "HPOUTL",
94 "Headphone Jack", "HPOUTR",
95 "Ext Spk", "SPKOUTL",
96 "Ext Spk", "SPKOUTR",
97 "MICBIAS", "AMIC",
98 "IN3R", "MICBIAS",
99 "DMIC", "MICBIAS",
100 "DMICDAT", "DMIC";
101 mux-int-port = <2>;
102 mux-ext-port = <3>;
103 };
2f35c0c4
RP
104
105 backlight {
106 compatible = "pwm-backlight";
107 pwms = <&pwm1 0 5000000>;
108 brightness-levels = <0 4 8 16 32 64 128 255>;
109 default-brightness-level = <7>;
110 status = "okay";
111 };
702bfbef
VS
112
113 leds {
114 compatible = "gpio-leds";
115 pinctrl-names = "default";
116 pinctrl-0 = <&pinctrl_gpio_leds>;
117
118 red {
119 gpios = <&gpio1 2 0>;
120 default-state = "on";
121 };
122 };
082d33d0
SG
123};
124
48828700
NC
125&audmux {
126 pinctrl-names = "default";
817c27a1 127 pinctrl-0 = <&pinctrl_audmux>;
48828700
NC
128 status = "okay";
129};
130
9110ede4
HS
131&ecspi1 {
132 fsl,spi-num-chipselects = <1>;
133 cs-gpios = <&gpio4 9 0>;
134 pinctrl-names = "default";
817c27a1 135 pinctrl-0 = <&pinctrl_ecspi1>;
9110ede4
HS
136 status = "okay";
137
138 flash: m25p80@0 {
139 #address-cells = <1>;
140 #size-cells = <1>;
141 compatible = "st,m25p32";
142 spi-max-frequency = <20000000>;
143 reg = <0>;
144 };
145};
146
082d33d0
SG
147&fec {
148 pinctrl-names = "default";
817c27a1 149 pinctrl-0 = <&pinctrl_enet>;
082d33d0 150 phy-mode = "rgmii";
c5f592d1 151 phy-reset-gpios = <&gpio1 25 0>;
082d33d0
SG
152 status = "okay";
153};
154
ad704567
FE
155&hdmi {
156 ddc-i2c-bus = <&i2c2>;
157 status = "okay";
158};
159
20426feb
NC
160&i2c1 {
161 clock-frequency = <100000>;
162 pinctrl-names = "default";
817c27a1 163 pinctrl-0 = <&pinctrl_i2c1>;
20426feb
NC
164 status = "okay";
165
166 codec: wm8962@1a {
167 compatible = "wlf,wm8962";
168 reg = <0x1a>;
a94f8ecb 169 clocks = <&clks 201>;
20426feb
NC
170 DCVDD-supply = <&reg_audio>;
171 DBVDD-supply = <&reg_audio>;
172 AVDD-supply = <&reg_audio>;
173 CPVDD-supply = <&reg_audio>;
174 MICVDD-supply = <&reg_audio>;
175 PLLVDD-supply = <&reg_audio>;
176 SPKVDD1-supply = <&reg_audio>;
177 SPKVDD2-supply = <&reg_audio>;
178 gpio-cfg = <
179 0x0000 /* 0:Default */
180 0x0000 /* 1:Default */
181 0x0013 /* 2:FN_DMICCLK */
182 0x0000 /* 3:Default */
183 0x8014 /* 4:FN_DMICCDAT */
184 0x0000 /* 5:Default */
185 >;
186 };
187};
188
4b444bb8
FE
189&i2c2 {
190 clock-frequency = <100000>;
191 pinctrl-names = "default";
192 pinctrl-0 = <&pinctrl_i2c2>;
193 status = "okay";
194
195 pmic: pfuze100@08 {
196 compatible = "fsl,pfuze100";
197 reg = <0x08>;
198
199 regulators {
200 sw1a_reg: sw1ab {
201 regulator-min-microvolt = <300000>;
202 regulator-max-microvolt = <1875000>;
203 regulator-boot-on;
204 regulator-always-on;
205 regulator-ramp-delay = <6250>;
206 };
207
208 sw1c_reg: sw1c {
209 regulator-min-microvolt = <300000>;
210 regulator-max-microvolt = <1875000>;
211 regulator-boot-on;
212 regulator-always-on;
213 regulator-ramp-delay = <6250>;
214 };
215
216 sw2_reg: sw2 {
217 regulator-min-microvolt = <800000>;
218 regulator-max-microvolt = <3300000>;
219 regulator-boot-on;
220 regulator-always-on;
221 };
222
223 sw3a_reg: sw3a {
224 regulator-min-microvolt = <400000>;
225 regulator-max-microvolt = <1975000>;
226 regulator-boot-on;
227 regulator-always-on;
228 };
229
230 sw3b_reg: sw3b {
231 regulator-min-microvolt = <400000>;
232 regulator-max-microvolt = <1975000>;
233 regulator-boot-on;
234 regulator-always-on;
235 };
236
237 sw4_reg: sw4 {
238 regulator-min-microvolt = <800000>;
239 regulator-max-microvolt = <3300000>;
240 };
241
242 swbst_reg: swbst {
243 regulator-min-microvolt = <5000000>;
244 regulator-max-microvolt = <5150000>;
245 };
246
247 snvs_reg: vsnvs {
248 regulator-min-microvolt = <1000000>;
249 regulator-max-microvolt = <3000000>;
250 regulator-boot-on;
251 regulator-always-on;
252 };
253
254 vref_reg: vrefddr {
255 regulator-boot-on;
256 regulator-always-on;
257 };
258
259 vgen1_reg: vgen1 {
260 regulator-min-microvolt = <800000>;
261 regulator-max-microvolt = <1550000>;
262 };
263
264 vgen2_reg: vgen2 {
265 regulator-min-microvolt = <800000>;
266 regulator-max-microvolt = <1550000>;
267 };
268
269 vgen3_reg: vgen3 {
270 regulator-min-microvolt = <1800000>;
271 regulator-max-microvolt = <3300000>;
272 };
273
274 vgen4_reg: vgen4 {
275 regulator-min-microvolt = <1800000>;
276 regulator-max-microvolt = <3300000>;
277 regulator-always-on;
278 };
279
280 vgen5_reg: vgen5 {
281 regulator-min-microvolt = <1800000>;
282 regulator-max-microvolt = <3300000>;
283 regulator-always-on;
284 };
285
286 vgen6_reg: vgen6 {
287 regulator-min-microvolt = <1800000>;
288 regulator-max-microvolt = <3300000>;
289 regulator-always-on;
290 };
291 };
292 };
293};
294
38501179
FE
295&i2c3 {
296 clock-frequency = <100000>;
297 pinctrl-names = "default";
817c27a1 298 pinctrl-0 = <&pinctrl_i2c3>;
38501179
FE
299 status = "okay";
300
301 egalax_ts@04 {
302 compatible = "eeti,egalax_ts";
303 reg = <0x04>;
304 interrupt-parent = <&gpio6>;
305 interrupts = <7 2>;
306 wakeup-gpios = <&gpio6 7 0>;
307 };
308};
309
c56009b2
SG
310&iomuxc {
311 pinctrl-names = "default";
312 pinctrl-0 = <&pinctrl_hog>;
313
817c27a1 314 imx6qdl-sabresd {
c56009b2
SG
315 pinctrl_hog: hoggrp {
316 fsl,pins = <
c56009b2
SG
317 MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x80000000
318 MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x80000000
319 MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x80000000
320 MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x80000000
321 MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
38501179 322 MX6QDL_PAD_NANDF_CLE__GPIO6_IO07 0x80000000
015fa46d 323 MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000
e3c68c86 324 MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x80000000
c5f592d1 325 MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x80000000
c56009b2
SG
326 >;
327 };
817c27a1
SG
328
329 pinctrl_audmux: audmuxgrp {
330 fsl,pins = <
77112dd5
NC
331 MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0
332 MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0
333 MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0
334 MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0
817c27a1
SG
335 >;
336 };
337
338 pinctrl_ecspi1: ecspi1grp {
339 fsl,pins = <
340 MX6QDL_PAD_KEY_COL1__ECSPI1_MISO 0x100b1
341 MX6QDL_PAD_KEY_ROW0__ECSPI1_MOSI 0x100b1
342 MX6QDL_PAD_KEY_COL0__ECSPI1_SCLK 0x100b1
343 >;
344 };
345
346 pinctrl_enet: enetgrp {
347 fsl,pins = <
348 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
349 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
350 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
351 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
352 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
353 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
354 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
355 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
356 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
357 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
358 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
359 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
360 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
361 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
362 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
363 MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
364 >;
365 };
366
8e4422ae
AH
367 pinctrl_gpio_keys: gpio_keysgrp {
368 fsl,pins = <
369 MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x80000000
370 MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x80000000
371 MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x80000000
372 >;
373 };
374
817c27a1
SG
375 pinctrl_i2c1: i2c1grp {
376 fsl,pins = <
377 MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1
378 MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1
379 >;
380 };
381
4b444bb8
FE
382 pinctrl_i2c2: i2c2grp {
383 fsl,pins = <
384 MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
385 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
386 >;
387 };
388
817c27a1
SG
389 pinctrl_i2c3: i2c3grp {
390 fsl,pins = <
391 MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
392 MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
393 >;
394 };
395
9d4ebb36
MV
396 pinctrl_pcie: pciegrp {
397 fsl,pins = <
9d4ebb36
MV
398 MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000
399 >;
400 };
401
817c27a1
SG
402 pinctrl_pwm1: pwm1grp {
403 fsl,pins = <
404 MX6QDL_PAD_SD1_DAT3__PWM1_OUT 0x1b0b1
405 >;
406 };
407
408 pinctrl_uart1: uart1grp {
409 fsl,pins = <
410 MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1
411 MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1
412 >;
413 };
414
415 pinctrl_usbotg: usbotggrp {
416 fsl,pins = <
417 MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
418 >;
419 };
420
421 pinctrl_usdhc2: usdhc2grp {
422 fsl,pins = <
423 MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059
424 MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059
425 MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
426 MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
427 MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
428 MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059
429 MX6QDL_PAD_NANDF_D4__SD2_DATA4 0x17059
430 MX6QDL_PAD_NANDF_D5__SD2_DATA5 0x17059
431 MX6QDL_PAD_NANDF_D6__SD2_DATA6 0x17059
432 MX6QDL_PAD_NANDF_D7__SD2_DATA7 0x17059
433 >;
434 };
435
436 pinctrl_usdhc3: usdhc3grp {
437 fsl,pins = <
438 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
439 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
440 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
441 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
442 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
443 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
444 MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059
445 MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059
446 MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059
447 MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059
448 >;
449 };
e02ab39a
FE
450
451 pinctrl_usdhc4: usdhc4grp {
452 fsl,pins = <
453 MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
454 MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
455 MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
456 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
457 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
458 MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
459 MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059
460 MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059
461 MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059
462 MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059
463 >;
464 };
c56009b2 465 };
702bfbef
VS
466
467 gpio_leds {
468 pinctrl_gpio_leds: gpioledsgrp {
469 fsl,pins = <
470 MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000
471 >;
472 };
473 };
c56009b2
SG
474};
475
b7fb7105
SG
476&ldb {
477 status = "okay";
478
479 lvds-channel@1 {
480 fsl,data-mapping = "spwg";
481 fsl,data-width = <18>;
482 status = "okay";
483
484 display-timings {
485 native-mode = <&timing0>;
486 timing0: hsd100pxn1 {
487 clock-frequency = <65000000>;
488 hactive = <1024>;
489 vactive = <768>;
490 hback-porch = <220>;
491 hfront-porch = <40>;
492 vback-porch = <21>;
493 vfront-porch = <7>;
494 hsync-len = <60>;
495 vsync-len = <10>;
496 };
497 };
498 };
499};
500
9d4ebb36
MV
501&pcie {
502 pinctrl-names = "default";
503 pinctrl-0 = <&pinctrl_pcie>;
9d4ebb36
MV
504 reset-gpio = <&gpio7 12 0>;
505 status = "okay";
506};
507
2f35c0c4
RP
508&pwm1 {
509 pinctrl-names = "default";
817c27a1 510 pinctrl-0 = <&pinctrl_pwm1>;
2f35c0c4
RP
511 status = "okay";
512};
513
48828700
NC
514&ssi2 {
515 fsl,mode = "i2s-slave";
516 status = "okay";
517};
518
082d33d0
SG
519&uart1 {
520 pinctrl-names = "default";
817c27a1 521 pinctrl-0 = <&pinctrl_uart1>;
082d33d0
SG
522 status = "okay";
523};
524
525&usbh1 {
015fa46d 526 vbus-supply = <&reg_usb_h1_vbus>;
082d33d0
SG
527 status = "okay";
528};
529
530&usbotg {
531 vbus-supply = <&reg_usb_otg_vbus>;
532 pinctrl-names = "default";
817c27a1 533 pinctrl-0 = <&pinctrl_usbotg>;
082d33d0
SG
534 disable-over-current;
535 status = "okay";
536};
537
538&usdhc2 {
539 pinctrl-names = "default";
817c27a1 540 pinctrl-0 = <&pinctrl_usdhc2>;
e367817a 541 bus-width = <8>;
082d33d0
SG
542 cd-gpios = <&gpio2 2 0>;
543 wp-gpios = <&gpio2 3 0>;
544 status = "okay";
545};
546
547&usdhc3 {
548 pinctrl-names = "default";
817c27a1 549 pinctrl-0 = <&pinctrl_usdhc3>;
e367817a 550 bus-width = <8>;
082d33d0
SG
551 cd-gpios = <&gpio2 0 0>;
552 wp-gpios = <&gpio2 1 0>;
553 status = "okay";
554};
e02ab39a
FE
555
556&usdhc4 {
557 pinctrl-names = "default";
558 pinctrl-0 = <&pinctrl_usdhc4>;
559 bus-width = <8>;
560 non-removable;
561 no-1-8-v;
562 status = "okay";
563};