xref: /linux/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2023 Andreas Kemnade
4 */
5/dts-v1/;
6
7#include <dt-bindings/leds/common.h>
8#include <dt-bindings/input/input.h>
9#include "omap4460.dtsi"
10
11/ {
12	model = "Epson Moverio BT-200";
13	compatible = "epson,embt2ws", "ti,omap4460", "ti,omap4";
14
15	memory@80000000 {
16		device_type = "memory";
17		reg = <0x80000000 0x40000000>; /* 1024M */
18	};
19
20	battery: battery {
21		compatible = "simple-battery";
22		device-chemistry = "lithium-ion";
23		charge-full-design-microamp-hours = <2720000>;
24		voltage-max-design-microvolt = <4200000>;
25		voltage-min-design-microvolt = <3300000>;
26
27		constant-charge-voltage-max-microvolt = <4200000>;
28		/*
29		 * vendor kernel says max charge 1400000, input limit 900000
30		 * and charges only with dcp chargers. So it is unclear what
31		 * is really allowed. Play safe for now and restrict things
32		 * here. Maybe 900000 is just the limit of the vendor charger?
33		 */
34		constant-charge-current-max-microamp = <900000>;
35		charge-term-current-microamp = <200000>;
36	};
37
38	backlight-left {
39		compatible = "pwm-backlight";
40		pwms = <&twl_pwm 1 7812500>;
41		power-supply = <&lb_v50>;
42	};
43
44	backlight-right {
45		compatible = "pwm-backlight";
46		pwms = <&twl_pwm 0 7812500>;
47		power-supply = <&lb_v50>;
48	};
49
50	chosen {
51		stdout-path = &uart3;
52	};
53
54	gpio-keys {
55		compatible = "gpio-keys";
56		pinctrl-names = "default";
57		pinctrl-0 = <&gpio_keys_pins>;
58
59		key-lock {
60			label = "Lock";
61			gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
62			linux,code = <SW_ROTATE_LOCK>; /* SW_TOUCHPAD_LOCK */
63			linux,input-type = <EV_SW>;
64		};
65	};
66
67	cb_v18: regulator-cb-v18 {
68		pinctrl-names = "default";
69		pinctrl-0 = <&cb_v18_pins>;
70		compatible = "regulator-fixed";
71		regulator-name = "cb_v18";
72		regulator-min-microvolt = <1800000>;
73		regulator-max-microvolt = <1800000>;
74		regulator-always-on;
75		gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
76		enable-active-high;
77	};
78
79	cb_v33: regulator-cb-v33 {
80		pinctrl-names = "default";
81		pinctrl-0 = <&cb_v33_pins>;
82		compatible = "regulator-fixed";
83		regulator-name = "cb_v33";
84		regulator-min-microvolt = <3300000>;
85		regulator-max-microvolt = <3300000>;
86		regulator-always-on;
87		gpio = <&gpio6 30 GPIO_ACTIVE_HIGH>;
88		enable-active-high;
89	};
90
91	regulator-cb-v50 {
92		pinctrl-names = "default";
93		pinctrl-0 = <&cb_v50_pins>;
94		compatible = "regulator-fixed";
95		regulator-name = "cb_v50";
96		regulator-min-microvolt = <5000000>;
97		regulator-max-microvolt = <5000000>;
98		regulator-always-on;
99		gpio = <&gpio6 31 GPIO_ACTIVE_HIGH>;
100		enable-active-high;
101	};
102
103	lb_v50: regulator-lb-v50 {
104		/* required for many things at the head (probably indirectly) */
105		pinctrl-names = "default";
106		pinctrl-0 = <&lb_v50_pins>;
107		compatible = "regulator-fixed";
108		regulator-name = "lb_v50";
109		regulator-min-microvolt = <5000000>;
110		regulator-max-microvolt = <5000000>;
111		regulator-always-on;
112		gpio = <&gpio1 27 GPIO_ACTIVE_HIGH>;
113		enable-active-high;
114	};
115
116	wl12xx_pwrseq: wl12xx-pwrseq {
117		compatible = "mmc-pwrseq-simple";
118		clocks = <&twl 1>;
119		clock-names = "ext_clock";
120	};
121
122       /* regulator for wl12xx on sdio2 */
123	wl12xx_vmmc: wl12xx-vmmc {
124		pinctrl-names = "default";
125		pinctrl-0 = <&wl12xx_gpio>;
126		compatible = "regulator-fixed";
127		regulator-name = "vwl1271";
128		regulator-min-microvolt = <1800000>;
129		regulator-max-microvolt = <1800000>;
130		gpio = <&gpio1 24 GPIO_ACTIVE_HIGH>;
131		startup-delay-us = <70000>;
132		enable-active-high;
133	};
134};
135
136&gpio1 {
137	pinctrl-names = "default";
138	pinctrl-0 = <&gpio1_hog_pins &gpio1wk_hog_pins>;
139
140	lb-reset-hog {
141		gpio-hog;
142		gpios = <9 GPIO_ACTIVE_HIGH>;
143		output-low;
144		line-name = "lb_reset";
145	};
146
147	power-en-hog {
148		gpio-hog;
149		gpios = <10 GPIO_ACTIVE_HIGH>;
150		output-high;
151		line-name = "power_en";
152	};
153
154	/*
155	 * Name taken from vendor kernel but no evidence of actual usage found
156	 * nor what it really controls.
157	 */
158	panel-power-en-hog {
159		gpio-hog;
160		gpios = <14 GPIO_ACTIVE_HIGH>;
161		output-low;
162		line-name = "panel_power_en";
163	};
164
165	/*
166	 * These two are exported to sysfs in vendor kernel, usage unknown,
167	 * backlight state seems unrelated to these.
168	 */
169	blc-r-hog {
170		gpio-hog;
171		gpios = <17 GPIO_ACTIVE_HIGH>;
172		output-low;
173		line-name = "blc_r";
174	};
175
176	blc-l-hog {
177		gpio-hog;
178		gpios = <16 GPIO_ACTIVE_HIGH>;
179		output-low;
180		line-name = "blc_l";
181	};
182
183	high-hog {
184		gpio-hog;
185		gpios = <15 GPIO_ACTIVE_HIGH /* maybe dsi to dpi chip reset? */
186			 21 GPIO_ACTIVE_HIGH
187			 26 GPIO_ACTIVE_HIGH>;
188		output-high;
189		line-name = "unknown-high";
190	};
191
192	low-hog {
193		gpio-hog;
194		gpios = <18 GPIO_ACTIVE_HIGH
195			 19 GPIO_ACTIVE_HIGH
196			 20 GPIO_ACTIVE_HIGH
197			 22 GPIO_ACTIVE_HIGH>;
198		output-low;
199		line-name = "unknown-low";
200	};
201};
202
203&i2c1 {
204	pinctrl-names = "default";
205	pinctrl-0 = <&i2c1_pins>;
206
207	clock-frequency = <400000>;
208
209	twl: pmic@48 {
210		compatible = "ti,twl6032";
211		reg = <0x48>;
212		#clock-cells = <1>;
213		/* IRQ# = 7 */
214		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
215		interrupt-controller;
216		#interrupt-cells = <1>;
217		system-power-controller;
218
219		charger {
220			compatible = "ti,twl6032-charger", "ti,twl6030-charger";
221			interrupts = <2>, <5>;
222			io-channels = <&gpadc 10>;
223			io-channel-names = "vusb";
224			monitored-battery = <&battery>;
225		};
226
227		rtc {
228			compatible = "ti,twl4030-rtc";
229			interrupts = <11>;
230		};
231
232		ldo2: regulator-ldo2 {
233			compatible = "ti,twl6032-ldo2";
234			regulator-min-microvolt = <1000000>;
235			regulator-max-microvolt = <3000000>;
236		};
237
238		ldo4: regulator-ldo4 {
239			compatible = "ti,twl6032-ldo4";
240			regulator-min-microvolt = <1200000>;
241			regulator-max-microvolt = <2800000>;
242		};
243
244		ldo3: regulator-ldo3 {
245			compatible = "ti,twl6032-ldo3";
246			regulator-min-microvolt = <1000000>;
247			regulator-max-microvolt = <3000000>;
248		};
249
250		ldo5: regulator-ldo5 {
251			compatible = "ti,twl6032-ldo5";
252			regulator-min-microvolt = <1200000>;
253			regulator-max-microvolt = <3000000>;
254			ti,retain-on-reset;
255		};
256
257		ldo1: regulator-ldo1 {
258			compatible = "ti,twl6032-ldo1";
259			regulator-min-microvolt = <1800000>;
260			regulator-max-microvolt = <2500000>;
261		};
262
263		ldo7: regulator-ldo7 {
264			compatible = "ti,twl6032-ldo7";
265			regulator-min-microvolt = <1200000>;
266			regulator-max-microvolt = <2900000>;
267		};
268
269		ldoln: regulator-ldoln {
270			compatible = "ti,twl6032-ldoln";
271			regulator-always-on;
272		};
273
274		ldo6: regulator-ldo6 {
275			compatible = "ti,twl6032-ldo6";
276			regulator-always-on;
277		};
278
279		ldousb: regulator-ldousb {
280			compatible = "ti,twl6032-ldousb";
281			regulator-always-on;
282		};
283
284		vio: regulator-vio {
285			compatible = "ti,twl6032-vio";
286			regulator-always-on;
287		};
288
289		twl_usb_comparator: usb-comparator {
290			compatible = "ti,twl6030-usb";
291			interrupts = <4>, <10>;
292		};
293
294		twl_pwm: pwm {
295			/* provides two PWMs (id 0, 1 for PWM1 and PWM2) */
296			compatible = "ti,twl6030-pwm";
297			#pwm-cells = <2>;
298		};
299
300		twl_pwmled: pwmled {
301			/* provides one PWM (id 0 for Charging indicator LED) */
302			compatible = "ti,twl6030-pwmled";
303			#pwm-cells = <2>;
304		};
305
306		gpadc: gpadc {
307			compatible = "ti,twl6032-gpadc";
308			interrupts = <3>;
309			#io-channel-cells = <1>;
310		};
311
312	};
313};
314
315#include "twl6030_omap4.dtsi"
316
317&twl_usb_comparator {
318	usb-supply = <&ldousb>;
319};
320
321
322&i2c2 {
323	pinctrl-names = "default";
324	pinctrl-0 = <&i2c2_pins>;
325
326	clock-frequency = <200000>;
327
328	/* is sometimes not available, research needed */
329	gpio_head: gpio@20 {
330		compatible = "ti,tca6408";
331		reg = <0x20>;
332		gpio-controller;
333		#gpio-cells = <2>;
334	};
335
336	/*
337	 * camera chip at 0x3c, available if <&gpio_head 1> high
338	 * and <&gpio_head 5> low
339	 */
340
341	/* at head/glasses */
342	mpu9150h: imu@68 {
343		compatible = "invensense,mpu9150";
344		reg = <0x68>;
345
346		pinctrl-names = "default";
347		pinctrl-0 = <&mpu9150h_pins>;
348		interrupt-parent = <&gpio2>;
349		interrupt = <19 IRQ_TYPE_LEVEL_HIGH>;
350	};
351};
352
353&i2c3 {
354	pinctrl-names = "default";
355	pinctrl-0 = <&i2c3_pins>;
356
357	clock-frequency = <100000>;
358
359	led-controller@66 {
360		compatible = "rohm,bd2606mvv";
361		reg = <0x66>;
362
363		#address-cells = <1>;
364		#size-cells = <0>;
365
366		led@0 {
367			reg = <0>;
368			color = <LED_COLOR_ID_GREEN>;
369			function = LED_FUNCTION_STATUS;
370		};
371
372		led@2 {
373			reg = <2>;
374			color = <LED_COLOR_ID_BLUE>;
375			function = LED_FUNCTION_STATUS;
376		};
377
378		led@4 {
379			reg = <4>;
380			color = <LED_COLOR_ID_RED>;
381			function = LED_FUNCTION_STATUS;
382		};
383	};
384};
385
386&i2c4 {
387	pinctrl-names = "default";
388	pinctrl-0 = <&i2c4_pins>;
389
390	clock-frequency = <360000>;
391
392	/* TODO: KXTI9 at 0xf */
393
394	tlv320aic3x: codec@18 {
395		compatible = "ti,tlv320aic3x";
396		reg = <0x18>;
397		pinctrl-names = "default";
398		pinctrl-0 = <&tlv320aic3x_pins>;
399		#sound-dai-cells = <0>;
400
401		reset-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
402	};
403
404	mpu9150: imu@68 {
405		compatible = "invensense,mpu9150";
406		reg = <0x68>;
407
408		pinctrl-names = "default";
409		pinctrl-0 = <&mpu9150_pins>;
410		interrupt-parent = <&gpio2>;
411		interrupt = <7 IRQ_TYPE_LEVEL_HIGH>;
412		vddio-supply = <&cb_v18>;
413		vdd-supply = <&cb_v33>;
414		invensense,level-shifter;
415	};
416};
417
418&keypad {
419	pinctrl-names = "default";
420	pinctrl-0 = <&keypad_pins>;
421	keypad,num-rows = <2>;
422	keypad,num-columns = <3>;
423	linux,keymap = <MATRIX_KEY(0, 0, KEY_MENU)
424			MATRIX_KEY(0, 1, KEY_HOME)
425			MATRIX_KEY(0, 2, KEY_BACK)
426			MATRIX_KEY(1, 0, KEY_ESC)
427			MATRIX_KEY(1, 1, KEY_VOLUMEDOWN)
428			MATRIX_KEY(1, 2, KEY_VOLUMEUP)>;
429	linux,input-no-autorepeat;
430};
431
432&mcbsp2 {
433	#sound-dai-cells = <0>;
434	pinctrl-names = "default";
435	pinctrl-0 = <&mcbsp2_pins>;
436	status = "okay";
437};
438
439
440&mmc1 {
441	/* sdcard */
442	vmmc-supply = <&ldo5>;
443	broken-cd;
444	bus-width = <4>;
445};
446
447&mmc2 {
448	/* emmc */
449	vmmc-supply = <&ldo2>;
450	bus-width = <8>;
451};
452
453&mmc3 {
454	pinctrl-names = "default";
455	pinctrl-0 = <&wl12xx_pins>;
456	vmmc-supply = <&wl12xx_vmmc>;
457	mmc-pwrseq = <&wl12xx_pwrseq>;
458	interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
459			       &omap4_pmx_core 0x12e>;
460	non-removable;
461	bus-width = <4>;
462	cap-power-off-card;
463
464	#address-cells = <1>;
465	#size-cells = <0>;
466	wlcore: wlcore@2 {
467		compatible = "ti,wl1283";
468		reg = <2>;
469		interrupts-extended = <&gpio1 23 IRQ_TYPE_LEVEL_HIGH>;
470		interrupt-names = "irq";
471		ref-clock-frequency = <26000000>;
472		tcxo-clock-frequency = <26000000>;
473	};
474};
475
476&mmc4 {
477	status = "disabled";
478};
479
480&mmc5 {
481	status = "disabled";
482};
483
484&omap4_pmx_core {
485	bt_pins: pinmux-bt-pins {
486		pinctrl-single,pins = <
487			OMAP4_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE3) /* gpio25 */
488		>;
489	};
490
491	cb_v18_pins: pinmux-cb-v18-pins {
492		pinctrl-single,pins = <
493			OMAP4_IOPAD(0x1d0, PIN_OUTPUT | MUX_MODE3) /* gpio28 */
494		>;
495	};
496
497	cb_v33_pins: pinmux-cb-v33-pins {
498		pinctrl-single,pins = <
499			OMAP4_IOPAD(0x1d2, PIN_OUTPUT | MUX_MODE3) /* gpio190 */
500		>;
501	};
502
503	cb_v50_pins: pinmux-cb-v50-pins {
504		pinctrl-single,pins = <
505			OMAP4_IOPAD(0x1d4, PIN_OUTPUT | MUX_MODE3) /* gpio191 */
506		>;
507	};
508
509	gpio_keys_pins: pinmux-gpio-key-pins {
510		pinctrl-single,pins = <
511			OMAP4_IOPAD(0x56, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio35 */
512		>;
513	};
514
515	gpio1_hog_pins: pinmux-gpio1-hog-pins {
516		pinctrl-single,pins = <
517			OMAP4_IOPAD(0x1b4, PIN_OUTPUT | MUX_MODE3) /* gpio14 */
518			OMAP4_IOPAD(0x1b8, PIN_OUTPUT | MUX_MODE3) /* gpio16 */
519			OMAP4_IOPAD(0x1ba, PIN_OUTPUT | MUX_MODE3) /* gpio17 */
520
521			OMAP4_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE3) /* gpio15 */
522			OMAP4_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE3) /* gpio18 */
523			OMAP4_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE3) /* gpio19 */
524			OMAP4_IOPAD(0x1c0, PIN_OUTPUT | MUX_MODE3) /* gpio20 */
525			OMAP4_IOPAD(0x1c2, PIN_OUTPUT | MUX_MODE3) /* gpio21 */
526			OMAP4_IOPAD(0x1c4, PIN_OUTPUT | MUX_MODE3) /* gpio22 */
527			OMAP4_IOPAD(0x1cc, PIN_OUTPUT | MUX_MODE3) /* gpio26 */
528		>;
529	};
530
531	i2c1_pins: pinmux-i2c1-pins {
532		pinctrl-single,pins = <
533			   OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_scl */
534			   OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_sda */
535		>;
536	};
537
538	i2c2_pins: pinmux-i2c2-pins {
539		pinctrl-single,pins = <
540			OMAP4_IOPAD(0x126, PIN_INPUT | MUX_MODE0)	/* i2c2_scl */
541			OMAP4_IOPAD(0x128, PIN_INPUT | MUX_MODE0)	/* i2c2_sda */
542		>;
543	};
544
545	i2c3_pins: pinmux-i2c3-pins {
546		pinctrl-single,pins = <
547			OMAP4_IOPAD(0x12a, PIN_INPUT | MUX_MODE0)	/* i2c3_scl */
548			OMAP4_IOPAD(0x12c, PIN_INPUT | MUX_MODE0)	/* i2c3_sda */
549		>;
550	};
551
552	i2c4_pins: pinmux-i2c4-pins {
553		pinctrl-single,pins = <
554			OMAP4_IOPAD(0x12e, PIN_INPUT | MUX_MODE0)	/* i2c4_scl */
555			OMAP4_IOPAD(0x130, PIN_INPUT | MUX_MODE0)	/* i2c4_sda */
556		>;
557	};
558
559	keypad_pins: pinmux-keypad-pins {
560		pinctrl-single,pins = <
561			/* kpd_row0 */
562			OMAP4_IOPAD(0x0050, PIN_INPUT_PULLUP | MUX_MODE1)
563			/* kpd_row1 */
564			OMAP4_IOPAD(0x0052, PIN_INPUT_PULLUP | MUX_MODE1)
565			/* kpd_row2 */
566			OMAP4_IOPAD(0x0054, PIN_INPUT_PULLUP | MUX_MODE1)
567			/* kpd_col0 */
568			OMAP4_IOPAD(0x0058, PIN_OUTPUT | MUX_MODE1)
569			/* kpd_col1 */
570			OMAP4_IOPAD(0x005a, PIN_OUTPUT | MUX_MODE1)
571			/* kpd_col2 */
572			OMAP4_IOPAD(0x005c, PIN_OUTPUT | MUX_MODE1)
573		>;
574	};
575
576	lb_v50_pins: pinmux-lb-v50-pins {
577		pinctrl-single,pins = <
578			OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE3) /* gpio27 */
579		>;
580	};
581
582	mcbsp2_pins: pinmux-mcbsp2-pins {
583		pinctrl-single,pins = <
584			OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0)       /* abe_mcbsp2_clkx */
585			OMAP4_IOPAD(0x0f8, PIN_INPUT | MUX_MODE0)       /* abe_mcbsp2_dr */
586			OMAP4_IOPAD(0x0fa, PIN_OUTPUT | MUX_MODE0)      /* abe_mcbsp2_dx */
587			OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0)       /* abe_mcbsp2_fsx */
588		>;
589	};
590
591	mpu9150_pins: pinmux-mpu9150-pins {
592		pinctrl-single,pins = <
593			OMAP4_IOPAD(0x5e, PIN_INPUT_PULLUP | MUX_MODE3)
594		>;
595	};
596
597	mpu9150h_pins: pinmux-mpu9150h-pins {
598		pinctrl-single,pins = <
599			OMAP4_IOPAD(0x76, PIN_INPUT_PULLUP | MUX_MODE3)
600		>;
601	};
602
603	tlv320aic3x_pins: pinmux-tlv320aic3x-pins {
604		pinctrl-single,pins = <
605			OMAP4_IOPAD(0x7e, PIN_OUTPUT | MUX_MODE3)
606		>;
607	};
608
609	uart2_pins: pinmux-uart2-pins {
610		pinctrl-single,pins = <
611			OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */
612			OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0)	 /* uart2_rts.uart2_rts */
613			OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */
614			OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0)	 /* uart2_tx.uart2_tx */
615		>;
616	};
617
618	uart3_pins: pinmux-uart3-pins {
619		pinctrl-single,pins = <
620			OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0)  /* uart3_rx_irrx */
621			OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx */
622		>;
623	};
624
625	usb_otg_hs_pins: pinmux-usb-otg-hs-pins {
626		 pinctrl-single,pins = <
627			 OMAP4_IOPAD(0x194, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* usba0_otg_ce */
628			 OMAP4_IOPAD(0x196, PIN_INPUT | MUX_MODE0)	     /* usba0_otg_dp */
629			 OMAP4_IOPAD(0x198, PIN_INPUT | MUX_MODE0)	     /* usba0_otg_dm */
630		 >;
631	};
632
633	wl12xx_pins: pinmux-wl12xx-pins {
634		pinctrl-single,pins = <
635			OMAP4_IOPAD(0x1c6, PIN_INPUT | MUX_MODE3) /* gpio_23 / IRQ */
636			OMAP4_IOPAD(0x16c, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat2 */
637			OMAP4_IOPAD(0x16e, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat1 */
638			OMAP4_IOPAD(0x170, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat0 */
639			OMAP4_IOPAD(0x172, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat3 */
640			OMAP4_IOPAD(0x174, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_cmd */
641			OMAP4_IOPAD(0x176, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_clk */
642		>;
643	};
644
645	wl12xx_gpio: pinmux-wl12xx-gpio-pins {
646		pinctrl-single,pins = <
647			OMAP4_IOPAD(0x1c8, PIN_OUTPUT | MUX_MODE3)  /* gpio_24 / WLAN_EN */
648		>;
649	};
650};
651
652&omap4_pmx_wkup {
653	gpio1wk_hog_pins: pinmux-gpio1wk-hog-pins {
654		pinctrl-single,pins = <
655			OMAP4_IOPAD(0x68, PIN_INPUT_PULLDOWN | MUX_MODE3) /* gpio9 */
656			OMAP4_IOPAD(0x6a, PIN_INPUT | MUX_MODE3) /* gpio10 */
657		>;
658	};
659};
660
661&uart2 {
662	pinctrl-names = "default";
663	pinctrl-0 = <&uart2_pins &bt_pins>;
664	interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
665			       &omap4_pmx_core OMAP4_UART2_RX>;
666
667	bluetooth-gnss {
668		compatible = "ti,wl1283-st";
669		enable-gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>;	/* GPIO_25 */
670		clocks = <&twl 1>;
671		clock-names = "ext_clock";
672	};
673};
674
675&uart3 {
676	pinctrl-names = "default";
677	pinctrl-0 = <&uart3_pins>;
678	interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
679			       &omap4_pmx_core OMAP4_UART3_RX>;
680};
681
682&usb_otg_hs {
683	pinctrl-names = "default";
684	pinctrl-0 = <&usb_otg_hs_pins>;
685
686	interface-type = <1>;
687	mode = <3>;
688	power = <50>;
689};
690
691&usbhshost {
692	status = "disabled";
693};
694