]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/omap4-panda-common.dtsi
arm: imx6: defconfig: update tx6 defconfigs
[karo-tx-linux.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"
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
19         leds: leds {
20                 compatible = "gpio-leds";
21                 pinctrl-names = "default";
22                 pinctrl-0 = <
23                         &led_wkgpio_pins
24                 >;
25
26                 heartbeat {
27                         label = "pandaboard::status1";
28                         gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
29                         linux,default-trigger = "heartbeat";
30                 };
31
32                 mmc {
33                         label = "pandaboard::status2";
34                         gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
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         };
62
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;
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;
79         };
80
81         /* HS USB Host PHY on PORT 1 */
82         hsusb1_phy: hsusb1_phy {
83                 compatible = "usb-nop-xceiv";
84                 reset-gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;   /* gpio_62 */
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         };
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         };
107 };
108
109 &omap4_pmx_core {
110         pinctrl-names = "default";
111         pinctrl-0 = <
112                         &twl6040_pins
113                         &mcpdm_pins
114                         &mcbsp1_pins
115                         &dss_hdmi_pins
116                         &tpd12s015_pins
117                         &hsusbb1_pins
118         >;
119
120         twl6040_pins: pinmux_twl6040_pins {
121                 pinctrl-single,pins = <
122                         0xe0 (PIN_OUTPUT | MUX_MODE3)   /* hdq_sio.gpio_127 */
123                         0x160 (PIN_INPUT | MUX_MODE0)   /* sys_nirq2.sys_nirq2 */
124                 >;
125         };
126
127         mcpdm_pins: pinmux_mcpdm_pins {
128                 pinctrl-single,pins = <
129                         0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_pdm_ul_data.abe_pdm_ul_data */
130                         0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_pdm_dl_data.abe_pdm_dl_data */
131                         0xca (PIN_INPUT_PULLUP   | MUX_MODE0)   /* abe_pdm_frame.abe_pdm_frame */
132                         0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_pdm_lb_clk.abe_pdm_lb_clk */
133                         0xce (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_clks.abe_clks */
134                 >;
135         };
136
137         mcbsp1_pins: pinmux_mcbsp1_pins {
138                 pinctrl-single,pins = <
139                         0xbe (PIN_INPUT | MUX_MODE0)            /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
140                         0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_mcbsp1_dr.abe_mcbsp1_dr */
141                         0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)  /* abe_mcbsp1_dx.abe_mcbsp1_dx */
142                         0xc4 (PIN_INPUT | MUX_MODE0)            /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
143                 >;
144         };
145
146         dss_hdmi_pins: pinmux_dss_hdmi_pins {
147                 pinctrl-single,pins = <
148                         0x5a (PIN_INPUT_PULLUP | MUX_MODE0)     /* hdmi_cec.hdmi_cec */
149                         0x5c (PIN_INPUT_PULLUP | MUX_MODE0)     /* hdmi_scl.hdmi_scl */
150                         0x5e (PIN_INPUT_PULLUP | MUX_MODE0)     /* hdmi_sda.hdmi_sda */
151                 >;
152         };
153
154         tpd12s015_pins: pinmux_tpd12s015_pins {
155                 pinctrl-single,pins = <
156                         0x22 (PIN_OUTPUT | MUX_MODE3)           /* gpmc_a17.gpio_41 */
157                         0x48 (PIN_OUTPUT | MUX_MODE3)           /* gpmc_nbe1.gpio_60 */
158                         0x58 (PIN_INPUT_PULLDOWN | MUX_MODE3)   /* hdmi_hpd.gpio_63 */
159                 >;
160         };
161
162         hsusbb1_pins: pinmux_hsusbb1_pins {
163                 pinctrl-single,pins = <
164                         0x82 (PIN_INPUT_PULLDOWN | MUX_MODE4)   /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
165                         0x84 (PIN_OUTPUT | MUX_MODE4)           /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
166                         0x86 (PIN_INPUT_PULLDOWN | MUX_MODE4)   /* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */
167                         0x88 (PIN_INPUT_PULLDOWN | MUX_MODE4)   /* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */
168                         0x8a (PIN_INPUT_PULLDOWN | MUX_MODE4)   /* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */
169                         0x8c (PIN_INPUT_PULLDOWN | MUX_MODE4)   /* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */
170                         0x8e (PIN_INPUT_PULLDOWN | MUX_MODE4)   /* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */
171                         0x90 (PIN_INPUT_PULLDOWN | MUX_MODE4)   /* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */
172                         0x92 (PIN_INPUT_PULLDOWN | MUX_MODE4)   /* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */
173                         0x94 (PIN_INPUT_PULLDOWN | MUX_MODE4)   /* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */
174                         0x96 (PIN_INPUT_PULLDOWN | MUX_MODE4)   /* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */
175                         0x98 (PIN_INPUT_PULLDOWN | MUX_MODE4)   /* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */
176                 >;
177         };
178
179         i2c1_pins: pinmux_i2c1_pins {
180                 pinctrl-single,pins = <
181                         0xe2 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c1_scl */
182                         0xe4 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c1_sda */
183                 >;
184         };
185
186         i2c2_pins: pinmux_i2c2_pins {
187                 pinctrl-single,pins = <
188                         0xe6 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c2_scl */
189                         0xe8 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c2_sda */
190                 >;
191         };
192
193         i2c3_pins: pinmux_i2c3_pins {
194                 pinctrl-single,pins = <
195                         0xea (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c3_scl */
196                         0xec (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c3_sda */
197                 >;
198         };
199
200         i2c4_pins: pinmux_i2c4_pins {
201                 pinctrl-single,pins = <
202                         0xee (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c4_scl */
203                         0xf0 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c4_sda */
204                 >;
205         };
206 };
207
208 &omap4_pmx_wkup {
209         led_wkgpio_pins: pinmux_leds_wkpins {
210                 pinctrl-single,pins = <
211                         0x1a (PIN_OUTPUT | MUX_MODE3)   /* gpio_wk7 */
212                         0x1c (PIN_OUTPUT | MUX_MODE3)   /* gpio_wk8 */
213                 >;
214         };
215
216         /*
217          * wl12xx GPIO outputs for WLAN_EN, BT_EN, FM_EN, BT_WAKEUP
218          * REVISIT: Are the pull-ups needed for GPIO 48 and 49?
219          */
220         wl12xx_gpio: pinmux_wl12xx_gpio {
221                 pinctrl-single,pins = <
222                         0x26 (PIN_OUTPUT | MUX_MODE3)           /* gpmc_a19.gpio_43 */
223                         0x2c (PIN_OUTPUT | MUX_MODE3)           /* gpmc_a22.gpio_46 */
224                         0x30 (PIN_OUTPUT_PULLUP | MUX_MODE3)    /* gpmc_a24.gpio_48 */
225                         0x32 (PIN_OUTPUT_PULLUP | MUX_MODE3)    /* gpmc_a25.gpio_49 */
226                 >;
227         };
228
229         /* wl12xx GPIO inputs and SDIO pins */
230         wl12xx_pins: pinmux_wl12xx_pins {
231                 pinctrl-single,pins = <
232                         0x38 (PIN_INPUT | MUX_MODE3)            /* gpmc_ncs2.gpio_52 */
233                         0x3a (PIN_INPUT | MUX_MODE3)            /* gpmc_ncs3.gpio_53 */
234                         0x108 (PIN_OUTPUT | MUX_MODE0)          /* sdmmc5_clk.sdmmc5_clk */
235                         0x10a (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc5_cmd.sdmmc5_cmd */
236                         0x10c (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc5_dat0.sdmmc5_dat0 */
237                         0x10e (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc5_dat1.sdmmc5_dat1 */
238                         0x110 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc5_dat2.sdmmc5_dat2 */
239                         0x112 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc5_dat3.sdmmc5_dat3 */
240                 >;
241         };
242 };
243
244 &i2c1 {
245         pinctrl-names = "default";
246         pinctrl-0 = <&i2c1_pins>;
247
248         clock-frequency = <400000>;
249
250         twl: twl@48 {
251                 reg = <0x48>;
252                 /* IRQ# = 7 */
253                 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
254                 interrupt-parent = <&gic>;
255         };
256
257         twl6040: twl@4b {
258                 compatible = "ti,twl6040";
259                 reg = <0x4b>;
260                 /* IRQ# = 119 */
261                 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
262                 interrupt-parent = <&gic>;
263                 ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>;  /* gpio line 127 */
264
265                 vio-supply = <&v1v8>;
266                 v2v1-supply = <&v2v1>;
267                 enable-active-high;
268         };
269 };
270
271 #include "twl6030.dtsi"
272 #include "twl6030_omap4.dtsi"
273
274 &i2c2 {
275         pinctrl-names = "default";
276         pinctrl-0 = <&i2c2_pins>;
277
278         clock-frequency = <400000>;
279 };
280
281 &i2c3 {
282         pinctrl-names = "default";
283         pinctrl-0 = <&i2c3_pins>;
284
285         clock-frequency = <100000>;
286
287         /*
288          * Display monitor features are burnt in their EEPROM as EDID data.
289          * The EEPROM is connected as I2C slave device.
290          */
291         eeprom@50 {
292                 compatible = "ti,eeprom";
293                 reg = <0x50>;
294         };
295 };
296
297 &i2c4 {
298         pinctrl-names = "default";
299         pinctrl-0 = <&i2c4_pins>;
300
301         clock-frequency = <400000>;
302 };
303
304 &mmc1 {
305         vmmc-supply = <&vmmc>;
306         bus-width = <8>;
307 };
308
309 &mmc2 {
310         status = "disabled";
311 };
312
313 &mmc3 {
314         status = "disabled";
315 };
316
317 &mmc4 {
318         status = "disabled";
319 };
320
321 &mmc5 {
322         pinctrl-names = "default";
323         pinctrl-0 = <&wl12xx_pins>;
324         vmmc-supply = <&wl12xx_vmmc>;
325         non-removable;
326         bus-width = <4>;
327         cap-power-off-card;
328 };
329
330 &emif1 {
331         cs1-used;
332         device-handle = <&elpida_ECB240ABACN>;
333 };
334
335 &emif2 {
336         cs1-used;
337         device-handle = <&elpida_ECB240ABACN>;
338 };
339
340 &mcbsp2 {
341         status = "disabled";
342 };
343
344 &mcbsp3 {
345         status = "disabled";
346 };
347
348 &dmic {
349         status = "disabled";
350 };
351
352 &twl_usb_comparator {
353         usb-supply = <&vusb>;
354 };
355
356 &usb_otg_hs {
357         interface-type = <1>;
358         mode = <3>;
359         power = <50>;
360 };
361
362 &usbhshost {
363         port1-mode = "ehci-phy";
364 };
365
366 &usbhsehci {
367         phys = <&hsusb1_phy>;
368 };