]>
Commit | Line | Data |
---|---|---|
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 | }; |