Merge remote-tracking branches 'asoc/fix/atmel', 'asoc/fix/fsl', 'asoc/fix/tegra...
[linux-drm-fsl-dcu.git] / arch / arm / boot / dts / imx6qdl-sabresd.dtsi
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
13 / {
14         memory {
15                 reg = <0x10000000 0x40000000>;
16         };
17
18         regulators {
19                 compatible = "simple-bus";
20
21                 reg_usb_otg_vbus: usb_otg_vbus {
22                         compatible = "regulator-fixed";
23                         regulator-name = "usb_otg_vbus";
24                         regulator-min-microvolt = <5000000>;
25                         regulator-max-microvolt = <5000000>;
26                         gpio = <&gpio3 22 0>;
27                         enable-active-high;
28                 };
29
30                 reg_usb_h1_vbus: usb_h1_vbus {
31                         compatible = "regulator-fixed";
32                         regulator-name = "usb_h1_vbus";
33                         regulator-min-microvolt = <5000000>;
34                         regulator-max-microvolt = <5000000>;
35                         gpio = <&gpio1 29 0>;
36                         enable-active-high;
37                 };
38
39                 reg_audio: wm8962_supply {
40                         compatible = "regulator-fixed";
41                         regulator-name = "wm8962-supply";
42                         gpio = <&gpio4 10 0>;
43                         enable-active-high;
44                 };
45         };
46
47         gpio-keys {
48                 compatible = "gpio-keys";
49
50                 volume-up {
51                         label = "Volume Up";
52                         gpios = <&gpio1 4 0>;
53                         gpio-key,wakeup;
54                         linux,code = <115>; /* KEY_VOLUMEUP */
55                 };
56
57                 volume-down {
58                         label = "Volume Down";
59                         gpios = <&gpio1 5 0>;
60                         gpio-key,wakeup;
61                         linux,code = <114>; /* KEY_VOLUMEDOWN */
62                 };
63         };
64
65         sound {
66                 compatible = "fsl,imx6q-sabresd-wm8962",
67                            "fsl,imx-audio-wm8962";
68                 model = "wm8962-audio";
69                 ssi-controller = <&ssi2>;
70                 audio-codec = <&codec>;
71                 audio-routing =
72                         "Headphone Jack", "HPOUTL",
73                         "Headphone Jack", "HPOUTR",
74                         "Ext Spk", "SPKOUTL",
75                         "Ext Spk", "SPKOUTR",
76                         "MICBIAS", "AMIC",
77                         "IN3R", "MICBIAS",
78                         "DMIC", "MICBIAS",
79                         "DMICDAT", "DMIC";
80                 mux-int-port = <2>;
81                 mux-ext-port = <3>;
82         };
83
84         backlight {
85                 compatible = "pwm-backlight";
86                 pwms = <&pwm1 0 5000000>;
87                 brightness-levels = <0 4 8 16 32 64 128 255>;
88                 default-brightness-level = <7>;
89                 status = "okay";
90         };
91 };
92
93 &audmux {
94         pinctrl-names = "default";
95         pinctrl-0 = <&pinctrl_audmux_2>;
96         status = "okay";
97 };
98
99 &ecspi1 {
100         fsl,spi-num-chipselects = <1>;
101         cs-gpios = <&gpio4 9 0>;
102         pinctrl-names = "default";
103         pinctrl-0 = <&pinctrl_ecspi1_2>;
104         status = "okay";
105
106         flash: m25p80@0 {
107                 #address-cells = <1>;
108                 #size-cells = <1>;
109                 compatible = "st,m25p32";
110                 spi-max-frequency = <20000000>;
111                 reg = <0>;
112         };
113 };
114
115 &fec {
116         pinctrl-names = "default";
117         pinctrl-0 = <&pinctrl_enet_1>;
118         phy-mode = "rgmii";
119         phy-reset-gpios = <&gpio1 25 0>;
120         status = "okay";
121 };
122
123 &i2c1 {
124         clock-frequency = <100000>;
125         pinctrl-names = "default";
126         pinctrl-0 = <&pinctrl_i2c1_2>;
127         status = "okay";
128
129         codec: wm8962@1a {
130                 compatible = "wlf,wm8962";
131                 reg = <0x1a>;
132                 clocks = <&clks 201>;
133                 DCVDD-supply = <&reg_audio>;
134                 DBVDD-supply = <&reg_audio>;
135                 AVDD-supply = <&reg_audio>;
136                 CPVDD-supply = <&reg_audio>;
137                 MICVDD-supply = <&reg_audio>;
138                 PLLVDD-supply = <&reg_audio>;
139                 SPKVDD1-supply = <&reg_audio>;
140                 SPKVDD2-supply = <&reg_audio>;
141                 gpio-cfg = <
142                         0x0000 /* 0:Default */
143                         0x0000 /* 1:Default */
144                         0x0013 /* 2:FN_DMICCLK */
145                         0x0000 /* 3:Default */
146                         0x8014 /* 4:FN_DMICCDAT */
147                         0x0000 /* 5:Default */
148                 >;
149        };
150 };
151
152 &i2c3 {
153         clock-frequency = <100000>;
154         pinctrl-names = "default";
155         pinctrl-0 = <&pinctrl_i2c3_2>;
156         status = "okay";
157
158         egalax_ts@04 {
159                 compatible = "eeti,egalax_ts";
160                 reg = <0x04>;
161                 interrupt-parent = <&gpio6>;
162                 interrupts = <7 2>;
163                 wakeup-gpios = <&gpio6 7 0>;
164         };
165 };
166
167 &iomuxc {
168         pinctrl-names = "default";
169         pinctrl-0 = <&pinctrl_hog>;
170
171         hog {
172                 pinctrl_hog: hoggrp {
173                         fsl,pins = <
174                                 MX6QDL_PAD_GPIO_4__GPIO1_IO04   0x80000000
175                                 MX6QDL_PAD_GPIO_5__GPIO1_IO05   0x80000000
176                                 MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x80000000
177                                 MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x80000000
178                                 MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x80000000
179                                 MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x80000000
180                                 MX6QDL_PAD_GPIO_0__CCM_CLKO1    0x130b0
181                                 MX6QDL_PAD_NANDF_CLE__GPIO6_IO07 0x80000000
182                                 MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000
183                                 MX6QDL_PAD_EIM_D22__GPIO3_IO22  0x80000000
184                                 MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x80000000
185                         >;
186                 };
187         };
188 };
189
190 &ldb {
191         status = "okay";
192
193         lvds-channel@1 {
194                 fsl,data-mapping = "spwg";
195                 fsl,data-width = <18>;
196                 status = "okay";
197
198                 display-timings {
199                         native-mode = <&timing0>;
200                         timing0: hsd100pxn1 {
201                                 clock-frequency = <65000000>;
202                                 hactive = <1024>;
203                                 vactive = <768>;
204                                 hback-porch = <220>;
205                                 hfront-porch = <40>;
206                                 vback-porch = <21>;
207                                 vfront-porch = <7>;
208                                 hsync-len = <60>;
209                                 vsync-len = <10>;
210                         };
211                 };
212         };
213 };
214
215 &pwm1 {
216         pinctrl-names = "default";
217         pinctrl-0 = <&pinctrl_pwm0_1>;
218         status = "okay";
219 };
220
221 &ssi2 {
222         fsl,mode = "i2s-slave";
223         status = "okay";
224 };
225
226 &uart1 {
227         pinctrl-names = "default";
228         pinctrl-0 = <&pinctrl_uart1_1>;
229         status = "okay";
230 };
231
232 &usbh1 {
233         vbus-supply = <&reg_usb_h1_vbus>;
234         status = "okay";
235 };
236
237 &usbotg {
238         vbus-supply = <&reg_usb_otg_vbus>;
239         pinctrl-names = "default";
240         pinctrl-0 = <&pinctrl_usbotg_2>;
241         disable-over-current;
242         status = "okay";
243 };
244
245 &usdhc2 {
246         pinctrl-names = "default";
247         pinctrl-0 = <&pinctrl_usdhc2_1>;
248         bus-width = <8>;
249         cd-gpios = <&gpio2 2 0>;
250         wp-gpios = <&gpio2 3 0>;
251         status = "okay";
252 };
253
254 &usdhc3 {
255         pinctrl-names = "default";
256         pinctrl-0 = <&pinctrl_usdhc3_1>;
257         bus-width = <8>;
258         cd-gpios = <&gpio2 0 0>;
259         wp-gpios = <&gpio2 1 0>;
260         status = "okay";
261 };