blob: 9e976140f34a625663b26a7da7496dcbdeab7d1e [file] [log] [blame]
Peter Ujfalusib30885b2020-06-16 11:03:07 +03001// SPDX-License-Identifier: GPL-2.0-only
2/*
Andrew Davis42e1d602023-04-11 13:25:00 -05003 * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/
Peter Ujfalusib30885b2020-06-16 11:03:07 +03004 */
5/dts-v1/;
6
7#include "omap443x.dtsi"
8#include "elpida_ecb240abacn.dtsi"
9#include "omap4-mcpdm.dtsi"
10
11/ {
12 model = "TI OMAP4 SDP board";
13 compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4";
14
15 memory@80000000 {
16 device_type = "memory";
17 reg = <0x80000000 0x40000000>; /* 1 GB */
18 };
19
20 aliases {
21 display0 = &lcd0;
22 display1 = &lcd1;
23 display2 = &hdmi0;
24 };
25
26 vdd_eth: fixedregulator-vdd-eth {
27 pinctrl-names = "default";
28 pinctrl-0 = <&enet_enable_gpio>;
29
30 compatible = "regulator-fixed";
31 regulator-name = "VDD_ETH";
32 regulator-min-microvolt = <3300000>;
33 regulator-max-microvolt = <3300000>;
34 gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>; /* gpio line 48 */
35 enable-active-high;
36 regulator-boot-on;
37 startup-delay-us = <25000>;
38 };
39
40 vbat: fixedregulator-vbat {
41 compatible = "regulator-fixed";
42 regulator-name = "VBAT";
43 regulator-min-microvolt = <3750000>;
44 regulator-max-microvolt = <3750000>;
45 regulator-boot-on;
46 };
47
Andrew Davisddb82a02023-04-11 13:25:08 -050048 led-controller-1 {
Peter Ujfalusib30885b2020-06-16 11:03:07 +030049 compatible = "gpio-leds";
Andrew Davisddb82a02023-04-11 13:25:08 -050050
51 led-1 {
Peter Ujfalusib30885b2020-06-16 11:03:07 +030052 label = "omap4:green:debug0";
53 gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; /* 61 */
54 };
55
Andrew Davisddb82a02023-04-11 13:25:08 -050056 led-2 {
Peter Ujfalusib30885b2020-06-16 11:03:07 +030057 label = "omap4:green:debug1";
58 gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; /* 30 */
59 };
60
Andrew Davisddb82a02023-04-11 13:25:08 -050061 led-3 {
Peter Ujfalusib30885b2020-06-16 11:03:07 +030062 label = "omap4:green:debug2";
63 gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; /* 7 */
64 };
65
Andrew Davisddb82a02023-04-11 13:25:08 -050066 led-4 {
Peter Ujfalusib30885b2020-06-16 11:03:07 +030067 label = "omap4:green:debug3";
68 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* 8 */
69 };
70
Andrew Davisddb82a02023-04-11 13:25:08 -050071 led-5 {
Peter Ujfalusib30885b2020-06-16 11:03:07 +030072 label = "omap4:green:debug4";
73 gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */
74 };
75
Andrew Davisddb82a02023-04-11 13:25:08 -050076 led-6 {
Peter Ujfalusib30885b2020-06-16 11:03:07 +030077 label = "omap4:blue:user";
78 gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */
79 };
80
Andrew Davisddb82a02023-04-11 13:25:08 -050081 led-7 {
Peter Ujfalusib30885b2020-06-16 11:03:07 +030082 label = "omap4:red:user";
83 gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */
84 };
85
Andrew Davisddb82a02023-04-11 13:25:08 -050086 led-8 {
Peter Ujfalusib30885b2020-06-16 11:03:07 +030087 label = "omap4:green:user";
88 gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* 139 */
89 };
90 };
91
Andrew Davisddb82a02023-04-11 13:25:08 -050092 led-controller-2 {
Peter Ujfalusib30885b2020-06-16 11:03:07 +030093 compatible = "pwm-leds";
Andrew Davisddb82a02023-04-11 13:25:08 -050094
95 led-9 {
Peter Ujfalusib30885b2020-06-16 11:03:07 +030096 label = "omap4::keypad";
97 pwms = <&twl_pwm 0 7812500>;
98 max-brightness = <127>;
99 };
100
Andrew Davisddb82a02023-04-11 13:25:08 -0500101 led-10 {
Peter Ujfalusib30885b2020-06-16 11:03:07 +0300102 label = "omap4:green:chrg";
103 pwms = <&twl_pwmled 0 7812500>;
104 max-brightness = <255>;
105 };
106 };
107
108 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
119 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 };
153
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>;
162 gpio = <&gpio2 22 GPIO_ACTIVE_HIGH>;
163 startup-delay-us = <70000>;
164 enable-active-high;
165 };
166
167 tpd12s015: encoder {
168 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
181 tpd12s015_in: endpoint {
182 remote-endpoint = <&hdmi_out>;
183 };
184 };
185
186 port@1 {
187 reg = <1>;
188
189 tpd12s015_out: endpoint {
190 remote-endpoint = <&hdmi_connector_in>;
191 };
192 };
193 };
194 };
195
196 hdmi0: connector {
197 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 };
208};
209
210&omap4_pmx_core {
211 pinctrl-names = "default";
212 pinctrl-0 = <
213 &dss_hdmi_pins
214 &tpd12s015_pins
215 >;
216
217 uart2_pins: pinmux_uart2_pins {
218 pinctrl-single,pins = <
219 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 */
223 >;
224 };
225
226 uart3_pins: pinmux_uart3_pins {
227 pinctrl-single,pins = <
228 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 */
232 >;
233 };
234
235 uart4_pins: pinmux_uart4_pins {
236 pinctrl-single,pins = <
237 OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0) /* uart4_rx.uart4_rx */
238 OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0) /* uart4_tx.uart4_tx */
239 >;
240 };
241
242 twl6040_pins: pinmux_twl6040_pins {
243 pinctrl-single,pins = <
244 OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */
245 OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
246 >;
247 };
248
249 dmic_pins: pinmux_dmic_pins {
250 pinctrl-single,pins = <
251 OMAP4_IOPAD(0x110, PIN_OUTPUT | MUX_MODE0) /* abe_dmic_clk1.abe_dmic_clk1 */
252 OMAP4_IOPAD(0x112, PIN_INPUT | MUX_MODE0) /* abe_dmic_din1.abe_dmic_din1 */
253 OMAP4_IOPAD(0x114, PIN_INPUT | MUX_MODE0) /* abe_dmic_din2.abe_dmic_din2 */
254 OMAP4_IOPAD(0x116, PIN_INPUT | MUX_MODE0) /* abe_dmic_din3.abe_dmic_din3 */
255 >;
256 };
257
258 mcbsp1_pins: pinmux_mcbsp1_pins {
259 pinctrl-single,pins = <
260 OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
261 OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
262 OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
263 OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
264 >;
265 };
266
267 mcbsp2_pins: pinmux_mcbsp2_pins {
268 pinctrl-single,pins = <
269 OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
270 OMAP4_IOPAD(0x0f8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dr.abe_mcbsp2_dr */
271 OMAP4_IOPAD(0x0fa, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dx.abe_mcbsp2_dx */
272 OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_fsx.abe_mcbsp2_fsx */
273 >;
274 };
275
276 mcspi1_pins: pinmux_mcspi1_pins {
277 pinctrl-single,pins = <
278 OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
279 OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
280 OMAP4_IOPAD(0x136, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
281 OMAP4_IOPAD(0x138, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
282 >;
283 };
284
285 dss_hdmi_pins: pinmux_dss_hdmi_pins {
286 pinctrl-single,pins = <
287 OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */
288 OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
289 OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
290 >;
291 };
292
293 tpd12s015_pins: pinmux_tpd12s015_pins {
294 pinctrl-single,pins = <
295 OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */
296 OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */
297 OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
298 >;
299 };
300
301 i2c1_pins: pinmux_i2c1_pins {
302 pinctrl-single,pins = <
303 OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
304 OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
305 >;
306 };
307
308 i2c2_pins: pinmux_i2c2_pins {
309 pinctrl-single,pins = <
310 OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
311 OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
312 >;
313 };
314
315 i2c3_pins: pinmux_i2c3_pins {
316 pinctrl-single,pins = <
317 OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
318 OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
319 >;
320 };
321
322 i2c4_pins: pinmux_i2c4_pins {
323 pinctrl-single,pins = <
324 OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
325 OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
326 >;
327 };
328
329 /* wl12xx GPIO output for WLAN_EN */
330 wl12xx_gpio: pinmux_wl12xx_gpio {
331 pinctrl-single,pins = <
332 OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3) /* gpmc_nwp.gpio_54 */
333 >;
334 };
335
336 /* wl12xx GPIO inputs and SDIO pins */
337 wl12xx_pins: pinmux_wl12xx_pins {
338 pinctrl-single,pins = <
339 OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */
340 OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */
341 OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */
342 OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */
343 OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */
344 OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */
345 OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */
346 >;
347 };
348
349 /* gpio_48 for ENET_ENABLE */
350 enet_enable_gpio: pinmux_enet_enable_gpio {
351 pinctrl-single,pins = <
352 OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* gpmc_a24.gpio_48 */
353 >;
354 };
355
356 ks8851_pins: pinmux_ks8851_pins {
357 pinctrl-single,pins = <
358 /* ENET_INT */
359 OMAP4_IOPAD(0x054, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad10.gpio_34 */
360 /*
361 * Misterious pin which makes the ethernet working
362 * The legacy board file requested this pin on boot
363 * (ETH_KS8851_QUART) and set it to high, similarly to
364 * the ENET_ENABLE pin.
365 * We could use gpio-hog to keep it high, but let's use
366 * it as a reset GPIO for ks8851.
367 */
368 OMAP4_IOPAD(0x13a, PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcspi1_cs1.gpio_138 */
369 >;
370 };
371};
372
373&i2c1 {
374 pinctrl-names = "default";
375 pinctrl-0 = <&i2c1_pins>;
376
377 clock-frequency = <400000>;
378
379 twl: twl@48 {
380 reg = <0x48>;
381 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
382 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
383 };
384
385 twl6040: twl@4b {
386 compatible = "ti,twl6040";
387 #clock-cells = <0>;
388 reg = <0x4b>;
389
390 pinctrl-names = "default";
391 pinctrl-0 = <&twl6040_pins>;
392
393 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
394 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
395 ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */
396
397 vio-supply = <&v1v8>;
398 v2v1-supply = <&v2v1>;
399 enable-active-high;
400
401 /* regulators for vibra motor */
402 vddvibl-supply = <&vbat>;
403 vddvibr-supply = <&vbat>;
404
405 vibra {
406 /* Vibra driver, motor resistance parameters */
407 ti,vibldrv-res = <8>;
408 ti,vibrdrv-res = <3>;
409 ti,viblmotor-res = <10>;
410 ti,vibrmotor-res = <10>;
411 };
412 };
413};
414
415#include "twl6030.dtsi"
416#include "twl6030_omap4.dtsi"
417
418&i2c2 {
419 pinctrl-names = "default";
420 pinctrl-0 = <&i2c2_pins>;
421
422 clock-frequency = <400000>;
423};
424
425&i2c3 {
426 pinctrl-names = "default";
427 pinctrl-0 = <&i2c3_pins>;
428
429 clock-frequency = <400000>;
430
431 /*
432 * Temperature Sensor
Andrew Davisddb82a02023-04-11 13:25:08 -0500433 * https://www.ti.com/lit/ds/symlink/tmp105.pdf
Peter Ujfalusib30885b2020-06-16 11:03:07 +0300434 */
435 tmp105@48 {
436 compatible = "ti,tmp105";
437 reg = <0x48>;
438 };
439
440 /*
441 * Ambient Light Sensor
442 * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
443 */
444 bh1780@29 {
445 compatible = "rohm,bh1780";
446 reg = <0x29>;
447 };
448};
449
450&i2c4 {
451 pinctrl-names = "default";
452 pinctrl-0 = <&i2c4_pins>;
453
454 clock-frequency = <400000>;
455
456 /*
457 * 3-Axis Digital Compass
Andrew Davisddb82a02023-04-11 13:25:08 -0500458 * https://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
Peter Ujfalusib30885b2020-06-16 11:03:07 +0300459 */
460 hmc5843@1e {
461 compatible = "honeywell,hmc5843";
462 reg = <0x1e>;
463 };
464};
465
466&mcspi1 {
467 pinctrl-names = "default";
468 pinctrl-0 = <&mcspi1_pins>;
469
470 eth@0 {
471 pinctrl-names = "default";
472 pinctrl-0 = <&ks8851_pins>;
473
474 compatible = "ks8851";
475 spi-max-frequency = <24000000>;
476 reg = <0>;
477 interrupt-parent = <&gpio2>;
478 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
479 vdd-supply = <&vdd_eth>;
480 reset-gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>;
481 };
482};
483
484&mmc1 {
485 vmmc-supply = <&vmmc>;
486 bus-width = <8>;
487};
488
489&mmc2 {
490 vmmc-supply = <&vaux1>;
491 bus-width = <8>;
492 ti,non-removable;
493};
494
495&mmc3 {
496 status = "disabled";
497};
498
499&mmc4 {
500 status = "disabled";
501};
502
503&mmc5 {
504 pinctrl-names = "default";
505 pinctrl-0 = <&wl12xx_pins>;
506 vmmc-supply = <&wl12xx_vmmc>;
507 non-removable;
508 bus-width = <4>;
509 cap-power-off-card;
510
511 #address-cells = <1>;
512 #size-cells = <0>;
513 wlcore: wlcore@2 {
514 compatible = "ti,wl1281";
515 reg = <2>;
516 interrupt-parent = <&gpio1>;
517 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* gpio 53 */
518 ref-clock-frequency = <26000000>;
519 tcxo-clock-frequency = <26000000>;
520 };
521};
522
523&emif1 {
524 cs1-used;
525 device-handle = <&elpida_ECB240ABACN>;
526};
527
528&emif2 {
529 cs1-used;
530 device-handle = <&elpida_ECB240ABACN>;
531};
532
533&keypad {
534 keypad,num-rows = <8>;
535 keypad,num-columns = <8>;
536 linux,keymap = <0x00000012 /* KEY_E */
537 0x00010013 /* KEY_R */
538 0x00020014 /* KEY_T */
539 0x00030066 /* KEY_HOME */
540 0x0004003f /* KEY_F5 */
541 0x000500f0 /* KEY_UNKNOWN */
542 0x00060017 /* KEY_I */
543 0x0007002a /* KEY_LEFTSHIFT */
544 0x01000020 /* KEY_D*/
545 0x01010021 /* KEY_F */
546 0x01020022 /* KEY_G */
547 0x010300e7 /* KEY_SEND */
548 0x01040040 /* KEY_F6 */
549 0x010500f0 /* KEY_UNKNOWN */
550 0x01060025 /* KEY_K */
551 0x0107001c /* KEY_ENTER */
552 0x0200002d /* KEY_X */
553 0x0201002e /* KEY_C */
554 0x0202002f /* KEY_V */
555 0x0203006b /* KEY_END */
556 0x02040041 /* KEY_F7 */
557 0x020500f0 /* KEY_UNKNOWN */
558 0x02060034 /* KEY_DOT */
559 0x0207003a /* KEY_CAPSLOCK */
560 0x0300002c /* KEY_Z */
561 0x0301004e /* KEY_KPLUS */
562 0x03020030 /* KEY_B */
563 0x0303003b /* KEY_F1 */
564 0x03040042 /* KEY_F8 */
565 0x030500f0 /* KEY_UNKNOWN */
566 0x03060018 /* KEY_O */
567 0x03070039 /* KEY_SPACE */
568 0x04000011 /* KEY_W */
569 0x04010015 /* KEY_Y */
570 0x04020016 /* KEY_U */
571 0x0403003c /* KEY_F2 */
572 0x04040073 /* KEY_VOLUMEUP */
573 0x040500f0 /* KEY_UNKNOWN */
574 0x04060026 /* KEY_L */
575 0x04070069 /* KEY_LEFT */
576 0x0500001f /* KEY_S */
577 0x05010023 /* KEY_H */
578 0x05020024 /* KEY_J */
579 0x0503003d /* KEY_F3 */
580 0x05040043 /* KEY_F9 */
581 0x05050072 /* KEY_VOLUMEDOWN */
582 0x05060032 /* KEY_M */
583 0x0507006a /* KEY_RIGHT */
584 0x06000010 /* KEY_Q */
585 0x0601001e /* KEY_A */
586 0x06020031 /* KEY_N */
587 0x0603009e /* KEY_BACK */
588 0x0604000e /* KEY_BACKSPACE */
589 0x060500f0 /* KEY_UNKNOWN */
590 0x06060019 /* KEY_P */
591 0x06070067 /* KEY_UP */
592 0x07000094 /* KEY_PROG1 */
593 0x07010095 /* KEY_PROG2 */
594 0x070200ca /* KEY_PROG3 */
595 0x070300cb /* KEY_PROG4 */
596 0x0704003e /* KEY_F4 */
597 0x070500f0 /* KEY_UNKNOWN */
598 0x07060160 /* KEY_OK */
599 0x0707006c>; /* KEY_DOWN */
600 linux,input-no-autorepeat;
601};
602
603&uart2 {
604 interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
605 &omap4_pmx_core OMAP4_UART2_RX>;
606 pinctrl-names = "default";
607 pinctrl-0 = <&uart2_pins>;
608};
609
610&uart3 {
611 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
612 &omap4_pmx_core OMAP4_UART3_RX>;
613 pinctrl-names = "default";
614 pinctrl-0 = <&uart3_pins>;
615};
616
617&uart4 {
618 interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
619 &omap4_pmx_core OMAP4_UART4_RX>;
620 pinctrl-names = "default";
621 pinctrl-0 = <&uart4_pins>;
622};
623
624&mcbsp1 {
625 pinctrl-names = "default";
626 pinctrl-0 = <&mcbsp1_pins>;
627 status = "okay";
628};
629
630&mcbsp2 {
631 pinctrl-names = "default";
632 pinctrl-0 = <&mcbsp2_pins>;
633 status = "okay";
634};
635
636&dmic {
637 pinctrl-names = "default";
638 pinctrl-0 = <&dmic_pins>;
639 status = "okay";
640};
641
642&twl_usb_comparator {
643 usb-supply = <&vusb>;
644};
645
646&usb_otg_hs {
647 interface-type = <1>;
648 mode = <3>;
649 power = <50>;
650};
651
652&dss {
Roger Quadros0ffbc742021-08-24 14:07:27 +0300653 status = "okay";
Peter Ujfalusib30885b2020-06-16 11:03:07 +0300654};
655
656&dsi1 {
Roger Quadros0ffbc742021-08-24 14:07:27 +0300657 status = "okay";
Peter Ujfalusib30885b2020-06-16 11:03:07 +0300658 vdd-supply = <&vcxio>;
659
660 port {
661 dsi1_out_ep: endpoint {
662 remote-endpoint = <&lcd0_in>;
663 lanes = <0 1 2 3 4 5>;
664 };
665 };
666
Andrew Davisddb82a02023-04-11 13:25:08 -0500667 lcd0: panel@0 {
Peter Ujfalusib30885b2020-06-16 11:03:07 +0300668 compatible = "tpo,taal", "panel-dsi-cm";
Andrew Davisddb82a02023-04-11 13:25:08 -0500669 reg = <0>;
Peter Ujfalusib30885b2020-06-16 11:03:07 +0300670 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 {
Roger Quadros0ffbc742021-08-24 14:07:27 +0300683 status = "okay";
Peter Ujfalusib30885b2020-06-16 11:03:07 +0300684 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
Andrew Davisddb82a02023-04-11 13:25:08 -0500693 lcd1: panel@0 {
Peter Ujfalusib30885b2020-06-16 11:03:07 +0300694 compatible = "tpo,taal", "panel-dsi-cm";
Andrew Davisddb82a02023-04-11 13:25:08 -0500695 reg = <0>;
Peter Ujfalusib30885b2020-06-16 11:03:07 +0300696 label = "lcd1";
697
698 reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
699
700 port {
701 lcd1_in: endpoint {
702 remote-endpoint = <&dsi2_out_ep>;
703 };
704 };
705 };
706};
707
708&hdmi {
Roger Quadros0ffbc742021-08-24 14:07:27 +0300709 status = "okay";
Peter Ujfalusib30885b2020-06-16 11:03:07 +0300710 vdda-supply = <&vdac>;
711
712 port {
713 hdmi_out: endpoint {
714 remote-endpoint = <&tpd12s015_in>;
715 };
716 };
717};