blob: d5d144a1a6c2062274c0e01c5c8093b8d1dce8dc [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
19 leds {
20 compatible = "gpio-leds";
21 heartbeat {
22 label = "pandaboard::status1";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020023 gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
Nishanth Menon4b791972013-03-19 12:53:07 -050024 linux,default-trigger = "heartbeat";
25 };
26
27 mmc {
28 label = "pandaboard::status2";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020029 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
Nishanth Menon4b791972013-03-19 12:53:07 -050030 linux,default-trigger = "mmc0";
31 };
32 };
33
34 sound: sound {
35 compatible = "ti,abe-twl6040";
36 ti,model = "PandaBoard";
37
38 ti,mclk-freq = <38400000>;
39
40 ti,mcpdm = <&mcpdm>;
41
42 ti,twl6040 = <&twl6040>;
43
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 };
57};
58
Kevin Hilman1e68f432013-05-24 17:24:21 -070059&omap4_pmx_wkup {
60 pinctrl-names = "default";
61 pinctrl-0 = <
62 &twl6030_wkup_pins
63 >;
64
65 twl6030_wkup_pins: pinmux_twl6030_wkup_pins {
66 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +020067 0x14 (PIN_OUTPUT | MUX_MODE2) /* fref_clk0_out.sys_drm_msecure */
Kevin Hilman1e68f432013-05-24 17:24:21 -070068 >;
69 };
70};
71
Nishanth Menon4b791972013-03-19 12:53:07 -050072&omap4_pmx_core {
73 pinctrl-names = "default";
74 pinctrl-0 = <
Kevin Hilman1e68f432013-05-24 17:24:21 -070075 &twl6030_pins
Nishanth Menon4b791972013-03-19 12:53:07 -050076 &twl6040_pins
77 &mcpdm_pins
78 &mcbsp1_pins
79 &dss_hdmi_pins
80 &tpd12s015_pins
81 >;
82
Kevin Hilman1e68f432013-05-24 17:24:21 -070083 twl6030_pins: pinmux_twl6030_pins {
84 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +020085 0x15e (WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0) /* sys_nirq1.sys_nirq1 */
Kevin Hilman1e68f432013-05-24 17:24:21 -070086 >;
87 };
88
Nishanth Menon4b791972013-03-19 12:53:07 -050089 twl6040_pins: pinmux_twl6040_pins {
90 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +020091 0xe0 (PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */
92 0x160 (PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
Nishanth Menon4b791972013-03-19 12:53:07 -050093 >;
94 };
95
96 mcpdm_pins: pinmux_mcpdm_pins {
97 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +020098 0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */
99 0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */
100 0xca (PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */
101 0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */
102 0xce (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
Nishanth Menon4b791972013-03-19 12:53:07 -0500103 >;
104 };
105
106 mcbsp1_pins: pinmux_mcbsp1_pins {
107 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200108 0xbe (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
109 0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
110 0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
111 0xc4 (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
Nishanth Menon4b791972013-03-19 12:53:07 -0500112 >;
113 };
114
115 dss_hdmi_pins: pinmux_dss_hdmi_pins {
116 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200117 0x5a (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */
118 0x5c (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
119 0x5e (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
Nishanth Menon4b791972013-03-19 12:53:07 -0500120 >;
121 };
122
123 tpd12s015_pins: pinmux_tpd12s015_pins {
124 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200125 0x22 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */
126 0x48 (PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */
127 0x58 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
Nishanth Menon4b791972013-03-19 12:53:07 -0500128 >;
129 };
130
131 i2c1_pins: pinmux_i2c1_pins {
132 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200133 0xe2 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
134 0xe4 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
Nishanth Menon4b791972013-03-19 12:53:07 -0500135 >;
136 };
137
138 i2c2_pins: pinmux_i2c2_pins {
139 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200140 0xe6 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
141 0xe8 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
Nishanth Menon4b791972013-03-19 12:53:07 -0500142 >;
143 };
144
145 i2c3_pins: pinmux_i2c3_pins {
146 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200147 0xea (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
148 0xec (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
Nishanth Menon4b791972013-03-19 12:53:07 -0500149 >;
150 };
151
152 i2c4_pins: pinmux_i2c4_pins {
153 pinctrl-single,pins = <
Florian Vaussardbcd3cca2013-05-31 14:32:59 +0200154 0xee (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
155 0xf0 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
Nishanth Menon4b791972013-03-19 12:53:07 -0500156 >;
157 };
158};
159
160&i2c1 {
161 pinctrl-names = "default";
162 pinctrl-0 = <&i2c1_pins>;
163
164 clock-frequency = <400000>;
165
166 twl: twl@48 {
167 reg = <0x48>;
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200168 /* IRQ# = 7 */
169 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
Nishanth Menon4b791972013-03-19 12:53:07 -0500170 interrupt-parent = <&gic>;
171 };
172
173 twl6040: twl@4b {
174 compatible = "ti,twl6040";
175 reg = <0x4b>;
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200176 /* IRQ# = 119 */
177 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
Nishanth Menon4b791972013-03-19 12:53:07 -0500178 interrupt-parent = <&gic>;
179 ti,audpwron-gpio = <&gpio4 31 0>; /* gpio line 127 */
180
181 vio-supply = <&v1v8>;
182 v2v1-supply = <&v2v1>;
183 enable-active-high;
184 };
185};
186
Florian Vaussard98ef79572013-05-31 14:32:55 +0200187#include "twl6030.dtsi"
Nishanth Menon4b791972013-03-19 12:53:07 -0500188
189&i2c2 {
190 pinctrl-names = "default";
191 pinctrl-0 = <&i2c2_pins>;
192
193 clock-frequency = <400000>;
194};
195
196&i2c3 {
197 pinctrl-names = "default";
198 pinctrl-0 = <&i2c3_pins>;
199
200 clock-frequency = <100000>;
201
202 /*
203 * Display monitor features are burnt in their EEPROM as EDID data.
204 * The EEPROM is connected as I2C slave device.
205 */
206 eeprom@50 {
207 compatible = "ti,eeprom";
208 reg = <0x50>;
209 };
210};
211
212&i2c4 {
213 pinctrl-names = "default";
214 pinctrl-0 = <&i2c4_pins>;
215
216 clock-frequency = <400000>;
217};
218
219&mmc1 {
220 vmmc-supply = <&vmmc>;
221 bus-width = <8>;
222};
223
224&mmc2 {
225 status = "disabled";
226};
227
228&mmc3 {
229 status = "disabled";
230};
231
232&mmc4 {
233 status = "disabled";
234};
235
236&mmc5 {
237 ti,non-removable;
238 bus-width = <4>;
239};
240
241&emif1 {
242 cs1-used;
243 device-handle = <&elpida_ECB240ABACN>;
244};
245
246&emif2 {
247 cs1-used;
248 device-handle = <&elpida_ECB240ABACN>;
249};
250
251&mcbsp2 {
252 status = "disabled";
253};
254
255&mcbsp3 {
256 status = "disabled";
257};
258
259&dmic {
260 status = "disabled";
261};
262
263&twl_usb_comparator {
264 usb-supply = <&vusb>;
265};
266
267&usb_otg_hs {
268 interface-type = <1>;
269 mode = <3>;
270 power = <50>;
271};