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	vmmc-supply = <&wl12xx_vmmc>;
126	non-removable;
127	bus-width = <4>;
128	cap-power-off-card;
129
130	#address-cells = <1>;
131	#size-cells = <0>;
132	wlcore: wlcore@2 {
133		compatible = "ti,wl1271";
134		reg = <2>;
135		interrupt-parent = <&gpio5>;
136		interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* gpio 149 */
137		ref-clock-frequency = <38400000>;
138	};
139};
140
141&twl_gpio {
142	ti,use-leds;
143};
144
145&twl_keypad {
146	linux,keymap = <
147			MATRIX_KEY(2, 2, KEY_1)
148			MATRIX_KEY(1, 1, KEY_2)
149			MATRIX_KEY(0, 0, KEY_3)
150			MATRIX_KEY(3, 2, KEY_4)
151			MATRIX_KEY(2, 1, KEY_5)
152			MATRIX_KEY(1, 0, KEY_6)
153			MATRIX_KEY(1, 3, KEY_7)
154			MATRIX_KEY(3, 1, KEY_8)
155			MATRIX_KEY(2, 0, KEY_9)
156			MATRIX_KEY(2, 3, KEY_KPASTERISK)
157			MATRIX_KEY(0, 2, KEY_0)
158			MATRIX_KEY(3, 0, KEY_KPDOT)
159			/* s4 not wired */
160			MATRIX_KEY(1, 2, KEY_BACKSPACE)
161			MATRIX_KEY(0, 1, KEY_ENTER)
162			>;
163};
164
165&usbhshost {
166	port2-mode = "ehci-phy";
167};
168
169&usbhsehci {
170	phys = <0 &hsusb2_phy>;
171};
172
173&usb_otg_hs {
174	interface-type = <0>;
175	usb-phy = <&usb2_phy>;
176	phys = <&usb2_phy>;
177	phy-names = "usb2-phy";
178	mode = <3>;
179	power = <50>;
180};
181
182&gpmc {
183	ethernet@gpmc {
184		interrupt-parent = <&gpio6>;
185		interrupts = <16 8>;
186		reg = <5 0 0xff>;
187	};
188};
189
190&vaux2 {
191	regulator-name = "usb_1v8";
192	regulator-min-microvolt = <1800000>;
193	regulator-max-microvolt = <1800000>;
194	regulator-always-on;
195};
196