]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - arch/arm/boot/dts/omap4-panda-common.dtsi
Merge remote-tracking branch 'asoc/fix/wm8993' into asoc-linus
[mirror_ubuntu-bionic-kernel.git] / arch / arm / boot / dts / omap4-panda-common.dtsi
CommitLineData
4b79197c
NM
1/*
2 * Copyright (C) 2011-2013 Texas Instruments Incorporated - http://www.ti.com/
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
98ef7957 8#include "elpida_ecb240abacn.dtsi"
4b79197c
NM
9
10/ {
11 model = "TI OMAP4 PandaBoard";
12 compatible = "ti,omap4-panda", "ti,omap4430", "ti,omap4";
13
14 memory {
15 device_type = "memory";
16 reg = <0x80000000 0x40000000>; /* 1 GB */
17 };
18
3818d7ca 19 leds: leds {
4b79197c 20 compatible = "gpio-leds";
3818d7ca
DM
21 pinctrl-names = "default";
22 pinctrl-0 = <
23 &led_wkgpio_pins
24 >;
25
4b79197c
NM
26 heartbeat {
27 label = "pandaboard::status1";
6d624eab 28 gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
4b79197c
NM
29 linux,default-trigger = "heartbeat";
30 };
31
32 mmc {
33 label = "pandaboard::status2";
6d624eab 34 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
4b79197c
NM
35 linux,default-trigger = "mmc0";
36 };
37 };
38
39 sound: sound {
40 compatible = "ti,abe-twl6040";
41 ti,model = "PandaBoard";
42
43 ti,mclk-freq = <38400000>;
44
45 ti,mcpdm = <&mcpdm>;
46
47 ti,twl6040 = <&twl6040>;
48
49 /* Audio routing */
50 ti,audio-routing =
51 "Headset Stereophone", "HSOL",
52 "Headset Stereophone", "HSOR",
53 "Ext Spk", "HFL",
54 "Ext Spk", "HFR",
55 "Line Out", "AUXL",
56 "Line Out", "AUXR",
57 "HSMIC", "Headset Mic",
58 "Headset Mic", "Headset Mic Bias",
59 "AFML", "Line In",
60 "AFMR", "Line In";
61 };
5bd2100e 62
5bd2100e
RQ
63 /* HS USB Port 1 Power */
64 hsusb1_power: hsusb1_power_reg {
65 compatible = "regulator-fixed";
66 regulator-name = "hsusb1_vbus";
67 regulator-min-microvolt = <3300000>;
68 regulator-max-microvolt = <3300000>;
69 gpio = <&gpio1 1 0>; /* gpio_1 */
70 startup-delay-us = <70000>;
71 enable-active-high;
6f569293
RQ
72 /*
73 * boot-on is required along with always-on as the
74 * regulator framework doesn't enable the regulator
75 * if boot-on is not there.
76 */
77 regulator-always-on;
78 regulator-boot-on;
5bd2100e
RQ
79 };
80
81 /* HS USB Host PHY on PORT 1 */
82 hsusb1_phy: hsusb1_phy {
83 compatible = "usb-nop-xceiv";
4cbdc86d 84 reset-gpios = <&gpio2 30 GPIO_ACTIVE_LOW>; /* gpio_62 */
5bd2100e
RQ
85 vcc-supply = <&hsusb1_power>;
86 /**
87 * FIXME:
88 * put the right clock phandle here when available
89 * clocks = <&auxclk3>;
90 * clock-names = "main_clk";
91 */
92 clock-frequency = <19200000>;
93 };
851320e3
TL
94
95 /* regulator for wl12xx on sdio5 */
96 wl12xx_vmmc: wl12xx_vmmc {
97 pinctrl-names = "default";
98 pinctrl-0 = <&wl12xx_gpio>;
99 compatible = "regulator-fixed";
100 regulator-name = "vwl1271";
101 regulator-min-microvolt = <1800000>;
102 regulator-max-microvolt = <1800000>;
103 gpio = <&gpio2 11 0>;
104 startup-delay-us = <70000>;
105 enable-active-high;
106 };
4b79197c
NM
107};
108
109&omap4_pmx_core {
110 pinctrl-names = "default";
111 pinctrl-0 = <
112 &twl6040_pins
113 &mcpdm_pins
114 &mcbsp1_pins
0352bd1f
TV
115 &dss_dpi_pins
116 &tfp410_pins
4b79197c
NM
117 &dss_hdmi_pins
118 &tpd12s015_pins
5bd2100e 119 &hsusbb1_pins
4b79197c
NM
120 >;
121
122 twl6040_pins: pinmux_twl6040_pins {
123 pinctrl-single,pins = <
bcd3cca7
FV
124 0xe0 (PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */
125 0x160 (PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
4b79197c
NM
126 >;
127 };
128
129 mcpdm_pins: pinmux_mcpdm_pins {
130 pinctrl-single,pins = <
bcd3cca7
FV
131 0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */
132 0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */
133 0xca (PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */
134 0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */
135 0xce (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
4b79197c
NM
136 >;
137 };
138
139 mcbsp1_pins: pinmux_mcbsp1_pins {
140 pinctrl-single,pins = <
bcd3cca7
FV
141 0xbe (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
142 0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
143 0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
144 0xc4 (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
4b79197c
NM
145 >;
146 };
147
0352bd1f
TV
148 dss_dpi_pins: pinmux_dss_dpi_pins {
149 pinctrl-single,pins = <
150 0x122 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data23 */
151 0x124 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data22 */
152 0x126 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data21 */
153 0x128 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data20 */
154 0x12a (PIN_OUTPUT | MUX_MODE5) /* dispc2_data19 */
155 0x12c (PIN_OUTPUT | MUX_MODE5) /* dispc2_data18 */
156 0x12e (PIN_OUTPUT | MUX_MODE5) /* dispc2_data15 */
157 0x130 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data14 */
158 0x132 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data13 */
159 0x134 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data12 */
160 0x136 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data11 */
161
162 0x174 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data10 */
163 0x176 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data9 */
164 0x178 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data16 */
165 0x17a (PIN_OUTPUT | MUX_MODE5) /* dispc2_data17 */
166 0x17c (PIN_OUTPUT | MUX_MODE5) /* dispc2_hsync */
167 0x17e (PIN_OUTPUT | MUX_MODE5) /* dispc2_pclk */
168 0x180 (PIN_OUTPUT | MUX_MODE5) /* dispc2_vsync */
169 0x182 (PIN_OUTPUT | MUX_MODE5) /* dispc2_de */
170 0x184 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data8 */
171 0x186 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data7 */
172 0x188 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data6 */
173 0x18a (PIN_OUTPUT | MUX_MODE5) /* dispc2_data5 */
174 0x18c (PIN_OUTPUT | MUX_MODE5) /* dispc2_data4 */
175 0x18e (PIN_OUTPUT | MUX_MODE5) /* dispc2_data3 */
176
177 0x190 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data2 */
178 0x192 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data1 */
179 0x194 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data0 */
180 >;
181 };
182
183 tfp410_pins: pinmux_tfp410_pins {
184 pinctrl-single,pins = <
185 0x144 (PIN_OUTPUT | MUX_MODE3) /* gpio_0 */
186 >;
187 };
188
4b79197c
NM
189 dss_hdmi_pins: pinmux_dss_hdmi_pins {
190 pinctrl-single,pins = <
bcd3cca7
FV
191 0x5a (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */
192 0x5c (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
193 0x5e (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
4b79197c
NM
194 >;
195 };
196
197 tpd12s015_pins: pinmux_tpd12s015_pins {
198 pinctrl-single,pins = <
bcd3cca7
FV
199 0x22 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */
200 0x48 (PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */
201 0x58 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
4b79197c
NM
202 >;
203 };
204
5bd2100e
RQ
205 hsusbb1_pins: pinmux_hsusbb1_pins {
206 pinctrl-single,pins = <
207 0x82 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
208 0x84 (PIN_OUTPUT | MUX_MODE4) /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
209 0x86 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */
210 0x88 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */
211 0x8a (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */
212 0x8c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */
213 0x8e (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */
214 0x90 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */
215 0x92 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */
216 0x94 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */
217 0x96 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */
218 0x98 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */
219 >;
220 };
221
4b79197c
NM
222 i2c1_pins: pinmux_i2c1_pins {
223 pinctrl-single,pins = <
bcd3cca7
FV
224 0xe2 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
225 0xe4 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
4b79197c
NM
226 >;
227 };
228
229 i2c2_pins: pinmux_i2c2_pins {
230 pinctrl-single,pins = <
bcd3cca7
FV
231 0xe6 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
232 0xe8 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
4b79197c
NM
233 >;
234 };
235
236 i2c3_pins: pinmux_i2c3_pins {
237 pinctrl-single,pins = <
bcd3cca7
FV
238 0xea (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
239 0xec (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
4b79197c
NM
240 >;
241 };
242
243 i2c4_pins: pinmux_i2c4_pins {
244 pinctrl-single,pins = <
bcd3cca7
FV
245 0xee (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
246 0xf0 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
4b79197c
NM
247 >;
248 };
851320e3
TL
249
250 /*
251 * wl12xx GPIO outputs for WLAN_EN, BT_EN, FM_EN, BT_WAKEUP
252 * REVISIT: Are the pull-ups needed for GPIO 48 and 49?
253 */
254 wl12xx_gpio: pinmux_wl12xx_gpio {
255 pinctrl-single,pins = <
256 0x26 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a19.gpio_43 */
257 0x2c (PIN_OUTPUT | MUX_MODE3) /* gpmc_a22.gpio_46 */
258 0x30 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_a24.gpio_48 */
259 0x32 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_a25.gpio_49 */
260 >;
261 };
262
263 /* wl12xx GPIO inputs and SDIO pins */
264 wl12xx_pins: pinmux_wl12xx_pins {
265 pinctrl-single,pins = <
266 0x38 (PIN_INPUT | MUX_MODE3) /* gpmc_ncs2.gpio_52 */
267 0x3a (PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */
2ba2866f 268 0x108 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */
851320e3
TL
269 0x10a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */
270 0x10c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */
271 0x10e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */
272 0x110 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */
273 0x112 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */
274 >;
275 };
3818d7ca
DM
276};
277
2ba2866f
B
278&omap4_pmx_wkup {
279 led_wkgpio_pins: pinmux_leds_wkpins {
280 pinctrl-single,pins = <
281 0x1a (PIN_OUTPUT | MUX_MODE3) /* gpio_wk7 */
282 0x1c (PIN_OUTPUT | MUX_MODE3) /* gpio_wk8 */
283 >;
284 };
285};
286
4b79197c
NM
287&i2c1 {
288 pinctrl-names = "default";
289 pinctrl-0 = <&i2c1_pins>;
290
291 clock-frequency = <400000>;
292
293 twl: twl@48 {
294 reg = <0x48>;
8fea7d5a
FV
295 /* IRQ# = 7 */
296 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
4b79197c
NM
297 interrupt-parent = <&gic>;
298 };
299
300 twl6040: twl@4b {
301 compatible = "ti,twl6040";
302 reg = <0x4b>;
8fea7d5a
FV
303 /* IRQ# = 119 */
304 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
4b79197c 305 interrupt-parent = <&gic>;
78eb938e 306 ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */
4b79197c
NM
307
308 vio-supply = <&v1v8>;
309 v2v1-supply = <&v2v1>;
310 enable-active-high;
311 };
312};
313
98ef7957 314#include "twl6030.dtsi"
06a9ea5d 315#include "twl6030_omap4.dtsi"
4b79197c
NM
316
317&i2c2 {
318 pinctrl-names = "default";
319 pinctrl-0 = <&i2c2_pins>;
320
321 clock-frequency = <400000>;
322};
323
324&i2c3 {
325 pinctrl-names = "default";
326 pinctrl-0 = <&i2c3_pins>;
327
328 clock-frequency = <100000>;
329
330 /*
331 * Display monitor features are burnt in their EEPROM as EDID data.
332 * The EEPROM is connected as I2C slave device.
333 */
334 eeprom@50 {
335 compatible = "ti,eeprom";
336 reg = <0x50>;
337 };
338};
339
340&i2c4 {
341 pinctrl-names = "default";
342 pinctrl-0 = <&i2c4_pins>;
343
344 clock-frequency = <400000>;
345};
346
347&mmc1 {
348 vmmc-supply = <&vmmc>;
349 bus-width = <8>;
350};
351
352&mmc2 {
353 status = "disabled";
354};
355
356&mmc3 {
357 status = "disabled";
358};
359
360&mmc4 {
361 status = "disabled";
362};
363
364&mmc5 {
851320e3
TL
365 pinctrl-names = "default";
366 pinctrl-0 = <&wl12xx_pins>;
367 vmmc-supply = <&wl12xx_vmmc>;
368 non-removable;
4b79197c 369 bus-width = <4>;
851320e3 370 cap-power-off-card;
4b79197c
NM
371};
372
373&emif1 {
374 cs1-used;
375 device-handle = <&elpida_ECB240ABACN>;
376};
377
378&emif2 {
379 cs1-used;
380 device-handle = <&elpida_ECB240ABACN>;
381};
382
383&mcbsp2 {
384 status = "disabled";
385};
386
387&mcbsp3 {
388 status = "disabled";
389};
390
391&dmic {
392 status = "disabled";
393};
394
395&twl_usb_comparator {
396 usb-supply = <&vusb>;
397};
398
399&usb_otg_hs {
400 interface-type = <1>;
401 mode = <3>;
402 power = <50>;
403};
5bd2100e
RQ
404
405&usbhshost {
406 port1-mode = "ehci-phy";
407};
408
409&usbhsehci {
410 phys = <&hsusb1_phy>;
411};