imx-drm: convert to componentised device support
[deliverable/linux.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 imx_drm: imx-drm {
66 compatible = "fsl,imx-drm";
67 crtcs = <&ipu1 0>, <&ipu1 1>;
68 connectors = <&ldb>;
69 };
70
71 sound {
72 compatible = "fsl,imx6q-sabresd-wm8962",
73 "fsl,imx-audio-wm8962";
74 model = "wm8962-audio";
75 ssi-controller = <&ssi2>;
76 audio-codec = <&codec>;
77 audio-routing =
78 "Headphone Jack", "HPOUTL",
79 "Headphone Jack", "HPOUTR",
80 "Ext Spk", "SPKOUTL",
81 "Ext Spk", "SPKOUTR",
82 "MICBIAS", "AMIC",
83 "IN3R", "MICBIAS",
84 "DMIC", "MICBIAS",
85 "DMICDAT", "DMIC";
86 mux-int-port = <2>;
87 mux-ext-port = <3>;
88 };
89
90 backlight {
91 compatible = "pwm-backlight";
92 pwms = <&pwm1 0 5000000>;
93 brightness-levels = <0 4 8 16 32 64 128 255>;
94 default-brightness-level = <7>;
95 status = "okay";
96 };
97 };
98
99 &audmux {
100 pinctrl-names = "default";
101 pinctrl-0 = <&pinctrl_audmux_2>;
102 status = "okay";
103 };
104
105 &ecspi1 {
106 fsl,spi-num-chipselects = <1>;
107 cs-gpios = <&gpio4 9 0>;
108 pinctrl-names = "default";
109 pinctrl-0 = <&pinctrl_ecspi1_2>;
110 status = "okay";
111
112 flash: m25p80@0 {
113 #address-cells = <1>;
114 #size-cells = <1>;
115 compatible = "st,m25p32";
116 spi-max-frequency = <20000000>;
117 reg = <0>;
118 };
119 };
120
121 &fec {
122 pinctrl-names = "default";
123 pinctrl-0 = <&pinctrl_enet_1>;
124 phy-mode = "rgmii";
125 phy-reset-gpios = <&gpio1 25 0>;
126 status = "okay";
127 };
128
129 &i2c1 {
130 clock-frequency = <100000>;
131 pinctrl-names = "default";
132 pinctrl-0 = <&pinctrl_i2c1_2>;
133 status = "okay";
134
135 codec: wm8962@1a {
136 compatible = "wlf,wm8962";
137 reg = <0x1a>;
138 clocks = <&clks 201>;
139 DCVDD-supply = <&reg_audio>;
140 DBVDD-supply = <&reg_audio>;
141 AVDD-supply = <&reg_audio>;
142 CPVDD-supply = <&reg_audio>;
143 MICVDD-supply = <&reg_audio>;
144 PLLVDD-supply = <&reg_audio>;
145 SPKVDD1-supply = <&reg_audio>;
146 SPKVDD2-supply = <&reg_audio>;
147 gpio-cfg = <
148 0x0000 /* 0:Default */
149 0x0000 /* 1:Default */
150 0x0013 /* 2:FN_DMICCLK */
151 0x0000 /* 3:Default */
152 0x8014 /* 4:FN_DMICCDAT */
153 0x0000 /* 5:Default */
154 >;
155 };
156 };
157
158 &i2c3 {
159 clock-frequency = <100000>;
160 pinctrl-names = "default";
161 pinctrl-0 = <&pinctrl_i2c3_2>;
162 status = "okay";
163
164 egalax_ts@04 {
165 compatible = "eeti,egalax_ts";
166 reg = <0x04>;
167 interrupt-parent = <&gpio6>;
168 interrupts = <7 2>;
169 wakeup-gpios = <&gpio6 7 0>;
170 };
171 };
172
173 &iomuxc {
174 pinctrl-names = "default";
175 pinctrl-0 = <&pinctrl_hog>;
176
177 hog {
178 pinctrl_hog: hoggrp {
179 fsl,pins = <
180 MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x80000000
181 MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x80000000
182 MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x80000000
183 MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x80000000
184 MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x80000000
185 MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x80000000
186 MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
187 MX6QDL_PAD_NANDF_CLE__GPIO6_IO07 0x80000000
188 MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000
189 MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x80000000
190 MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x80000000
191 >;
192 };
193 };
194 };
195
196 &ldb {
197 status = "okay";
198
199 lvds-channel@1 {
200 fsl,data-mapping = "spwg";
201 fsl,data-width = <18>;
202 status = "okay";
203
204 display-timings {
205 native-mode = <&timing0>;
206 timing0: hsd100pxn1 {
207 clock-frequency = <65000000>;
208 hactive = <1024>;
209 vactive = <768>;
210 hback-porch = <220>;
211 hfront-porch = <40>;
212 vback-porch = <21>;
213 vfront-porch = <7>;
214 hsync-len = <60>;
215 vsync-len = <10>;
216 };
217 };
218 };
219 };
220
221 &pwm1 {
222 pinctrl-names = "default";
223 pinctrl-0 = <&pinctrl_pwm0_1>;
224 status = "okay";
225 };
226
227 &ssi2 {
228 fsl,mode = "i2s-slave";
229 status = "okay";
230 };
231
232 &uart1 {
233 pinctrl-names = "default";
234 pinctrl-0 = <&pinctrl_uart1_1>;
235 status = "okay";
236 };
237
238 &usbh1 {
239 vbus-supply = <&reg_usb_h1_vbus>;
240 status = "okay";
241 };
242
243 &usbotg {
244 vbus-supply = <&reg_usb_otg_vbus>;
245 pinctrl-names = "default";
246 pinctrl-0 = <&pinctrl_usbotg_2>;
247 disable-over-current;
248 status = "okay";
249 };
250
251 &usdhc2 {
252 pinctrl-names = "default";
253 pinctrl-0 = <&pinctrl_usdhc2_1>;
254 bus-width = <8>;
255 cd-gpios = <&gpio2 2 0>;
256 wp-gpios = <&gpio2 3 0>;
257 status = "okay";
258 };
259
260 &usdhc3 {
261 pinctrl-names = "default";
262 pinctrl-0 = <&pinctrl_usdhc3_1>;
263 bus-width = <8>;
264 cd-gpios = <&gpio2 0 0>;
265 wp-gpios = <&gpio2 1 0>;
266 status = "okay";
267 };
This page took 0.037142 seconds and 5 git commands to generate.