xref: /linux/scripts/dtc/include-prefixes/arm/ti/omap/omap4-epson-embt2ws.dts (revision c771600c6af14749609b49565ffb4cac2959710d)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright (C) 2023 Andreas Kemnade
4724ba675SRob Herring */
5724ba675SRob Herring/dts-v1/;
6724ba675SRob Herring
705ee882dSAndreas Kemnade#include <dt-bindings/leds/common.h>
8724ba675SRob Herring#include <dt-bindings/input/input.h>
9724ba675SRob Herring#include "omap4460.dtsi"
10724ba675SRob Herring
11724ba675SRob Herring/ {
12724ba675SRob Herring	model = "Epson Moverio BT-200";
13724ba675SRob Herring	compatible = "epson,embt2ws", "ti,omap4460", "ti,omap4";
14724ba675SRob Herring
15724ba675SRob Herring	memory@80000000 {
16724ba675SRob Herring		device_type = "memory";
17724ba675SRob Herring		reg = <0x80000000 0x40000000>; /* 1024M */
18724ba675SRob Herring	};
19724ba675SRob Herring
20*a2c06140SAndreas Kemnade	battery: battery {
21*a2c06140SAndreas Kemnade		compatible = "simple-battery";
22*a2c06140SAndreas Kemnade		device-chemistry = "lithium-ion";
23*a2c06140SAndreas Kemnade		charge-full-design-microamp-hours = <2720000>;
24*a2c06140SAndreas Kemnade		voltage-max-design-microvolt = <4200000>;
25*a2c06140SAndreas Kemnade		voltage-min-design-microvolt = <3300000>;
26*a2c06140SAndreas Kemnade
27*a2c06140SAndreas Kemnade		constant-charge-voltage-max-microvolt = <4200000>;
28*a2c06140SAndreas Kemnade		/*
29*a2c06140SAndreas Kemnade		 * vendor kernel says max charge 1400000, input limit 900000
30*a2c06140SAndreas Kemnade		 * and charges only with dcp chargers. So it is unclear what
31*a2c06140SAndreas Kemnade		 * is really allowed. Play safe for now and restrict things
32*a2c06140SAndreas Kemnade		 * here. Maybe 900000 is just the limit of the vendor charger?
33*a2c06140SAndreas Kemnade		 */
34*a2c06140SAndreas Kemnade		constant-charge-current-max-microamp = <900000>;
35*a2c06140SAndreas Kemnade		charge-term-current-microamp = <200000>;
36*a2c06140SAndreas Kemnade	};
37*a2c06140SAndreas Kemnade
38724ba675SRob Herring	backlight-left {
39724ba675SRob Herring		compatible = "pwm-backlight";
40724ba675SRob Herring		pwms = <&twl_pwm 1 7812500>;
4114238514SAndreas Kemnade		power-supply = <&lb_v50>;
42724ba675SRob Herring	};
43724ba675SRob Herring
44724ba675SRob Herring	backlight-right {
45724ba675SRob Herring		compatible = "pwm-backlight";
46724ba675SRob Herring		pwms = <&twl_pwm 0 7812500>;
4714238514SAndreas Kemnade		power-supply = <&lb_v50>;
48724ba675SRob Herring	};
49724ba675SRob Herring
50724ba675SRob Herring	chosen {
51724ba675SRob Herring		stdout-path = &uart3;
52724ba675SRob Herring	};
53724ba675SRob Herring
54724ba675SRob Herring	gpio-keys {
55724ba675SRob Herring		compatible = "gpio-keys";
56724ba675SRob Herring		pinctrl-names = "default";
57724ba675SRob Herring		pinctrl-0 = <&gpio_keys_pins>;
58724ba675SRob Herring
59724ba675SRob Herring		key-lock {
60724ba675SRob Herring			label = "Lock";
61724ba675SRob Herring			gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
62724ba675SRob Herring			linux,code = <SW_ROTATE_LOCK>; /* SW_TOUCHPAD_LOCK */
63724ba675SRob Herring			linux,input-type = <EV_SW>;
64724ba675SRob Herring		};
65724ba675SRob Herring	};
66724ba675SRob Herring
6711dcae18SAndreas Kemnade	cb_v18: regulator-cb-v18 {
6811dcae18SAndreas Kemnade		pinctrl-names = "default";
6911dcae18SAndreas Kemnade		pinctrl-0 = <&cb_v18_pins>;
7011dcae18SAndreas Kemnade		compatible = "regulator-fixed";
7111dcae18SAndreas Kemnade		regulator-name = "cb_v18";
7211dcae18SAndreas Kemnade		regulator-min-microvolt = <1800000>;
7311dcae18SAndreas Kemnade		regulator-max-microvolt = <1800000>;
7411dcae18SAndreas Kemnade		regulator-always-on;
7511dcae18SAndreas Kemnade		gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
7611dcae18SAndreas Kemnade		enable-active-high;
7711dcae18SAndreas Kemnade	};
7811dcae18SAndreas Kemnade
7911dcae18SAndreas Kemnade	cb_v33: regulator-cb-v33 {
8011dcae18SAndreas Kemnade		pinctrl-names = "default";
8111dcae18SAndreas Kemnade		pinctrl-0 = <&cb_v33_pins>;
8211dcae18SAndreas Kemnade		compatible = "regulator-fixed";
8311dcae18SAndreas Kemnade		regulator-name = "cb_v33";
8411dcae18SAndreas Kemnade		regulator-min-microvolt = <3300000>;
8511dcae18SAndreas Kemnade		regulator-max-microvolt = <3300000>;
8611dcae18SAndreas Kemnade		regulator-always-on;
8711dcae18SAndreas Kemnade		gpio = <&gpio6 30 GPIO_ACTIVE_HIGH>;
8811dcae18SAndreas Kemnade		enable-active-high;
8911dcae18SAndreas Kemnade	};
9011dcae18SAndreas Kemnade
9111dcae18SAndreas Kemnade	regulator-cb-v50 {
9211dcae18SAndreas Kemnade		pinctrl-names = "default";
9311dcae18SAndreas Kemnade		pinctrl-0 = <&cb_v50_pins>;
9411dcae18SAndreas Kemnade		compatible = "regulator-fixed";
9511dcae18SAndreas Kemnade		regulator-name = "cb_v50";
9611dcae18SAndreas Kemnade		regulator-min-microvolt = <5000000>;
9711dcae18SAndreas Kemnade		regulator-max-microvolt = <5000000>;
9811dcae18SAndreas Kemnade		regulator-always-on;
9911dcae18SAndreas Kemnade		gpio = <&gpio6 31 GPIO_ACTIVE_HIGH>;
10011dcae18SAndreas Kemnade		enable-active-high;
10111dcae18SAndreas Kemnade	};
10211dcae18SAndreas Kemnade
10311dcae18SAndreas Kemnade	lb_v50: regulator-lb-v50 {
10411dcae18SAndreas Kemnade		/* required for many things at the head (probably indirectly) */
10511dcae18SAndreas Kemnade		pinctrl-names = "default";
10611dcae18SAndreas Kemnade		pinctrl-0 = <&lb_v50_pins>;
10711dcae18SAndreas Kemnade		compatible = "regulator-fixed";
10811dcae18SAndreas Kemnade		regulator-name = "lb_v50";
10911dcae18SAndreas Kemnade		regulator-min-microvolt = <5000000>;
11011dcae18SAndreas Kemnade		regulator-max-microvolt = <5000000>;
11111dcae18SAndreas Kemnade		regulator-always-on;
11211dcae18SAndreas Kemnade		gpio = <&gpio1 27 GPIO_ACTIVE_HIGH>;
11311dcae18SAndreas Kemnade		enable-active-high;
11411dcae18SAndreas Kemnade	};
11511dcae18SAndreas Kemnade
116b1a041afSAndreas Kemnade	wl12xx_pwrseq: wl12xx-pwrseq {
117b1a041afSAndreas Kemnade		compatible = "mmc-pwrseq-simple";
118b1a041afSAndreas Kemnade		clocks = <&twl 1>;
119b1a041afSAndreas Kemnade		clock-names = "ext_clock";
120b1a041afSAndreas Kemnade	};
121b1a041afSAndreas Kemnade
122724ba675SRob Herring       /* regulator for wl12xx on sdio2 */
123724ba675SRob Herring	wl12xx_vmmc: wl12xx-vmmc {
124724ba675SRob Herring		pinctrl-names = "default";
125724ba675SRob Herring		pinctrl-0 = <&wl12xx_gpio>;
126724ba675SRob Herring		compatible = "regulator-fixed";
127724ba675SRob Herring		regulator-name = "vwl1271";
128724ba675SRob Herring		regulator-min-microvolt = <1800000>;
129724ba675SRob Herring		regulator-max-microvolt = <1800000>;
130724ba675SRob Herring		gpio = <&gpio1 24 GPIO_ACTIVE_HIGH>;
131724ba675SRob Herring		startup-delay-us = <70000>;
132724ba675SRob Herring		enable-active-high;
133724ba675SRob Herring	};
134724ba675SRob Herring};
135724ba675SRob Herring
13660fdc971SAndreas Kemnade&gpio1 {
13760fdc971SAndreas Kemnade	pinctrl-names = "default";
13860fdc971SAndreas Kemnade	pinctrl-0 = <&gpio1_hog_pins &gpio1wk_hog_pins>;
13960fdc971SAndreas Kemnade
14060fdc971SAndreas Kemnade	lb-reset-hog {
14160fdc971SAndreas Kemnade		gpio-hog;
14260fdc971SAndreas Kemnade		gpios = <9 GPIO_ACTIVE_HIGH>;
14360fdc971SAndreas Kemnade		output-low;
14460fdc971SAndreas Kemnade		line-name = "lb_reset";
14560fdc971SAndreas Kemnade	};
14660fdc971SAndreas Kemnade
14760fdc971SAndreas Kemnade	power-en-hog {
14860fdc971SAndreas Kemnade		gpio-hog;
14960fdc971SAndreas Kemnade		gpios = <10 GPIO_ACTIVE_HIGH>;
15060fdc971SAndreas Kemnade		output-high;
15160fdc971SAndreas Kemnade		line-name = "power_en";
15260fdc971SAndreas Kemnade	};
15360fdc971SAndreas Kemnade
15460fdc971SAndreas Kemnade	/*
15560fdc971SAndreas Kemnade	 * Name taken from vendor kernel but no evidence of actual usage found
15660fdc971SAndreas Kemnade	 * nor what it really controls.
15760fdc971SAndreas Kemnade	 */
15860fdc971SAndreas Kemnade	panel-power-en-hog {
15960fdc971SAndreas Kemnade		gpio-hog;
16060fdc971SAndreas Kemnade		gpios = <14 GPIO_ACTIVE_HIGH>;
16160fdc971SAndreas Kemnade		output-low;
16260fdc971SAndreas Kemnade		line-name = "panel_power_en";
16360fdc971SAndreas Kemnade	};
16460fdc971SAndreas Kemnade
16560fdc971SAndreas Kemnade	/*
16660fdc971SAndreas Kemnade	 * These two are exported to sysfs in vendor kernel, usage unknown,
16760fdc971SAndreas Kemnade	 * backlight state seems unrelated to these.
16860fdc971SAndreas Kemnade	 */
16960fdc971SAndreas Kemnade	blc-r-hog {
17060fdc971SAndreas Kemnade		gpio-hog;
17160fdc971SAndreas Kemnade		gpios = <17 GPIO_ACTIVE_HIGH>;
17260fdc971SAndreas Kemnade		output-low;
17360fdc971SAndreas Kemnade		line-name = "blc_r";
17460fdc971SAndreas Kemnade	};
17560fdc971SAndreas Kemnade
17660fdc971SAndreas Kemnade	blc-l-hog {
17760fdc971SAndreas Kemnade		gpio-hog;
17860fdc971SAndreas Kemnade		gpios = <16 GPIO_ACTIVE_HIGH>;
17960fdc971SAndreas Kemnade		output-low;
18060fdc971SAndreas Kemnade		line-name = "blc_l";
18160fdc971SAndreas Kemnade	};
18260fdc971SAndreas Kemnade
18360fdc971SAndreas Kemnade	high-hog {
18460fdc971SAndreas Kemnade		gpio-hog;
18560fdc971SAndreas Kemnade		gpios = <15 GPIO_ACTIVE_HIGH /* maybe dsi to dpi chip reset? */
18660fdc971SAndreas Kemnade			 21 GPIO_ACTIVE_HIGH
18760fdc971SAndreas Kemnade			 26 GPIO_ACTIVE_HIGH>;
18860fdc971SAndreas Kemnade		output-high;
18960fdc971SAndreas Kemnade		line-name = "unknown-high";
19060fdc971SAndreas Kemnade	};
19160fdc971SAndreas Kemnade
19260fdc971SAndreas Kemnade	low-hog {
19360fdc971SAndreas Kemnade		gpio-hog;
19460fdc971SAndreas Kemnade		gpios = <18 GPIO_ACTIVE_HIGH
19560fdc971SAndreas Kemnade			 19 GPIO_ACTIVE_HIGH
19660fdc971SAndreas Kemnade			 20 GPIO_ACTIVE_HIGH
19760fdc971SAndreas Kemnade			 22 GPIO_ACTIVE_HIGH>;
19860fdc971SAndreas Kemnade		output-low;
19960fdc971SAndreas Kemnade		line-name = "unknown-low";
20060fdc971SAndreas Kemnade	};
20160fdc971SAndreas Kemnade};
20260fdc971SAndreas Kemnade
203724ba675SRob Herring&i2c1 {
204724ba675SRob Herring	pinctrl-names = "default";
205724ba675SRob Herring	pinctrl-0 = <&i2c1_pins>;
206724ba675SRob Herring
207724ba675SRob Herring	clock-frequency = <400000>;
208724ba675SRob Herring
209724ba675SRob Herring	twl: pmic@48 {
210724ba675SRob Herring		compatible = "ti,twl6032";
211724ba675SRob Herring		reg = <0x48>;
212b1a041afSAndreas Kemnade		#clock-cells = <1>;
213724ba675SRob Herring		/* IRQ# = 7 */
214724ba675SRob Herring		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
215724ba675SRob Herring		interrupt-controller;
216724ba675SRob Herring		#interrupt-cells = <1>;
217ba95cc59SAndreas Kemnade		system-power-controller;
218724ba675SRob Herring
219*a2c06140SAndreas Kemnade		charger {
220*a2c06140SAndreas Kemnade			compatible = "ti,twl6032-charger", "ti,twl6030-charger";
221*a2c06140SAndreas Kemnade			interrupts = <2>, <5>;
222*a2c06140SAndreas Kemnade			io-channels = <&gpadc 10>;
223*a2c06140SAndreas Kemnade			io-channel-names = "vusb";
224*a2c06140SAndreas Kemnade			monitored-battery = <&battery>;
225*a2c06140SAndreas Kemnade		};
226*a2c06140SAndreas Kemnade
227724ba675SRob Herring		rtc {
228724ba675SRob Herring			compatible = "ti,twl4030-rtc";
229724ba675SRob Herring			interrupts = <11>;
230724ba675SRob Herring		};
231724ba675SRob Herring
232724ba675SRob Herring		ldo2: regulator-ldo2 {
233724ba675SRob Herring			compatible = "ti,twl6032-ldo2";
234724ba675SRob Herring			regulator-min-microvolt = <1000000>;
235724ba675SRob Herring			regulator-max-microvolt = <3000000>;
236724ba675SRob Herring		};
237724ba675SRob Herring
238724ba675SRob Herring		ldo4: regulator-ldo4 {
239724ba675SRob Herring			compatible = "ti,twl6032-ldo4";
240724ba675SRob Herring			regulator-min-microvolt = <1200000>;
241724ba675SRob Herring			regulator-max-microvolt = <2800000>;
242724ba675SRob Herring		};
243724ba675SRob Herring
244724ba675SRob Herring		ldo3: regulator-ldo3 {
245724ba675SRob Herring			compatible = "ti,twl6032-ldo3";
246724ba675SRob Herring			regulator-min-microvolt = <1000000>;
247724ba675SRob Herring			regulator-max-microvolt = <3000000>;
248724ba675SRob Herring		};
249724ba675SRob Herring
250724ba675SRob Herring		ldo5: regulator-ldo5 {
251724ba675SRob Herring			compatible = "ti,twl6032-ldo5";
252724ba675SRob Herring			regulator-min-microvolt = <1200000>;
253724ba675SRob Herring			regulator-max-microvolt = <3000000>;
254724ba675SRob Herring			ti,retain-on-reset;
255724ba675SRob Herring		};
256724ba675SRob Herring
257724ba675SRob Herring		ldo1: regulator-ldo1 {
258724ba675SRob Herring			compatible = "ti,twl6032-ldo1";
259724ba675SRob Herring			regulator-min-microvolt = <1800000>;
260724ba675SRob Herring			regulator-max-microvolt = <2500000>;
261724ba675SRob Herring		};
262724ba675SRob Herring
263724ba675SRob Herring		ldo7: regulator-ldo7 {
264724ba675SRob Herring			compatible = "ti,twl6032-ldo7";
265724ba675SRob Herring			regulator-min-microvolt = <1200000>;
266724ba675SRob Herring			regulator-max-microvolt = <2900000>;
267724ba675SRob Herring		};
268724ba675SRob Herring
269724ba675SRob Herring		ldoln: regulator-ldoln {
270724ba675SRob Herring			compatible = "ti,twl6032-ldoln";
271724ba675SRob Herring			regulator-always-on;
272724ba675SRob Herring		};
273724ba675SRob Herring
274724ba675SRob Herring		ldo6: regulator-ldo6 {
275724ba675SRob Herring			compatible = "ti,twl6032-ldo6";
276724ba675SRob Herring			regulator-always-on;
277724ba675SRob Herring		};
278724ba675SRob Herring
279724ba675SRob Herring		ldousb: regulator-ldousb {
280724ba675SRob Herring			compatible = "ti,twl6032-ldousb";
281724ba675SRob Herring			regulator-always-on;
282724ba675SRob Herring		};
283724ba675SRob Herring
284724ba675SRob Herring		vio: regulator-vio {
285724ba675SRob Herring			compatible = "ti,twl6032-vio";
286724ba675SRob Herring			regulator-always-on;
287724ba675SRob Herring		};
288724ba675SRob Herring
289724ba675SRob Herring		twl_usb_comparator: usb-comparator {
290724ba675SRob Herring			compatible = "ti,twl6030-usb";
291724ba675SRob Herring			interrupts = <4>, <10>;
292724ba675SRob Herring		};
293724ba675SRob Herring
294724ba675SRob Herring		twl_pwm: pwm {
295724ba675SRob Herring			/* provides two PWMs (id 0, 1 for PWM1 and PWM2) */
296724ba675SRob Herring			compatible = "ti,twl6030-pwm";
297724ba675SRob Herring			#pwm-cells = <2>;
298724ba675SRob Herring		};
299724ba675SRob Herring
300724ba675SRob Herring		twl_pwmled: pwmled {
301724ba675SRob Herring			/* provides one PWM (id 0 for Charging indicator LED) */
302724ba675SRob Herring			compatible = "ti,twl6030-pwmled";
303724ba675SRob Herring			#pwm-cells = <2>;
304724ba675SRob Herring		};
305724ba675SRob Herring
306*a2c06140SAndreas Kemnade		gpadc: gpadc {
307724ba675SRob Herring			compatible = "ti,twl6032-gpadc";
308724ba675SRob Herring			interrupts = <3>;
309724ba675SRob Herring			#io-channel-cells = <1>;
310724ba675SRob Herring		};
311724ba675SRob Herring
312724ba675SRob Herring	};
313724ba675SRob Herring};
314724ba675SRob Herring
315724ba675SRob Herring#include "twl6030_omap4.dtsi"
316724ba675SRob Herring
317724ba675SRob Herring&twl_usb_comparator {
318724ba675SRob Herring	usb-supply = <&ldousb>;
319724ba675SRob Herring};
320724ba675SRob Herring
321724ba675SRob Herring
322724ba675SRob Herring&i2c2 {
323724ba675SRob Herring	pinctrl-names = "default";
324724ba675SRob Herring	pinctrl-0 = <&i2c2_pins>;
325724ba675SRob Herring
326724ba675SRob Herring	clock-frequency = <200000>;
327724ba675SRob Herring
328358e912eSAndreas Kemnade	/* is sometimes not available, research needed */
329358e912eSAndreas Kemnade	gpio_head: gpio@20 {
330358e912eSAndreas Kemnade		compatible = "ti,tca6408";
331358e912eSAndreas Kemnade		reg = <0x20>;
332358e912eSAndreas Kemnade		gpio-controller;
333358e912eSAndreas Kemnade		#gpio-cells = <2>;
334358e912eSAndreas Kemnade	};
335358e912eSAndreas Kemnade
336358e912eSAndreas Kemnade	/*
337358e912eSAndreas Kemnade	 * camera chip at 0x3c, available if <&gpio_head 1> high
338358e912eSAndreas Kemnade	 * and <&gpio_head 5> low
339358e912eSAndreas Kemnade	 */
340358e912eSAndreas Kemnade
341724ba675SRob Herring	/* at head/glasses */
342724ba675SRob Herring	mpu9150h: imu@68 {
343724ba675SRob Herring		compatible = "invensense,mpu9150";
344724ba675SRob Herring		reg = <0x68>;
345724ba675SRob Herring
346724ba675SRob Herring		pinctrl-names = "default";
347724ba675SRob Herring		pinctrl-0 = <&mpu9150h_pins>;
348724ba675SRob Herring		interrupt-parent = <&gpio2>;
349724ba675SRob Herring		interrupt = <19 IRQ_TYPE_LEVEL_HIGH>;
350724ba675SRob Herring	};
351724ba675SRob Herring};
352724ba675SRob Herring
353724ba675SRob Herring&i2c3 {
354724ba675SRob Herring	pinctrl-names = "default";
355724ba675SRob Herring	pinctrl-0 = <&i2c3_pins>;
356724ba675SRob Herring
357724ba675SRob Herring	clock-frequency = <100000>;
358724ba675SRob Herring
35905ee882dSAndreas Kemnade	led-controller@66 {
36005ee882dSAndreas Kemnade		compatible = "rohm,bd2606mvv";
36105ee882dSAndreas Kemnade		reg = <0x66>;
36205ee882dSAndreas Kemnade
36305ee882dSAndreas Kemnade		#address-cells = <1>;
36405ee882dSAndreas Kemnade		#size-cells = <0>;
36505ee882dSAndreas Kemnade
36605ee882dSAndreas Kemnade		led@0 {
36705ee882dSAndreas Kemnade			reg = <0>;
36805ee882dSAndreas Kemnade			color = <LED_COLOR_ID_GREEN>;
36905ee882dSAndreas Kemnade			function = LED_FUNCTION_STATUS;
37005ee882dSAndreas Kemnade		};
37105ee882dSAndreas Kemnade
37205ee882dSAndreas Kemnade		led@2 {
37305ee882dSAndreas Kemnade			reg = <2>;
37405ee882dSAndreas Kemnade			color = <LED_COLOR_ID_BLUE>;
37505ee882dSAndreas Kemnade			function = LED_FUNCTION_STATUS;
37605ee882dSAndreas Kemnade		};
37705ee882dSAndreas Kemnade
37805ee882dSAndreas Kemnade		led@4 {
37905ee882dSAndreas Kemnade			reg = <4>;
38005ee882dSAndreas Kemnade			color = <LED_COLOR_ID_RED>;
38105ee882dSAndreas Kemnade			function = LED_FUNCTION_STATUS;
38205ee882dSAndreas Kemnade		};
38305ee882dSAndreas Kemnade	};
384724ba675SRob Herring};
385724ba675SRob Herring
386724ba675SRob Herring&i2c4 {
387724ba675SRob Herring	pinctrl-names = "default";
388724ba675SRob Herring	pinctrl-0 = <&i2c4_pins>;
389724ba675SRob Herring
390724ba675SRob Herring	clock-frequency = <360000>;
391724ba675SRob Herring
392724ba675SRob Herring	/* TODO: KXTI9 at 0xf */
393724ba675SRob Herring
394724ba675SRob Herring	tlv320aic3x: codec@18 {
395724ba675SRob Herring		compatible = "ti,tlv320aic3x";
396724ba675SRob Herring		reg = <0x18>;
397724ba675SRob Herring		pinctrl-names = "default";
398724ba675SRob Herring		pinctrl-0 = <&tlv320aic3x_pins>;
399724ba675SRob Herring		#sound-dai-cells = <0>;
400724ba675SRob Herring
401724ba675SRob Herring		reset-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
402724ba675SRob Herring	};
403724ba675SRob Herring
404cc284742SAndreas Kemnade	mpu9150: imu@68 {
405cc284742SAndreas Kemnade		compatible = "invensense,mpu9150";
406cc284742SAndreas Kemnade		reg = <0x68>;
407cc284742SAndreas Kemnade
408cc284742SAndreas Kemnade		pinctrl-names = "default";
409cc284742SAndreas Kemnade		pinctrl-0 = <&mpu9150_pins>;
410cc284742SAndreas Kemnade		interrupt-parent = <&gpio2>;
411cc284742SAndreas Kemnade		interrupt = <7 IRQ_TYPE_LEVEL_HIGH>;
41214238514SAndreas Kemnade		vddio-supply = <&cb_v18>;
41314238514SAndreas Kemnade		vdd-supply = <&cb_v33>;
414cc284742SAndreas Kemnade		invensense,level-shifter;
415cc284742SAndreas Kemnade	};
416724ba675SRob Herring};
417724ba675SRob Herring
418724ba675SRob Herring&keypad {
419724ba675SRob Herring	pinctrl-names = "default";
420724ba675SRob Herring	pinctrl-0 = <&keypad_pins>;
421724ba675SRob Herring	keypad,num-rows = <2>;
422724ba675SRob Herring	keypad,num-columns = <3>;
423724ba675SRob Herring	linux,keymap = <MATRIX_KEY(0, 0, KEY_MENU)
424724ba675SRob Herring			MATRIX_KEY(0, 1, KEY_HOME)
425724ba675SRob Herring			MATRIX_KEY(0, 2, KEY_BACK)
426724ba675SRob Herring			MATRIX_KEY(1, 0, KEY_ESC)
427724ba675SRob Herring			MATRIX_KEY(1, 1, KEY_VOLUMEDOWN)
428724ba675SRob Herring			MATRIX_KEY(1, 2, KEY_VOLUMEUP)>;
429724ba675SRob Herring	linux,input-no-autorepeat;
430724ba675SRob Herring};
431724ba675SRob Herring
432724ba675SRob Herring&mcbsp2 {
433724ba675SRob Herring	#sound-dai-cells = <0>;
434724ba675SRob Herring	pinctrl-names = "default";
435724ba675SRob Herring	pinctrl-0 = <&mcbsp2_pins>;
436724ba675SRob Herring	status = "okay";
437724ba675SRob Herring};
438724ba675SRob Herring
439724ba675SRob Herring
440724ba675SRob Herring&mmc1 {
441724ba675SRob Herring	/* sdcard */
442724ba675SRob Herring	vmmc-supply = <&ldo5>;
443724ba675SRob Herring	broken-cd;
444724ba675SRob Herring	bus-width = <4>;
445724ba675SRob Herring};
446724ba675SRob Herring
447724ba675SRob Herring&mmc2 {
448724ba675SRob Herring	/* emmc */
449724ba675SRob Herring	vmmc-supply = <&ldo2>;
450724ba675SRob Herring	bus-width = <8>;
451724ba675SRob Herring};
452724ba675SRob Herring
453724ba675SRob Herring&mmc3 {
454724ba675SRob Herring	pinctrl-names = "default";
455724ba675SRob Herring	pinctrl-0 = <&wl12xx_pins>;
456724ba675SRob Herring	vmmc-supply = <&wl12xx_vmmc>;
457b1a041afSAndreas Kemnade	mmc-pwrseq = <&wl12xx_pwrseq>;
458724ba675SRob Herring	interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
459724ba675SRob Herring			       &omap4_pmx_core 0x12e>;
460724ba675SRob Herring	non-removable;
461724ba675SRob Herring	bus-width = <4>;
462724ba675SRob Herring	cap-power-off-card;
463724ba675SRob Herring
464724ba675SRob Herring	#address-cells = <1>;
465724ba675SRob Herring	#size-cells = <0>;
466724ba675SRob Herring	wlcore: wlcore@2 {
467724ba675SRob Herring		compatible = "ti,wl1283";
468724ba675SRob Herring		reg = <2>;
469724ba675SRob Herring		interrupts-extended = <&gpio1 23 IRQ_TYPE_LEVEL_HIGH>;
470724ba675SRob Herring		interrupt-names = "irq";
471724ba675SRob Herring		ref-clock-frequency = <26000000>;
472724ba675SRob Herring		tcxo-clock-frequency = <26000000>;
473724ba675SRob Herring	};
474724ba675SRob Herring};
475724ba675SRob Herring
476724ba675SRob Herring&mmc4 {
477724ba675SRob Herring	status = "disabled";
478724ba675SRob Herring};
479724ba675SRob Herring
480724ba675SRob Herring&mmc5 {
481724ba675SRob Herring	status = "disabled";
482724ba675SRob Herring};
483724ba675SRob Herring
484724ba675SRob Herring&omap4_pmx_core {
485724ba675SRob Herring	bt_pins: pinmux-bt-pins {
486724ba675SRob Herring		pinctrl-single,pins = <
487724ba675SRob Herring			OMAP4_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE3) /* gpio25 */
488724ba675SRob Herring		>;
489724ba675SRob Herring	};
490724ba675SRob Herring
49111dcae18SAndreas Kemnade	cb_v18_pins: pinmux-cb-v18-pins {
49211dcae18SAndreas Kemnade		pinctrl-single,pins = <
49311dcae18SAndreas Kemnade			OMAP4_IOPAD(0x1d0, PIN_OUTPUT | MUX_MODE3) /* gpio28 */
49411dcae18SAndreas Kemnade		>;
49511dcae18SAndreas Kemnade	};
49611dcae18SAndreas Kemnade
49711dcae18SAndreas Kemnade	cb_v33_pins: pinmux-cb-v33-pins {
49811dcae18SAndreas Kemnade		pinctrl-single,pins = <
49911dcae18SAndreas Kemnade			OMAP4_IOPAD(0x1d2, PIN_OUTPUT | MUX_MODE3) /* gpio190 */
50011dcae18SAndreas Kemnade		>;
50111dcae18SAndreas Kemnade	};
50211dcae18SAndreas Kemnade
50311dcae18SAndreas Kemnade	cb_v50_pins: pinmux-cb-v50-pins {
50411dcae18SAndreas Kemnade		pinctrl-single,pins = <
50511dcae18SAndreas Kemnade			OMAP4_IOPAD(0x1d4, PIN_OUTPUT | MUX_MODE3) /* gpio191 */
50611dcae18SAndreas Kemnade		>;
50711dcae18SAndreas Kemnade	};
50811dcae18SAndreas Kemnade
509724ba675SRob Herring	gpio_keys_pins: pinmux-gpio-key-pins {
510724ba675SRob Herring		pinctrl-single,pins = <
511724ba675SRob Herring			OMAP4_IOPAD(0x56, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio35 */
512724ba675SRob Herring		>;
513724ba675SRob Herring	};
514724ba675SRob Herring
51560fdc971SAndreas Kemnade	gpio1_hog_pins: pinmux-gpio1-hog-pins {
51660fdc971SAndreas Kemnade		pinctrl-single,pins = <
51760fdc971SAndreas Kemnade			OMAP4_IOPAD(0x1b4, PIN_OUTPUT | MUX_MODE3) /* gpio14 */
51860fdc971SAndreas Kemnade			OMAP4_IOPAD(0x1b8, PIN_OUTPUT | MUX_MODE3) /* gpio16 */
51960fdc971SAndreas Kemnade			OMAP4_IOPAD(0x1ba, PIN_OUTPUT | MUX_MODE3) /* gpio17 */
52060fdc971SAndreas Kemnade
52160fdc971SAndreas Kemnade			OMAP4_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE3) /* gpio15 */
52260fdc971SAndreas Kemnade			OMAP4_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE3) /* gpio18 */
52360fdc971SAndreas Kemnade			OMAP4_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE3) /* gpio19 */
52460fdc971SAndreas Kemnade			OMAP4_IOPAD(0x1c0, PIN_OUTPUT | MUX_MODE3) /* gpio20 */
52560fdc971SAndreas Kemnade			OMAP4_IOPAD(0x1c2, PIN_OUTPUT | MUX_MODE3) /* gpio21 */
52660fdc971SAndreas Kemnade			OMAP4_IOPAD(0x1c4, PIN_OUTPUT | MUX_MODE3) /* gpio22 */
52760fdc971SAndreas Kemnade			OMAP4_IOPAD(0x1cc, PIN_OUTPUT | MUX_MODE3) /* gpio26 */
52860fdc971SAndreas Kemnade		>;
52960fdc971SAndreas Kemnade	};
53060fdc971SAndreas Kemnade
531724ba675SRob Herring	i2c1_pins: pinmux-i2c1-pins {
532724ba675SRob Herring		pinctrl-single,pins = <
533724ba675SRob Herring			   OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_scl */
534724ba675SRob Herring			   OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_sda */
535724ba675SRob Herring		>;
536724ba675SRob Herring	};
537724ba675SRob Herring
538724ba675SRob Herring	i2c2_pins: pinmux-i2c2-pins {
539724ba675SRob Herring		pinctrl-single,pins = <
540724ba675SRob Herring			OMAP4_IOPAD(0x126, PIN_INPUT | MUX_MODE0)	/* i2c2_scl */
541724ba675SRob Herring			OMAP4_IOPAD(0x128, PIN_INPUT | MUX_MODE0)	/* i2c2_sda */
542724ba675SRob Herring		>;
543724ba675SRob Herring	};
544724ba675SRob Herring
545724ba675SRob Herring	i2c3_pins: pinmux-i2c3-pins {
546724ba675SRob Herring		pinctrl-single,pins = <
547724ba675SRob Herring			OMAP4_IOPAD(0x12a, PIN_INPUT | MUX_MODE0)	/* i2c3_scl */
548724ba675SRob Herring			OMAP4_IOPAD(0x12c, PIN_INPUT | MUX_MODE0)	/* i2c3_sda */
549724ba675SRob Herring		>;
550724ba675SRob Herring	};
551724ba675SRob Herring
552724ba675SRob Herring	i2c4_pins: pinmux-i2c4-pins {
553724ba675SRob Herring		pinctrl-single,pins = <
554724ba675SRob Herring			OMAP4_IOPAD(0x12e, PIN_INPUT | MUX_MODE0)	/* i2c4_scl */
555724ba675SRob Herring			OMAP4_IOPAD(0x130, PIN_INPUT | MUX_MODE0)	/* i2c4_sda */
556724ba675SRob Herring		>;
557724ba675SRob Herring	};
558724ba675SRob Herring
559724ba675SRob Herring	keypad_pins: pinmux-keypad-pins {
560724ba675SRob Herring		pinctrl-single,pins = <
561724ba675SRob Herring			/* kpd_row0 */
562724ba675SRob Herring			OMAP4_IOPAD(0x0050, PIN_INPUT_PULLUP | MUX_MODE1)
563724ba675SRob Herring			/* kpd_row1 */
564724ba675SRob Herring			OMAP4_IOPAD(0x0052, PIN_INPUT_PULLUP | MUX_MODE1)
565724ba675SRob Herring			/* kpd_row2 */
566724ba675SRob Herring			OMAP4_IOPAD(0x0054, PIN_INPUT_PULLUP | MUX_MODE1)
567724ba675SRob Herring			/* kpd_col0 */
568724ba675SRob Herring			OMAP4_IOPAD(0x0058, PIN_OUTPUT | MUX_MODE1)
569724ba675SRob Herring			/* kpd_col1 */
570724ba675SRob Herring			OMAP4_IOPAD(0x005a, PIN_OUTPUT | MUX_MODE1)
571724ba675SRob Herring			/* kpd_col2 */
572724ba675SRob Herring			OMAP4_IOPAD(0x005c, PIN_OUTPUT | MUX_MODE1)
573724ba675SRob Herring		>;
574724ba675SRob Herring	};
575724ba675SRob Herring
57611dcae18SAndreas Kemnade	lb_v50_pins: pinmux-lb-v50-pins {
57711dcae18SAndreas Kemnade		pinctrl-single,pins = <
57811dcae18SAndreas Kemnade			OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE3) /* gpio27 */
57911dcae18SAndreas Kemnade		>;
58011dcae18SAndreas Kemnade	};
58111dcae18SAndreas Kemnade
582724ba675SRob Herring	mcbsp2_pins: pinmux-mcbsp2-pins {
583724ba675SRob Herring		pinctrl-single,pins = <
584724ba675SRob Herring			OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0)       /* abe_mcbsp2_clkx */
585724ba675SRob Herring			OMAP4_IOPAD(0x0f8, PIN_INPUT | MUX_MODE0)       /* abe_mcbsp2_dr */
586724ba675SRob Herring			OMAP4_IOPAD(0x0fa, PIN_OUTPUT | MUX_MODE0)      /* abe_mcbsp2_dx */
587724ba675SRob Herring			OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0)       /* abe_mcbsp2_fsx */
588724ba675SRob Herring		>;
589724ba675SRob Herring	};
590724ba675SRob Herring
591cc284742SAndreas Kemnade	mpu9150_pins: pinmux-mpu9150-pins {
592cc284742SAndreas Kemnade		pinctrl-single,pins = <
593cc284742SAndreas Kemnade			OMAP4_IOPAD(0x5e, PIN_INPUT_PULLUP | MUX_MODE3)
594cc284742SAndreas Kemnade		>;
595cc284742SAndreas Kemnade	};
596cc284742SAndreas Kemnade
597724ba675SRob Herring	mpu9150h_pins: pinmux-mpu9150h-pins {
598724ba675SRob Herring		pinctrl-single,pins = <
599724ba675SRob Herring			OMAP4_IOPAD(0x76, PIN_INPUT_PULLUP | MUX_MODE3)
600724ba675SRob Herring		>;
601724ba675SRob Herring	};
602724ba675SRob Herring
603724ba675SRob Herring	tlv320aic3x_pins: pinmux-tlv320aic3x-pins {
604724ba675SRob Herring		pinctrl-single,pins = <
605724ba675SRob Herring			OMAP4_IOPAD(0x7e, PIN_OUTPUT | MUX_MODE3)
606724ba675SRob Herring		>;
607724ba675SRob Herring	};
608724ba675SRob Herring
609724ba675SRob Herring	uart2_pins: pinmux-uart2-pins {
610724ba675SRob Herring		pinctrl-single,pins = <
611724ba675SRob Herring			OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */
612724ba675SRob Herring			OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0)	 /* uart2_rts.uart2_rts */
613724ba675SRob Herring			OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */
614724ba675SRob Herring			OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0)	 /* uart2_tx.uart2_tx */
615724ba675SRob Herring		>;
616724ba675SRob Herring	};
617724ba675SRob Herring
618724ba675SRob Herring	uart3_pins: pinmux-uart3-pins {
619724ba675SRob Herring		pinctrl-single,pins = <
620724ba675SRob Herring			OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0)  /* uart3_rx_irrx */
621724ba675SRob Herring			OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx */
622724ba675SRob Herring		>;
623724ba675SRob Herring	};
624724ba675SRob Herring
625724ba675SRob Herring	usb_otg_hs_pins: pinmux-usb-otg-hs-pins {
626724ba675SRob Herring		 pinctrl-single,pins = <
627724ba675SRob Herring			 OMAP4_IOPAD(0x194, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* usba0_otg_ce */
628724ba675SRob Herring			 OMAP4_IOPAD(0x196, PIN_INPUT | MUX_MODE0)	     /* usba0_otg_dp */
629724ba675SRob Herring			 OMAP4_IOPAD(0x198, PIN_INPUT | MUX_MODE0)	     /* usba0_otg_dm */
630724ba675SRob Herring		 >;
631724ba675SRob Herring	};
632724ba675SRob Herring
633724ba675SRob Herring	wl12xx_pins: pinmux-wl12xx-pins {
634724ba675SRob Herring		pinctrl-single,pins = <
635724ba675SRob Herring			OMAP4_IOPAD(0x1c6, PIN_INPUT | MUX_MODE3) /* gpio_23 / IRQ */
636724ba675SRob Herring			OMAP4_IOPAD(0x16c, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat2 */
637724ba675SRob Herring			OMAP4_IOPAD(0x16e, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat1 */
638724ba675SRob Herring			OMAP4_IOPAD(0x170, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat0 */
639724ba675SRob Herring			OMAP4_IOPAD(0x172, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat3 */
640724ba675SRob Herring			OMAP4_IOPAD(0x174, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_cmd */
641724ba675SRob Herring			OMAP4_IOPAD(0x176, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_clk */
642724ba675SRob Herring		>;
643724ba675SRob Herring	};
644724ba675SRob Herring
645ea1c1e67STony Lindgren	wl12xx_gpio: pinmux-wl12xx-gpio-pins {
646724ba675SRob Herring		pinctrl-single,pins = <
647724ba675SRob Herring			OMAP4_IOPAD(0x1c8, PIN_OUTPUT | MUX_MODE3)  /* gpio_24 / WLAN_EN */
648724ba675SRob Herring		>;
649724ba675SRob Herring	};
650724ba675SRob Herring};
651724ba675SRob Herring
65260fdc971SAndreas Kemnade&omap4_pmx_wkup {
65360fdc971SAndreas Kemnade	gpio1wk_hog_pins: pinmux-gpio1wk-hog-pins {
65460fdc971SAndreas Kemnade		pinctrl-single,pins = <
65560fdc971SAndreas Kemnade			OMAP4_IOPAD(0x68, PIN_INPUT_PULLDOWN | MUX_MODE3) /* gpio9 */
65660fdc971SAndreas Kemnade			OMAP4_IOPAD(0x6a, PIN_INPUT | MUX_MODE3) /* gpio10 */
65760fdc971SAndreas Kemnade		>;
65860fdc971SAndreas Kemnade	};
65960fdc971SAndreas Kemnade};
66060fdc971SAndreas Kemnade
661724ba675SRob Herring&uart2 {
662724ba675SRob Herring	pinctrl-names = "default";
663724ba675SRob Herring	pinctrl-0 = <&uart2_pins &bt_pins>;
664724ba675SRob Herring	interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
665724ba675SRob Herring			       &omap4_pmx_core OMAP4_UART2_RX>;
666724ba675SRob Herring
66710dfde4bSAndreas Kemnade	bluetooth-gnss {
66810dfde4bSAndreas Kemnade		compatible = "ti,wl1283-st";
66910dfde4bSAndreas Kemnade		enable-gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>;	/* GPIO_25 */
67010dfde4bSAndreas Kemnade		clocks = <&twl 1>;
67110dfde4bSAndreas Kemnade		clock-names = "ext_clock";
67210dfde4bSAndreas Kemnade	};
673724ba675SRob Herring};
674724ba675SRob Herring
675724ba675SRob Herring&uart3 {
676724ba675SRob Herring	pinctrl-names = "default";
677724ba675SRob Herring	pinctrl-0 = <&uart3_pins>;
678724ba675SRob Herring	interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
679724ba675SRob Herring			       &omap4_pmx_core OMAP4_UART3_RX>;
680724ba675SRob Herring};
681724ba675SRob Herring
682724ba675SRob Herring&usb_otg_hs {
683724ba675SRob Herring	pinctrl-names = "default";
684724ba675SRob Herring	pinctrl-0 = <&usb_otg_hs_pins>;
685724ba675SRob Herring
686724ba675SRob Herring	interface-type = <1>;
687724ba675SRob Herring	mode = <3>;
688724ba675SRob Herring	power = <50>;
689724ba675SRob Herring};
690724ba675SRob Herring
691724ba675SRob Herring&usbhshost {
692724ba675SRob Herring	status = "disabled";
693724ba675SRob Herring};
694