162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2023 Andreas Kemnade
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci/dts-v1/;
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
862306a36Sopenharmony_ci#include "omap4460.dtsi"
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/ {
1162306a36Sopenharmony_ci	model = "Epson Moverio BT-200";
1262306a36Sopenharmony_ci	compatible = "epson,embt2ws", "ti,omap4460", "ti,omap4";
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	memory@80000000 {
1562306a36Sopenharmony_ci		device_type = "memory";
1662306a36Sopenharmony_ci		reg = <0x80000000 0x40000000>; /* 1024M */
1762306a36Sopenharmony_ci	};
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	backlight-left {
2062306a36Sopenharmony_ci		compatible = "pwm-backlight";
2162306a36Sopenharmony_ci		pwms = <&twl_pwm 1 7812500>;
2262306a36Sopenharmony_ci		power-supply = <&unknown_supply>;
2362306a36Sopenharmony_ci	};
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	backlight-right {
2662306a36Sopenharmony_ci		compatible = "pwm-backlight";
2762306a36Sopenharmony_ci		pwms = <&twl_pwm 0 7812500>;
2862306a36Sopenharmony_ci		power-supply = <&unknown_supply>;
2962306a36Sopenharmony_ci	};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	chosen {
3262306a36Sopenharmony_ci		stdout-path = &uart3;
3362306a36Sopenharmony_ci	};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci	gpio-keys {
3662306a36Sopenharmony_ci		compatible = "gpio-keys";
3762306a36Sopenharmony_ci		pinctrl-names = "default";
3862306a36Sopenharmony_ci		pinctrl-0 = <&gpio_keys_pins>;
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci		key-lock {
4162306a36Sopenharmony_ci			label = "Lock";
4262306a36Sopenharmony_ci			gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
4362306a36Sopenharmony_ci			linux,code = <SW_ROTATE_LOCK>; /* SW_TOUCHPAD_LOCK */
4462306a36Sopenharmony_ci			linux,input-type = <EV_SW>;
4562306a36Sopenharmony_ci		};
4662306a36Sopenharmony_ci	};
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci	unknown_supply: unknown-supply {
4962306a36Sopenharmony_ci		compatible = "regulator-fixed";
5062306a36Sopenharmony_ci		regulator-name = "unknown";
5162306a36Sopenharmony_ci	};
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci       /* regulator for wl12xx on sdio2 */
5462306a36Sopenharmony_ci	wl12xx_vmmc: wl12xx-vmmc {
5562306a36Sopenharmony_ci		pinctrl-names = "default";
5662306a36Sopenharmony_ci		pinctrl-0 = <&wl12xx_gpio>;
5762306a36Sopenharmony_ci		compatible = "regulator-fixed";
5862306a36Sopenharmony_ci		regulator-name = "vwl1271";
5962306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
6062306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
6162306a36Sopenharmony_ci		gpio = <&gpio1 24 GPIO_ACTIVE_HIGH>;
6262306a36Sopenharmony_ci		startup-delay-us = <70000>;
6362306a36Sopenharmony_ci		enable-active-high;
6462306a36Sopenharmony_ci	};
6562306a36Sopenharmony_ci};
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci&i2c1 {
6862306a36Sopenharmony_ci	pinctrl-names = "default";
6962306a36Sopenharmony_ci	pinctrl-0 = <&i2c1_pins>;
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci	clock-frequency = <400000>;
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci	twl: pmic@48 {
7462306a36Sopenharmony_ci		compatible = "ti,twl6032";
7562306a36Sopenharmony_ci		reg = <0x48>;
7662306a36Sopenharmony_ci		/* IRQ# = 7 */
7762306a36Sopenharmony_ci		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
7862306a36Sopenharmony_ci		interrupt-controller;
7962306a36Sopenharmony_ci		#interrupt-cells = <1>;
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci		rtc {
8262306a36Sopenharmony_ci			compatible = "ti,twl4030-rtc";
8362306a36Sopenharmony_ci			interrupts = <11>;
8462306a36Sopenharmony_ci		};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci		ldo2: regulator-ldo2 {
8762306a36Sopenharmony_ci			compatible = "ti,twl6032-ldo2";
8862306a36Sopenharmony_ci			regulator-min-microvolt = <1000000>;
8962306a36Sopenharmony_ci			regulator-max-microvolt = <3000000>;
9062306a36Sopenharmony_ci		};
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci		ldo4: regulator-ldo4 {
9362306a36Sopenharmony_ci			compatible = "ti,twl6032-ldo4";
9462306a36Sopenharmony_ci			regulator-min-microvolt = <1200000>;
9562306a36Sopenharmony_ci			regulator-max-microvolt = <2800000>;
9662306a36Sopenharmony_ci		};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci		ldo3: regulator-ldo3 {
9962306a36Sopenharmony_ci			compatible = "ti,twl6032-ldo3";
10062306a36Sopenharmony_ci			regulator-min-microvolt = <1000000>;
10162306a36Sopenharmony_ci			regulator-max-microvolt = <3000000>;
10262306a36Sopenharmony_ci		};
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci		ldo5: regulator-ldo5 {
10562306a36Sopenharmony_ci			compatible = "ti,twl6032-ldo5";
10662306a36Sopenharmony_ci			regulator-min-microvolt = <1200000>;
10762306a36Sopenharmony_ci			regulator-max-microvolt = <3000000>;
10862306a36Sopenharmony_ci			ti,retain-on-reset;
10962306a36Sopenharmony_ci		};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci		ldo1: regulator-ldo1 {
11262306a36Sopenharmony_ci			compatible = "ti,twl6032-ldo1";
11362306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
11462306a36Sopenharmony_ci			regulator-max-microvolt = <2500000>;
11562306a36Sopenharmony_ci		};
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci		ldo7: regulator-ldo7 {
11862306a36Sopenharmony_ci			compatible = "ti,twl6032-ldo7";
11962306a36Sopenharmony_ci			regulator-min-microvolt = <1200000>;
12062306a36Sopenharmony_ci			regulator-max-microvolt = <2900000>;
12162306a36Sopenharmony_ci		};
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci		ldoln: regulator-ldoln {
12462306a36Sopenharmony_ci			compatible = "ti,twl6032-ldoln";
12562306a36Sopenharmony_ci			regulator-always-on;
12662306a36Sopenharmony_ci		};
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci		ldo6: regulator-ldo6 {
12962306a36Sopenharmony_ci			compatible = "ti,twl6032-ldo6";
13062306a36Sopenharmony_ci			regulator-always-on;
13162306a36Sopenharmony_ci		};
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci		ldousb: regulator-ldousb {
13462306a36Sopenharmony_ci			compatible = "ti,twl6032-ldousb";
13562306a36Sopenharmony_ci			regulator-always-on;
13662306a36Sopenharmony_ci		};
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci		vio: regulator-vio {
13962306a36Sopenharmony_ci			compatible = "ti,twl6032-vio";
14062306a36Sopenharmony_ci			regulator-always-on;
14162306a36Sopenharmony_ci		};
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ci		twl_usb_comparator: usb-comparator {
14462306a36Sopenharmony_ci			compatible = "ti,twl6030-usb";
14562306a36Sopenharmony_ci			interrupts = <4>, <10>;
14662306a36Sopenharmony_ci		};
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci		twl_pwm: pwm {
14962306a36Sopenharmony_ci			/* provides two PWMs (id 0, 1 for PWM1 and PWM2) */
15062306a36Sopenharmony_ci			compatible = "ti,twl6030-pwm";
15162306a36Sopenharmony_ci			#pwm-cells = <2>;
15262306a36Sopenharmony_ci		};
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci		twl_pwmled: pwmled {
15562306a36Sopenharmony_ci			/* provides one PWM (id 0 for Charging indicator LED) */
15662306a36Sopenharmony_ci			compatible = "ti,twl6030-pwmled";
15762306a36Sopenharmony_ci			#pwm-cells = <2>;
15862306a36Sopenharmony_ci		};
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci		gpadc {
16162306a36Sopenharmony_ci			compatible = "ti,twl6032-gpadc";
16262306a36Sopenharmony_ci			interrupts = <3>;
16362306a36Sopenharmony_ci			#io-channel-cells = <1>;
16462306a36Sopenharmony_ci		};
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ci	};
16762306a36Sopenharmony_ci};
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci#include "twl6030_omap4.dtsi"
17062306a36Sopenharmony_ci
17162306a36Sopenharmony_ci&twl_usb_comparator {
17262306a36Sopenharmony_ci	usb-supply = <&ldousb>;
17362306a36Sopenharmony_ci};
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci&i2c2 {
17762306a36Sopenharmony_ci	pinctrl-names = "default";
17862306a36Sopenharmony_ci	pinctrl-0 = <&i2c2_pins>;
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci	clock-frequency = <200000>;
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ci	/* at head/glasses */
18362306a36Sopenharmony_ci	mpu9150h: imu@68 {
18462306a36Sopenharmony_ci		compatible = "invensense,mpu9150";
18562306a36Sopenharmony_ci		reg = <0x68>;
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ci		pinctrl-names = "default";
18862306a36Sopenharmony_ci		pinctrl-0 = <&mpu9150h_pins>;
18962306a36Sopenharmony_ci		interrupt-parent = <&gpio2>;
19062306a36Sopenharmony_ci		interrupt = <19 IRQ_TYPE_LEVEL_HIGH>;
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ci		i2c-gate {
19362306a36Sopenharmony_ci			#address-cells = <1>;
19462306a36Sopenharmony_ci			#size-cells = <0>;
19562306a36Sopenharmony_ci			magnetometer@c {
19662306a36Sopenharmony_ci				compatible = "asahi-kasei,ak8975";
19762306a36Sopenharmony_ci				reg = <0x0c>;
19862306a36Sopenharmony_ci			};
19962306a36Sopenharmony_ci		};
20062306a36Sopenharmony_ci	};
20162306a36Sopenharmony_ci};
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ci&i2c3 {
20462306a36Sopenharmony_ci	pinctrl-names = "default";
20562306a36Sopenharmony_ci	pinctrl-0 = <&i2c3_pins>;
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ci	clock-frequency = <100000>;
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ci	/* TODO: BD2606MVV at 0x66 */
21062306a36Sopenharmony_ci};
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci&i2c4 {
21362306a36Sopenharmony_ci	pinctrl-names = "default";
21462306a36Sopenharmony_ci	pinctrl-0 = <&i2c4_pins>;
21562306a36Sopenharmony_ci
21662306a36Sopenharmony_ci	clock-frequency = <360000>;
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ci	/* TODO: KXTI9 at 0xf */
21962306a36Sopenharmony_ci
22062306a36Sopenharmony_ci	tlv320aic3x: codec@18 {
22162306a36Sopenharmony_ci		compatible = "ti,tlv320aic3x";
22262306a36Sopenharmony_ci		reg = <0x18>;
22362306a36Sopenharmony_ci		pinctrl-names = "default";
22462306a36Sopenharmony_ci		pinctrl-0 = <&tlv320aic3x_pins>;
22562306a36Sopenharmony_ci		#sound-dai-cells = <0>;
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci		reset-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
22862306a36Sopenharmony_ci	};
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ci	/* TODO: mpu9150 at control unit, seems to require quirks */
23162306a36Sopenharmony_ci};
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ci&keypad {
23462306a36Sopenharmony_ci	pinctrl-names = "default";
23562306a36Sopenharmony_ci	pinctrl-0 = <&keypad_pins>;
23662306a36Sopenharmony_ci	keypad,num-rows = <2>;
23762306a36Sopenharmony_ci	keypad,num-columns = <3>;
23862306a36Sopenharmony_ci	linux,keymap = <MATRIX_KEY(0, 0, KEY_MENU)
23962306a36Sopenharmony_ci			MATRIX_KEY(0, 1, KEY_HOME)
24062306a36Sopenharmony_ci			MATRIX_KEY(0, 2, KEY_BACK)
24162306a36Sopenharmony_ci			MATRIX_KEY(1, 0, KEY_ESC)
24262306a36Sopenharmony_ci			MATRIX_KEY(1, 1, KEY_VOLUMEDOWN)
24362306a36Sopenharmony_ci			MATRIX_KEY(1, 2, KEY_VOLUMEUP)>;
24462306a36Sopenharmony_ci	linux,input-no-autorepeat;
24562306a36Sopenharmony_ci};
24662306a36Sopenharmony_ci
24762306a36Sopenharmony_ci&mcbsp2 {
24862306a36Sopenharmony_ci	#sound-dai-cells = <0>;
24962306a36Sopenharmony_ci	pinctrl-names = "default";
25062306a36Sopenharmony_ci	pinctrl-0 = <&mcbsp2_pins>;
25162306a36Sopenharmony_ci	status = "okay";
25262306a36Sopenharmony_ci};
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ci
25562306a36Sopenharmony_ci&mmc1 {
25662306a36Sopenharmony_ci	/* sdcard */
25762306a36Sopenharmony_ci	vmmc-supply = <&ldo5>;
25862306a36Sopenharmony_ci	broken-cd;
25962306a36Sopenharmony_ci	bus-width = <4>;
26062306a36Sopenharmony_ci};
26162306a36Sopenharmony_ci
26262306a36Sopenharmony_ci&mmc2 {
26362306a36Sopenharmony_ci	/* emmc */
26462306a36Sopenharmony_ci	vmmc-supply = <&ldo2>;
26562306a36Sopenharmony_ci	bus-width = <8>;
26662306a36Sopenharmony_ci};
26762306a36Sopenharmony_ci
26862306a36Sopenharmony_ci&mmc3 {
26962306a36Sopenharmony_ci	pinctrl-names = "default";
27062306a36Sopenharmony_ci	pinctrl-0 = <&wl12xx_pins>;
27162306a36Sopenharmony_ci	vmmc-supply = <&wl12xx_vmmc>;
27262306a36Sopenharmony_ci	interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
27362306a36Sopenharmony_ci			       &omap4_pmx_core 0x12e>;
27462306a36Sopenharmony_ci	non-removable;
27562306a36Sopenharmony_ci	bus-width = <4>;
27662306a36Sopenharmony_ci	cap-power-off-card;
27762306a36Sopenharmony_ci
27862306a36Sopenharmony_ci	#address-cells = <1>;
27962306a36Sopenharmony_ci	#size-cells = <0>;
28062306a36Sopenharmony_ci	wlcore: wlcore@2 {
28162306a36Sopenharmony_ci		compatible = "ti,wl1283";
28262306a36Sopenharmony_ci		reg = <2>;
28362306a36Sopenharmony_ci		interrupts-extended = <&gpio1 23 IRQ_TYPE_LEVEL_HIGH>;
28462306a36Sopenharmony_ci		interrupt-names = "irq";
28562306a36Sopenharmony_ci		ref-clock-frequency = <26000000>;
28662306a36Sopenharmony_ci		tcxo-clock-frequency = <26000000>;
28762306a36Sopenharmony_ci	};
28862306a36Sopenharmony_ci};
28962306a36Sopenharmony_ci
29062306a36Sopenharmony_ci&mmc4 {
29162306a36Sopenharmony_ci	status = "disabled";
29262306a36Sopenharmony_ci};
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_ci&mmc5 {
29562306a36Sopenharmony_ci	status = "disabled";
29662306a36Sopenharmony_ci};
29762306a36Sopenharmony_ci
29862306a36Sopenharmony_ci&omap4_pmx_core {
29962306a36Sopenharmony_ci	bt_pins: pinmux-bt-pins {
30062306a36Sopenharmony_ci		pinctrl-single,pins = <
30162306a36Sopenharmony_ci			OMAP4_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE3) /* gpio25 */
30262306a36Sopenharmony_ci		>;
30362306a36Sopenharmony_ci	};
30462306a36Sopenharmony_ci
30562306a36Sopenharmony_ci	gpio_keys_pins: pinmux-gpio-key-pins {
30662306a36Sopenharmony_ci		pinctrl-single,pins = <
30762306a36Sopenharmony_ci			OMAP4_IOPAD(0x56, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio35 */
30862306a36Sopenharmony_ci		>;
30962306a36Sopenharmony_ci	};
31062306a36Sopenharmony_ci
31162306a36Sopenharmony_ci	i2c1_pins: pinmux-i2c1-pins {
31262306a36Sopenharmony_ci		pinctrl-single,pins = <
31362306a36Sopenharmony_ci			   OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_scl */
31462306a36Sopenharmony_ci			   OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_sda */
31562306a36Sopenharmony_ci		>;
31662306a36Sopenharmony_ci	};
31762306a36Sopenharmony_ci
31862306a36Sopenharmony_ci	i2c2_pins: pinmux-i2c2-pins {
31962306a36Sopenharmony_ci		pinctrl-single,pins = <
32062306a36Sopenharmony_ci			OMAP4_IOPAD(0x126, PIN_INPUT | MUX_MODE0)	/* i2c2_scl */
32162306a36Sopenharmony_ci			OMAP4_IOPAD(0x128, PIN_INPUT | MUX_MODE0)	/* i2c2_sda */
32262306a36Sopenharmony_ci		>;
32362306a36Sopenharmony_ci	};
32462306a36Sopenharmony_ci
32562306a36Sopenharmony_ci	i2c3_pins: pinmux-i2c3-pins {
32662306a36Sopenharmony_ci		pinctrl-single,pins = <
32762306a36Sopenharmony_ci			OMAP4_IOPAD(0x12a, PIN_INPUT | MUX_MODE0)	/* i2c3_scl */
32862306a36Sopenharmony_ci			OMAP4_IOPAD(0x12c, PIN_INPUT | MUX_MODE0)	/* i2c3_sda */
32962306a36Sopenharmony_ci		>;
33062306a36Sopenharmony_ci	};
33162306a36Sopenharmony_ci
33262306a36Sopenharmony_ci	i2c4_pins: pinmux-i2c4-pins {
33362306a36Sopenharmony_ci		pinctrl-single,pins = <
33462306a36Sopenharmony_ci			OMAP4_IOPAD(0x12e, PIN_INPUT | MUX_MODE0)	/* i2c4_scl */
33562306a36Sopenharmony_ci			OMAP4_IOPAD(0x130, PIN_INPUT | MUX_MODE0)	/* i2c4_sda */
33662306a36Sopenharmony_ci		>;
33762306a36Sopenharmony_ci	};
33862306a36Sopenharmony_ci
33962306a36Sopenharmony_ci	keypad_pins: pinmux-keypad-pins {
34062306a36Sopenharmony_ci		pinctrl-single,pins = <
34162306a36Sopenharmony_ci			/* kpd_row0 */
34262306a36Sopenharmony_ci			OMAP4_IOPAD(0x0050, PIN_INPUT_PULLUP | MUX_MODE1)
34362306a36Sopenharmony_ci			/* kpd_row1 */
34462306a36Sopenharmony_ci			OMAP4_IOPAD(0x0052, PIN_INPUT_PULLUP | MUX_MODE1)
34562306a36Sopenharmony_ci			/* kpd_row2 */
34662306a36Sopenharmony_ci			OMAP4_IOPAD(0x0054, PIN_INPUT_PULLUP | MUX_MODE1)
34762306a36Sopenharmony_ci			/* kpd_col0 */
34862306a36Sopenharmony_ci			OMAP4_IOPAD(0x0058, PIN_OUTPUT | MUX_MODE1)
34962306a36Sopenharmony_ci			/* kpd_col1 */
35062306a36Sopenharmony_ci			OMAP4_IOPAD(0x005a, PIN_OUTPUT | MUX_MODE1)
35162306a36Sopenharmony_ci			/* kpd_col2 */
35262306a36Sopenharmony_ci			OMAP4_IOPAD(0x005c, PIN_OUTPUT | MUX_MODE1)
35362306a36Sopenharmony_ci		>;
35462306a36Sopenharmony_ci	};
35562306a36Sopenharmony_ci
35662306a36Sopenharmony_ci	mcbsp2_pins: pinmux-mcbsp2-pins {
35762306a36Sopenharmony_ci		pinctrl-single,pins = <
35862306a36Sopenharmony_ci			OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0)       /* abe_mcbsp2_clkx */
35962306a36Sopenharmony_ci			OMAP4_IOPAD(0x0f8, PIN_INPUT | MUX_MODE0)       /* abe_mcbsp2_dr */
36062306a36Sopenharmony_ci			OMAP4_IOPAD(0x0fa, PIN_OUTPUT | MUX_MODE0)      /* abe_mcbsp2_dx */
36162306a36Sopenharmony_ci			OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0)       /* abe_mcbsp2_fsx */
36262306a36Sopenharmony_ci		>;
36362306a36Sopenharmony_ci	};
36462306a36Sopenharmony_ci
36562306a36Sopenharmony_ci	mpu9150h_pins: pinmux-mpu9150h-pins {
36662306a36Sopenharmony_ci		pinctrl-single,pins = <
36762306a36Sopenharmony_ci			OMAP4_IOPAD(0x76, PIN_INPUT_PULLUP | MUX_MODE3)
36862306a36Sopenharmony_ci		>;
36962306a36Sopenharmony_ci	};
37062306a36Sopenharmony_ci
37162306a36Sopenharmony_ci	tlv320aic3x_pins: pinmux-tlv320aic3x-pins {
37262306a36Sopenharmony_ci		pinctrl-single,pins = <
37362306a36Sopenharmony_ci			OMAP4_IOPAD(0x7e, PIN_OUTPUT | MUX_MODE3)
37462306a36Sopenharmony_ci		>;
37562306a36Sopenharmony_ci	};
37662306a36Sopenharmony_ci
37762306a36Sopenharmony_ci	uart2_pins: pinmux-uart2-pins {
37862306a36Sopenharmony_ci		pinctrl-single,pins = <
37962306a36Sopenharmony_ci			OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */
38062306a36Sopenharmony_ci			OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0)	 /* uart2_rts.uart2_rts */
38162306a36Sopenharmony_ci			OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */
38262306a36Sopenharmony_ci			OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0)	 /* uart2_tx.uart2_tx */
38362306a36Sopenharmony_ci		>;
38462306a36Sopenharmony_ci	};
38562306a36Sopenharmony_ci
38662306a36Sopenharmony_ci	uart3_pins: pinmux-uart3-pins {
38762306a36Sopenharmony_ci		pinctrl-single,pins = <
38862306a36Sopenharmony_ci			OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0)  /* uart3_rx_irrx */
38962306a36Sopenharmony_ci			OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx */
39062306a36Sopenharmony_ci		>;
39162306a36Sopenharmony_ci	};
39262306a36Sopenharmony_ci
39362306a36Sopenharmony_ci	usb_otg_hs_pins: pinmux-usb-otg-hs-pins {
39462306a36Sopenharmony_ci		 pinctrl-single,pins = <
39562306a36Sopenharmony_ci			 OMAP4_IOPAD(0x194, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* usba0_otg_ce */
39662306a36Sopenharmony_ci			 OMAP4_IOPAD(0x196, PIN_INPUT | MUX_MODE0)	     /* usba0_otg_dp */
39762306a36Sopenharmony_ci			 OMAP4_IOPAD(0x198, PIN_INPUT | MUX_MODE0)	     /* usba0_otg_dm */
39862306a36Sopenharmony_ci		 >;
39962306a36Sopenharmony_ci	};
40062306a36Sopenharmony_ci
40162306a36Sopenharmony_ci	wl12xx_pins: pinmux-wl12xx-pins {
40262306a36Sopenharmony_ci		pinctrl-single,pins = <
40362306a36Sopenharmony_ci			OMAP4_IOPAD(0x1c6, PIN_INPUT | MUX_MODE3) /* gpio_23 / IRQ */
40462306a36Sopenharmony_ci			OMAP4_IOPAD(0x16c, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat2 */
40562306a36Sopenharmony_ci			OMAP4_IOPAD(0x16e, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat1 */
40662306a36Sopenharmony_ci			OMAP4_IOPAD(0x170, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat0 */
40762306a36Sopenharmony_ci			OMAP4_IOPAD(0x172, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat3 */
40862306a36Sopenharmony_ci			OMAP4_IOPAD(0x174, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_cmd */
40962306a36Sopenharmony_ci			OMAP4_IOPAD(0x176, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_clk */
41062306a36Sopenharmony_ci		>;
41162306a36Sopenharmony_ci	};
41262306a36Sopenharmony_ci
41362306a36Sopenharmony_ci	wl12xx_gpio: pinmux-wl12xx-gpio {
41462306a36Sopenharmony_ci		pinctrl-single,pins = <
41562306a36Sopenharmony_ci			OMAP4_IOPAD(0x1c8, PIN_OUTPUT | MUX_MODE3)  /* gpio_24 / WLAN_EN */
41662306a36Sopenharmony_ci		>;
41762306a36Sopenharmony_ci	};
41862306a36Sopenharmony_ci};
41962306a36Sopenharmony_ci
42062306a36Sopenharmony_ci&uart2 {
42162306a36Sopenharmony_ci	pinctrl-names = "default";
42262306a36Sopenharmony_ci	pinctrl-0 = <&uart2_pins &bt_pins>;
42362306a36Sopenharmony_ci	interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
42462306a36Sopenharmony_ci			       &omap4_pmx_core OMAP4_UART2_RX>;
42562306a36Sopenharmony_ci
42662306a36Sopenharmony_ci	/*
42762306a36Sopenharmony_ci	 * BT + GPS in WL1283 in WG7500 requiring CLK32KAUDIO of pmic
42862306a36Sopenharmony_ci	 * which does not have a driver
42962306a36Sopenharmony_ci	 */
43062306a36Sopenharmony_ci};
43162306a36Sopenharmony_ci
43262306a36Sopenharmony_ci&uart3 {
43362306a36Sopenharmony_ci	pinctrl-names = "default";
43462306a36Sopenharmony_ci	pinctrl-0 = <&uart3_pins>;
43562306a36Sopenharmony_ci	interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
43662306a36Sopenharmony_ci			       &omap4_pmx_core OMAP4_UART3_RX>;
43762306a36Sopenharmony_ci};
43862306a36Sopenharmony_ci
43962306a36Sopenharmony_ci&usb_otg_hs {
44062306a36Sopenharmony_ci	pinctrl-names = "default";
44162306a36Sopenharmony_ci	pinctrl-0 = <&usb_otg_hs_pins>;
44262306a36Sopenharmony_ci
44362306a36Sopenharmony_ci	interface-type = <1>;
44462306a36Sopenharmony_ci	mode = <3>;
44562306a36Sopenharmony_ci	power = <50>;
44662306a36Sopenharmony_ci};
44762306a36Sopenharmony_ci
44862306a36Sopenharmony_ci&usbhshost {
44962306a36Sopenharmony_ci	status = "disabled";
45062306a36Sopenharmony_ci};
451