162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Common support for omap3 EVM boards
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
762306a36Sopenharmony_ci#include "omap-gpmc-smsc911x.dtsi"
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/ {
1062306a36Sopenharmony_ci	cpus {
1162306a36Sopenharmony_ci		cpu@0 {
1262306a36Sopenharmony_ci			cpu0-supply = <&vcc>;
1362306a36Sopenharmony_ci		};
1462306a36Sopenharmony_ci	};
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	/* HS USB Port 2 Power */
1762306a36Sopenharmony_ci	hsusb2_power: hsusb2_power_reg {
1862306a36Sopenharmony_ci		compatible = "regulator-fixed";
1962306a36Sopenharmony_ci		regulator-name = "hsusb2_vbus";
2062306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
2162306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
2262306a36Sopenharmony_ci		gpio = <&gpio1 22 GPIO_ACTIVE_HIGH>; /* gpio_22 */
2362306a36Sopenharmony_ci		startup-delay-us = <70000>;
2462306a36Sopenharmony_ci		enable-active-high;
2562306a36Sopenharmony_ci	};
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	/* HS USB Host PHY on PORT 2 */
2862306a36Sopenharmony_ci	hsusb2_phy: hsusb2-phy-pins {
2962306a36Sopenharmony_ci		compatible = "usb-nop-xceiv";
3062306a36Sopenharmony_ci		reset-gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; /* gpio_21 */
3162306a36Sopenharmony_ci		vcc-supply = <&hsusb2_power>;
3262306a36Sopenharmony_ci		#phy-cells = <0>;
3362306a36Sopenharmony_ci	};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci	leds {
3662306a36Sopenharmony_ci		compatible = "gpio-leds";
3762306a36Sopenharmony_ci		ledb {
3862306a36Sopenharmony_ci			label = "omap3evm::ledb";
3962306a36Sopenharmony_ci			gpios = <&twl_gpio 19 GPIO_ACTIVE_HIGH>; /* LEDB */
4062306a36Sopenharmony_ci			linux,default-trigger = "default-on";
4162306a36Sopenharmony_ci		};
4262306a36Sopenharmony_ci	};
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci	wl12xx_vmmc: wl12xx_vmmc {
4562306a36Sopenharmony_ci		compatible = "regulator-fixed";
4662306a36Sopenharmony_ci		regulator-name = "vwl1271";
4762306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
4862306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
4962306a36Sopenharmony_ci		gpio = <&gpio5 22 GPIO_ACTIVE_HIGH>;	/* gpio150 */
5062306a36Sopenharmony_ci		startup-delay-us = <70000>;
5162306a36Sopenharmony_ci		enable-active-high;
5262306a36Sopenharmony_ci		vin-supply = <&vmmc2>;
5362306a36Sopenharmony_ci	};
5462306a36Sopenharmony_ci};
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci&i2c1 {
5762306a36Sopenharmony_ci	clock-frequency = <2600000>;
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci	twl: twl@48 {
6062306a36Sopenharmony_ci		reg = <0x48>;
6162306a36Sopenharmony_ci		interrupts = <7>; /* SYS_NIRQ cascaded to intc */
6262306a36Sopenharmony_ci		interrupt-parent = <&intc>;
6362306a36Sopenharmony_ci	};
6462306a36Sopenharmony_ci};
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci#include "twl4030.dtsi"
6762306a36Sopenharmony_ci#include "twl4030_omap3.dtsi"
6862306a36Sopenharmony_ci#include "omap3-panel-sharp-ls037v7dw01.dtsi"
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci&backlight0 {
7162306a36Sopenharmony_ci	gpios = <&twl_gpio 18 GPIO_ACTIVE_LOW>;
7262306a36Sopenharmony_ci};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci&twl {
7562306a36Sopenharmony_ci	twl_power: power {
7662306a36Sopenharmony_ci		compatible = "ti,twl4030-power-omap3-evm", "ti,twl4030-power-idle";
7762306a36Sopenharmony_ci		ti,use_poweroff;
7862306a36Sopenharmony_ci	};
7962306a36Sopenharmony_ci};
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci&i2c2 {
8262306a36Sopenharmony_ci	clock-frequency = <400000>;
8362306a36Sopenharmony_ci};
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci&i2c3 {
8662306a36Sopenharmony_ci	clock-frequency = <400000>;
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci	/*
8962306a36Sopenharmony_ci	 * TVP5146 Video decoder-in for analog input support.
9062306a36Sopenharmony_ci	 */
9162306a36Sopenharmony_ci	tvp5146@5c {
9262306a36Sopenharmony_ci		compatible = "ti,tvp5146m2";
9362306a36Sopenharmony_ci		reg = <0x5c>;
9462306a36Sopenharmony_ci	};
9562306a36Sopenharmony_ci};
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci&lcd_3v3 {
9862306a36Sopenharmony_ci	gpio = <&gpio5 25 GPIO_ACTIVE_LOW>;	/* gpio153 */
9962306a36Sopenharmony_ci};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci&lcd0 {
10262306a36Sopenharmony_ci	enable-gpios = <&gpio5 24 GPIO_ACTIVE_HIGH>;	/* gpio152, lcd INI */
10362306a36Sopenharmony_ci	reset-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>;	/* gpio155, lcd RESB */
10462306a36Sopenharmony_ci	mode-gpios = <&gpio5 26 GPIO_ACTIVE_HIGH	/* gpio154, lcd MO */
10562306a36Sopenharmony_ci		      &gpio1 2 GPIO_ACTIVE_HIGH		/* gpio2, lcd LR */
10662306a36Sopenharmony_ci		      &gpio1 3 GPIO_ACTIVE_HIGH>;	/* gpio3, lcd UD */
10762306a36Sopenharmony_ci};
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci&mcspi1 {
11062306a36Sopenharmony_ci	tsc2046@0 {
11162306a36Sopenharmony_ci		interrupt-parent = <&gpio6>;
11262306a36Sopenharmony_ci		interrupts = <15 0>;		/* gpio175 */
11362306a36Sopenharmony_ci		pendown-gpio = <&gpio6 15 GPIO_ACTIVE_HIGH>;
11462306a36Sopenharmony_ci	};
11562306a36Sopenharmony_ci};
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci&mmc1 {
11862306a36Sopenharmony_ci	interrupts-extended = <&intc 83 &omap3_pmx_core 0x11a>;
11962306a36Sopenharmony_ci	vmmc-supply = <&vmmc1>;
12062306a36Sopenharmony_ci	vqmmc-supply = <&vsim>;
12162306a36Sopenharmony_ci	bus-width = <8>;
12262306a36Sopenharmony_ci};
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci&mmc2 {
12562306a36Sopenharmony_ci	interrupts-extended = <&intc 86 &omap3_pmx_core 0x12e>;
12662306a36Sopenharmony_ci	vmmc-supply = <&wl12xx_vmmc>;
12762306a36Sopenharmony_ci	non-removable;
12862306a36Sopenharmony_ci	bus-width = <4>;
12962306a36Sopenharmony_ci	cap-power-off-card;
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ci	#address-cells = <1>;
13262306a36Sopenharmony_ci	#size-cells = <0>;
13362306a36Sopenharmony_ci	wlcore: wlcore@2 {
13462306a36Sopenharmony_ci		compatible = "ti,wl1271";
13562306a36Sopenharmony_ci		reg = <2>;
13662306a36Sopenharmony_ci		/* gpio_149 with uart1_rts pad as wakeirq */
13762306a36Sopenharmony_ci		interrupts-extended = <&gpio5 21 IRQ_TYPE_EDGE_RISING>,
13862306a36Sopenharmony_ci				      <&omap3_pmx_core 0x14e>;
13962306a36Sopenharmony_ci		interrupt-names = "irq", "wakeup";
14062306a36Sopenharmony_ci		ref-clock-frequency = <38400000>;
14162306a36Sopenharmony_ci	};
14262306a36Sopenharmony_ci};
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_ci&twl_gpio {
14562306a36Sopenharmony_ci	ti,use-leds;
14662306a36Sopenharmony_ci};
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci&twl_keypad {
14962306a36Sopenharmony_ci	linux,keymap = <
15062306a36Sopenharmony_ci			MATRIX_KEY(2, 2, KEY_1)
15162306a36Sopenharmony_ci			MATRIX_KEY(1, 1, KEY_2)
15262306a36Sopenharmony_ci			MATRIX_KEY(0, 0, KEY_3)
15362306a36Sopenharmony_ci			MATRIX_KEY(3, 2, KEY_4)
15462306a36Sopenharmony_ci			MATRIX_KEY(2, 1, KEY_5)
15562306a36Sopenharmony_ci			MATRIX_KEY(1, 0, KEY_6)
15662306a36Sopenharmony_ci			MATRIX_KEY(1, 3, KEY_7)
15762306a36Sopenharmony_ci			MATRIX_KEY(3, 1, KEY_8)
15862306a36Sopenharmony_ci			MATRIX_KEY(2, 0, KEY_9)
15962306a36Sopenharmony_ci			MATRIX_KEY(2, 3, KEY_KPASTERISK)
16062306a36Sopenharmony_ci			MATRIX_KEY(0, 2, KEY_0)
16162306a36Sopenharmony_ci			MATRIX_KEY(3, 0, KEY_KPDOT)
16262306a36Sopenharmony_ci			/* s4 not wired */
16362306a36Sopenharmony_ci			MATRIX_KEY(1, 2, KEY_BACKSPACE)
16462306a36Sopenharmony_ci			MATRIX_KEY(0, 1, KEY_ENTER)
16562306a36Sopenharmony_ci			>;
16662306a36Sopenharmony_ci};
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci&usbhshost {
16962306a36Sopenharmony_ci	port2-mode = "ehci-phy";
17062306a36Sopenharmony_ci};
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_ci&usbhsehci {
17362306a36Sopenharmony_ci	phys = <0 &hsusb2_phy>;
17462306a36Sopenharmony_ci};
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci&usb_otg_hs {
17762306a36Sopenharmony_ci	interface-type = <0>;
17862306a36Sopenharmony_ci	usb-phy = <&usb2_phy>;
17962306a36Sopenharmony_ci	phys = <&usb2_phy>;
18062306a36Sopenharmony_ci	phy-names = "usb2-phy";
18162306a36Sopenharmony_ci	mode = <3>;
18262306a36Sopenharmony_ci	power = <50>;
18362306a36Sopenharmony_ci};
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ci&gpmc {
18662306a36Sopenharmony_ci	ethernet@gpmc {
18762306a36Sopenharmony_ci		interrupt-parent = <&gpio6>;
18862306a36Sopenharmony_ci		interrupts = <16 8>;
18962306a36Sopenharmony_ci		reg = <5 0 0xff>;
19062306a36Sopenharmony_ci	};
19162306a36Sopenharmony_ci};
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci&vaux2 {
19462306a36Sopenharmony_ci	regulator-name = "usb_1v8";
19562306a36Sopenharmony_ci	regulator-min-microvolt = <1800000>;
19662306a36Sopenharmony_ci	regulator-max-microvolt = <1800000>;
19762306a36Sopenharmony_ci	regulator-always-on;
19862306a36Sopenharmony_ci};
199