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 | }; | |
4b79197c NM |
110 | }; |
111 | ||
1e68f43b KH |
112 | &omap4_pmx_wkup { |
113 | pinctrl-names = "default"; | |
114 | pinctrl-0 = < | |
115 | &twl6030_wkup_pins | |
116 | >; | |
117 | ||
118 | twl6030_wkup_pins: pinmux_twl6030_wkup_pins { | |
119 | pinctrl-single,pins = < | |
bcd3cca7 | 120 | 0x14 (PIN_OUTPUT | MUX_MODE2) /* fref_clk0_out.sys_drm_msecure */ |
1e68f43b KH |
121 | >; |
122 | }; | |
123 | }; | |
124 | ||
4b79197c NM |
125 | &omap4_pmx_core { |
126 | pinctrl-names = "default"; | |
127 | pinctrl-0 = < | |
1e68f43b | 128 | &twl6030_pins |
4b79197c NM |
129 | &twl6040_pins |
130 | &mcpdm_pins | |
131 | &mcbsp1_pins | |
132 | &dss_hdmi_pins | |
133 | &tpd12s015_pins | |
5bd2100e | 134 | &hsusbb1_pins |
4b79197c NM |
135 | >; |
136 | ||
1e68f43b KH |
137 | twl6030_pins: pinmux_twl6030_pins { |
138 | pinctrl-single,pins = < | |
bcd3cca7 | 139 | 0x15e (WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0) /* sys_nirq1.sys_nirq1 */ |
1e68f43b KH |
140 | >; |
141 | }; | |
142 | ||
4b79197c NM |
143 | twl6040_pins: pinmux_twl6040_pins { |
144 | pinctrl-single,pins = < | |
bcd3cca7 FV |
145 | 0xe0 (PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */ |
146 | 0x160 (PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */ | |
4b79197c NM |
147 | >; |
148 | }; | |
149 | ||
150 | mcpdm_pins: pinmux_mcpdm_pins { | |
151 | pinctrl-single,pins = < | |
bcd3cca7 FV |
152 | 0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */ |
153 | 0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */ | |
154 | 0xca (PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */ | |
155 | 0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */ | |
156 | 0xce (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */ | |
4b79197c NM |
157 | >; |
158 | }; | |
159 | ||
160 | mcbsp1_pins: pinmux_mcbsp1_pins { | |
161 | pinctrl-single,pins = < | |
bcd3cca7 FV |
162 | 0xbe (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */ |
163 | 0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */ | |
164 | 0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */ | |
165 | 0xc4 (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */ | |
4b79197c NM |
166 | >; |
167 | }; | |
168 | ||
169 | dss_hdmi_pins: pinmux_dss_hdmi_pins { | |
170 | pinctrl-single,pins = < | |
bcd3cca7 FV |
171 | 0x5a (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */ |
172 | 0x5c (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */ | |
173 | 0x5e (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */ | |
4b79197c NM |
174 | >; |
175 | }; | |
176 | ||
177 | tpd12s015_pins: pinmux_tpd12s015_pins { | |
178 | pinctrl-single,pins = < | |
bcd3cca7 FV |
179 | 0x22 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */ |
180 | 0x48 (PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */ | |
181 | 0x58 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */ | |
4b79197c NM |
182 | >; |
183 | }; | |
184 | ||
5bd2100e RQ |
185 | hsusbb1_pins: pinmux_hsusbb1_pins { |
186 | pinctrl-single,pins = < | |
187 | 0x82 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */ | |
188 | 0x84 (PIN_OUTPUT | MUX_MODE4) /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */ | |
189 | 0x86 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */ | |
190 | 0x88 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */ | |
191 | 0x8a (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */ | |
192 | 0x8c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */ | |
193 | 0x8e (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */ | |
194 | 0x90 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */ | |
195 | 0x92 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */ | |
196 | 0x94 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */ | |
197 | 0x96 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */ | |
198 | 0x98 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */ | |
199 | >; | |
200 | }; | |
201 | ||
4b79197c NM |
202 | i2c1_pins: pinmux_i2c1_pins { |
203 | pinctrl-single,pins = < | |
bcd3cca7 FV |
204 | 0xe2 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */ |
205 | 0xe4 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */ | |
4b79197c NM |
206 | >; |
207 | }; | |
208 | ||
209 | i2c2_pins: pinmux_i2c2_pins { | |
210 | pinctrl-single,pins = < | |
bcd3cca7 FV |
211 | 0xe6 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */ |
212 | 0xe8 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */ | |
4b79197c NM |
213 | >; |
214 | }; | |
215 | ||
216 | i2c3_pins: pinmux_i2c3_pins { | |
217 | pinctrl-single,pins = < | |
bcd3cca7 FV |
218 | 0xea (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */ |
219 | 0xec (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */ | |
4b79197c NM |
220 | >; |
221 | }; | |
222 | ||
223 | i2c4_pins: pinmux_i2c4_pins { | |
224 | pinctrl-single,pins = < | |
bcd3cca7 FV |
225 | 0xee (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */ |
226 | 0xf0 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */ | |
4b79197c NM |
227 | >; |
228 | }; | |
229 | }; | |
230 | ||
3818d7ca DM |
231 | &omap4_pmx_wkup { |
232 | led_wkgpio_pins: pinmux_leds_wkpins { | |
233 | pinctrl-single,pins = < | |
234 | 0x1a (PIN_OUTPUT | MUX_MODE3) /* gpio_wk7 */ | |
235 | 0x1c (PIN_OUTPUT | MUX_MODE3) /* gpio_wk8 */ | |
236 | >; | |
237 | }; | |
238 | }; | |
239 | ||
4b79197c NM |
240 | &i2c1 { |
241 | pinctrl-names = "default"; | |
242 | pinctrl-0 = <&i2c1_pins>; | |
243 | ||
244 | clock-frequency = <400000>; | |
245 | ||
246 | twl: twl@48 { | |
247 | reg = <0x48>; | |
8fea7d5a FV |
248 | /* IRQ# = 7 */ |
249 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */ | |
4b79197c NM |
250 | interrupt-parent = <&gic>; |
251 | }; | |
252 | ||
253 | twl6040: twl@4b { | |
254 | compatible = "ti,twl6040"; | |
255 | reg = <0x4b>; | |
8fea7d5a FV |
256 | /* IRQ# = 119 */ |
257 | interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */ | |
4b79197c | 258 | interrupt-parent = <&gic>; |
78eb938e | 259 | ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */ |
4b79197c NM |
260 | |
261 | vio-supply = <&v1v8>; | |
262 | v2v1-supply = <&v2v1>; | |
263 | enable-active-high; | |
264 | }; | |
265 | }; | |
266 | ||
98ef7957 | 267 | #include "twl6030.dtsi" |
4b79197c NM |
268 | |
269 | &i2c2 { | |
270 | pinctrl-names = "default"; | |
271 | pinctrl-0 = <&i2c2_pins>; | |
272 | ||
273 | clock-frequency = <400000>; | |
274 | }; | |
275 | ||
276 | &i2c3 { | |
277 | pinctrl-names = "default"; | |
278 | pinctrl-0 = <&i2c3_pins>; | |
279 | ||
280 | clock-frequency = <100000>; | |
281 | ||
282 | /* | |
283 | * Display monitor features are burnt in their EEPROM as EDID data. | |
284 | * The EEPROM is connected as I2C slave device. | |
285 | */ | |
286 | eeprom@50 { | |
287 | compatible = "ti,eeprom"; | |
288 | reg = <0x50>; | |
289 | }; | |
290 | }; | |
291 | ||
292 | &i2c4 { | |
293 | pinctrl-names = "default"; | |
294 | pinctrl-0 = <&i2c4_pins>; | |
295 | ||
296 | clock-frequency = <400000>; | |
297 | }; | |
298 | ||
299 | &mmc1 { | |
300 | vmmc-supply = <&vmmc>; | |
301 | bus-width = <8>; | |
302 | }; | |
303 | ||
304 | &mmc2 { | |
305 | status = "disabled"; | |
306 | }; | |
307 | ||
308 | &mmc3 { | |
309 | status = "disabled"; | |
310 | }; | |
311 | ||
312 | &mmc4 { | |
313 | status = "disabled"; | |
314 | }; | |
315 | ||
316 | &mmc5 { | |
317 | ti,non-removable; | |
318 | bus-width = <4>; | |
319 | }; | |
320 | ||
321 | &emif1 { | |
322 | cs1-used; | |
323 | device-handle = <&elpida_ECB240ABACN>; | |
324 | }; | |
325 | ||
326 | &emif2 { | |
327 | cs1-used; | |
328 | device-handle = <&elpida_ECB240ABACN>; | |
329 | }; | |
330 | ||
331 | &mcbsp2 { | |
332 | status = "disabled"; | |
333 | }; | |
334 | ||
335 | &mcbsp3 { | |
336 | status = "disabled"; | |
337 | }; | |
338 | ||
339 | &dmic { | |
340 | status = "disabled"; | |
341 | }; | |
342 | ||
343 | &twl_usb_comparator { | |
344 | usb-supply = <&vusb>; | |
345 | }; | |
346 | ||
347 | &usb_otg_hs { | |
348 | interface-type = <1>; | |
349 | mode = <3>; | |
350 | power = <50>; | |
351 | }; | |
5bd2100e RQ |
352 | |
353 | &usbhshost { | |
354 | port1-mode = "ehci-phy"; | |
355 | }; | |
356 | ||
357 | &usbhsehci { | |
358 | phys = <&hsusb1_phy>; | |
359 | }; |