]>
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 | 85 | vcc-supply = <&hsusb1_power>; |
2ecf8aa1 RQ |
86 | clocks = <&auxclk3_ck>; |
87 | clock-names = "main_clk"; | |
5bd2100e RQ |
88 | clock-frequency = <19200000>; |
89 | }; | |
851320e3 TL |
90 | |
91 | /* regulator for wl12xx on sdio5 */ | |
92 | wl12xx_vmmc: wl12xx_vmmc { | |
93 | pinctrl-names = "default"; | |
94 | pinctrl-0 = <&wl12xx_gpio>; | |
95 | compatible = "regulator-fixed"; | |
96 | regulator-name = "vwl1271"; | |
97 | regulator-min-microvolt = <1800000>; | |
98 | regulator-max-microvolt = <1800000>; | |
99 | gpio = <&gpio2 11 0>; | |
100 | startup-delay-us = <70000>; | |
101 | enable-active-high; | |
102 | }; | |
4b79197c NM |
103 | }; |
104 | ||
105 | &omap4_pmx_core { | |
106 | pinctrl-names = "default"; | |
107 | pinctrl-0 = < | |
0352bd1f TV |
108 | &dss_dpi_pins |
109 | &tfp410_pins | |
4b79197c NM |
110 | &dss_hdmi_pins |
111 | &tpd12s015_pins | |
5bd2100e | 112 | &hsusbb1_pins |
4b79197c NM |
113 | >; |
114 | ||
115 | twl6040_pins: pinmux_twl6040_pins { | |
116 | pinctrl-single,pins = < | |
bcd3cca7 FV |
117 | 0xe0 (PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */ |
118 | 0x160 (PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */ | |
4b79197c NM |
119 | >; |
120 | }; | |
121 | ||
122 | mcpdm_pins: pinmux_mcpdm_pins { | |
123 | pinctrl-single,pins = < | |
bcd3cca7 FV |
124 | 0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */ |
125 | 0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */ | |
126 | 0xca (PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */ | |
127 | 0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */ | |
128 | 0xce (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */ | |
4b79197c NM |
129 | >; |
130 | }; | |
131 | ||
132 | mcbsp1_pins: pinmux_mcbsp1_pins { | |
133 | pinctrl-single,pins = < | |
bcd3cca7 FV |
134 | 0xbe (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */ |
135 | 0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */ | |
136 | 0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */ | |
137 | 0xc4 (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */ | |
4b79197c NM |
138 | >; |
139 | }; | |
140 | ||
0352bd1f TV |
141 | dss_dpi_pins: pinmux_dss_dpi_pins { |
142 | pinctrl-single,pins = < | |
143 | 0x122 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data23 */ | |
144 | 0x124 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data22 */ | |
145 | 0x126 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data21 */ | |
146 | 0x128 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data20 */ | |
147 | 0x12a (PIN_OUTPUT | MUX_MODE5) /* dispc2_data19 */ | |
148 | 0x12c (PIN_OUTPUT | MUX_MODE5) /* dispc2_data18 */ | |
149 | 0x12e (PIN_OUTPUT | MUX_MODE5) /* dispc2_data15 */ | |
150 | 0x130 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data14 */ | |
151 | 0x132 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data13 */ | |
152 | 0x134 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data12 */ | |
153 | 0x136 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data11 */ | |
154 | ||
155 | 0x174 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data10 */ | |
156 | 0x176 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data9 */ | |
157 | 0x178 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data16 */ | |
158 | 0x17a (PIN_OUTPUT | MUX_MODE5) /* dispc2_data17 */ | |
159 | 0x17c (PIN_OUTPUT | MUX_MODE5) /* dispc2_hsync */ | |
160 | 0x17e (PIN_OUTPUT | MUX_MODE5) /* dispc2_pclk */ | |
161 | 0x180 (PIN_OUTPUT | MUX_MODE5) /* dispc2_vsync */ | |
162 | 0x182 (PIN_OUTPUT | MUX_MODE5) /* dispc2_de */ | |
163 | 0x184 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data8 */ | |
164 | 0x186 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data7 */ | |
165 | 0x188 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data6 */ | |
166 | 0x18a (PIN_OUTPUT | MUX_MODE5) /* dispc2_data5 */ | |
167 | 0x18c (PIN_OUTPUT | MUX_MODE5) /* dispc2_data4 */ | |
168 | 0x18e (PIN_OUTPUT | MUX_MODE5) /* dispc2_data3 */ | |
169 | ||
170 | 0x190 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data2 */ | |
171 | 0x192 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data1 */ | |
172 | 0x194 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data0 */ | |
173 | >; | |
174 | }; | |
175 | ||
176 | tfp410_pins: pinmux_tfp410_pins { | |
177 | pinctrl-single,pins = < | |
178 | 0x144 (PIN_OUTPUT | MUX_MODE3) /* gpio_0 */ | |
179 | >; | |
180 | }; | |
181 | ||
4b79197c NM |
182 | dss_hdmi_pins: pinmux_dss_hdmi_pins { |
183 | pinctrl-single,pins = < | |
bcd3cca7 FV |
184 | 0x5a (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */ |
185 | 0x5c (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */ | |
186 | 0x5e (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */ | |
4b79197c NM |
187 | >; |
188 | }; | |
189 | ||
190 | tpd12s015_pins: pinmux_tpd12s015_pins { | |
191 | pinctrl-single,pins = < | |
bcd3cca7 FV |
192 | 0x22 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */ |
193 | 0x48 (PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */ | |
194 | 0x58 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */ | |
4b79197c NM |
195 | >; |
196 | }; | |
197 | ||
5bd2100e RQ |
198 | hsusbb1_pins: pinmux_hsusbb1_pins { |
199 | pinctrl-single,pins = < | |
200 | 0x82 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */ | |
201 | 0x84 (PIN_OUTPUT | MUX_MODE4) /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */ | |
202 | 0x86 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */ | |
203 | 0x88 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */ | |
204 | 0x8a (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */ | |
205 | 0x8c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */ | |
206 | 0x8e (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */ | |
207 | 0x90 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */ | |
208 | 0x92 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */ | |
209 | 0x94 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */ | |
210 | 0x96 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */ | |
211 | 0x98 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */ | |
212 | >; | |
213 | }; | |
214 | ||
4b79197c NM |
215 | i2c1_pins: pinmux_i2c1_pins { |
216 | pinctrl-single,pins = < | |
bcd3cca7 FV |
217 | 0xe2 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */ |
218 | 0xe4 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */ | |
4b79197c NM |
219 | >; |
220 | }; | |
221 | ||
222 | i2c2_pins: pinmux_i2c2_pins { | |
223 | pinctrl-single,pins = < | |
bcd3cca7 FV |
224 | 0xe6 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */ |
225 | 0xe8 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */ | |
4b79197c NM |
226 | >; |
227 | }; | |
228 | ||
229 | i2c3_pins: pinmux_i2c3_pins { | |
230 | pinctrl-single,pins = < | |
bcd3cca7 FV |
231 | 0xea (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */ |
232 | 0xec (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */ | |
4b79197c NM |
233 | >; |
234 | }; | |
235 | ||
236 | i2c4_pins: pinmux_i2c4_pins { | |
237 | pinctrl-single,pins = < | |
bcd3cca7 FV |
238 | 0xee (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */ |
239 | 0xf0 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */ | |
4b79197c NM |
240 | >; |
241 | }; | |
851320e3 TL |
242 | |
243 | /* | |
244 | * wl12xx GPIO outputs for WLAN_EN, BT_EN, FM_EN, BT_WAKEUP | |
245 | * REVISIT: Are the pull-ups needed for GPIO 48 and 49? | |
246 | */ | |
247 | wl12xx_gpio: pinmux_wl12xx_gpio { | |
248 | pinctrl-single,pins = < | |
249 | 0x26 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a19.gpio_43 */ | |
250 | 0x2c (PIN_OUTPUT | MUX_MODE3) /* gpmc_a22.gpio_46 */ | |
251 | 0x30 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_a24.gpio_48 */ | |
252 | 0x32 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_a25.gpio_49 */ | |
253 | >; | |
254 | }; | |
255 | ||
256 | /* wl12xx GPIO inputs and SDIO pins */ | |
257 | wl12xx_pins: pinmux_wl12xx_pins { | |
258 | pinctrl-single,pins = < | |
259 | 0x38 (PIN_INPUT | MUX_MODE3) /* gpmc_ncs2.gpio_52 */ | |
260 | 0x3a (PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */ | |
2ba2866f | 261 | 0x108 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */ |
851320e3 TL |
262 | 0x10a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */ |
263 | 0x10c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */ | |
264 | 0x10e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */ | |
265 | 0x110 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */ | |
266 | 0x112 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */ | |
267 | >; | |
268 | }; | |
3818d7ca DM |
269 | }; |
270 | ||
2ba2866f B |
271 | &omap4_pmx_wkup { |
272 | led_wkgpio_pins: pinmux_leds_wkpins { | |
273 | pinctrl-single,pins = < | |
274 | 0x1a (PIN_OUTPUT | MUX_MODE3) /* gpio_wk7 */ | |
275 | 0x1c (PIN_OUTPUT | MUX_MODE3) /* gpio_wk8 */ | |
276 | >; | |
277 | }; | |
278 | }; | |
279 | ||
4b79197c NM |
280 | &i2c1 { |
281 | pinctrl-names = "default"; | |
282 | pinctrl-0 = <&i2c1_pins>; | |
283 | ||
284 | clock-frequency = <400000>; | |
285 | ||
286 | twl: twl@48 { | |
287 | reg = <0x48>; | |
8fea7d5a FV |
288 | /* IRQ# = 7 */ |
289 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */ | |
4b79197c NM |
290 | interrupt-parent = <&gic>; |
291 | }; | |
292 | ||
293 | twl6040: twl@4b { | |
294 | compatible = "ti,twl6040"; | |
295 | reg = <0x4b>; | |
aa986458 PU |
296 | |
297 | pinctrl-names = "default"; | |
298 | pinctrl-0 = <&twl6040_pins>; | |
299 | ||
8fea7d5a FV |
300 | /* IRQ# = 119 */ |
301 | interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */ | |
4b79197c | 302 | interrupt-parent = <&gic>; |
78eb938e | 303 | ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */ |
4b79197c NM |
304 | |
305 | vio-supply = <&v1v8>; | |
306 | v2v1-supply = <&v2v1>; | |
307 | enable-active-high; | |
308 | }; | |
309 | }; | |
310 | ||
98ef7957 | 311 | #include "twl6030.dtsi" |
06a9ea5d | 312 | #include "twl6030_omap4.dtsi" |
4b79197c NM |
313 | |
314 | &i2c2 { | |
315 | pinctrl-names = "default"; | |
316 | pinctrl-0 = <&i2c2_pins>; | |
317 | ||
318 | clock-frequency = <400000>; | |
319 | }; | |
320 | ||
321 | &i2c3 { | |
322 | pinctrl-names = "default"; | |
323 | pinctrl-0 = <&i2c3_pins>; | |
324 | ||
325 | clock-frequency = <100000>; | |
326 | ||
327 | /* | |
328 | * Display monitor features are burnt in their EEPROM as EDID data. | |
329 | * The EEPROM is connected as I2C slave device. | |
330 | */ | |
331 | eeprom@50 { | |
332 | compatible = "ti,eeprom"; | |
333 | reg = <0x50>; | |
334 | }; | |
335 | }; | |
336 | ||
337 | &i2c4 { | |
338 | pinctrl-names = "default"; | |
339 | pinctrl-0 = <&i2c4_pins>; | |
340 | ||
341 | clock-frequency = <400000>; | |
342 | }; | |
343 | ||
344 | &mmc1 { | |
345 | vmmc-supply = <&vmmc>; | |
346 | bus-width = <8>; | |
347 | }; | |
348 | ||
349 | &mmc2 { | |
350 | status = "disabled"; | |
351 | }; | |
352 | ||
353 | &mmc3 { | |
354 | status = "disabled"; | |
355 | }; | |
356 | ||
357 | &mmc4 { | |
358 | status = "disabled"; | |
359 | }; | |
360 | ||
361 | &mmc5 { | |
851320e3 TL |
362 | pinctrl-names = "default"; |
363 | pinctrl-0 = <&wl12xx_pins>; | |
364 | vmmc-supply = <&wl12xx_vmmc>; | |
365 | non-removable; | |
4b79197c | 366 | bus-width = <4>; |
851320e3 | 367 | cap-power-off-card; |
4b79197c NM |
368 | }; |
369 | ||
370 | &emif1 { | |
371 | cs1-used; | |
372 | device-handle = <&elpida_ECB240ABACN>; | |
373 | }; | |
374 | ||
375 | &emif2 { | |
376 | cs1-used; | |
377 | device-handle = <&elpida_ECB240ABACN>; | |
378 | }; | |
379 | ||
aa986458 PU |
380 | &mcbsp1 { |
381 | pinctrl-names = "default"; | |
382 | pinctrl-0 = <&mcbsp1_pins>; | |
383 | status = "okay"; | |
384 | }; | |
385 | ||
aa986458 PU |
386 | &mcpdm { |
387 | pinctrl-names = "default"; | |
388 | pinctrl-0 = <&mcpdm_pins>; | |
389 | status = "okay"; | |
390 | }; | |
391 | ||
4b79197c NM |
392 | &twl_usb_comparator { |
393 | usb-supply = <&vusb>; | |
394 | }; | |
395 | ||
396 | &usb_otg_hs { | |
397 | interface-type = <1>; | |
398 | mode = <3>; | |
399 | power = <50>; | |
400 | }; | |
5bd2100e RQ |
401 | |
402 | &usbhshost { | |
403 | port1-mode = "ehci-phy"; | |
404 | }; | |
405 | ||
406 | &usbhsehci { | |
407 | phys = <&hsusb1_phy>; | |
408 | }; |