]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/omap4-panda-common.dtsi
d5d144a1a6c2062274c0e01c5c8093b8d1dce8dc
[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 {
20                 compatible = "gpio-leds";
21                 heartbeat {
22                         label = "pandaboard::status1";
23                         gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
24                         linux,default-trigger = "heartbeat";
25                 };
26
27                 mmc {
28                         label = "pandaboard::status2";
29                         gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
30                         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
59 &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 = <
67                         0x14 (PIN_OUTPUT | MUX_MODE2)           /* fref_clk0_out.sys_drm_msecure */
68                 >;
69         };
70 };
71
72 &omap4_pmx_core {
73         pinctrl-names = "default";
74         pinctrl-0 = <
75                         &twl6030_pins
76                         &twl6040_pins
77                         &mcpdm_pins
78                         &mcbsp1_pins
79                         &dss_hdmi_pins
80                         &tpd12s015_pins
81         >;
82
83         twl6030_pins: pinmux_twl6030_pins {
84                 pinctrl-single,pins = <
85                         0x15e (WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0)        /* sys_nirq1.sys_nirq1 */
86                 >;
87         };
88
89         twl6040_pins: pinmux_twl6040_pins {
90                 pinctrl-single,pins = <
91                         0xe0 (PIN_OUTPUT | MUX_MODE3)   /* hdq_sio.gpio_127 */
92                         0x160 (PIN_INPUT | MUX_MODE0)   /* sys_nirq2.sys_nirq2 */
93                 >;
94         };
95
96         mcpdm_pins: pinmux_mcpdm_pins {
97                 pinctrl-single,pins = <
98                         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 */
103                 >;
104         };
105
106         mcbsp1_pins: pinmux_mcbsp1_pins {
107                 pinctrl-single,pins = <
108                         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 */
112                 >;
113         };
114
115         dss_hdmi_pins: pinmux_dss_hdmi_pins {
116                 pinctrl-single,pins = <
117                         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 */
120                 >;
121         };
122
123         tpd12s015_pins: pinmux_tpd12s015_pins {
124                 pinctrl-single,pins = <
125                         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 */
128                 >;
129         };
130
131         i2c1_pins: pinmux_i2c1_pins {
132                 pinctrl-single,pins = <
133                         0xe2 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c1_scl */
134                         0xe4 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c1_sda */
135                 >;
136         };
137
138         i2c2_pins: pinmux_i2c2_pins {
139                 pinctrl-single,pins = <
140                         0xe6 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c2_scl */
141                         0xe8 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c2_sda */
142                 >;
143         };
144
145         i2c3_pins: pinmux_i2c3_pins {
146                 pinctrl-single,pins = <
147                         0xea (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c3_scl */
148                         0xec (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c3_sda */
149                 >;
150         };
151
152         i2c4_pins: pinmux_i2c4_pins {
153                 pinctrl-single,pins = <
154                         0xee (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c4_scl */
155                         0xf0 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c4_sda */
156                 >;
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>;
168                 /* IRQ# = 7 */
169                 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
170                 interrupt-parent = <&gic>;
171         };
172
173         twl6040: twl@4b {
174                 compatible = "ti,twl6040";
175                 reg = <0x4b>;
176                 /* IRQ# = 119 */
177                 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
178                 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
187 #include "twl6030.dtsi"
188
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 };