]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android-sdk/kernel-video.git/blob - arch/arm/boot/dts/omap4-panda-common.dtsi
ARM: OMAP2+: AM33XX: omap2plus_defconfig: Add support for few drivers
[android-sdk/kernel-video.git] / arch / arm / boot / dts / omap4-panda-common.dtsi
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  */
8 /include/ "elpida_ecb240abacn.dtsi"
10 / {
11         model = "TI OMAP4 PandaBoard";
12         compatible = "ti,omap4-panda", "ti,omap4430", "ti,omap4";
14         memory {
15                 device_type = "memory";
16                 reg = <0x80000000 0x40000000>; /* 1 GB */
17         };
19         leds: leds {
20                 compatible = "gpio-leds";
21                 heartbeat {
22                         label = "pandaboard::status1";
23                         gpios = <&gpio1 7 0>;
24                         linux,default-trigger = "heartbeat";
25                 };
27                 mmc {
28                         label = "pandaboard::status2";
29                         gpios = <&gpio1 8 0>;
30                         linux,default-trigger = "mmc0";
31                 };
32         };
34         sound: sound {
35                 compatible = "ti,abe-twl6040";
36                 ti,model = "PandaBoard";
38                 ti,mclk-freq = <38400000>;
40                 ti,mcpdm = <&mcpdm>;
42                 ti,twl6040 = <&twl6040>;
44                 /* Audio routing */
45                 ti,audio-routing =
46                         "Headset Stereophone", "HSOL",
47                         "Headset Stereophone", "HSOR",
48                         "Ext Spk", "HFL",
49                         "Ext Spk", "HFR",
50                         "Line Out", "AUXL",
51                         "Line Out", "AUXR",
52                         "HSMIC", "Headset Mic",
53                         "Headset Mic", "Headset Mic Bias",
54                         "AFML", "Line In",
55                         "AFMR", "Line In";
56         };
58         /* HS USB Port 1 RESET */
59         hsusb1_reset: hsusb1_reset_reg {
60                 compatible = "regulator-fixed";
61                 regulator-name = "hsusb1_reset";
62                 regulator-min-microvolt = <3300000>;
63                 regulator-max-microvolt = <3300000>;
64                 gpio = <&gpio2 30 0>;   /* gpio_62 */
65                 startup-delay-us = <70000>;
66                 enable-active-high;
67         };
69         /* HS USB Port 1 Power */
70         hsusb1_power: hsusb1_power_reg {
71                 compatible = "regulator-fixed";
72                 regulator-name = "hsusb1_vbus";
73                 regulator-min-microvolt = <3300000>;
74                 regulator-max-microvolt = <3300000>;
75                 gpio = <&gpio1 1 0>;    /* gpio_1 */
76                 startup-delay-us = <70000>;
77                 enable-active-high;
78         };
80         /* HS USB Host PHY on PORT 1 */
81         hsusb1_phy: hsusb1_phy {
82                 compatible = "usb-nop-xceiv";
83                 reset-supply = <&hsusb1_reset>;
84                 vcc-supply = <&hsusb1_power>;
85         };
87         /* hsusb1_phy is clocked by FREF_CLK3 i.e. auxclk3 */
88         clock_alias {
89                 clock-name = "auxclk3_ck";
90                 clock-alias = "main_clk";
91                 device = <&hsusb1_phy>;
92         };
93 };
95 &omap4_pmx_core {
96         pinctrl-names = "default";
97         pinctrl-0 = <
98                         &twl6040_pins
99                         &mcpdm_pins
100                         &mcbsp1_pins
101                         &dss_hdmi_pins
102                         &tpd12s015_pins
103                         &hsusbb1_pins
104                         &led_gpio_pins
105         >;
107         twl6040_pins: pinmux_twl6040_pins {
108                 pinctrl-single,pins = <
109                         0xe0 0x3        /* hdq_sio.gpio_127 OUTPUT | MODE3 */
110                         0x160 0x100     /* sys_nirq2.sys_nirq2 INPUT | MODE0 */
111                 >;
112         };
114         mcpdm_pins: pinmux_mcpdm_pins {
115                 pinctrl-single,pins = <
116                         0xc6 0x108      /* abe_pdm_ul_data.abe_pdm_ul_data INPUT PULLDOWN | MODE0 */
117                         0xc8 0x108      /* abe_pdm_dl_data.abe_pdm_dl_data INPUT PULLDOWN | MODE0 */
118                         0xca 0x118      /* abe_pdm_frame.abe_pdm_frame INPUT PULLUP | MODE0 */
119                         0xcc 0x108      /* abe_pdm_lb_clk.abe_pdm_lb_clk INPUT PULLDOWN | MODE0 */
120                         0xce 0x108      /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */
121                 >;
122         };
124         mcbsp1_pins: pinmux_mcbsp1_pins {
125                 pinctrl-single,pins = <
126                         0xbe 0x100      /* abe_mcbsp1_clkx.abe_mcbsp1_clkx INPUT | MODE0 */
127                         0xc0 0x108      /* abe_mcbsp1_dr.abe_mcbsp1_dr INPUT PULLDOWN | MODE0 */
128                         0xc2 0x8                /* abe_mcbsp1_dx.abe_mcbsp1_dx OUTPUT PULLDOWN | MODE0 */
129                         0xc4 0x100      /* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */
130                 >;
131         };
133         dss_hdmi_pins: pinmux_dss_hdmi_pins {
134                 pinctrl-single,pins = <
135                         0x5a 0x118      /* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */
136                         0x5c 0x118      /* hdmi_scl.hdmi_scl INPUT PULLUP | MODE 0 */
137                         0x5e 0x118      /* hdmi_sda.hdmi_sda INPUT PULLUP | MODE 0 */
138                 >;
139         };
141         tpd12s015_pins: pinmux_tpd12s015_pins {
142                 pinctrl-single,pins = <
143                         0x22 0x3        /* gpmc_a17.gpio_41 OUTPUT | MODE3 */
144                         0x48 0x3        /* gpmc_nbe1.gpio_60 OUTPUT | MODE3 */
145                         0x58 0x10b      /* hdmi_hpd.gpio_63 INPUT PULLDOWN | MODE3 */
146                 >;
147         };
149         hsusbb1_pins: pinmux_hsusbb1_pins {
150                 pinctrl-single,pins = <
151                         0x82 0x10C      /* USBB1_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_clk INPUT | PULLDOWN */
152                         0x84 0x4        /* USBB1_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_stp OUTPUT */
153                         0x86 0x104      /* USBB1_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dir INPUT | PULLDOWN */
154                         0x88 0x104      /* USBB1_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_nxt INPUT | PULLDOWN */
155                         0x8a 0x104      /* USBB1_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat0 INPUT | PULLDOWN */
156                         0x8c 0x104      /* USBB1_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat1 INPUT | PULLDOWN */
157                         0x8e 0x104      /* USBB1_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat2 INPUT | PULLDOWN */
158                         0x90 0x104      /* USBB1_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat3 INPUT | PULLDOWN */
159                         0x92 0x104      /* USBB1_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat4 INPUT | PULLDOWN */
160                         0x94 0x104      /* USBB1_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat5 INPUT | PULLDOWN */
161                         0x96 0x104      /* USBB1_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat6 INPUT | PULLDOWN */
162                         0x98 0x104      /* USBB1_ULPITLL_CLK_MUXMODE.usbb1_ulpiphy_dat7 INPUT | PULLDOWN */
163                 >;
164         };
166         i2c1_pins: pinmux_i2c1_pins {
167                 pinctrl-single,pins = <
168                         0xe2 0x118        /* i2c1_scl PULLUP | INPUTENABLE | MODE0 */
169                         0xe4 0x118        /* i2c1_sda PULLUP | INPUTENABLE | MODE0 */
170                 >;
171         };
173         i2c2_pins: pinmux_i2c2_pins {
174                 pinctrl-single,pins = <
175                         0xe6 0x118        /* i2c2_scl PULLUP | INPUTENABLE | MODE0 */
176                         0xe8 0x118        /* i2c2_sda PULLUP | INPUTENABLE | MODE0 */
177                 >;
178         };
180         i2c3_pins: pinmux_i2c3_pins {
181                 pinctrl-single,pins = <
182                         0xea 0x118        /* i2c3_scl PULLUP | INPUTENABLE | MODE0 */
183                         0xec 0x118     /* i2c3_sda PULLUP | INPUTENABLE | MODE0 */
184                 >;
185         };
187         i2c4_pins: pinmux_i2c4_pins {
188                 pinctrl-single,pins = <
189                         0xee 0x118        /* i2c4_scl PULLUP | INPUTENABLE | MODE0 */
190                         0xf0 0x118     /* i2c4_sda PULLUP | INPUTENABLE | MODE0 */
191                 >;
192         };
194         led_gpio_pins: pinmux_leds_pins {
195                 pinctrl-single,pins = <
196                 >;
197         };
198 };
200 &omap4_pmx_wkup {
201         pinctrl-names = "default";
202         pinctrl-0 = <
203                 &led_wkgpio_pins
204         >;
206         led_wkgpio_pins: pinmux_leds_wkpins {
207                 pinctrl-single,pins = <
208                         0x1a 0x3        /* gpio_wk7 OUTPUT | MODE 3 */
209                         0x1c 0x3        /* gpio_wk8 OUTPUT | MODE 3 */
210                 >;
211         };
212 };
214 &i2c1 {
215         pinctrl-names = "default";
216         pinctrl-0 = <&i2c1_pins>;
218         clock-frequency = <400000>;
220         twl: twl@48 {
221                 reg = <0x48>;
222                 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
223                 interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */
224                 interrupt-parent = <&gic>;
225         };
227         twl6040: twl@4b {
228                 compatible = "ti,twl6040";
229                 reg = <0x4b>;
230                 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
231                 interrupts = <0 119 4>; /* IRQ_SYS_2N cascaded to gic */
232                 interrupt-parent = <&gic>;
233                 ti,audpwron-gpio = <&gpio4 31 0>;  /* gpio line 127 */
235                 vio-supply = <&v1v8>;
236                 v2v1-supply = <&v2v1>;
237                 enable-active-high;
238         };
239 };
241 /include/ "twl6030.dtsi"
243 &i2c2 {
244         pinctrl-names = "default";
245         pinctrl-0 = <&i2c2_pins>;
247         clock-frequency = <400000>;
248 };
250 &i2c3 {
251         pinctrl-names = "default";
252         pinctrl-0 = <&i2c3_pins>;
254         clock-frequency = <100000>;
256         /*
257          * Display monitor features are burnt in their EEPROM as EDID data.
258          * The EEPROM is connected as I2C slave device.
259          */
260         eeprom@50 {
261                 compatible = "ti,eeprom";
262                 reg = <0x50>;
263         };
264 };
266 &i2c4 {
267         pinctrl-names = "default";
268         pinctrl-0 = <&i2c4_pins>;
270         clock-frequency = <400000>;
271 };
273 &mmc1 {
274         vmmc-supply = <&vmmc>;
275         bus-width = <8>;
276 };
278 &mmc2 {
279         status = "disabled";
280 };
282 &mmc3 {
283         status = "disabled";
284 };
286 &mmc4 {
287         status = "disabled";
288 };
290 &mmc5 {
291         ti,non-removable;
292         bus-width = <4>;
293 };
295 &emif1 {
296         cs1-used;
297         device-handle = <&elpida_ECB240ABACN>;
298 };
300 &emif2 {
301         cs1-used;
302         device-handle = <&elpida_ECB240ABACN>;
303 };
305 &mcbsp2 {
306         status = "disabled";
307 };
309 &mcbsp3 {
310         status = "disabled";
311 };
313 &dmic {
314         status = "disabled";
315 };
317 &twl_usb_comparator {
318         usb-supply = <&vusb>;
319 };
321 &usbhshost {
322         port1-mode = "ehci-phy";
323 };
325 &usbhsehci {
326         phys = <&hsusb1_phy>;
327 };
329 &usb_otg_hs {
330         interface-type = <1>;
331         mode = <3>;
332         power = <50>;
333 };