]>
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 RQ |
62 | |
63 | /* | |
64 | * Temp hack: Need to be replaced with the proper gpio-controlled | |
65 | * reset driver as soon it will be merged. | |
66 | * http://thread.gmane.org/gmane.linux.drivers.devicetree/36830 | |
67 | */ | |
68 | /* HS USB Port 1 RESET */ | |
69 | hsusb1_reset: hsusb1_reset_reg { | |
70 | compatible = "regulator-fixed"; | |
71 | regulator-name = "hsusb1_reset"; | |
72 | regulator-min-microvolt = <3300000>; | |
73 | regulator-max-microvolt = <3300000>; | |
74 | gpio = <&gpio2 30 0>; /* gpio_62 */ | |
75 | startup-delay-us = <70000>; | |
76 | enable-active-high; | |
77 | }; | |
78 | ||
79 | /* HS USB Port 1 Power */ | |
80 | hsusb1_power: hsusb1_power_reg { | |
81 | compatible = "regulator-fixed"; | |
82 | regulator-name = "hsusb1_vbus"; | |
83 | regulator-min-microvolt = <3300000>; | |
84 | regulator-max-microvolt = <3300000>; | |
85 | gpio = <&gpio1 1 0>; /* gpio_1 */ | |
86 | startup-delay-us = <70000>; | |
87 | enable-active-high; | |
6f569293 RQ |
88 | /* |
89 | * boot-on is required along with always-on as the | |
90 | * regulator framework doesn't enable the regulator | |
91 | * if boot-on is not there. | |
92 | */ | |
93 | regulator-always-on; | |
94 | regulator-boot-on; | |
5bd2100e RQ |
95 | }; |
96 | ||
97 | /* HS USB Host PHY on PORT 1 */ | |
98 | hsusb1_phy: hsusb1_phy { | |
99 | compatible = "usb-nop-xceiv"; | |
100 | reset-supply = <&hsusb1_reset>; | |
101 | vcc-supply = <&hsusb1_power>; | |
102 | /** | |
103 | * FIXME: | |
104 | * put the right clock phandle here when available | |
105 | * clocks = <&auxclk3>; | |
106 | * clock-names = "main_clk"; | |
107 | */ | |
108 | clock-frequency = <19200000>; | |
109 | }; | |
851320e3 TL |
110 | |
111 | /* regulator for wl12xx on sdio5 */ | |
112 | wl12xx_vmmc: wl12xx_vmmc { | |
113 | pinctrl-names = "default"; | |
114 | pinctrl-0 = <&wl12xx_gpio>; | |
115 | compatible = "regulator-fixed"; | |
116 | regulator-name = "vwl1271"; | |
117 | regulator-min-microvolt = <1800000>; | |
118 | regulator-max-microvolt = <1800000>; | |
119 | gpio = <&gpio2 11 0>; | |
120 | startup-delay-us = <70000>; | |
121 | enable-active-high; | |
122 | }; | |
4b79197c NM |
123 | }; |
124 | ||
1e68f43b KH |
125 | &omap4_pmx_wkup { |
126 | pinctrl-names = "default"; | |
127 | pinctrl-0 = < | |
128 | &twl6030_wkup_pins | |
129 | >; | |
130 | ||
131 | twl6030_wkup_pins: pinmux_twl6030_wkup_pins { | |
132 | pinctrl-single,pins = < | |
bcd3cca7 | 133 | 0x14 (PIN_OUTPUT | MUX_MODE2) /* fref_clk0_out.sys_drm_msecure */ |
1e68f43b KH |
134 | >; |
135 | }; | |
136 | }; | |
137 | ||
4b79197c NM |
138 | &omap4_pmx_core { |
139 | pinctrl-names = "default"; | |
140 | pinctrl-0 = < | |
1e68f43b | 141 | &twl6030_pins |
4b79197c NM |
142 | &twl6040_pins |
143 | &mcpdm_pins | |
144 | &mcbsp1_pins | |
145 | &dss_hdmi_pins | |
146 | &tpd12s015_pins | |
5bd2100e | 147 | &hsusbb1_pins |
4b79197c NM |
148 | >; |
149 | ||
1e68f43b KH |
150 | twl6030_pins: pinmux_twl6030_pins { |
151 | pinctrl-single,pins = < | |
bcd3cca7 | 152 | 0x15e (WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0) /* sys_nirq1.sys_nirq1 */ |
1e68f43b KH |
153 | >; |
154 | }; | |
155 | ||
4b79197c NM |
156 | twl6040_pins: pinmux_twl6040_pins { |
157 | pinctrl-single,pins = < | |
bcd3cca7 FV |
158 | 0xe0 (PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */ |
159 | 0x160 (PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */ | |
4b79197c NM |
160 | >; |
161 | }; | |
162 | ||
163 | mcpdm_pins: pinmux_mcpdm_pins { | |
164 | pinctrl-single,pins = < | |
bcd3cca7 FV |
165 | 0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */ |
166 | 0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */ | |
167 | 0xca (PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */ | |
168 | 0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */ | |
169 | 0xce (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */ | |
4b79197c NM |
170 | >; |
171 | }; | |
172 | ||
173 | mcbsp1_pins: pinmux_mcbsp1_pins { | |
174 | pinctrl-single,pins = < | |
bcd3cca7 FV |
175 | 0xbe (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */ |
176 | 0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */ | |
177 | 0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */ | |
178 | 0xc4 (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */ | |
4b79197c NM |
179 | >; |
180 | }; | |
181 | ||
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 | }; | |
242 | }; | |
243 | ||
3818d7ca DM |
244 | &omap4_pmx_wkup { |
245 | led_wkgpio_pins: pinmux_leds_wkpins { | |
246 | pinctrl-single,pins = < | |
247 | 0x1a (PIN_OUTPUT | MUX_MODE3) /* gpio_wk7 */ | |
248 | 0x1c (PIN_OUTPUT | MUX_MODE3) /* gpio_wk8 */ | |
249 | >; | |
250 | }; | |
851320e3 TL |
251 | |
252 | /* | |
253 | * wl12xx GPIO outputs for WLAN_EN, BT_EN, FM_EN, BT_WAKEUP | |
254 | * REVISIT: Are the pull-ups needed for GPIO 48 and 49? | |
255 | */ | |
256 | wl12xx_gpio: pinmux_wl12xx_gpio { | |
257 | pinctrl-single,pins = < | |
258 | 0x26 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a19.gpio_43 */ | |
259 | 0x2c (PIN_OUTPUT | MUX_MODE3) /* gpmc_a22.gpio_46 */ | |
260 | 0x30 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_a24.gpio_48 */ | |
261 | 0x32 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_a25.gpio_49 */ | |
262 | >; | |
263 | }; | |
264 | ||
265 | /* wl12xx GPIO inputs and SDIO pins */ | |
266 | wl12xx_pins: pinmux_wl12xx_pins { | |
267 | pinctrl-single,pins = < | |
268 | 0x38 (PIN_INPUT | MUX_MODE3) /* gpmc_ncs2.gpio_52 */ | |
269 | 0x3a (PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */ | |
270 | 0x108 (PIN_OUTPUT | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */ | |
271 | 0x10a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */ | |
272 | 0x10c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */ | |
273 | 0x10e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */ | |
274 | 0x110 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */ | |
275 | 0x112 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */ | |
276 | >; | |
277 | }; | |
3818d7ca DM |
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>; | |
8fea7d5a FV |
296 | /* IRQ# = 119 */ |
297 | interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */ | |
4b79197c | 298 | interrupt-parent = <&gic>; |
78eb938e | 299 | ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */ |
4b79197c NM |
300 | |
301 | vio-supply = <&v1v8>; | |
302 | v2v1-supply = <&v2v1>; | |
303 | enable-active-high; | |
304 | }; | |
305 | }; | |
306 | ||
98ef7957 | 307 | #include "twl6030.dtsi" |
4b79197c NM |
308 | |
309 | &i2c2 { | |
310 | pinctrl-names = "default"; | |
311 | pinctrl-0 = <&i2c2_pins>; | |
312 | ||
313 | clock-frequency = <400000>; | |
314 | }; | |
315 | ||
316 | &i2c3 { | |
317 | pinctrl-names = "default"; | |
318 | pinctrl-0 = <&i2c3_pins>; | |
319 | ||
320 | clock-frequency = <100000>; | |
321 | ||
322 | /* | |
323 | * Display monitor features are burnt in their EEPROM as EDID data. | |
324 | * The EEPROM is connected as I2C slave device. | |
325 | */ | |
326 | eeprom@50 { | |
327 | compatible = "ti,eeprom"; | |
328 | reg = <0x50>; | |
329 | }; | |
330 | }; | |
331 | ||
332 | &i2c4 { | |
333 | pinctrl-names = "default"; | |
334 | pinctrl-0 = <&i2c4_pins>; | |
335 | ||
336 | clock-frequency = <400000>; | |
337 | }; | |
338 | ||
339 | &mmc1 { | |
340 | vmmc-supply = <&vmmc>; | |
341 | bus-width = <8>; | |
342 | }; | |
343 | ||
344 | &mmc2 { | |
345 | status = "disabled"; | |
346 | }; | |
347 | ||
348 | &mmc3 { | |
349 | status = "disabled"; | |
350 | }; | |
351 | ||
352 | &mmc4 { | |
353 | status = "disabled"; | |
354 | }; | |
355 | ||
356 | &mmc5 { | |
851320e3 TL |
357 | pinctrl-names = "default"; |
358 | pinctrl-0 = <&wl12xx_pins>; | |
359 | vmmc-supply = <&wl12xx_vmmc>; | |
360 | non-removable; | |
4b79197c | 361 | bus-width = <4>; |
851320e3 | 362 | cap-power-off-card; |
4b79197c NM |
363 | }; |
364 | ||
365 | &emif1 { | |
366 | cs1-used; | |
367 | device-handle = <&elpida_ECB240ABACN>; | |
368 | }; | |
369 | ||
370 | &emif2 { | |
371 | cs1-used; | |
372 | device-handle = <&elpida_ECB240ABACN>; | |
373 | }; | |
374 | ||
375 | &mcbsp2 { | |
376 | status = "disabled"; | |
377 | }; | |
378 | ||
379 | &mcbsp3 { | |
380 | status = "disabled"; | |
381 | }; | |
382 | ||
383 | &dmic { | |
384 | status = "disabled"; | |
385 | }; | |
386 | ||
387 | &twl_usb_comparator { | |
388 | usb-supply = <&vusb>; | |
389 | }; | |
390 | ||
391 | &usb_otg_hs { | |
392 | interface-type = <1>; | |
393 | mode = <3>; | |
394 | power = <50>; | |
395 | }; | |
5bd2100e RQ |
396 | |
397 | &usbhshost { | |
398 | port1-mode = "ehci-phy"; | |
399 | }; | |
400 | ||
401 | &usbhsehci { | |
402 | phys = <&hsusb1_phy>; | |
403 | }; |