Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelv...
[deliverable/linux.git] / arch / arm / boot / dts / omap4-panda-common.dtsi
CommitLineData
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};
This page took 0.062594 seconds and 5 git commands to generate.