blob: 3c274965ff40a24ab6aa3439c6b7f344b6d37757 [file] [log] [blame]
Thomas Gleixnerd2912cb2019-06-04 10:11:33 +02001// SPDX-License-Identifier: GPL-2.0-only
Benoit Cousson492beed2011-08-16 15:59:52 +02002/*
3 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
Benoit Cousson492beed2011-08-16 15:59:52 +02004 */
5/dts-v1/;
6
Florian Vaussard98ef79572013-05-31 14:32:55 +02007#include "omap443x.dtsi"
8#include "elpida_ecb240abacn.dtsi"
Tony Lindgrened01ffd2019-04-09 09:00:53 -07009#include "omap4-mcpdm.dtsi"
Benoit Cousson492beed2011-08-16 15:59:52 +020010
11/ {
12 model = "TI OMAP4 SDP board";
13 compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4";
14
Javier Martinez Canillas742ae1f2016-08-31 12:35:28 +020015 memory@80000000 {
Benoit Cousson492beed2011-08-16 15:59:52 +020016 device_type = "memory";
17 reg = <0x80000000 0x40000000>; /* 1 GB */
18 };
Benoit Coussone7c64db2012-01-20 14:17:00 +010019
Tomi Valkeinen7c572d52012-08-20 17:07:31 +030020 aliases {
21 display0 = &lcd0;
22 display1 = &lcd1;
23 display2 = &hdmi0;
24 };
25
Rajendra Nayak624411c2012-07-30 18:42:20 +053026 vdd_eth: fixedregulator-vdd-eth {
Peter Ujfalusib4c30df2018-12-13 15:58:45 +020027 pinctrl-names = "default";
28 pinctrl-0 = <&enet_enable_gpio>;
29
Benoit Coussone7c64db2012-01-20 14:17:00 +010030 compatible = "regulator-fixed";
31 regulator-name = "VDD_ETH";
32 regulator-min-microvolt = <3300000>;
33 regulator-max-microvolt = <3300000>;
Javier Martinez Canillas3a637e02015-10-06 11:03:39 +020034 gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>; /* gpio line 48 */
Benoit Coussone7c64db2012-01-20 14:17:00 +010035 enable-active-high;
36 regulator-boot-on;
Russell King - ARM Linux84fb6c72018-12-07 09:17:07 -080037 startup-delay-us = <25000>;
Benoit Coussone7c64db2012-01-20 14:17:00 +010038 };
Benoit Cousson83909c72012-05-08 18:37:26 +020039
Rajendra Nayak624411c2012-07-30 18:42:20 +053040 vbat: fixedregulator-vbat {
Peter Ujfalusi4814f2f2012-06-08 17:02:01 +030041 compatible = "regulator-fixed";
42 regulator-name = "VBAT";
43 regulator-min-microvolt = <3750000>;
44 regulator-max-microvolt = <3750000>;
45 regulator-boot-on;
46 };
47
Benoit Cousson83909c72012-05-08 18:37:26 +020048 leds {
49 compatible = "gpio-leds";
50 debug0 {
51 label = "omap4:green:debug0";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020052 gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; /* 61 */
Benoit Cousson83909c72012-05-08 18:37:26 +020053 };
54
55 debug1 {
56 label = "omap4:green:debug1";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020057 gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; /* 30 */
Benoit Cousson83909c72012-05-08 18:37:26 +020058 };
59
60 debug2 {
61 label = "omap4:green:debug2";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020062 gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; /* 7 */
Benoit Cousson83909c72012-05-08 18:37:26 +020063 };
64
65 debug3 {
66 label = "omap4:green:debug3";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020067 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* 8 */
Benoit Cousson83909c72012-05-08 18:37:26 +020068 };
69
70 debug4 {
71 label = "omap4:green:debug4";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020072 gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */
Benoit Cousson83909c72012-05-08 18:37:26 +020073 };
74
75 user1 {
76 label = "omap4:blue:user";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020077 gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */
Benoit Cousson83909c72012-05-08 18:37:26 +020078 };
79
80 user2 {
81 label = "omap4:red:user";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020082 gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */
Benoit Cousson83909c72012-05-08 18:37:26 +020083 };
84
85 user3 {
86 label = "omap4:green:user";
Florian Vaussard6d624ea2013-05-31 14:32:56 +020087 gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* 139 */
Benoit Cousson83909c72012-05-08 18:37:26 +020088 };
89 };
Peter Ujfalusib15bb2c2012-06-08 17:02:03 +030090
Peter Ujfalusi28f166cb2012-11-12 15:06:56 +010091 pwmleds {
92 compatible = "pwm-leds";
93 kpad {
94 label = "omap4::keypad";
95 pwms = <&twl_pwm 0 7812500>;
96 max-brightness = <127>;
97 };
98
99 charging {
100 label = "omap4:green:chrg";
101 pwms = <&twl_pwmled 0 7812500>;
102 max-brightness = <255>;
103 };
104 };
105
Peter Ujfalusif95c01d2013-01-18 15:00:47 +0100106 backlight {
107 compatible = "pwm-backlight";
108 pwms = <&twl_pwm 1 7812500>;
109 brightness-levels = <
110 0 10 20 30 40
111 50 60 70 80 90
112 100 110 120 127
113 >;
114 default-brightness-level = <13>;
115 };
116
Peter Ujfalusib15bb2c2012-06-08 17:02:03 +0300117 sound {
118 compatible = "ti,abe-twl6040";
119 ti,model = "SDP4430";
120
121 ti,jack-detection = <1>;
122 ti,mclk-freq = <38400000>;
123
124 ti,mcpdm = <&mcpdm>;
125 ti,dmic = <&dmic>;
126
127 ti,twl6040 = <&twl6040>;
128
129 /* Audio routing */
130 ti,audio-routing =
131 "Headset Stereophone", "HSOL",
132 "Headset Stereophone", "HSOR",
133 "Earphone Spk", "EP",
134 "Ext Spk", "HFL",
135 "Ext Spk", "HFR",
136 "Line Out", "AUXL",
137 "Line Out", "AUXR",
138 "Vibrator", "VIBRAL",
139 "Vibrator", "VIBRAR",
140 "HSMIC", "Headset Mic",
141 "Headset Mic", "Headset Mic Bias",
142 "MAINMIC", "Main Handset Mic",
143 "Main Handset Mic", "Main Mic Bias",
144 "SUBMIC", "Sub Handset Mic",
145 "Sub Handset Mic", "Main Mic Bias",
146 "AFML", "Line In",
147 "AFMR", "Line In",
148 "DMic", "Digital Mic",
149 "Digital Mic", "Digital Mic1 Bias";
150 };
Tony Lindgren775d2412013-09-13 12:09:57 -0700151
152 /* regulator for wl12xx on sdio5 */
153 wl12xx_vmmc: wl12xx_vmmc {
154 pinctrl-names = "default";
155 pinctrl-0 = <&wl12xx_gpio>;
156 compatible = "regulator-fixed";
157 regulator-name = "vwl1271";
158 regulator-min-microvolt = <1800000>;
159 regulator-max-microvolt = <1800000>;
Javier Martinez Canillas3a637e02015-10-06 11:03:39 +0200160 gpio = <&gpio2 22 GPIO_ACTIVE_HIGH>;
Tony Lindgren775d2412013-09-13 12:09:57 -0700161 startup-delay-us = <70000>;
162 enable-active-high;
163 };
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300164
Javier Martinez Canillasf9a10172016-06-27 15:21:01 -0400165 tpd12s015: encoder {
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300166 compatible = "ti,tpd12s015";
167
168 gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */
169 <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */
170 <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */
171
172 ports {
173 #address-cells = <1>;
174 #size-cells = <0>;
175
176 port@0 {
177 reg = <0>;
178
Javier Martinez Canillasf9a10172016-06-27 15:21:01 -0400179 tpd12s015_in: endpoint {
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300180 remote-endpoint = <&hdmi_out>;
181 };
182 };
183
184 port@1 {
185 reg = <1>;
186
Javier Martinez Canillasf9a10172016-06-27 15:21:01 -0400187 tpd12s015_out: endpoint {
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300188 remote-endpoint = <&hdmi_connector_in>;
189 };
190 };
191 };
192 };
193
Javier Martinez Canillasf9a10172016-06-27 15:21:01 -0400194 hdmi0: connector {
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300195 compatible = "hdmi-connector";
196 label = "hdmi";
197
198 type = "c";
199
200 port {
201 hdmi_connector_in: endpoint {
202 remote-endpoint = <&tpd12s015_out>;
203 };
204 };
205 };
Benoit Cousson492beed2011-08-16 15:59:52 +0200206};
Benoit Cousson33632ae2011-08-23 17:17:46 +0200207
Tony Lindgren26638c62012-09-10 10:34:52 -0700208&omap4_pmx_core {
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300209 pinctrl-names = "default";
210 pinctrl-0 = <
Ricardo Neri347bf482012-11-05 15:14:15 +0200211 &dss_hdmi_pins
212 &tpd12s015_pins
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300213 >;
214
Tony Lindgren26638c62012-09-10 10:34:52 -0700215 uart2_pins: pinmux_uart2_pins {
216 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300217 OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */
218 OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */
219 OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */
220 OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */
Tony Lindgren26638c62012-09-10 10:34:52 -0700221 >;
222 };
223
224 uart3_pins: pinmux_uart3_pins {
225 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300226 OMAP4_IOPAD(0x140, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */
227 OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */
228 OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
229 OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
Tony Lindgren26638c62012-09-10 10:34:52 -0700230 >;
231 };
232
233 uart4_pins: pinmux_uart4_pins {
234 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300235 OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0) /* uart4_rx.uart4_rx */
236 OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0) /* uart4_tx.uart4_tx */
Tony Lindgren26638c62012-09-10 10:34:52 -0700237 >;
238 };
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300239
240 twl6040_pins: pinmux_twl6040_pins {
241 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300242 OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */
243 OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300244 >;
245 };
246
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300247 dmic_pins: pinmux_dmic_pins {
248 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300249 OMAP4_IOPAD(0x110, PIN_OUTPUT | MUX_MODE0) /* abe_dmic_clk1.abe_dmic_clk1 */
250 OMAP4_IOPAD(0x112, PIN_INPUT | MUX_MODE0) /* abe_dmic_din1.abe_dmic_din1 */
251 OMAP4_IOPAD(0x114, PIN_INPUT | MUX_MODE0) /* abe_dmic_din2.abe_dmic_din2 */
252 OMAP4_IOPAD(0x116, PIN_INPUT | MUX_MODE0) /* abe_dmic_din3.abe_dmic_din3 */
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300253 >;
254 };
255
256 mcbsp1_pins: pinmux_mcbsp1_pins {
257 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300258 OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
259 OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
260 OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
261 OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300262 >;
263 };
264
265 mcbsp2_pins: pinmux_mcbsp2_pins {
266 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300267 OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
268 OMAP4_IOPAD(0x0f8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dr.abe_mcbsp2_dr */
269 OMAP4_IOPAD(0x0fa, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dx.abe_mcbsp2_dx */
270 OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_fsx.abe_mcbsp2_fsx */
Peter Ujfalusi08386fe2012-10-04 14:57:25 +0300271 >;
272 };
Ricardo Neri347bf482012-11-05 15:14:15 +0200273
Tony Lindgrend5a2b342013-05-08 16:13:14 -0700274 mcspi1_pins: pinmux_mcspi1_pins {
275 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300276 OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
277 OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
278 OMAP4_IOPAD(0x136, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
279 OMAP4_IOPAD(0x138, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
Tony Lindgrend5a2b342013-05-08 16:13:14 -0700280 >;
281 };
282
Ricardo Neri347bf482012-11-05 15:14:15 +0200283 dss_hdmi_pins: pinmux_dss_hdmi_pins {
284 pinctrl-single,pins = <
Tony Lindgren3a8ed202017-06-27 01:58:32 -0700285 OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300286 OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
287 OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
Ricardo Neri347bf482012-11-05 15:14:15 +0200288 >;
289 };
290
291 tpd12s015_pins: pinmux_tpd12s015_pins {
292 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300293 OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */
294 OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */
295 OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
Ricardo Neri347bf482012-11-05 15:14:15 +0200296 >;
297 };
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530298
299 i2c1_pins: pinmux_i2c1_pins {
300 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300301 OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
302 OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530303 >;
304 };
305
306 i2c2_pins: pinmux_i2c2_pins {
307 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300308 OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
309 OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530310 >;
311 };
312
313 i2c3_pins: pinmux_i2c3_pins {
314 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300315 OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
316 OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530317 >;
318 };
319
320 i2c4_pins: pinmux_i2c4_pins {
321 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300322 OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
323 OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530324 >;
325 };
Tony Lindgren775d2412013-09-13 12:09:57 -0700326
327 /* wl12xx GPIO output for WLAN_EN */
328 wl12xx_gpio: pinmux_wl12xx_gpio {
329 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300330 OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3) /* gpmc_nwp.gpio_54 */
Tony Lindgren775d2412013-09-13 12:09:57 -0700331 >;
332 };
333
334 /* wl12xx GPIO inputs and SDIO pins */
335 wl12xx_pins: pinmux_wl12xx_pins {
336 pinctrl-single,pins = <
Javier Martinez Canillasb6bf4412015-11-13 01:54:12 -0300337 OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */
338 OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */
339 OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */
340 OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */
341 OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */
342 OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */
343 OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */
Tony Lindgren775d2412013-09-13 12:09:57 -0700344 >;
345 };
Peter Ujfalusib4c30df2018-12-13 15:58:45 +0200346
347 /* gpio_48 for ENET_ENABLE */
348 enet_enable_gpio: pinmux_enet_enable_gpio {
349 pinctrl-single,pins = <
350 OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* gpmc_a24.gpio_48 */
351 >;
352 };
353
354 ks8851_pins: pinmux_ks8851_pins {
355 pinctrl-single,pins = <
356 /* ENET_INT */
357 OMAP4_IOPAD(0x054, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad10.gpio_34 */
358 /*
359 * Misterious pin which makes the ethernet working
360 * The legacy board file requested this pin on boot
361 * (ETH_KS8851_QUART) and set it to high, similarly to
362 * the ENET_ENABLE pin.
363 * We could use gpio-hog to keep it high, but let's use
364 * it as a reset GPIO for ks8851.
365 */
366 OMAP4_IOPAD(0x13a, PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcspi1_cs1.gpio_138 */
367 >;
368 };
Tony Lindgren26638c62012-09-10 10:34:52 -0700369};
370
Benoit Cousson33632ae2011-08-23 17:17:46 +0200371&i2c1 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530372 pinctrl-names = "default";
373 pinctrl-0 = <&i2c1_pins>;
374
Benoit Cousson33632ae2011-08-23 17:17:46 +0200375 clock-frequency = <400000>;
376
377 twl: twl@48 {
378 reg = <0x48>;
379 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200380 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
Benoit Cousson33632ae2011-08-23 17:17:46 +0200381 };
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300382
383 twl6040: twl@4b {
384 compatible = "ti,twl6040";
Peter Ujfalusi3cec5312016-05-30 11:55:16 +0300385 #clock-cells = <0>;
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300386 reg = <0x4b>;
Peter Ujfalusic5d75d52014-01-24 10:19:00 +0200387
388 pinctrl-names = "default";
389 pinctrl-0 = <&twl6040_pins>;
390
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300391 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200392 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
Javier Martinez Canillas3a637e02015-10-06 11:03:39 +0200393 ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */
Peter Ujfalusiefd2af52012-06-08 17:02:02 +0300394
395 vio-supply = <&v1v8>;
396 v2v1-supply = <&v2v1>;
397 enable-active-high;
398
399 /* regulators for vibra motor */
400 vddvibl-supply = <&vbat>;
401 vddvibr-supply = <&vbat>;
402
403 vibra {
404 /* Vibra driver, motor resistance parameters */
405 ti,vibldrv-res = <8>;
406 ti,vibrdrv-res = <3>;
407 ti,viblmotor-res = <10>;
408 ti,vibrmotor-res = <10>;
409 };
410 };
Benoit Cousson33632ae2011-08-23 17:17:46 +0200411};
412
Florian Vaussard98ef79572013-05-31 14:32:55 +0200413#include "twl6030.dtsi"
Ruslan Bilovol06a9ea52013-08-14 11:35:47 +0300414#include "twl6030_omap4.dtsi"
Benoit Cousson33632ae2011-08-23 17:17:46 +0200415
416&i2c2 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530417 pinctrl-names = "default";
418 pinctrl-0 = <&i2c2_pins>;
419
Benoit Cousson33632ae2011-08-23 17:17:46 +0200420 clock-frequency = <400000>;
421};
422
423&i2c3 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530424 pinctrl-names = "default";
425 pinctrl-0 = <&i2c3_pins>;
426
Benoit Cousson33632ae2011-08-23 17:17:46 +0200427 clock-frequency = <400000>;
428
429 /*
430 * Temperature Sensor
431 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
432 */
433 tmp105@48 {
434 compatible = "ti,tmp105";
435 reg = <0x48>;
436 };
437
438 /*
439 * Ambient Light Sensor
440 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
441 */
442 bh1780@29 {
443 compatible = "rohm,bh1780";
444 reg = <0x29>;
445 };
446};
447
448&i2c4 {
Sourav Poddarbe26cd62013-02-13 14:58:12 +0530449 pinctrl-names = "default";
450 pinctrl-0 = <&i2c4_pins>;
451
Benoit Cousson33632ae2011-08-23 17:17:46 +0200452 clock-frequency = <400000>;
453
454 /*
455 * 3-Axis Digital Compass
456 * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
457 */
458 hmc5843@1e {
459 compatible = "honeywell,hmc5843";
460 reg = <0x1e>;
461 };
462};
Benoit Coussone7c64db2012-01-20 14:17:00 +0100463
464&mcspi1 {
Tony Lindgrend5a2b342013-05-08 16:13:14 -0700465 pinctrl-names = "default";
466 pinctrl-0 = <&mcspi1_pins>;
467
Benoit Coussone7c64db2012-01-20 14:17:00 +0100468 eth@0 {
Peter Ujfalusib4c30df2018-12-13 15:58:45 +0200469 pinctrl-names = "default";
470 pinctrl-0 = <&ks8851_pins>;
471
Benoit Coussone7c64db2012-01-20 14:17:00 +0100472 compatible = "ks8851";
473 spi-max-frequency = <24000000>;
474 reg = <0>;
475 interrupt-parent = <&gpio2>;
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200476 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
Benoit Coussone7c64db2012-01-20 14:17:00 +0100477 vdd-supply = <&vdd_eth>;
Peter Ujfalusib4c30df2018-12-13 15:58:45 +0200478 reset-gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>;
Benoit Coussone7c64db2012-01-20 14:17:00 +0100479 };
480};
Rajendra Nayak74981762011-10-04 17:10:27 +0530481
482&mmc1 {
483 vmmc-supply = <&vmmc>;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400484 bus-width = <8>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530485};
486
487&mmc2 {
488 vmmc-supply = <&vaux1>;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400489 bus-width = <8>;
Rajendra Nayak74981762011-10-04 17:10:27 +0530490 ti,non-removable;
491};
492
493&mmc3 {
Roland Stiggefd5c3fd2012-06-21 01:36:03 -0700494 status = "disabled";
Rajendra Nayak74981762011-10-04 17:10:27 +0530495};
496
497&mmc4 {
Roland Stiggefd5c3fd2012-06-21 01:36:03 -0700498 status = "disabled";
Rajendra Nayak74981762011-10-04 17:10:27 +0530499};
500
501&mmc5 {
Tony Lindgren775d2412013-09-13 12:09:57 -0700502 pinctrl-names = "default";
503 pinctrl-0 = <&wl12xx_pins>;
504 vmmc-supply = <&wl12xx_vmmc>;
505 non-removable;
Arnd Bergmann7f217792012-05-13 00:14:24 -0400506 bus-width = <4>;
Tony Lindgren775d2412013-09-13 12:09:57 -0700507 cap-power-off-card;
Eliad Peller99f84ca2015-03-18 18:38:29 +0200508
509 #address-cells = <1>;
510 #size-cells = <0>;
511 wlcore: wlcore@2 {
512 compatible = "ti,wl1281";
513 reg = <2>;
514 interrupt-parent = <&gpio1>;
Tony Lindgren572cf7d2018-07-02 23:57:20 -0700515 interrupts = <21 IRQ_TYPE_EDGE_RISING>; /* gpio 53 */
Eliad Peller99f84ca2015-03-18 18:38:29 +0200516 ref-clock-frequency = <26000000>;
517 tcxo-clock-frequency = <26000000>;
518 };
Rajendra Nayak74981762011-10-04 17:10:27 +0530519};
Sourav Poddar61bc3542012-08-14 16:45:37 +0530520
Aneesh V11c27062012-01-20 20:35:26 +0530521&emif1 {
522 cs1-used;
523 device-handle = <&elpida_ECB240ABACN>;
524};
525
526&emif2 {
527 cs1-used;
528 device-handle = <&elpida_ECB240ABACN>;
529};
530
Sourav Poddar61bc3542012-08-14 16:45:37 +0530531&keypad {
532 keypad,num-rows = <8>;
533 keypad,num-columns = <8>;
534 linux,keymap = <0x00000012 /* KEY_E */
535 0x00010013 /* KEY_R */
536 0x00020014 /* KEY_T */
537 0x00030066 /* KEY_HOME */
538 0x0004003f /* KEY_F5 */
539 0x000500f0 /* KEY_UNKNOWN */
540 0x00060017 /* KEY_I */
541 0x0007002a /* KEY_LEFTSHIFT */
542 0x01000020 /* KEY_D*/
543 0x01010021 /* KEY_F */
544 0x01020022 /* KEY_G */
545 0x010300e7 /* KEY_SEND */
546 0x01040040 /* KEY_F6 */
547 0x010500f0 /* KEY_UNKNOWN */
548 0x01060025 /* KEY_K */
549 0x0107001c /* KEY_ENTER */
550 0x0200002d /* KEY_X */
551 0x0201002e /* KEY_C */
552 0x0202002f /* KEY_V */
553 0x0203006b /* KEY_END */
554 0x02040041 /* KEY_F7 */
555 0x020500f0 /* KEY_UNKNOWN */
556 0x02060034 /* KEY_DOT */
557 0x0207003a /* KEY_CAPSLOCK */
558 0x0300002c /* KEY_Z */
559 0x0301004e /* KEY_KPLUS */
560 0x03020030 /* KEY_B */
561 0x0303003b /* KEY_F1 */
562 0x03040042 /* KEY_F8 */
563 0x030500f0 /* KEY_UNKNOWN */
564 0x03060018 /* KEY_O */
565 0x03070039 /* KEY_SPACE */
566 0x04000011 /* KEY_W */
567 0x04010015 /* KEY_Y */
568 0x04020016 /* KEY_U */
569 0x0403003c /* KEY_F2 */
570 0x04040073 /* KEY_VOLUMEUP */
571 0x040500f0 /* KEY_UNKNOWN */
572 0x04060026 /* KEY_L */
573 0x04070069 /* KEY_LEFT */
574 0x0500001f /* KEY_S */
575 0x05010023 /* KEY_H */
576 0x05020024 /* KEY_J */
577 0x0503003d /* KEY_F3 */
578 0x05040043 /* KEY_F9 */
579 0x05050072 /* KEY_VOLUMEDOWN */
580 0x05060032 /* KEY_M */
581 0x0507006a /* KEY_RIGHT */
582 0x06000010 /* KEY_Q */
583 0x0601001e /* KEY_A */
584 0x06020031 /* KEY_N */
585 0x0603009e /* KEY_BACK */
586 0x0604000e /* KEY_BACKSPACE */
587 0x060500f0 /* KEY_UNKNOWN */
588 0x06060019 /* KEY_P */
589 0x06070067 /* KEY_UP */
590 0x07000094 /* KEY_PROG1 */
591 0x07010095 /* KEY_PROG2 */
592 0x070200ca /* KEY_PROG3 */
593 0x070300cb /* KEY_PROG4 */
594 0x0704003e /* KEY_F4 */
595 0x070500f0 /* KEY_UNKNOWN */
596 0x07060160 /* KEY_OK */
597 0x0707006c>; /* KEY_DOWN */
598 linux,input-no-autorepeat;
599};
Tony Lindgren26638c62012-09-10 10:34:52 -0700600
601&uart2 {
Marc Zyngier7136d452015-03-11 15:43:49 +0000602 interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
Tony Lindgren31f08202014-05-05 17:27:39 -0700603 &omap4_pmx_core OMAP4_UART2_RX>;
Tony Lindgren26638c62012-09-10 10:34:52 -0700604 pinctrl-names = "default";
605 pinctrl-0 = <&uart2_pins>;
606};
607
608&uart3 {
Marc Zyngier7136d452015-03-11 15:43:49 +0000609 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
Tony Lindgren31f08202014-05-05 17:27:39 -0700610 &omap4_pmx_core OMAP4_UART3_RX>;
Tony Lindgren26638c62012-09-10 10:34:52 -0700611 pinctrl-names = "default";
612 pinctrl-0 = <&uart3_pins>;
613};
614
615&uart4 {
Marc Zyngier7136d452015-03-11 15:43:49 +0000616 interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
Tony Lindgren31f08202014-05-05 17:27:39 -0700617 &omap4_pmx_core OMAP4_UART4_RX>;
Tony Lindgren26638c62012-09-10 10:34:52 -0700618 pinctrl-names = "default";
619 pinctrl-0 = <&uart4_pins>;
620};
Peter Ujfalusi6e659282012-10-04 14:57:23 +0300621
Peter Ujfalusic5d75d52014-01-24 10:19:00 +0200622&mcbsp1 {
623 pinctrl-names = "default";
624 pinctrl-0 = <&mcbsp1_pins>;
625 status = "okay";
626};
627
628&mcbsp2 {
629 pinctrl-names = "default";
630 pinctrl-0 = <&mcbsp2_pins>;
631 status = "okay";
632};
633
Peter Ujfalusic5d75d52014-01-24 10:19:00 +0200634&dmic {
635 pinctrl-names = "default";
636 pinctrl-0 = <&dmic_pins>;
637 status = "okay";
638};
639
Kishon Vijay Abraham I6ff862f2012-09-19 15:02:06 +0530640&twl_usb_comparator {
641 usb-supply = <&vusb>;
642};
Kishon Vijay Abraham Iad871c12013-03-07 19:05:16 +0530643
644&usb_otg_hs {
645 interface-type = <1>;
646 mode = <3>;
647 power = <50>;
648};
Tomi Valkeinen7c572d52012-08-20 17:07:31 +0300649
650&dss {
651 status = "ok";
652};
653
654&dsi1 {
655 status = "ok";
656 vdd-supply = <&vcxio>;
657
658 port {
659 dsi1_out_ep: endpoint {
660 remote-endpoint = <&lcd0_in>;
661 lanes = <0 1 2 3 4 5>;
662 };
663 };
664
665 lcd0: display {
666 compatible = "tpo,taal", "panel-dsi-cm";
667 label = "lcd0";
668
669 reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
670
671 port {
672 lcd0_in: endpoint {
673 remote-endpoint = <&dsi1_out_ep>;
674 };
675 };
676 };
677};
678
679&dsi2 {
680 status = "ok";
681 vdd-supply = <&vcxio>;
682
683 port {
684 dsi2_out_ep: endpoint {
685 remote-endpoint = <&lcd1_in>;
686 lanes = <0 1 2 3 4 5>;
687 };
688 };
689
690 lcd1: display {
691 compatible = "tpo,taal", "panel-dsi-cm";
692 label = "lcd1";
693
694 reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
695
696 port {
697 lcd1_in: endpoint {
698 remote-endpoint = <&dsi2_out_ep>;
699 };
700 };
701 };
702};
703
704&hdmi {
705 status = "ok";
706 vdda-supply = <&vdac>;
707
708 port {
709 hdmi_out: endpoint {
710 remote-endpoint = <&tpd12s015_in>;
711 };
712 };
713};