1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Common support for omap3 EVM boards
4 */
5
6#include <dt-bindings/input/input.h>
7#include "omap-gpmc-smsc911x.dtsi"
8
9/ {
10	cpus {
11		cpu@0 {
12			cpu0-supply = <&vcc>;
13		};
14	};
15
16	/* HS USB Port 2 Power */
17	hsusb2_power: hsusb2_power_reg {
18		compatible = "regulator-fixed";
19		regulator-name = "hsusb2_vbus";
20		regulator-min-microvolt = <3300000>;
21		regulator-max-microvolt = <3300000>;
22		gpio = <&gpio1 22 GPIO_ACTIVE_HIGH>; /* gpio_22 */
23		startup-delay-us = <70000>;
24		enable-active-high;
25	};
26
27	/* HS USB Host PHY on PORT 2 */
28	hsusb2_phy: hsusb2_phy {
29		compatible = "usb-nop-xceiv";
30		reset-gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; /* gpio_21 */
31		vcc-supply = <&hsusb2_power>;
32		#phy-cells = <0>;
33	};
34
35	leds {
36		compatible = "gpio-leds";
37		ledb {
38			label = "omap3evm::ledb";
39			gpios = <&twl_gpio 19 GPIO_ACTIVE_HIGH>; /* LEDB */
40			linux,default-trigger = "default-on";
41		};
42	};
43
44	wl12xx_vmmc: wl12xx_vmmc {
45		compatible = "regulator-fixed";
46		regulator-name = "vwl1271";
47		regulator-min-microvolt = <1800000>;
48		regulator-max-microvolt = <1800000>;
49		gpio = <&gpio5 22 GPIO_ACTIVE_HIGH>;	/* gpio150 */
50		startup-delay-us = <70000>;
51		enable-active-high;
52		vin-supply = <&vmmc2>;
53	};
54};
55
56&i2c1 {
57	clock-frequency = <2600000>;
58
59	twl: twl@48 {
60		reg = <0x48>;
61		interrupts = <7>; /* SYS_NIRQ cascaded to intc */
62		interrupt-parent = <&intc>;
63	};
64};
65
66#include "twl4030.dtsi"
67#include "twl4030_omap3.dtsi"
68#include "omap3-panel-sharp-ls037v7dw01.dtsi"
69
70&backlight0 {
71	gpios = <&twl_gpio 18 GPIO_ACTIVE_LOW>;
72};
73
74&twl {
75	twl_power: power {
76		compatible = "ti,twl4030-power-omap3-evm", "ti,twl4030-power-idle";
77		ti,use_poweroff;
78	};
79};
80
81&i2c2 {
82	clock-frequency = <400000>;
83};
84
85&i2c3 {
86	clock-frequency = <400000>;
87
88	/*
89	 * TVP5146 Video decoder-in for analog input support.
90	 */
91	tvp5146@5c {
92		compatible = "ti,tvp5146m2";
93		reg = <0x5c>;
94	};
95};
96
97&lcd_3v3 {
98	gpio = <&gpio5 25 GPIO_ACTIVE_LOW>;	/* gpio153 */
99};
100
101&lcd0 {
102	enable-gpios = <&gpio5 24 GPIO_ACTIVE_HIGH>;	/* gpio152, lcd INI */
103	reset-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>;	/* gpio155, lcd RESB */
104	mode-gpios = <&gpio5 26 GPIO_ACTIVE_HIGH	/* gpio154, lcd MO */
105		      &gpio1 2 GPIO_ACTIVE_HIGH		/* gpio2, lcd LR */
106		      &gpio1 3 GPIO_ACTIVE_HIGH>;	/* gpio3, lcd UD */
107};
108
109&mcspi1 {
110	tsc2046@0 {
111		interrupt-parent = <&gpio6>;
112		interrupts = <15 0>;		/* gpio175 */
113		pendown-gpio = <&gpio6 15 GPIO_ACTIVE_HIGH>;
114	};
115};
116
117&mmc1 {
118	interrupts-extended = <&intc 83 &omap3_pmx_core 0x11a>;
119	vmmc-supply = <&vmmc1>;
120	vqmmc-supply = <&vsim>;
121	bus-width = <8>;
122};
123
124&mmc2 {
125	interrupts-extended = <&intc 86 &omap3_pmx_core 0x12e>;
126	vmmc-supply = <&wl12xx_vmmc>;
127	non-removable;
128	bus-width = <4>;
129	cap-power-off-card;
130
131	#address-cells = <1>;
132	#size-cells = <0>;
133	wlcore: wlcore@2 {
134		compatible = "ti,wl1271";
135		reg = <2>;
136		/* gpio_149 with uart1_rts pad as wakeirq */
137		interrupts-extended = <&gpio5 21 IRQ_TYPE_EDGE_RISING>,
138				      <&omap3_pmx_core 0x14e>;
139		interrupt-names = "irq", "wakeup";
140		ref-clock-frequency = <38400000>;
141	};
142};
143
144&twl_gpio {
145	ti,use-leds;
146};
147
148&twl_keypad {
149	linux,keymap = <
150			MATRIX_KEY(2, 2, KEY_1)
151			MATRIX_KEY(1, 1, KEY_2)
152			MATRIX_KEY(0, 0, KEY_3)
153			MATRIX_KEY(3, 2, KEY_4)
154			MATRIX_KEY(2, 1, KEY_5)
155			MATRIX_KEY(1, 0, KEY_6)
156			MATRIX_KEY(1, 3, KEY_7)
157			MATRIX_KEY(3, 1, KEY_8)
158			MATRIX_KEY(2, 0, KEY_9)
159			MATRIX_KEY(2, 3, KEY_KPASTERISK)
160			MATRIX_KEY(0, 2, KEY_0)
161			MATRIX_KEY(3, 0, KEY_KPDOT)
162			/* s4 not wired */
163			MATRIX_KEY(1, 2, KEY_BACKSPACE)
164			MATRIX_KEY(0, 1, KEY_ENTER)
165			>;
166};
167
168&usbhshost {
169	port2-mode = "ehci-phy";
170};
171
172&usbhsehci {
173	phys = <0 &hsusb2_phy>;
174};
175
176&usb_otg_hs {
177	interface-type = <0>;
178	usb-phy = <&usb2_phy>;
179	phys = <&usb2_phy>;
180	phy-names = "usb2-phy";
181	mode = <3>;
182	power = <50>;
183};
184
185&gpmc {
186	ethernet@gpmc {
187		interrupt-parent = <&gpio6>;
188		interrupts = <16 8>;
189		reg = <5 0 0xff>;
190	};
191};
192
193&vaux2 {
194	regulator-name = "usb_1v8";
195	regulator-min-microvolt = <1800000>;
196	regulator-max-microvolt = <1800000>;
197	regulator-always-on;
198};
199