xref: /linux/scripts/dtc/include-prefixes/arm/ti/omap/omap4-samsung-espresso-common.dtsi (revision e65f4718a577fcc84d40431f022985898b6dbf2e)
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/dts-v1/;
3#include "dt-bindings/gpio/gpio.h"
4#include <dt-bindings/interrupt-controller/irq.h>
5#include <dt-bindings/input/input.h>
6#include "omap443x.dtsi"
7
8/ {
9	memory@80000000 {
10		device_type = "memory";
11		reg = <0x80000000 0x40000000>; /* 1 GB */
12	};
13
14	reserved-memory {
15		#address-cells = <1>;
16		#size-cells = <1>;
17		ranges;
18
19		continuous_splash: framebuffer@bef00000{
20			reg = <0xbef00000 (1024 * 600 * 4)>;
21			no-map;
22		};
23	};
24
25	chosen {
26		stdout-path = &uart3;
27		#address-cells = <1>;
28	};
29
30	i2c-gpio5 {
31		compatible = "i2c-gpio";
32		pinctrl-names = "default";
33		pinctrl-0 = <&i2c5_pins>;
34		sda-gpios = <&gpio4 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
35		scl-gpios = <&gpio4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
36		i2c-gpio,delay-us = <10>;
37		#address-cells = <1>;
38		#size-cells = <0>;
39
40		/* TODO: SMB136 Charger for 7" variant at 0x4d */
41	};
42
43	i2c-gpio6 {
44		compatible = "i2c-gpio";
45		pinctrl-names = "default";
46		pinctrl-0 = <&i2c6_pins>;
47		sda-gpios = <&gpio3 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
48		scl-gpios = <&gpio3 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
49		i2c-gpio,delay-us = <10>;
50		#address-cells = <1>;
51		#size-cells = <0>;
52
53		/* TODO: STMPE811 ADC at 0x41 */
54	};
55
56	i2c-gpio7 {
57		compatible = "i2c-gpio";
58		pinctrl-names = "default";
59		pinctrl-0 = <&i2c7_pins>;
60		sda-gpios = <&gpio2 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
61		scl-gpios = <&gpio2 29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
62		i2c-gpio,delay-us = <3>;
63		#address-cells = <1>;
64		#size-cells = <0>;
65
66		fuel-gauge@36 {
67			compatible = "maxim,max17042";
68			reg = <0x36>;
69			pinctrl-0 = <&fuel_alert_irq>;
70			pinctrl-names = "default";
71			interrupt-parent = <&gpio2>;
72			interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
73			maxim,rsns-microohm = <10000>;
74			maxim,over-heat-temp = <500>;
75			maxim,dead-volt = <2500>;
76			maxim,over-volt = <4300>;
77		};
78	};
79
80	reg_espresso_wlan: regulator-espresso-wlan {
81		pinctrl-names = "default";
82		pinctrl-0 = <&wlanen_gpio>;
83		compatible = "regulator-fixed";
84		regulator-name = "espresso_wlan";
85		regulator-max-microvolt = <2000000>;
86		regulator-min-microvolt = <2000000>;
87		gpio = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* GPIO_104 */
88		startup-delay-us = <70000>;
89		regulator-always-on;
90		enable-active-high;
91	};
92
93	wlan_pwrseq: wlan-pwrseq {
94		compatible = "mmc-pwrseq-simple";
95		clocks = <&twl 0>;
96		clock-names = "ext_clock";
97	};
98
99	reg_espresso_internal: regulator-espresso-internal {
100		compatible = "regulator-fixed";
101		regulator-name = "eMMC_LDO";
102		regulator-max-microvolt = <1800000>;
103		regulator-min-microvolt = <1800000>;
104		gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>; /* GPIO_63 */
105		startup-delay-us = <100000>;
106		regulator-boot-on;
107		regulator-always-on;
108		enable-active-high;
109	};
110
111	reg_espresso_external: regulator-espresso-external {
112		compatible = "regulator-fixed";
113		regulator-name = "vmmc1";
114		regulator-max-microvolt = <2800000>;
115		regulator-min-microvolt = <2800000>;
116		gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>; /* GPIO_34 */
117		enable-active-high;
118	};
119
120	reg_touch_ldo_en: regulator-touch-ldo-en  {
121		compatible = "regulator-fixed";
122		regulator-name = "touch_ldo_en";
123		regulator-max-microvolt = <2800000>;
124		regulator-min-microvolt = <2800000>;
125		gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>; /* GPIO_54 */
126		regulator-always-on;
127		enable-active-high;
128	};
129
130	gpio-keys {
131		compatible = "gpio-keys";
132		pinctrl-names = "default";
133		pinctrl-0 = <&gpio_keys>;
134
135		key-power {
136			label = "power";
137
138			gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; /* GPIO_wk3 */
139			linux,code = <KEY_POWER>;
140			wakeup-source;
141		};
142
143		button-volup {
144			linux,code = <KEY_VOLUMEUP>;
145			label = "volume_up"; /* GPIO_wk30 */
146			gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
147		};
148
149		button-voldown {
150			linux,code = <KEY_VOLUMEDOWN>;
151			label = "volume_down"; /* GPIO_wk8 */
152			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
153		};
154	};
155
156	reg_lcd: regulator-lcd	{
157		compatible = "regulator-fixed";
158		regulator-name = "lcd_en";
159		gpios = <&gpio5 7 GPIO_ACTIVE_HIGH>; /* GPIO_135 */
160		regulator-max-microvolt = <3300000>;
161		regulator-min-microvolt = <3300000>;
162		enable-active-high;
163		regulator-boot-on;
164	};
165
166	pwm10: pwm-10 {
167		pinctrl-names = "default";
168		pinctrl-0 = <&pwm10_default>;
169		compatible = "ti,omap-dmtimer-pwm";
170		#pwm-cells = <3>;
171		ti,timers = <&timer10>;
172		ti,clock-source = <0x00>;
173	};
174
175	lvds-encoder {
176		compatible = "doestek,dtc34lm85am", "lvds-encoder";
177		powerdown-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>; /* GPIO_136 */
178		power-supply = <&reg_lcd>;
179		ports {
180			#address-cells = <1>;
181			#size-cells = <0>;
182
183			port@0 {
184				reg = <0>;
185				bridge_in: endpoint {
186					remote-endpoint = <&dpi_out>;
187				};
188			};
189
190			port@1 {
191				reg = <1>;
192				bridge_out: endpoint {
193					remote-endpoint = <&panel_in>;
194				};
195			};
196		};
197	};
198
199	vibrator {
200		compatible = "gpio-vibrator";
201		enable-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>; /* GPIO_38 */
202		pinctrl-names = "default";
203		pinctrl-0 = <&vibrator_default>;
204	};
205
206	gp2a_shunt: current-sense-shunt {
207		compatible = "current-sense-shunt";
208		io-channels = <&gpadc 4>;
209		shunt-resistor-micro-ohms = <24000000>; /* 24 ohms */
210		#io-channel-cells = <0>;
211	};
212
213	led-ir {
214		compatible = "gpio-ir-tx";
215		gpios = <&gpio2 27 GPIO_ACTIVE_HIGH>; /* GPIO_59 */
216		pinctrl-names = "default";
217		pinctrl-0 = <&ledir_pins>;
218	};
219};
220
221&omap4_pmx_wkup {
222	gpio_keys: gpio-keys-pins {
223		pinctrl-single,pins = <
224			OMAP4_IOPAD(0x046, PIN_INPUT | MUX_MODE3)
225			/* sim_cd.gpio_wk3 - EXT_WAKEUP */
226			OMAP4_IOPAD(0x056, PIN_INPUT | MUX_MODE3)
227			/* fref_clk3_req.gpio_wk30 - VOL_UP */
228			OMAP4_IOPAD(0x05C, PIN_INPUT | MUX_MODE3)
229			/* fref_clk4_out.gpio_wk8 - VOL_DN */
230		>;
231	};
232};
233
234&omap4_pmx_core {
235	backlight_pins: pinmux-backlight-pins {
236		pinctrl-single,pins = <
237			OMAP4_IOPAD(0X0D8, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE3)
238			/* usbb1_ulpitll_dat7.gpio_95 - LED_BACKLIGHT_RESET */
239		>;
240	};
241
242	bluetooth_pins: pinmux-bluetooth-pins {
243		pinctrl-single,pins = <
244			OMAP4_IOPAD(0x094, PIN_OUTPUT | MUX_MODE3)
245			/* gpmc_ncs6.gpio_103 - BT_EN */
246			OMAP4_IOPAD(0x0be, PIN_OUTPUT | MUX_MODE3)
247			/* cam_strobe.gpio_82 - BT_nRST */
248			OMAP4_IOPAD(0x0c0, PIN_INPUT | MUX_MODE3)
249			/* cam_globalreset.gpio_83 - BT_HOST_WAKE */
250			OMAP4_IOPAD(0x0d4, PIN_OUTPUT | MUX_MODE3)
251			/* usbb1_ulpitll_dat5.gpio_93 - BT_WAKE */
252		>;
253	};
254
255	dss_dpi_pins: pinmux-dss-dpi-pins {
256		pinctrl-single,pins = <
257			OMAP4_IOPAD(0x162, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
258			/* dispc2_data23 */
259			OMAP4_IOPAD(0x164, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
260			/* dispc2_data22 */
261			OMAP4_IOPAD(0x166, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
262			/* dispc2_data21 */
263			OMAP4_IOPAD(0x168, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
264			/* dispc2_data20 */
265			OMAP4_IOPAD(0x16a, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
266			/* dispc2_data19 */
267			OMAP4_IOPAD(0x16c, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
268			/* dispc2_data18 */
269			OMAP4_IOPAD(0x16e, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
270			/* dispc2_data15 */
271			OMAP4_IOPAD(0x170, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
272			/* dispc2_data14 */
273			OMAP4_IOPAD(0x172, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
274			/* dispc2_data13 */
275			OMAP4_IOPAD(0x174, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
276			/* dispc2_data12 */
277			OMAP4_IOPAD(0x176, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
278			/* dispc2_data11 */
279			OMAP4_IOPAD(0x1b4, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
280			/* dispc2_data10 */
281			OMAP4_IOPAD(0x1b6, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
282			/* dispc2_data9 */
283			OMAP4_IOPAD(0x1b8, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
284			/* dispc2_data16 */
285			OMAP4_IOPAD(0x1ba, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
286			/* dispc2_data17 */
287			OMAP4_IOPAD(0x1bc, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
288			/* dispc2_hsync */
289			OMAP4_IOPAD(0x1be, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
290			/* dispc2_pclk */
291			OMAP4_IOPAD(0x1c0, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
292			/* dispc2_vsync */
293			OMAP4_IOPAD(0x1c2, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
294			/* dispc2_de */
295			OMAP4_IOPAD(0x1c4, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
296			/* dispc2_data8 */
297			OMAP4_IOPAD(0x1c6, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
298			/* dispc2_data7 */
299			OMAP4_IOPAD(0x1c8, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
300			/* dispc2_data6 */
301			OMAP4_IOPAD(0x1ca, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
302			/* dispc2_data5 */
303			OMAP4_IOPAD(0x1cc, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
304			/* dispc2_data4 */
305			OMAP4_IOPAD(0x1ce, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
306			/* dispc2_data3 */
307
308			OMAP4_IOPAD(0x1d0, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
309			/* dispc2_data2 */
310			OMAP4_IOPAD(0x1d2, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
311			/* dispc2_data1 */
312			OMAP4_IOPAD(0x1d4, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
313			/* dispc2_data0 */
314		>;
315	};
316
317	fuel_alert_irq: pinmux-fuel-alert-pins {
318		pinctrl-single,pins = <
319			OMAP4_IOPAD(0x068, PIN_INPUT_PULLUP | MUX_MODE3)
320			/* gpmc_a20.gpio_44 */
321		>;
322	};
323
324	i2c1_pins: pinmux-i2c1-pins {
325		pinctrl-single,pins = <
326			OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)
327			/* i2c1_scl */
328			OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)
329			/* i2c1_sda */
330		>;
331	};
332
333	i2c2_pins: pinmux-i2c2-pins {
334		pinctrl-single,pins = <
335			OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)
336			/* i2c2_scl */
337			OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)
338			/* i2c2_sda */
339		>;
340	};
341
342	i2c3_pins: pinmux-i2c3-pins {
343		pinctrl-single,pins = <
344			OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)
345			/* i2c3_scl */
346			OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)
347			/* i2c3_sda */
348		>;
349	};
350
351	i2c4_pins: pinmux-i2c4-pins {
352		pinctrl-single,pins = <
353			OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)
354			/* i2c4_scl */
355			OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)
356			/* i2c4_sda */
357		>;
358	};
359
360	i2c5_pins: pinmux-i2c5-pins {
361		pinctrl-single,pins = <
362			OMAP4_IOPAD(0x0de, PIN_INPUT_PULLUP | MUX_MODE3)
363			/* usbc1_icusb_dp.gpio_98 */
364			OMAP4_IOPAD(0x0e0, PIN_INPUT_PULLUP | MUX_MODE3)
365			/* usbc1_icusb_dm.gpio_99 */
366		>;
367	};
368
369	i2c6_pins: pinmux-i2c6-pins {
370		pinctrl-single,pins = <
371			OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE3)
372			/* hdmi_ddc_scl.gpio_65 */
373			OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE3)
374			/* hdmi_ddc_sda.gpio_66 */
375		>;
376	};
377
378	i2c7_pins: pinmux-i2c7-pins {
379		pinctrl-single,pins = <
380			OMAP4_IOPAD(0x08a, PIN_INPUT_PULLUP | MUX_MODE3)
381			/* gpmc_wait0.gpio_61 */
382			OMAP4_IOPAD(0x08c, PIN_INPUT_PULLUP | MUX_MODE3)
383			/* gpmc_wait1.gpio_62 */
384		>;
385	};
386
387	ledir_pins: pimux-ledir-pins {
388		pinctrl-single,pins = <
389			OMAP4_IOPAD(0x086, PIN_INPUT_PULLDOWN | MUX_MODE7)
390			/* gpmc_nbe0_cle.gpio_59 */
391			OMAP4_IOPAD(0x156, PIN_INPUT_PULLDOWN | MUX_MODE7)
392			/* mcspi4_simo.gpio_152 */
393		>;
394	};
395
396	lvds_pins: pinmux-lvds-pins {
397		pinctrl-single,pins = <
398			OMAP4_IOPAD(0X136, PIN_OUTPUT | MUX_MODE3)
399			/* mcspi1_simo.gpio_136 - LVDS_nSHDN */
400		>;
401	};
402
403	mmc1_pins: pinmux-mmc1-pins {
404		pinctrl-single,pins = <
405			OMAP4_IOPAD(0x0e2, PIN_INPUT_PULLDOWN | MUX_MODE0)
406			/* sdmmc1_clk */
407			OMAP4_IOPAD(0x0e4, PIN_INPUT_PULLUP | MUX_MODE0)
408			/* sdmcc1_cmd */
409			OMAP4_IOPAD(0x0e6, PIN_INPUT_PULLUP | MUX_MODE0)
410			/* sdmcc1_dat0 */
411			OMAP4_IOPAD(0x0e8, PIN_INPUT_PULLUP | MUX_MODE0)
412			/* sdmmc1_dat1 */
413			OMAP4_IOPAD(0x0ea, PIN_INPUT_PULLUP | MUX_MODE0)
414			/* sdmmc1_dat2 */
415			OMAP4_IOPAD(0x0ec, PIN_INPUT_PULLUP | MUX_MODE0)
416			/* sdmmc1_dat3 */
417		>;
418	};
419
420	mmc2_pins: pinmux-mmc2-pins {
421		pinctrl-single,pins = <
422			OMAP4_IOPAD(0x040, PIN_INPUT_PULLUP | MUX_MODE1)
423			/* sdmmc2_dat0 */
424			OMAP4_IOPAD(0x042, PIN_INPUT_PULLUP | MUX_MODE1)
425			/* sdmmc2_dat1 */
426			OMAP4_IOPAD(0x044, PIN_INPUT_PULLUP | MUX_MODE1)
427			/* sdmmc2_dat2 */
428			OMAP4_IOPAD(0x046, PIN_INPUT_PULLUP | MUX_MODE1)
429			/* sdmmc2_dat3 */
430			OMAP4_IOPAD(0x048, PIN_INPUT_PULLUP | MUX_MODE1)
431			/* sdmmc2_dat4 */
432			OMAP4_IOPAD(0x04a, PIN_INPUT_PULLUP | MUX_MODE1)
433			/* sdmmc2_dat5 */
434			OMAP4_IOPAD(0x04c, PIN_INPUT_PULLUP | MUX_MODE1)
435			/* sdmmc2_dat6 */
436			OMAP4_IOPAD(0x04e, PIN_INPUT_PULLUP | MUX_MODE1)
437			/* sdmmc2_dat7 */
438			OMAP4_IOPAD(0x082, PIN_INPUT_PULLUP | MUX_MODE1)
439			/* sdmmc2_clk */
440			OMAP4_IOPAD(0x084, PIN_INPUT_PULLUP | MUX_MODE1)
441			/* sdmmc2_cmd */
442		>;
443	};
444
445	mmc5_pins: pinmux-mmc5-pins {
446		pinctrl-single,pins = <
447			OMAP4_IOPAD(0x148, PIN_INPUT_PULLDOWN | MUX_MODE0)
448			/* sdmmc5_clk.sdmmc5_clk */
449			OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0)
450			/* sdmmc5_cmd.sdmmc5_cmd */
451			OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0)
452			/* sdmmc5_dat0.sdmmc5_dat0 */
453			OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0)
454			/* sdmmc5_dat1.sdmmc5_dat1 */
455			OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0)
456			/* sdmmc5_dat2.sdmmc5_dat2 */
457			OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0)
458			/* sdmmc5_dat3.sdmmc5_dat3 */
459		>;
460	};
461
462	pwm10_default: pinmux-pwm10-pins {
463		pinctrl-single,pins = <
464			OMAP4_IOPAD(0X0D6, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE1)
465			/* usbb1_ulpitll_dat6.dmtimer10_pwm_evt - LED_BACKLIGHT_PWM */
466		>;
467	};
468
469	touch_pins: pinmux-touch-pins {
470		pinctrl-single,pins = <
471			OMAP4_IOPAD(0x06c, PIN_INPUT | MUX_MODE3)
472			/* gpmc_a22.gpio_46 - TSP_INT */
473		>;
474	};
475
476	uart2_pins: pinmux-uart2-pins {
477		pinctrl-single,pins = <
478			OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0)
479			/* uart2_cts.uart2_cts */
480			OMAP4_IOPAD(0x11a, PIN_INPUT_PULLUP | MUX_MODE0)
481			/* uart2_rts.uart2_rts */
482			OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0)
483			/* uart2_rx.uart2_rx */
484			OMAP4_IOPAD(0x11e, PIN_INPUT_PULLUP | MUX_MODE0)
485			/* uart2_tx.uart2_tx */
486		>;
487	};
488
489	uart3_pins: pinmux-uart3-pins {
490		pinctrl-single,pins = <
491			OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0)
492			/* uart3_rx_irrx */
493			OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0)
494			/* uart3_tx_irtx */
495		>;
496	};
497
498	vibrator_default: pinmux-vibrator-pins {
499		pinctrl-single,pins = <
500			OMAP4_IOPAD(0x05c, PIN_INPUT_PULLDOWN | MUX_MODE3)
501			/* gpmc_ad14.gpio_38 - MOTOR_EN */
502		>;
503	};
504
505	wlanen_gpio: pinmux-wlanen-pins {
506		pinctrl-single,pins = <
507			OMAP4_IOPAD(0x096, PIN_OUTPUT | MUX_MODE3)
508			/* gpmc_ncs7.gpio_104 */
509		>;
510	};
511
512	wlan_host_wake: pinmux-wlan-host-wake-pins {
513		pinctrl-single,pins = <
514			OMAP4_IOPAD(0x0bc, PIN_INPUT | MUX_MODE3)
515			/* cam_shutter.gpio_81 - WLAN_HOST_WAKE */
516		>;
517	};
518};
519
520&uart3 {
521	pinctrl-names = "default";
522	pinctrl-0 = <&uart3_pins>;
523
524	interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
525				   &omap4_pmx_core OMAP4_UART3_RX>;
526};
527
528&i2c1 {
529	pinctrl-names = "default";
530	pinctrl-0 = <&i2c1_pins>;
531
532	clock-frequency = <400000>;
533
534	twl: pmic@48 {
535		reg = <0x48>;
536		#clock-cells = <1>;
537
538		pinctrl-names = "default";
539		pinctrl-0 = <
540			&twl6030_pins
541			&twl6030_wkup_pins
542		>;
543
544		/* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
545		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
546		interrupt-parent = <&gic>;
547		system-power-controller;
548	};
549};
550
551#include "twl6032.dtsi"
552#include "twl6030_omap4.dtsi"
553
554&ldo1 {
555	regulator-min-microvolt = <2800000>;
556	regulator-max-microvolt = <2800000>;
557	regulator-always-on;
558	regulator-state-mem {
559		regulator-off-in-suspend;
560	};
561};
562
563&ldo3 {
564	regulator-min-microvolt = <3300000>;
565	regulator-max-microvolt = <3300000>;
566	regulator-always-on;
567	regulator-state-mem {
568		regulator-off-in-suspend;
569	};
570};
571
572&ldo4 {
573	regulator-min-microvolt = <2800000>;
574	regulator-max-microvolt = <2800000>;
575	regulator-always-on;
576};
577
578&ldo5 {
579	regulator-min-microvolt = <1800000>;
580	regulator-max-microvolt = <1800000>;
581	regulator-always-on;
582};
583
584&ldo6 {
585	regulator-min-microvolt = <1800000>;
586	regulator-max-microvolt = <1800000>;
587	regulator-always-on;
588	regulator-state-mem {
589		regulator-off-in-suspend;
590	};
591};
592
593&smps4 {
594	regulator-min-microvolt = <1800000>;
595	regulator-max-microvolt = <1800000>;
596	regulator-always-on;
597};
598
599&ldousb {
600	regulator-min-microvolt = <3300000>;
601	regulator-max-microvolt = <3300000>;
602	regulator-always-on;
603};
604
605&i2c2 {
606	pinctrl-names = "default";
607	pinctrl-0 = <&i2c2_pins>;
608};
609
610&i2c3 {
611	pinctrl-names = "default";
612	pinctrl-0 = <&i2c3_pins>;
613};
614
615&i2c4 {
616	pinctrl-names = "default";
617	pinctrl-0 = <&i2c4_pins>;
618
619	accelerometer@18 {
620		compatible = "bosch,bma254";
621		reg = <0x18>;
622		vdd-supply = <&ldo4>;
623		vddio-supply = <&ldo5>;
624		interrupt-parent = <&gpio4>;
625		interrupts = <25 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>,
626			<26 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>;
627	};
628
629	magnetometer@2e {
630		compatible = "yamaha,yas530";
631		reg = <0x2e>;
632		vdd-supply = <&ldo4>;
633		iovdd-supply = <&ldo5>;
634		reset-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
635		interrupts = <&gpio6 10 IRQ_TYPE_EDGE_RISING>;
636	};
637
638	light-sensor@44 {
639		compatible = "sharp,gp2ap002a00f";
640		reg = <0x44>;
641		interrupt-parent = <&gpio1>;
642		interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
643		vdd-supply = <&ldo4>;
644		vio-supply = <&ldo4>;
645		io-channels = <&gp2a_shunt>;
646		io-channel-names = "alsout";
647		sharp,proximity-far-hysteresis = /bits/ 8 <0x40>;
648		sharp,proximity-close-hysteresis = /bits/ 8 <0x20>;
649	};
650};
651
652&dss {
653	status = "okay";
654
655	pinctrl-names = "default";
656	pinctrl-0 = <&dss_dpi_pins>;
657
658	port {
659		dpi_out: endpoint {
660			remote-endpoint = <&bridge_in>;
661			data-lines = <24>;
662		};
663	};
664};
665
666&twl_usb_comparator {
667	usb-supply = <&ldousb>;
668};
669
670&usb_otg_hs {
671	interface-type = <1>;
672	mode = <3>;
673	power = <50>;
674};
675
676&mmc1 {
677	status = "okay";
678	pinctrl-names = "default";
679	pinctrl-0 = <&mmc1_pins>;
680
681	vmmc-supply = <&reg_espresso_external>;
682	bus-width = <4>;
683};
684
685&mmc2 {
686	pinctrl-names = "default";
687	pinctrl-0 = <&mmc2_pins>;
688
689	vmmc-supply = <&reg_espresso_internal>;
690	ti,non-removable;
691	bus-width = <8>;
692};
693
694&mmc3 {
695	status = "disabled";
696};
697
698&mmc4 {
699	status = "disabled";
700};
701
702&mmc5 {
703	status = "okay";
704
705	#address-cells = <1>;
706	#size-cells = <0>;
707
708	non-removable;
709	bus-width = <4>;
710	vmmc-supply = <&reg_espresso_wlan>;
711	mmc-pwrseq = <&wlan_pwrseq>;
712
713	pinctrl-names = "default";
714	pinctrl-0 = <&mmc5_pins>;
715
716	brcmf: wifi@1 {
717		compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
718		reg = <1>;
719
720		interrupt-parent = <&gpio3>;
721		interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
722		interrupt-names = "host-wake";
723		pinctrl-names = "default";
724		pinctrl-0 = <&wlan_host_wake>;
725	};
726};
727
728&uart2 {
729	interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
730				&omap4_pmx_core OMAP4_UART2_RX>;
731	pinctrl-names = "default";
732	pinctrl-0 = <&uart2_pins>;
733	bluetooth {
734		compatible = "brcm,bcm4330-bt";
735		pinctrl-names = "default";
736		pinctrl-0 = <&bluetooth_pins>;
737		shutdown-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>;
738		reset-gpios = <&gpio3 18 GPIO_ACTIVE_LOW>;
739		device-wakeup-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
740		interrupt-parent = <&gpio3>;
741		interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
742		interrupt-names = "host-wakeup";
743	};
744};
745