blob: c88817bdcc560d231c274fd88f536f8f70ba6bee [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"
Benoit Cousson492beed2011-08-16 15:59:52 +020012
13/ {
14 model = "TI OMAP4 SDP board";
15 compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4";
16
Javier Martinez Canillas742ae1f2016-08-31 12:35:28 +020017 memory@80000000 {
Benoit Cousson492beed2011-08-16 15:59:52 +020018 device_type = "memory";
19 reg = <0x80000000 0x40000000>; /* 1 GB */
20 };
Benoit Coussone7c64db2012-01-20 14:17:00 +010021
Tomi Valkeinen7c572d52012-08-20 17:07:31 +030022 aliases {
23 display0 = &lcd0;
24 display1 = &lcd1;
25 display2 = &hdmi0;
26 };
27
Rajendra Nayak624411c2012-07-30 18:42:20 +053028 vdd_eth: fixedregulator-vdd-eth {
Peter Ujfalusib4c30df2018-12-13 15:58:45 +020029 pinctrl-names = "default";
30 pinctrl-0 = <&enet_enable_gpio>;
31
Benoit Coussone7c64db2012-01-20 14:17:00 +010032 compatible = "regulator-fixed";
33 regulator-name = "VDD_ETH";
34 regulator-min-microvolt = <3300000>;
35 regulator-max-microvolt = <3300000>;
Javier Martinez Canillas3a637e02015-10-06 11:03:39 +020036 gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>; /* gpio line 48 */
Benoit Coussone7c64db2012-01-20 14:17:00 +010037 enable-active-high;
38 regulator-boot-on;
Russell King - ARM Linux84fb6c72018-12-07 09:17:07 -080039 startup-delay-us = <25000>;
Benoit Coussone7c64db2012-01-20 14:17:00 +010040 };
Benoit Cousson83909c72012-05-08 18:37:26 +020041
Rajendra Nayak624411c2012-07-30 18:42:20 +053042 vbat: fixedregulator-vbat {
Peter Ujfalusi4814f2f2012-06-08 17:02:01 +030043 compatible = "regulator-fixed";
44 regulator-name = "VBAT";
45 regulator-min-microvolt = <3750000>;
46 regulator-max-microvolt = <3750000>;
47 regulator-boot-on;
48 };
49
Benoit Cousson83909c72012-05-08 18:37:26 +020050 leds {
51 compatible = "gpio-leds";
52 debug0 {
53 label = "omap4:green:debug0";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020054 gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; /* 61 */
Benoit Cousson83909c72012-05-08 18:37:26 +020055 };
56
57 debug1 {
58 label = "omap4:green:debug1";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020059 gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; /* 30 */
Benoit Cousson83909c72012-05-08 18:37:26 +020060 };
61
62 debug2 {
63 label = "omap4:green:debug2";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020064 gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; /* 7 */
Benoit Cousson83909c72012-05-08 18:37:26 +020065 };
66
67 debug3 {
68 label = "omap4:green:debug3";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020069 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* 8 */
Benoit Cousson83909c72012-05-08 18:37:26 +020070 };
71
72 debug4 {
73 label = "omap4:green:debug4";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020074 gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */
Benoit Cousson83909c72012-05-08 18:37:26 +020075 };
76
77 user1 {
78 label = "omap4:blue:user";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020079 gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */
Benoit Cousson83909c72012-05-08 18:37:26 +020080 };
81
82 user2 {
83 label = "omap4:red:user";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020084 gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */
Benoit Cousson83909c72012-05-08 18:37:26 +020085 };
86
87 user3 {
88 label = "omap4:green:user";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020089 gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* 139 */
Benoit Cousson83909c72012-05-08 18:37:26 +020090 };
91 };
Peter Ujfalusib15bb2c2012-06-08 17:02:03 +030092
Peter Ujfalusi28f166cb2012-11-12 15:06:56 +010093 pwmleds {
94 compatible = "pwm-leds";
95 kpad {
96 label = "omap4::keypad";
97 pwms = <&twl_pwm 0 7812500>;
98 max-brightness = <127>;
99 };
100
101 charging {
102 label = "omap4:green:chrg";
103 pwms = <&twl_pwmled 0 7812500>;
104 max-brightness = <255>;
105 };
106 };
107
Peter Ujfalusif95c01d2013-01-18 15:00:47 +0100108 backlight {
109 compatible = "pwm-backlight";
110 pwms = <&twl_pwm 1 7812500>;
111 brightness-levels = <
112 0 10 20 30 40
113 50 60 70 80 90
114 100 110 120 127
115 >;
116 default-brightness-level = <13>;
117 };
118
Peter Ujfalusib15bb2c2012-06-08 17:02:03 +0300119 sound {
120 compatible = "ti,abe-twl6040";
121 ti,model = "SDP4430";
122
123 ti,jack-detection = <1>;
124 ti,mclk-freq = <38400000>;
125
126 ti,mcpdm = <&mcpdm>;
127 ti,dmic = <&dmic>;
128
129 ti,twl6040 = <&twl6040>;
130
131 /* Audio routing */
132 ti,audio-routing =
133 "Headset Stereophone", "HSOL",
134 "Headset Stereophone", "HSOR",
135 "Earphone Spk", "EP",
136 "Ext Spk", "HFL",
137 "Ext Spk", "HFR",
138 "Line Out", "AUXL",
139 "Line Out", "AUXR",
140 "Vibrator", "VIBRAL",
141 "Vibrator", "VIBRAR",
142 "HSMIC", "Headset Mic",
143 "Headset Mic", "Headset Mic Bias",
144 "MAINMIC", "Main Handset Mic",
145 "Main Handset Mic", "Main Mic Bias",
146 "SUBMIC", "Sub Handset Mic",
147 "Sub Handset Mic", "Main Mic Bias",
148 "AFML", "Line In",
149 "AFMR", "Line In",
150 "DMic", "Digital Mic",
151 "Digital Mic", "Digital Mic1 Bias";
152 };
Tony Lindgren775d2412013-09-13 12:09:57 -0700153
154 /* regulator for wl12xx on sdio5 */
155 wl12xx_vmmc: wl12xx_vmmc {
156 pinctrl-names = "default";
157 pinctrl-0 = <&wl12xx_gpio>;
158 compatible = "regulator-fixed";
159 regulator-name = "vwl1271";
160 regulator-min-microvolt = <1800000>;
161 regulator-max-microvolt = <1800000>;
Javier Martinez Canillas3a637e02015-10-06 11:03:39 +0200162 gpio = <&gpio2 22 GPIO_ACTIVE_HIGH>;
Tony Lindgren775d2412013-09-13 12:09:57 -0700163 startup-delay-us = <70000>;
164 enable-active-high;
165 };
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300166
Javier Martinez Canillasf9a10172016-06-27 15:21:01 -0400167 tpd12s015: encoder {
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300168 compatible = "ti,tpd12s015";
169
170 gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */
171 <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */
172 <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */
173
174 ports {
175 #address-cells = <1>;
176 #size-cells = <0>;
177
178 port@0 {
179 reg = <0>;
180
Javier Martinez Canillasf9a10172016-06-27 15:21:01 -0400181 tpd12s015_in: endpoint {
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300182 remote-endpoint = <&hdmi_out>;
183 };
184 };
185
186 port@1 {
187 reg = <1>;
188
Javier Martinez Canillasf9a10172016-06-27 15:21:01 -0400189 tpd12s015_out: endpoint {
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300190 remote-endpoint = <&hdmi_connector_in>;
191 };
192 };
193 };
194 };
195
Javier Martinez Canillasf9a10172016-06-27 15:21:01 -0400196 hdmi0: connector {
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300197 compatible = "hdmi-connector";
198 label = "hdmi";
199
200 type = "c";
201
202 port {
203 hdmi_connector_in: endpoint {
204 remote-endpoint = <&tpd12s015_out>;
205 };
206 };
207 };
Benoit Cousson492beed2011-08-16 15:59:52 +0200208};
Benoit Cousson33632ae2011-08-23 17:17:46 +0200209
Tony Lindgren26638c62012-09-10 10:34:52 -0700210&omap4_pmx_core {
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300211 pinctrl-names = "default";
212 pinctrl-0 = <
Ricardo Neri347bf482012-11-05 15:14:15 +0200213 &dss_hdmi_pins
214 &tpd12s015_pins
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300215 >;
216
Tony Lindgren26638c62012-09-10 10:34:52 -0700217 uart2_pins: pinmux_uart2_pins {
218 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300219 OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */
220 OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */
221 OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */
222 OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */
Tony Lindgren26638c62012-09-10 10:34:52 -0700223 >;
224 };
225
226 uart3_pins: pinmux_uart3_pins {
227 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300228 OMAP4_IOPAD(0x140, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */
229 OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */
230 OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
231 OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
Tony Lindgren26638c62012-09-10 10:34:52 -0700232 >;
233 };
234
235 uart4_pins: pinmux_uart4_pins {
236 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300237 OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0) /* uart4_rx.uart4_rx */
238 OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0) /* uart4_tx.uart4_tx */
Tony Lindgren26638c62012-09-10 10:34:52 -0700239 >;
240 };
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300241
242 twl6040_pins: pinmux_twl6040_pins {
243 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300244 OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */
245 OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300246 >;
247 };
248
249 mcpdm_pins: pinmux_mcpdm_pins {
250 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300251 OMAP4_IOPAD(0x106, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */
252 OMAP4_IOPAD(0x108, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */
253 OMAP4_IOPAD(0x10a, PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */
254 OMAP4_IOPAD(0x10c, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */
255 OMAP4_IOPAD(0x10e, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300256 >;
257 };
258
259 dmic_pins: pinmux_dmic_pins {
260 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300261 OMAP4_IOPAD(0x110, PIN_OUTPUT | MUX_MODE0) /* abe_dmic_clk1.abe_dmic_clk1 */
262 OMAP4_IOPAD(0x112, PIN_INPUT | MUX_MODE0) /* abe_dmic_din1.abe_dmic_din1 */
263 OMAP4_IOPAD(0x114, PIN_INPUT | MUX_MODE0) /* abe_dmic_din2.abe_dmic_din2 */
264 OMAP4_IOPAD(0x116, PIN_INPUT | MUX_MODE0) /* abe_dmic_din3.abe_dmic_din3 */
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300265 >;
266 };
267
268 mcbsp1_pins: pinmux_mcbsp1_pins {
269 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300270 OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
271 OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
272 OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
273 OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300274 >;
275 };
276
277 mcbsp2_pins: pinmux_mcbsp2_pins {
278 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300279 OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
280 OMAP4_IOPAD(0x0f8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dr.abe_mcbsp2_dr */
281 OMAP4_IOPAD(0x0fa, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dx.abe_mcbsp2_dx */
282 OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_fsx.abe_mcbsp2_fsx */
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300283 >;
284 };
Ricardo Neri347bf482012-11-05 15:14:15 +0200285
Tony Lindgrend5a2b342013-05-08 16:13:14 -0700286 mcspi1_pins: pinmux_mcspi1_pins {
287 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300288 OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
289 OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
290 OMAP4_IOPAD(0x136, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
291 OMAP4_IOPAD(0x138, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
Tony Lindgrend5a2b342013-05-08 16:13:14 -0700292 >;
293 };
294
Ricardo Neri347bf482012-11-05 15:14:15 +0200295 dss_hdmi_pins: pinmux_dss_hdmi_pins {
296 pinctrl-single,pins = <
Tony Lindgren3a8ed202017-06-27 01:58:32 -0700297 OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300298 OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
299 OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
Ricardo Neri347bf482012-11-05 15:14:15 +0200300 >;
301 };
302
303 tpd12s015_pins: pinmux_tpd12s015_pins {
304 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300305 OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */
306 OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */
307 OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
Ricardo Neri347bf482012-11-05 15:14:15 +0200308 >;
309 };
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530310
311 i2c1_pins: pinmux_i2c1_pins {
312 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300313 OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
314 OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530315 >;
316 };
317
318 i2c2_pins: pinmux_i2c2_pins {
319 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300320 OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
321 OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530322 >;
323 };
324
325 i2c3_pins: pinmux_i2c3_pins {
326 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300327 OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
328 OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530329 >;
330 };
331
332 i2c4_pins: pinmux_i2c4_pins {
333 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300334 OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
335 OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530336 >;
337 };
Tony Lindgren775d2412013-09-13 12:09:57 -0700338
339 /* wl12xx GPIO output for WLAN_EN */
340 wl12xx_gpio: pinmux_wl12xx_gpio {
341 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300342 OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3) /* gpmc_nwp.gpio_54 */
Tony Lindgren775d2412013-09-13 12:09:57 -0700343 >;
344 };
345
346 /* wl12xx GPIO inputs and SDIO pins */
347 wl12xx_pins: pinmux_wl12xx_pins {
348 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300349 OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */
350 OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */
351 OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */
352 OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */
353 OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */
354 OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */
355 OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */
Tony Lindgren775d2412013-09-13 12:09:57 -0700356 >;
357 };
Peter Ujfalusib4c30df2018-12-13 15:58:45 +0200358
359 /* gpio_48 for ENET_ENABLE */
360 enet_enable_gpio: pinmux_enet_enable_gpio {
361 pinctrl-single,pins = <
362 OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* gpmc_a24.gpio_48 */
363 >;
364 };
365
366 ks8851_pins: pinmux_ks8851_pins {
367 pinctrl-single,pins = <
368 /* ENET_INT */
369 OMAP4_IOPAD(0x054, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad10.gpio_34 */
370 /*
371 * Misterious pin which makes the ethernet working
372 * The legacy board file requested this pin on boot
373 * (ETH_KS8851_QUART) and set it to high, similarly to
374 * the ENET_ENABLE pin.
375 * We could use gpio-hog to keep it high, but let's use
376 * it as a reset GPIO for ks8851.
377 */
378 OMAP4_IOPAD(0x13a, PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcspi1_cs1.gpio_138 */
379 >;
380 };
Tony Lindgren26638c62012-09-10 10:34:52 -0700381};
382
Benoit Cousson33632ae2011-08-23 17:17:46 +0200383&i2c1 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530384 pinctrl-names = "default";
385 pinctrl-0 = <&i2c1_pins>;
386
Benoit Cousson33632ae2011-08-23 17:17:46 +0200387 clock-frequency = <400000>;
388
389 twl: twl@48 {
390 reg = <0x48>;
391 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200392 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
Benoit Cousson33632ae2011-08-23 17:17:46 +0200393 };
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300394
395 twl6040: twl@4b {
396 compatible = "ti,twl6040";
Peter Ujfalusi3cec5312016-05-30 11:55:16 +0300397 #clock-cells = <0>;
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300398 reg = <0x4b>;
Peter Ujfalusic5d75d52014-01-24 10:19:00 +0200399
400 pinctrl-names = "default";
401 pinctrl-0 = <&twl6040_pins>;
402
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300403 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200404 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
Javier Martinez Canillas3a637e02015-10-06 11:03:39 +0200405 ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300406
407 vio-supply = <&v1v8>;
408 v2v1-supply = <&v2v1>;
409 enable-active-high;
410
411 /* regulators for vibra motor */
412 vddvibl-supply = <&vbat>;
413 vddvibr-supply = <&vbat>;
414
415 vibra {
416 /* Vibra driver, motor resistance parameters */
417 ti,vibldrv-res = <8>;
418 ti,vibrdrv-res = <3>;
419 ti,viblmotor-res = <10>;
420 ti,vibrmotor-res = <10>;
421 };
422 };
Benoit Cousson33632ae2011-08-23 17:17:46 +0200423};
424
Florian Vaussard98ef79572013-05-31 14:32:55 +0200425#include "twl6030.dtsi"
Ruslan Bilovol06a9ea52013-08-14 11:35:47 +0300426#include "twl6030_omap4.dtsi"
Benoit Cousson33632ae2011-08-23 17:17:46 +0200427
428&i2c2 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530429 pinctrl-names = "default";
430 pinctrl-0 = <&i2c2_pins>;
431
Benoit Cousson33632ae2011-08-23 17:17:46 +0200432 clock-frequency = <400000>;
433};
434
435&i2c3 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530436 pinctrl-names = "default";
437 pinctrl-0 = <&i2c3_pins>;
438
Benoit Cousson33632ae2011-08-23 17:17:46 +0200439 clock-frequency = <400000>;
440
441 /*
442 * Temperature Sensor
443 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
444 */
445 tmp105@48 {
446 compatible = "ti,tmp105";
447 reg = <0x48>;
448 };
449
450 /*
451 * Ambient Light Sensor
452 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
453 */
454 bh1780@29 {
455 compatible = "rohm,bh1780";
456 reg = <0x29>;
457 };
458};
459
460&i2c4 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530461 pinctrl-names = "default";
462 pinctrl-0 = <&i2c4_pins>;
463
Benoit Cousson33632ae2011-08-23 17:17:46 +0200464 clock-frequency = <400000>;
465
466 /*
467 * 3-Axis Digital Compass
468 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
469 */
470 hmc5843@1e {
471 compatible = "honeywell,hmc5843";
472 reg = <0x1e>;
473 };
474};
Benoit Coussone7c64db2012-01-20 14:17:00 +0100475
476&mcspi1 {
Tony Lindgrend5a2b342013-05-08 16:13:14 -0700477 pinctrl-names = "default";
478 pinctrl-0 = <&mcspi1_pins>;
479
Benoit Coussone7c64db2012-01-20 14:17:00 +0100480 eth@0 {
Peter Ujfalusib4c30df2018-12-13 15:58:45 +0200481 pinctrl-names = "default";
482 pinctrl-0 = <&ks8851_pins>;
483
Benoit Coussone7c64db2012-01-20 14:17:00 +0100484 compatible = "ks8851";
485 spi-max-frequency = <24000000>;
486 reg = <0>;
487 interrupt-parent = <&gpio2>;
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200488 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
Benoit Coussone7c64db2012-01-20 14:17:00 +0100489 vdd-supply = <&vdd_eth>;
Peter Ujfalusib4c30df2018-12-13 15:58:45 +0200490 reset-gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>;
Benoit Coussone7c64db2012-01-20 14:17:00 +0100491 };
492};
Rajendra Nayak74981762011-10-04 17:10:27 +0530493
494&mmc1 {
495 vmmc-supply = <&vmmc>;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400496 bus-width = <8>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530497};
498
499&mmc2 {
500 vmmc-supply = <&vaux1>;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400501 bus-width = <8>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530502 ti,non-removable;
503};
504
505&mmc3 {
Roland Stiggefd5c3fd2012-06-21 01:36:03 -0700506 status = "disabled";
Rajendra Nayak74981762011-10-04 17:10:27 +0530507};
508
509&mmc4 {
Roland Stiggefd5c3fd2012-06-21 01:36:03 -0700510 status = "disabled";
Rajendra Nayak74981762011-10-04 17:10:27 +0530511};
512
513&mmc5 {
Tony Lindgren775d2412013-09-13 12:09:57 -0700514 pinctrl-names = "default";
515 pinctrl-0 = <&wl12xx_pins>;
516 vmmc-supply = <&wl12xx_vmmc>;
517 non-removable;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400518 bus-width = <4>;
Tony Lindgren775d2412013-09-13 12:09:57 -0700519 cap-power-off-card;
Eliad Peller99f84ca2015-03-18 18:38:29 +0200520
521 #address-cells = <1>;
522 #size-cells = <0>;
523 wlcore: wlcore@2 {
524 compatible = "ti,wl1281";
525 reg = <2>;
526 interrupt-parent = <&gpio1>;
Tony Lindgren572cf7d2018-07-02 23:57:20 -0700527 interrupts = <21 IRQ_TYPE_EDGE_RISING>; /* gpio 53 */
Eliad Peller99f84ca2015-03-18 18:38:29 +0200528 ref-clock-frequency = <26000000>;
529 tcxo-clock-frequency = <26000000>;
530 };
Rajendra Nayak74981762011-10-04 17:10:27 +0530531};
Sourav Poddar61bc3542012-08-14 16:45:37 +0530532
Aneesh V11c27062012-01-20 20:35:26 +0530533&emif1 {
534 cs1-used;
535 device-handle = <&elpida_ECB240ABACN>;
536};
537
538&emif2 {
539 cs1-used;
540 device-handle = <&elpida_ECB240ABACN>;
541};
542
Sourav Poddar61bc3542012-08-14 16:45:37 +0530543&keypad {
544 keypad,num-rows = <8>;
545 keypad,num-columns = <8>;
546 linux,keymap = <0x00000012 /* KEY_E */
547 0x00010013 /* KEY_R */
548 0x00020014 /* KEY_T */
549 0x00030066 /* KEY_HOME */
550 0x0004003f /* KEY_F5 */
551 0x000500f0 /* KEY_UNKNOWN */
552 0x00060017 /* KEY_I */
553 0x0007002a /* KEY_LEFTSHIFT */
554 0x01000020 /* KEY_D*/
555 0x01010021 /* KEY_F */
556 0x01020022 /* KEY_G */
557 0x010300e7 /* KEY_SEND */
558 0x01040040 /* KEY_F6 */
559 0x010500f0 /* KEY_UNKNOWN */
560 0x01060025 /* KEY_K */
561 0x0107001c /* KEY_ENTER */
562 0x0200002d /* KEY_X */
563 0x0201002e /* KEY_C */
564 0x0202002f /* KEY_V */
565 0x0203006b /* KEY_END */
566 0x02040041 /* KEY_F7 */
567 0x020500f0 /* KEY_UNKNOWN */
568 0x02060034 /* KEY_DOT */
569 0x0207003a /* KEY_CAPSLOCK */
570 0x0300002c /* KEY_Z */
571 0x0301004e /* KEY_KPLUS */
572 0x03020030 /* KEY_B */
573 0x0303003b /* KEY_F1 */
574 0x03040042 /* KEY_F8 */
575 0x030500f0 /* KEY_UNKNOWN */
576 0x03060018 /* KEY_O */
577 0x03070039 /* KEY_SPACE */
578 0x04000011 /* KEY_W */
579 0x04010015 /* KEY_Y */
580 0x04020016 /* KEY_U */
581 0x0403003c /* KEY_F2 */
582 0x04040073 /* KEY_VOLUMEUP */
583 0x040500f0 /* KEY_UNKNOWN */
584 0x04060026 /* KEY_L */
585 0x04070069 /* KEY_LEFT */
586 0x0500001f /* KEY_S */
587 0x05010023 /* KEY_H */
588 0x05020024 /* KEY_J */
589 0x0503003d /* KEY_F3 */
590 0x05040043 /* KEY_F9 */
591 0x05050072 /* KEY_VOLUMEDOWN */
592 0x05060032 /* KEY_M */
593 0x0507006a /* KEY_RIGHT */
594 0x06000010 /* KEY_Q */
595 0x0601001e /* KEY_A */
596 0x06020031 /* KEY_N */
597 0x0603009e /* KEY_BACK */
598 0x0604000e /* KEY_BACKSPACE */
599 0x060500f0 /* KEY_UNKNOWN */
600 0x06060019 /* KEY_P */
601 0x06070067 /* KEY_UP */
602 0x07000094 /* KEY_PROG1 */
603 0x07010095 /* KEY_PROG2 */
604 0x070200ca /* KEY_PROG3 */
605 0x070300cb /* KEY_PROG4 */
606 0x0704003e /* KEY_F4 */
607 0x070500f0 /* KEY_UNKNOWN */
608 0x07060160 /* KEY_OK */
609 0x0707006c>; /* KEY_DOWN */
610 linux,input-no-autorepeat;
611};
Tony Lindgren26638c62012-09-10 10:34:52 -0700612
613&uart2 {
Marc Zyngier7136d452015-03-11 15:43:49 +0000614 interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
Tony Lindgren31f08202014-05-05 17:27:39 -0700615 &omap4_pmx_core OMAP4_UART2_RX>;
Tony Lindgren26638c62012-09-10 10:34:52 -0700616 pinctrl-names = "default";
617 pinctrl-0 = <&uart2_pins>;
618};
619
620&uart3 {
Marc Zyngier7136d452015-03-11 15:43:49 +0000621 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
Tony Lindgren31f08202014-05-05 17:27:39 -0700622 &omap4_pmx_core OMAP4_UART3_RX>;
Tony Lindgren26638c62012-09-10 10:34:52 -0700623 pinctrl-names = "default";
624 pinctrl-0 = <&uart3_pins>;
625};
626
627&uart4 {
Marc Zyngier7136d452015-03-11 15:43:49 +0000628 interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
Tony Lindgren31f08202014-05-05 17:27:39 -0700629 &omap4_pmx_core OMAP4_UART4_RX>;
Tony Lindgren26638c62012-09-10 10:34:52 -0700630 pinctrl-names = "default";
631 pinctrl-0 = <&uart4_pins>;
632};
Peter Ujfalusi6e659282012-10-04 14:57:23 +0300633
Peter Ujfalusic5d75d52014-01-24 10:19:00 +0200634&mcbsp1 {
635 pinctrl-names = "default";
636 pinctrl-0 = <&mcbsp1_pins>;
637 status = "okay";
638};
639
640&mcbsp2 {
641 pinctrl-names = "default";
642 pinctrl-0 = <&mcbsp2_pins>;
643 status = "okay";
644};
645
Peter Ujfalusic5d75d52014-01-24 10:19:00 +0200646&dmic {
647 pinctrl-names = "default";
648 pinctrl-0 = <&dmic_pins>;
649 status = "okay";
650};
651
652&mcpdm {
653 pinctrl-names = "default";
654 pinctrl-0 = <&mcpdm_pins>;
Peter Ujfalusi3cec5312016-05-30 11:55:16 +0300655
656 clocks = <&twl6040>;
657 clock-names = "pdmclk";
658
Peter Ujfalusic5d75d52014-01-24 10:19:00 +0200659 status = "okay";
660};
661
Kishon Vijay Abraham I6ff862f2012-09-19 15:02:06 +0530662&twl_usb_comparator {
663 usb-supply = <&vusb>;
664};
Kishon Vijay Abraham Iad871c12013-03-07 19:05:16 +0530665
666&usb_otg_hs {
667 interface-type = <1>;
668 mode = <3>;
669 power = <50>;
670};
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300671
672&dss {
673 status = "ok";
674};
675
676&dsi1 {
677 status = "ok";
678 vdd-supply = <&vcxio>;
679
680 port {
681 dsi1_out_ep: endpoint {
682 remote-endpoint = <&lcd0_in>;
683 lanes = <0 1 2 3 4 5>;
684 };
685 };
686
687 lcd0: display {
688 compatible = "tpo,taal", "panel-dsi-cm";
689 label = "lcd0";
690
691 reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
692
693 port {
694 lcd0_in: endpoint {
695 remote-endpoint = <&dsi1_out_ep>;
696 };
697 };
698 };
699};
700
701&dsi2 {
702 status = "ok";
703 vdd-supply = <&vcxio>;
704
705 port {
706 dsi2_out_ep: endpoint {
707 remote-endpoint = <&lcd1_in>;
708 lanes = <0 1 2 3 4 5>;
709 };
710 };
711
712 lcd1: display {
713 compatible = "tpo,taal", "panel-dsi-cm";
714 label = "lcd1";
715
716 reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
717
718 port {
719 lcd1_in: endpoint {
720 remote-endpoint = <&dsi2_out_ep>;
721 };
722 };
723 };
724};
725
726&hdmi {
727 status = "ok";
728 vdda-supply = <&vdac>;
729
730 port {
731 hdmi_out: endpoint {
732 remote-endpoint = <&tpd12s015_in>;
733 };
734 };
735};