blob: 800fa4e992491c78ebae560234862c9a22427880 [file] [log] [blame]
Nishanth Menon4b791972013-03-19 12:53:07 -05001/*
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 */
Florian Vaussard98ef79572013-05-31 14:32:55 +02008#include "elpida_ecb240abacn.dtsi"
Nishanth Menon4b791972013-03-19 12:53:07 -05009
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
Dan Murphy3818d7c2013-05-31 10:44:55 -050019 leds: leds {
Nishanth Menon4b791972013-03-19 12:53:07 -050020 compatible = "gpio-leds";
Dan Murphy3818d7c2013-05-31 10:44:55 -050021 pinctrl-names = "default";
22 pinctrl-0 = <
23 &led_wkgpio_pins
24 >;
25
Nishanth Menon4b791972013-03-19 12:53:07 -050026 heartbeat {
27 label = "pandaboard::status1";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020028 gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
Nishanth Menon4b791972013-03-19 12:53:07 -050029 linux,default-trigger = "heartbeat";
30 };
31
32 mmc {
33 label = "pandaboard::status2";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020034 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
Nishanth Menon4b791972013-03-19 12:53:07 -050035 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
Kevin Hilman1e68f432013-05-24 17:24:21 -070064&omap4_pmx_wkup {
65 pinctrl-names = "default";
66 pinctrl-0 = <
67 &twl6030_wkup_pins
68 >;
69
70 twl6030_wkup_pins: pinmux_twl6030_wkup_pins {
71 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +020072 0x14 (PIN_OUTPUT | MUX_MODE2) /* fref_clk0_out.sys_drm_msecure */
Kevin Hilman1e68f432013-05-24 17:24:21 -070073 >;
74 };
75};
76
Nishanth Menon4b791972013-03-19 12:53:07 -050077&omap4_pmx_core {
78 pinctrl-names = "default";
79 pinctrl-0 = <
Kevin Hilman1e68f432013-05-24 17:24:21 -070080 &twl6030_pins
Nishanth Menon4b791972013-03-19 12:53:07 -050081 &twl6040_pins
82 &mcpdm_pins
83 &mcbsp1_pins
84 &dss_hdmi_pins
85 &tpd12s015_pins
86 >;
87
Kevin Hilman1e68f432013-05-24 17:24:21 -070088 twl6030_pins: pinmux_twl6030_pins {
89 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +020090 0x15e (WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0) /* sys_nirq1.sys_nirq1 */
Kevin Hilman1e68f432013-05-24 17:24:21 -070091 >;
92 };
93
Nishanth Menon4b791972013-03-19 12:53:07 -050094 twl6040_pins: pinmux_twl6040_pins {
95 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +020096 0xe0 (PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */
97 0x160 (PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
Nishanth Menon4b791972013-03-19 12:53:07 -050098 >;
99 };
100
101 mcpdm_pins: pinmux_mcpdm_pins {
102 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200103 0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */
104 0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */
105 0xca (PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */
106 0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */
107 0xce (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
Nishanth Menon4b791972013-03-19 12:53:07 -0500108 >;
109 };
110
111 mcbsp1_pins: pinmux_mcbsp1_pins {
112 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200113 0xbe (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
114 0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
115 0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
116 0xc4 (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
Nishanth Menon4b791972013-03-19 12:53:07 -0500117 >;
118 };
119
120 dss_hdmi_pins: pinmux_dss_hdmi_pins {
121 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200122 0x5a (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */
123 0x5c (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
124 0x5e (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
Nishanth Menon4b791972013-03-19 12:53:07 -0500125 >;
126 };
127
128 tpd12s015_pins: pinmux_tpd12s015_pins {
129 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200130 0x22 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */
131 0x48 (PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */
132 0x58 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
Nishanth Menon4b791972013-03-19 12:53:07 -0500133 >;
134 };
135
136 i2c1_pins: pinmux_i2c1_pins {
137 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200138 0xe2 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
139 0xe4 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
Nishanth Menon4b791972013-03-19 12:53:07 -0500140 >;
141 };
142
143 i2c2_pins: pinmux_i2c2_pins {
144 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200145 0xe6 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
146 0xe8 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
Nishanth Menon4b791972013-03-19 12:53:07 -0500147 >;
148 };
149
150 i2c3_pins: pinmux_i2c3_pins {
151 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200152 0xea (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
153 0xec (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
Nishanth Menon4b791972013-03-19 12:53:07 -0500154 >;
155 };
156
157 i2c4_pins: pinmux_i2c4_pins {
158 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200159 0xee (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
160 0xf0 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
Nishanth Menon4b791972013-03-19 12:53:07 -0500161 >;
162 };
163};
164
Dan Murphy3818d7c2013-05-31 10:44:55 -0500165&omap4_pmx_wkup {
166 led_wkgpio_pins: pinmux_leds_wkpins {
167 pinctrl-single,pins = <
168 0x1a (PIN_OUTPUT | MUX_MODE3) /* gpio_wk7 */
169 0x1c (PIN_OUTPUT | MUX_MODE3) /* gpio_wk8 */
170 >;
171 };
172};
173
Nishanth Menon4b791972013-03-19 12:53:07 -0500174&i2c1 {
175 pinctrl-names = "default";
176 pinctrl-0 = <&i2c1_pins>;
177
178 clock-frequency = <400000>;
179
180 twl: twl@48 {
181 reg = <0x48>;
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200182 /* IRQ# = 7 */
183 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
Nishanth Menon4b791972013-03-19 12:53:07 -0500184 interrupt-parent = <&gic>;
185 };
186
187 twl6040: twl@4b {
188 compatible = "ti,twl6040";
189 reg = <0x4b>;
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200190 /* IRQ# = 119 */
191 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
Nishanth Menon4b791972013-03-19 12:53:07 -0500192 interrupt-parent = <&gic>;
193 ti,audpwron-gpio = <&gpio4 31 0>; /* gpio line 127 */
194
195 vio-supply = <&v1v8>;
196 v2v1-supply = <&v2v1>;
197 enable-active-high;
198 };
199};
200
Florian Vaussard98ef79572013-05-31 14:32:55 +0200201#include "twl6030.dtsi"
Nishanth Menon4b791972013-03-19 12:53:07 -0500202
203&i2c2 {
204 pinctrl-names = "default";
205 pinctrl-0 = <&i2c2_pins>;
206
207 clock-frequency = <400000>;
208};
209
210&i2c3 {
211 pinctrl-names = "default";
212 pinctrl-0 = <&i2c3_pins>;
213
214 clock-frequency = <100000>;
215
216 /*
217 * Display monitor features are burnt in their EEPROM as EDID data.
218 * The EEPROM is connected as I2C slave device.
219 */
220 eeprom@50 {
221 compatible = "ti,eeprom";
222 reg = <0x50>;
223 };
224};
225
226&i2c4 {
227 pinctrl-names = "default";
228 pinctrl-0 = <&i2c4_pins>;
229
230 clock-frequency = <400000>;
231};
232
233&mmc1 {
234 vmmc-supply = <&vmmc>;
235 bus-width = <8>;
236};
237
238&mmc2 {
239 status = "disabled";
240};
241
242&mmc3 {
243 status = "disabled";
244};
245
246&mmc4 {
247 status = "disabled";
248};
249
250&mmc5 {
251 ti,non-removable;
252 bus-width = <4>;
253};
254
255&emif1 {
256 cs1-used;
257 device-handle = <&elpida_ECB240ABACN>;
258};
259
260&emif2 {
261 cs1-used;
262 device-handle = <&elpida_ECB240ABACN>;
263};
264
265&mcbsp2 {
266 status = "disabled";
267};
268
269&mcbsp3 {
270 status = "disabled";
271};
272
273&dmic {
274 status = "disabled";
275};
276
277&twl_usb_comparator {
278 usb-supply = <&vusb>;
279};
280
281&usb_otg_hs {
282 interface-type = <1>;
283 mode = <3>;
284 power = <50>;
285};