blob: fb51a4bffd35392e8b9807b56e7cfe678953d089 [file] [log] [blame]
Benoit Cousson492beed2011-08-16 15:59:52 +02001/*
2 * Copyright (C) 2011 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/dts-v1/;
9
Florian Vaussard98ef79572013-05-31 14:32:55 +020010#include "omap443x.dtsi"
11#include "elpida_ecb240abacn.dtsi"
Tony Lindgrened01ffd2019-04-09 09:00:53 -070012#include "omap4-mcpdm.dtsi"
Benoit Cousson492beed2011-08-16 15:59:52 +020013
14/ {
15 model = "TI OMAP4 SDP board";
16 compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4";
17
Javier Martinez Canillas742ae1f2016-08-31 12:35:28 +020018 memory@80000000 {
Benoit Cousson492beed2011-08-16 15:59:52 +020019 device_type = "memory";
20 reg = <0x80000000 0x40000000>; /* 1 GB */
21 };
Benoit Coussone7c64db2012-01-20 14:17:00 +010022
Tomi Valkeinen7c572d52012-08-20 17:07:31 +030023 aliases {
24 display0 = &lcd0;
25 display1 = &lcd1;
26 display2 = &hdmi0;
27 };
28
Rajendra Nayak624411c2012-07-30 18:42:20 +053029 vdd_eth: fixedregulator-vdd-eth {
Peter Ujfalusib4c30df2018-12-13 15:58:45 +020030 pinctrl-names = "default";
31 pinctrl-0 = <&enet_enable_gpio>;
32
Benoit Coussone7c64db2012-01-20 14:17:00 +010033 compatible = "regulator-fixed";
34 regulator-name = "VDD_ETH";
35 regulator-min-microvolt = <3300000>;
36 regulator-max-microvolt = <3300000>;
Javier Martinez Canillas3a637e02015-10-06 11:03:39 +020037 gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>; /* gpio line 48 */
Benoit Coussone7c64db2012-01-20 14:17:00 +010038 enable-active-high;
39 regulator-boot-on;
Russell King - ARM Linux84fb6c72018-12-07 09:17:07 -080040 startup-delay-us = <25000>;
Benoit Coussone7c64db2012-01-20 14:17:00 +010041 };
Benoit Cousson83909c72012-05-08 18:37:26 +020042
Rajendra Nayak624411c2012-07-30 18:42:20 +053043 vbat: fixedregulator-vbat {
Peter Ujfalusi4814f2f2012-06-08 17:02:01 +030044 compatible = "regulator-fixed";
45 regulator-name = "VBAT";
46 regulator-min-microvolt = <3750000>;
47 regulator-max-microvolt = <3750000>;
48 regulator-boot-on;
49 };
50
Benoit Cousson83909c72012-05-08 18:37:26 +020051 leds {
52 compatible = "gpio-leds";
53 debug0 {
54 label = "omap4:green:debug0";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020055 gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; /* 61 */
Benoit Cousson83909c72012-05-08 18:37:26 +020056 };
57
58 debug1 {
59 label = "omap4:green:debug1";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020060 gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; /* 30 */
Benoit Cousson83909c72012-05-08 18:37:26 +020061 };
62
63 debug2 {
64 label = "omap4:green:debug2";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020065 gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; /* 7 */
Benoit Cousson83909c72012-05-08 18:37:26 +020066 };
67
68 debug3 {
69 label = "omap4:green:debug3";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020070 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* 8 */
Benoit Cousson83909c72012-05-08 18:37:26 +020071 };
72
73 debug4 {
74 label = "omap4:green:debug4";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020075 gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */
Benoit Cousson83909c72012-05-08 18:37:26 +020076 };
77
78 user1 {
79 label = "omap4:blue:user";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020080 gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */
Benoit Cousson83909c72012-05-08 18:37:26 +020081 };
82
83 user2 {
84 label = "omap4:red:user";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020085 gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */
Benoit Cousson83909c72012-05-08 18:37:26 +020086 };
87
88 user3 {
89 label = "omap4:green:user";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020090 gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* 139 */
Benoit Cousson83909c72012-05-08 18:37:26 +020091 };
92 };
Peter Ujfalusib15bb2c2012-06-08 17:02:03 +030093
Peter Ujfalusi28f166cb2012-11-12 15:06:56 +010094 pwmleds {
95 compatible = "pwm-leds";
96 kpad {
97 label = "omap4::keypad";
98 pwms = <&twl_pwm 0 7812500>;
99 max-brightness = <127>;
100 };
101
102 charging {
103 label = "omap4:green:chrg";
104 pwms = <&twl_pwmled 0 7812500>;
105 max-brightness = <255>;
106 };
107 };
108
Peter Ujfalusif95c01d2013-01-18 15:00:47 +0100109 backlight {
110 compatible = "pwm-backlight";
111 pwms = <&twl_pwm 1 7812500>;
112 brightness-levels = <
113 0 10 20 30 40
114 50 60 70 80 90
115 100 110 120 127
116 >;
117 default-brightness-level = <13>;
118 };
119
Peter Ujfalusib15bb2c2012-06-08 17:02:03 +0300120 sound {
121 compatible = "ti,abe-twl6040";
122 ti,model = "SDP4430";
123
124 ti,jack-detection = <1>;
125 ti,mclk-freq = <38400000>;
126
127 ti,mcpdm = <&mcpdm>;
128 ti,dmic = <&dmic>;
129
130 ti,twl6040 = <&twl6040>;
131
132 /* Audio routing */
133 ti,audio-routing =
134 "Headset Stereophone", "HSOL",
135 "Headset Stereophone", "HSOR",
136 "Earphone Spk", "EP",
137 "Ext Spk", "HFL",
138 "Ext Spk", "HFR",
139 "Line Out", "AUXL",
140 "Line Out", "AUXR",
141 "Vibrator", "VIBRAL",
142 "Vibrator", "VIBRAR",
143 "HSMIC", "Headset Mic",
144 "Headset Mic", "Headset Mic Bias",
145 "MAINMIC", "Main Handset Mic",
146 "Main Handset Mic", "Main Mic Bias",
147 "SUBMIC", "Sub Handset Mic",
148 "Sub Handset Mic", "Main Mic Bias",
149 "AFML", "Line In",
150 "AFMR", "Line In",
151 "DMic", "Digital Mic",
152 "Digital Mic", "Digital Mic1 Bias";
153 };
Tony Lindgren775d2412013-09-13 12:09:57 -0700154
155 /* regulator for wl12xx on sdio5 */
156 wl12xx_vmmc: wl12xx_vmmc {
157 pinctrl-names = "default";
158 pinctrl-0 = <&wl12xx_gpio>;
159 compatible = "regulator-fixed";
160 regulator-name = "vwl1271";
161 regulator-min-microvolt = <1800000>;
162 regulator-max-microvolt = <1800000>;
Javier Martinez Canillas3a637e02015-10-06 11:03:39 +0200163 gpio = <&gpio2 22 GPIO_ACTIVE_HIGH>;
Tony Lindgren775d2412013-09-13 12:09:57 -0700164 startup-delay-us = <70000>;
165 enable-active-high;
166 };
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300167
Javier Martinez Canillasf9a10172016-06-27 15:21:01 -0400168 tpd12s015: encoder {
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300169 compatible = "ti,tpd12s015";
170
171 gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */
172 <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */
173 <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */
174
175 ports {
176 #address-cells = <1>;
177 #size-cells = <0>;
178
179 port@0 {
180 reg = <0>;
181
Javier Martinez Canillasf9a10172016-06-27 15:21:01 -0400182 tpd12s015_in: endpoint {
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300183 remote-endpoint = <&hdmi_out>;
184 };
185 };
186
187 port@1 {
188 reg = <1>;
189
Javier Martinez Canillasf9a10172016-06-27 15:21:01 -0400190 tpd12s015_out: endpoint {
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300191 remote-endpoint = <&hdmi_connector_in>;
192 };
193 };
194 };
195 };
196
Javier Martinez Canillasf9a10172016-06-27 15:21:01 -0400197 hdmi0: connector {
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300198 compatible = "hdmi-connector";
199 label = "hdmi";
200
201 type = "c";
202
203 port {
204 hdmi_connector_in: endpoint {
205 remote-endpoint = <&tpd12s015_out>;
206 };
207 };
208 };
Benoit Cousson492beed2011-08-16 15:59:52 +0200209};
Benoit Cousson33632ae72011-08-23 17:17:46 +0200210
Tony Lindgren26638c62012-09-10 10:34:52 -0700211&omap4_pmx_core {
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300212 pinctrl-names = "default";
213 pinctrl-0 = <
Ricardo Neri347bf482012-11-05 15:14:15 +0200214 &dss_hdmi_pins
215 &tpd12s015_pins
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300216 >;
217
Tony Lindgren26638c62012-09-10 10:34:52 -0700218 uart2_pins: pinmux_uart2_pins {
219 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300220 OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */
221 OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */
222 OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */
223 OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */
Tony Lindgren26638c62012-09-10 10:34:52 -0700224 >;
225 };
226
227 uart3_pins: pinmux_uart3_pins {
228 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300229 OMAP4_IOPAD(0x140, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */
230 OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */
231 OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
232 OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
Tony Lindgren26638c62012-09-10 10:34:52 -0700233 >;
234 };
235
236 uart4_pins: pinmux_uart4_pins {
237 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300238 OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0) /* uart4_rx.uart4_rx */
239 OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0) /* uart4_tx.uart4_tx */
Tony Lindgren26638c62012-09-10 10:34:52 -0700240 >;
241 };
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300242
243 twl6040_pins: pinmux_twl6040_pins {
244 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300245 OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */
246 OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300247 >;
248 };
249
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300250 dmic_pins: pinmux_dmic_pins {
251 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300252 OMAP4_IOPAD(0x110, PIN_OUTPUT | MUX_MODE0) /* abe_dmic_clk1.abe_dmic_clk1 */
253 OMAP4_IOPAD(0x112, PIN_INPUT | MUX_MODE0) /* abe_dmic_din1.abe_dmic_din1 */
254 OMAP4_IOPAD(0x114, PIN_INPUT | MUX_MODE0) /* abe_dmic_din2.abe_dmic_din2 */
255 OMAP4_IOPAD(0x116, PIN_INPUT | MUX_MODE0) /* abe_dmic_din3.abe_dmic_din3 */
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300256 >;
257 };
258
259 mcbsp1_pins: pinmux_mcbsp1_pins {
260 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300261 OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
262 OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
263 OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
264 OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300265 >;
266 };
267
268 mcbsp2_pins: pinmux_mcbsp2_pins {
269 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300270 OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
271 OMAP4_IOPAD(0x0f8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dr.abe_mcbsp2_dr */
272 OMAP4_IOPAD(0x0fa, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dx.abe_mcbsp2_dx */
273 OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_fsx.abe_mcbsp2_fsx */
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300274 >;
275 };
Ricardo Neri347bf482012-11-05 15:14:15 +0200276
Tony Lindgrend5a2b342013-05-08 16:13:14 -0700277 mcspi1_pins: pinmux_mcspi1_pins {
278 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300279 OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
280 OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
281 OMAP4_IOPAD(0x136, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
282 OMAP4_IOPAD(0x138, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
Tony Lindgrend5a2b342013-05-08 16:13:14 -0700283 >;
284 };
285
Ricardo Neri347bf482012-11-05 15:14:15 +0200286 dss_hdmi_pins: pinmux_dss_hdmi_pins {
287 pinctrl-single,pins = <
Tony Lindgren3a8ed202017-06-27 01:58:32 -0700288 OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300289 OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
290 OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
Ricardo Neri347bf482012-11-05 15:14:15 +0200291 >;
292 };
293
294 tpd12s015_pins: pinmux_tpd12s015_pins {
295 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300296 OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */
297 OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */
298 OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
Ricardo Neri347bf482012-11-05 15:14:15 +0200299 >;
300 };
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530301
302 i2c1_pins: pinmux_i2c1_pins {
303 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300304 OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
305 OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530306 >;
307 };
308
309 i2c2_pins: pinmux_i2c2_pins {
310 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300311 OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
312 OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530313 >;
314 };
315
316 i2c3_pins: pinmux_i2c3_pins {
317 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300318 OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
319 OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530320 >;
321 };
322
323 i2c4_pins: pinmux_i2c4_pins {
324 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300325 OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
326 OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530327 >;
328 };
Tony Lindgren775d2412013-09-13 12:09:57 -0700329
330 /* wl12xx GPIO output for WLAN_EN */
331 wl12xx_gpio: pinmux_wl12xx_gpio {
332 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300333 OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3) /* gpmc_nwp.gpio_54 */
Tony Lindgren775d2412013-09-13 12:09:57 -0700334 >;
335 };
336
337 /* wl12xx GPIO inputs and SDIO pins */
338 wl12xx_pins: pinmux_wl12xx_pins {
339 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300340 OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */
341 OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */
342 OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */
343 OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */
344 OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */
345 OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */
346 OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */
Tony Lindgren775d2412013-09-13 12:09:57 -0700347 >;
348 };
Peter Ujfalusib4c30df2018-12-13 15:58:45 +0200349
350 /* gpio_48 for ENET_ENABLE */
351 enet_enable_gpio: pinmux_enet_enable_gpio {
352 pinctrl-single,pins = <
353 OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* gpmc_a24.gpio_48 */
354 >;
355 };
356
357 ks8851_pins: pinmux_ks8851_pins {
358 pinctrl-single,pins = <
359 /* ENET_INT */
360 OMAP4_IOPAD(0x054, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad10.gpio_34 */
361 /*
362 * Misterious pin which makes the ethernet working
363 * The legacy board file requested this pin on boot
364 * (ETH_KS8851_QUART) and set it to high, similarly to
365 * the ENET_ENABLE pin.
366 * We could use gpio-hog to keep it high, but let's use
367 * it as a reset GPIO for ks8851.
368 */
369 OMAP4_IOPAD(0x13a, PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcspi1_cs1.gpio_138 */
370 >;
371 };
Tony Lindgren26638c62012-09-10 10:34:52 -0700372};
373
Benoit Cousson33632ae72011-08-23 17:17:46 +0200374&i2c1 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530375 pinctrl-names = "default";
376 pinctrl-0 = <&i2c1_pins>;
377
Benoit Cousson33632ae72011-08-23 17:17:46 +0200378 clock-frequency = <400000>;
379
380 twl: twl@48 {
381 reg = <0x48>;
382 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200383 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
Benoit Cousson33632ae72011-08-23 17:17:46 +0200384 };
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300385
386 twl6040: twl@4b {
387 compatible = "ti,twl6040";
Peter Ujfalusi3cec5312016-05-30 11:55:16 +0300388 #clock-cells = <0>;
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300389 reg = <0x4b>;
Peter Ujfalusic5d75d52014-01-24 10:19:00 +0200390
391 pinctrl-names = "default";
392 pinctrl-0 = <&twl6040_pins>;
393
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300394 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200395 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
Javier Martinez Canillas3a637e02015-10-06 11:03:39 +0200396 ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300397
398 vio-supply = <&v1v8>;
399 v2v1-supply = <&v2v1>;
400 enable-active-high;
401
402 /* regulators for vibra motor */
403 vddvibl-supply = <&vbat>;
404 vddvibr-supply = <&vbat>;
405
406 vibra {
407 /* Vibra driver, motor resistance parameters */
408 ti,vibldrv-res = <8>;
409 ti,vibrdrv-res = <3>;
410 ti,viblmotor-res = <10>;
411 ti,vibrmotor-res = <10>;
412 };
413 };
Benoit Cousson33632ae72011-08-23 17:17:46 +0200414};
415
Florian Vaussard98ef79572013-05-31 14:32:55 +0200416#include "twl6030.dtsi"
Ruslan Bilovol06a9ea52013-08-14 11:35:47 +0300417#include "twl6030_omap4.dtsi"
Benoit Cousson33632ae72011-08-23 17:17:46 +0200418
419&i2c2 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530420 pinctrl-names = "default";
421 pinctrl-0 = <&i2c2_pins>;
422
Benoit Cousson33632ae72011-08-23 17:17:46 +0200423 clock-frequency = <400000>;
424};
425
426&i2c3 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530427 pinctrl-names = "default";
428 pinctrl-0 = <&i2c3_pins>;
429
Benoit Cousson33632ae72011-08-23 17:17:46 +0200430 clock-frequency = <400000>;
431
432 /*
433 * Temperature Sensor
434 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
435 */
436 tmp105@48 {
437 compatible = "ti,tmp105";
438 reg = <0x48>;
439 };
440
441 /*
442 * Ambient Light Sensor
443 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
444 */
445 bh1780@29 {
446 compatible = "rohm,bh1780";
447 reg = <0x29>;
448 };
449};
450
451&i2c4 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530452 pinctrl-names = "default";
453 pinctrl-0 = <&i2c4_pins>;
454
Benoit Cousson33632ae72011-08-23 17:17:46 +0200455 clock-frequency = <400000>;
456
457 /*
458 * 3-Axis Digital Compass
459 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
460 */
461 hmc5843@1e {
462 compatible = "honeywell,hmc5843";
463 reg = <0x1e>;
464 };
465};
Benoit Coussone7c64db2012-01-20 14:17:00 +0100466
467&mcspi1 {
Tony Lindgrend5a2b342013-05-08 16:13:14 -0700468 pinctrl-names = "default";
469 pinctrl-0 = <&mcspi1_pins>;
470
Benoit Coussone7c64db2012-01-20 14:17:00 +0100471 eth@0 {
Peter Ujfalusib4c30df2018-12-13 15:58:45 +0200472 pinctrl-names = "default";
473 pinctrl-0 = <&ks8851_pins>;
474
Benoit Coussone7c64db2012-01-20 14:17:00 +0100475 compatible = "ks8851";
476 spi-max-frequency = <24000000>;
477 reg = <0>;
478 interrupt-parent = <&gpio2>;
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200479 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
Benoit Coussone7c64db2012-01-20 14:17:00 +0100480 vdd-supply = <&vdd_eth>;
Peter Ujfalusib4c30df2018-12-13 15:58:45 +0200481 reset-gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>;
Benoit Coussone7c64db2012-01-20 14:17:00 +0100482 };
483};
Rajendra Nayak74981762011-10-04 17:10:27 +0530484
485&mmc1 {
486 vmmc-supply = <&vmmc>;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400487 bus-width = <8>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530488};
489
490&mmc2 {
491 vmmc-supply = <&vaux1>;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400492 bus-width = <8>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530493 ti,non-removable;
494};
495
496&mmc3 {
Roland Stiggefd5c3fd2012-06-21 01:36:03 -0700497 status = "disabled";
Rajendra Nayak74981762011-10-04 17:10:27 +0530498};
499
500&mmc4 {
Roland Stiggefd5c3fd2012-06-21 01:36:03 -0700501 status = "disabled";
Rajendra Nayak74981762011-10-04 17:10:27 +0530502};
503
504&mmc5 {
Tony Lindgren775d2412013-09-13 12:09:57 -0700505 pinctrl-names = "default";
506 pinctrl-0 = <&wl12xx_pins>;
507 vmmc-supply = <&wl12xx_vmmc>;
508 non-removable;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400509 bus-width = <4>;
Tony Lindgren775d2412013-09-13 12:09:57 -0700510 cap-power-off-card;
Eliad Peller99f84ca2015-03-18 18:38:29 +0200511
512 #address-cells = <1>;
513 #size-cells = <0>;
514 wlcore: wlcore@2 {
515 compatible = "ti,wl1281";
516 reg = <2>;
517 interrupt-parent = <&gpio1>;
Tony Lindgren572cf7d2018-07-02 23:57:20 -0700518 interrupts = <21 IRQ_TYPE_EDGE_RISING>; /* gpio 53 */
Eliad Peller99f84ca2015-03-18 18:38:29 +0200519 ref-clock-frequency = <26000000>;
520 tcxo-clock-frequency = <26000000>;
521 };
Rajendra Nayak74981762011-10-04 17:10:27 +0530522};
Sourav Poddar61bc3542012-08-14 16:45:37 +0530523
Aneesh V11c27062012-01-20 20:35:26 +0530524&emif1 {
525 cs1-used;
526 device-handle = <&elpida_ECB240ABACN>;
527};
528
529&emif2 {
530 cs1-used;
531 device-handle = <&elpida_ECB240ABACN>;
532};
533
Sourav Poddar61bc3542012-08-14 16:45:37 +0530534&keypad {
535 keypad,num-rows = <8>;
536 keypad,num-columns = <8>;
537 linux,keymap = <0x00000012 /* KEY_E */
538 0x00010013 /* KEY_R */
539 0x00020014 /* KEY_T */
540 0x00030066 /* KEY_HOME */
541 0x0004003f /* KEY_F5 */
542 0x000500f0 /* KEY_UNKNOWN */
543 0x00060017 /* KEY_I */
544 0x0007002a /* KEY_LEFTSHIFT */
545 0x01000020 /* KEY_D*/
546 0x01010021 /* KEY_F */
547 0x01020022 /* KEY_G */
548 0x010300e7 /* KEY_SEND */
549 0x01040040 /* KEY_F6 */
550 0x010500f0 /* KEY_UNKNOWN */
551 0x01060025 /* KEY_K */
552 0x0107001c /* KEY_ENTER */
553 0x0200002d /* KEY_X */
554 0x0201002e /* KEY_C */
555 0x0202002f /* KEY_V */
556 0x0203006b /* KEY_END */
557 0x02040041 /* KEY_F7 */
558 0x020500f0 /* KEY_UNKNOWN */
559 0x02060034 /* KEY_DOT */
560 0x0207003a /* KEY_CAPSLOCK */
561 0x0300002c /* KEY_Z */
562 0x0301004e /* KEY_KPLUS */
563 0x03020030 /* KEY_B */
564 0x0303003b /* KEY_F1 */
565 0x03040042 /* KEY_F8 */
566 0x030500f0 /* KEY_UNKNOWN */
567 0x03060018 /* KEY_O */
568 0x03070039 /* KEY_SPACE */
569 0x04000011 /* KEY_W */
570 0x04010015 /* KEY_Y */
571 0x04020016 /* KEY_U */
572 0x0403003c /* KEY_F2 */
573 0x04040073 /* KEY_VOLUMEUP */
574 0x040500f0 /* KEY_UNKNOWN */
575 0x04060026 /* KEY_L */
576 0x04070069 /* KEY_LEFT */
577 0x0500001f /* KEY_S */
578 0x05010023 /* KEY_H */
579 0x05020024 /* KEY_J */
580 0x0503003d /* KEY_F3 */
581 0x05040043 /* KEY_F9 */
582 0x05050072 /* KEY_VOLUMEDOWN */
583 0x05060032 /* KEY_M */
584 0x0507006a /* KEY_RIGHT */
585 0x06000010 /* KEY_Q */
586 0x0601001e /* KEY_A */
587 0x06020031 /* KEY_N */
588 0x0603009e /* KEY_BACK */
589 0x0604000e /* KEY_BACKSPACE */
590 0x060500f0 /* KEY_UNKNOWN */
591 0x06060019 /* KEY_P */
592 0x06070067 /* KEY_UP */
593 0x07000094 /* KEY_PROG1 */
594 0x07010095 /* KEY_PROG2 */
595 0x070200ca /* KEY_PROG3 */
596 0x070300cb /* KEY_PROG4 */
597 0x0704003e /* KEY_F4 */
598 0x070500f0 /* KEY_UNKNOWN */
599 0x07060160 /* KEY_OK */
600 0x0707006c>; /* KEY_DOWN */
601 linux,input-no-autorepeat;
602};
Tony Lindgren26638c62012-09-10 10:34:52 -0700603
604&uart2 {
Marc Zyngier7136d452015-03-11 15:43:49 +0000605 interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
Tony Lindgren31f08202014-05-05 17:27:39 -0700606 &omap4_pmx_core OMAP4_UART2_RX>;
Tony Lindgren26638c62012-09-10 10:34:52 -0700607 pinctrl-names = "default";
608 pinctrl-0 = <&uart2_pins>;
609};
610
611&uart3 {
Marc Zyngier7136d452015-03-11 15:43:49 +0000612 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
Tony Lindgren31f08202014-05-05 17:27:39 -0700613 &omap4_pmx_core OMAP4_UART3_RX>;
Tony Lindgren26638c62012-09-10 10:34:52 -0700614 pinctrl-names = "default";
615 pinctrl-0 = <&uart3_pins>;
616};
617
618&uart4 {
Marc Zyngier7136d452015-03-11 15:43:49 +0000619 interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
Tony Lindgren31f08202014-05-05 17:27:39 -0700620 &omap4_pmx_core OMAP4_UART4_RX>;
Tony Lindgren26638c62012-09-10 10:34:52 -0700621 pinctrl-names = "default";
622 pinctrl-0 = <&uart4_pins>;
623};
Peter Ujfalusi6e659282012-10-04 14:57:23 +0300624
Peter Ujfalusic5d75d52014-01-24 10:19:00 +0200625&mcbsp1 {
626 pinctrl-names = "default";
627 pinctrl-0 = <&mcbsp1_pins>;
628 status = "okay";
629};
630
631&mcbsp2 {
632 pinctrl-names = "default";
633 pinctrl-0 = <&mcbsp2_pins>;
634 status = "okay";
635};
636
Peter Ujfalusic5d75d52014-01-24 10:19:00 +0200637&dmic {
638 pinctrl-names = "default";
639 pinctrl-0 = <&dmic_pins>;
640 status = "okay";
641};
642
Kishon Vijay Abraham I6ff862f2012-09-19 15:02:06 +0530643&twl_usb_comparator {
644 usb-supply = <&vusb>;
645};
Kishon Vijay Abraham Iad871c12013-03-07 19:05:16 +0530646
647&usb_otg_hs {
648 interface-type = <1>;
649 mode = <3>;
650 power = <50>;
651};
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300652
653&dss {
654 status = "ok";
655};
656
657&dsi1 {
658 status = "ok";
659 vdd-supply = <&vcxio>;
660
661 port {
662 dsi1_out_ep: endpoint {
663 remote-endpoint = <&lcd0_in>;
664 lanes = <0 1 2 3 4 5>;
665 };
666 };
667
668 lcd0: display {
669 compatible = "tpo,taal", "panel-dsi-cm";
670 label = "lcd0";
671
672 reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
673
674 port {
675 lcd0_in: endpoint {
676 remote-endpoint = <&dsi1_out_ep>;
677 };
678 };
679 };
680};
681
682&dsi2 {
683 status = "ok";
684 vdd-supply = <&vcxio>;
685
686 port {
687 dsi2_out_ep: endpoint {
688 remote-endpoint = <&lcd1_in>;
689 lanes = <0 1 2 3 4 5>;
690 };
691 };
692
693 lcd1: display {
694 compatible = "tpo,taal", "panel-dsi-cm";
695 label = "lcd1";
696
697 reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
698
699 port {
700 lcd1_in: endpoint {
701 remote-endpoint = <&dsi2_out_ep>;
702 };
703 };
704 };
705};
706
707&hdmi {
708 status = "ok";
709 vdda-supply = <&vdac>;
710
711 port {
712 hdmi_out: endpoint {
713 remote-endpoint = <&tpd12s015_in>;
714 };
715 };
716};