• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2015
3 *   Nikolaus Schaller <hns@goldelico.com>
4 *
5 * Common device tree include for OpenPandora devices.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */
11
12#include <dt-bindings/input/input.h>
13
14/ {
15	cpus {
16		cpu@0 {
17			cpu0-supply = <&vcc>;
18		};
19	};
20
21	memory@80000000 {
22		device_type = "memory";
23		reg = <0x80000000 0x20000000>; /* 512 MB */
24	};
25
26	aliases {
27		display0 = &lcd;
28	};
29
30	/* fixed 26MHz oscillator */
31	hfclk_26m: oscillator {
32		#clock-cells = <0>;
33		compatible = "fixed-clock";
34		clock-frequency = <26000000>;
35	};
36
37	tv: connector {
38		compatible = "connector-analog-tv";
39		label = "tv";
40
41		port {
42			tv_connector_in: endpoint {
43				remote-endpoint = <&venc_out>;
44			};
45		};
46	};
47
48	gpio-leds {
49
50		compatible = "gpio-leds";
51
52		pinctrl-names = "default";
53		pinctrl-0 = <&led_pins>;
54
55		led1 {
56			label = "pandora::sd1";
57			gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>;	/* GPIO_128 */
58			linux,default-trigger = "mmc0";
59			default-state = "off";
60		};
61
62		led2 {
63			label = "pandora::sd2";
64			gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;	/* GPIO_129 */
65			linux,default-trigger = "mmc1";
66			default-state = "off";
67		};
68
69		led3 {
70			label = "pandora::bluetooth";
71			gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>;	/* GPIO_158 */
72			linux,default-trigger = "heartbeat";
73			default-state = "off";
74		};
75
76		led4 {
77			label = "pandora::wifi";
78			gpios = <&gpio5 31 GPIO_ACTIVE_HIGH>;	/* GPIO_159 */
79			linux,default-trigger = "mmc2";
80			default-state = "off";
81		};
82	};
83
84	gpio-keys {
85		compatible = "gpio-keys";
86
87		pinctrl-names = "default";
88		pinctrl-0 = <&button_pins>;
89
90		up-button {
91			label = "up";
92			linux,code = <KEY_UP>;
93			gpios = <&gpio4 14 GPIO_ACTIVE_LOW>;	/* GPIO_110 */
94			wakeup-source;
95		};
96
97		down-button {
98			label = "down";
99			linux,code = <KEY_DOWN>;
100			gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;	/* GPIO_103 */
101			wakeup-source;
102		};
103
104		left-button {
105			label = "left";
106			linux,code = <KEY_LEFT>;
107			gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;	/* GPIO_96 */
108			wakeup-source;
109		};
110
111		right-button {
112			label = "right";
113			linux,code = <KEY_RIGHT>;
114			gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;	/* GPIO_98 */
115			wakeup-source;
116		};
117
118		pageup-button {
119			label = "game 1";
120			linux,code = <KEY_PAGEUP>;
121			gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;	/* GPIO_109 */
122			wakeup-source;
123		};
124
125		pagedown-button {
126			label = "game 3";
127			linux,code = <KEY_PAGEDOWN>;
128			gpios = <&gpio4 10 GPIO_ACTIVE_LOW>;	/* GPIO_106 */
129			wakeup-source;
130		};
131
132		home-button {
133			label = "game 4";
134			linux,code = <KEY_HOME>;
135			gpios = <&gpio4 5 GPIO_ACTIVE_LOW>;	/* GPIO_101 */
136			wakeup-source;
137		};
138
139		end-button {
140			label = "game 2";
141			linux,code = <KEY_END>;
142			gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;	/* GPIO_111 */
143			wakeup-source;
144		};
145
146		right-shift {
147			label = "l";
148			linux,code = <KEY_RIGHTSHIFT>;
149			gpios = <&gpio4 6 GPIO_ACTIVE_LOW>;	/* GPIO_102 */
150			wakeup-source;
151		};
152
153		kp-plus {
154			label = "l2";
155			linux,code = <KEY_KPPLUS>;
156			gpios = <&gpio4 1 GPIO_ACTIVE_LOW>;	/* GPIO_97 */
157			wakeup-source;
158		};
159
160		right-ctrl {
161			label = "r";
162			linux,code = <KEY_RIGHTCTRL>;
163			gpios = <&gpio4 9 GPIO_ACTIVE_LOW>;	/* GPIO_105 */
164			wakeup-source;
165		};
166
167		kp-minus {
168			label = "r2";
169			linux,code = <KEY_KPMINUS>;
170			gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;	/* GPIO_107 */
171			wakeup-source;
172		};
173
174		left-ctrl {
175			label = "ctrl";
176			linux,code = <KEY_LEFTCTRL>;
177			gpios = <&gpio4 8 GPIO_ACTIVE_LOW>;	/* GPIO_104 */
178			wakeup-source;
179		};
180
181		menu {
182			label = "menu";
183			linux,code = <KEY_MENU>;
184			gpios = <&gpio4 3 GPIO_ACTIVE_LOW>;	/* GPIO_99 */
185			wakeup-source;
186		};
187
188		hold {
189			label = "hold";
190			linux,code = <KEY_COFFEE>;
191			gpios = <&gpio6 16 GPIO_ACTIVE_LOW>;	/* GPIO_176 */
192			wakeup-source;
193		};
194
195		left-alt {
196			label = "alt";
197			linux,code = <KEY_LEFTALT>;
198			gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>;	/* GPIO_100 */
199			wakeup-source;
200		};
201
202		lid {
203			label = "lid";
204			linux,code = <0x00>;    /* SW_LID lid shut */
205			linux,input-type = <0x05>;    /* EV_SW */
206			gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>;   /* GPIO_108 */
207		};
208	};
209
210	/* HS USB Host PHY on PORT 2 */
211	hsusb2_phy: hsusb2_phy {
212		compatible = "usb-nop-xceiv";
213		reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; /* GPIO_16 */
214		vcc-supply = <&vaux2>;
215		#phy-cells = <0>;
216	};
217
218	/* HS USB Host VBUS supply
219	 * disabling this regulator causes current leakage, and LCD flicker
220	 * on earlier (CC) board revisions, so keep it always on */
221	usb_host_5v: fixed-regulator-usb_host_5v {
222		compatible = "regulator-fixed";
223		regulator-name = "usb_host_5v";
224		regulator-min-microvolt = <5000000>;
225		regulator-max-microvolt = <5000000>;
226		regulator-always-on;
227		regulator-boot-on;
228		enable-active-high;
229		gpio = <&gpio6 4 GPIO_ACTIVE_HIGH>;	/* GPIO_164 */
230	};
231
232	/* wl1251 wifi+bt module */
233	wlan_en: fixed-regulator-wg7210_en {
234		compatible = "regulator-fixed";
235		regulator-name = "vwlan";
236		regulator-min-microvolt = <1800000>;
237		regulator-max-microvolt = <1800000>;
238		startup-delay-us = <50000>;
239		enable-active-high;
240		gpio = <&gpio1 23 GPIO_ACTIVE_HIGH>;
241	};
242
243	/* wg7210 (wifi+bt module) 32k clock buffer */
244	wg7210_32k: fixed-regulator-wg7210_32k {
245		compatible = "regulator-fixed";
246		regulator-name = "wg7210_32k";
247		regulator-min-microvolt = <1800000>;
248		regulator-max-microvolt = <1800000>;
249		regulator-always-on;
250		enable-active-high;
251		gpio = <&twl_gpio 13 GPIO_ACTIVE_HIGH>;
252	};
253};
254
255&omap3_pmx_core {
256
257	mmc1_pins: pinmux_mmc1_pins {
258		pinctrl-single,pins = <
259			OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc1_clk.sdmmc1_clk */
260			OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc1_cmd.sdmmc1_cmd */
261			OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc1_dat0.sdmmc1_dat0 */
262			OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc1_dat1.sdmmc1_dat1 */
263			OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc1_dat2.sdmmc1_dat2 */
264			OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc1_dat3.sdmmc1_dat3 */
265		>;
266	};
267
268	mmc2_pins: pinmux_mmc2_pins {
269		pinctrl-single,pins = <
270			OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc2_clk.sdmmc2_clk */
271			OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc2_cmd.sdmmc2_cmd */
272			OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc2_dat0.sdmmc2_dat0 */
273			OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc2_dat1.sdmmc2_dat1 */
274			OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc2_dat2.sdmmc2_dat2 */
275			OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0)		/* sdmmc2_dat3.sdmmc2_dat3 */
276			OMAP3_CORE1_IOPAD(0x2164, PIN_OUTPUT_PULLUP | MUX_MODE1)	/* sdmmc2_dat4.sdmmc2_dirdat0 */
277			OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT_PULLUP | MUX_MODE1)	/* sdmmc2_dat5.sdmmc2_dirdat1 */
278			OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT_PULLUP | MUX_MODE1)	/* sdmmc2_dat6.sdmmc2_dircmd */
279			OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE1)		/* sdmmc2_dat7.sdmmc2_clkin */
280		>;
281	};
282
283	dss_dpi_pins: pinmux_dss_dpi_pins {
284		pinctrl-single,pins = <
285			OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0)	/* dss_pclk.dss_pclk */
286			OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0)	/* dss_hsync.dss_hsync */
287			OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0)	/* dss_vsync.dss_vsync */
288			OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0)	/* dss_acbias.dss_acbias */
289			OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0)	/* dss_data0.dss_data0 */
290			OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0)	/* dss_data1.dss_data1 */
291			OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0)	/* dss_data2.dss_data2 */
292			OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0)	/* dss_data3.dss_data3 */
293			OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0)	/* dss_data4.dss_data4 */
294			OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0)	/* dss_data5.dss_data5 */
295			OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0)	/* dss_data6.dss_data6 */
296			OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0)	/* dss_data7.dss_data7 */
297			OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0)	/* dss_data8.dss_data8 */
298			OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0)	/* dss_data9.dss_data9 */
299			OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0)	/* dss_data10.dss_data10 */
300			OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0)	/* dss_data11.dss_data11 */
301			OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0)	/* dss_data12.dss_data12 */
302			OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0)	/* dss_data13.dss_data13 */
303			OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0)	/* dss_data14.dss_data14 */
304			OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0)	/* dss_data15.dss_data15 */
305			OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0)	/* dss_data16.dss_data16 */
306			OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0)	/* dss_data17.dss_data17 */
307			OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0)	/* dss_data18.dss_data18 */
308			OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0)	/* dss_data19.dss_data19 */
309			OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0)	/* dss_data20.dss_data20 */
310			OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0)	/* dss_data21.dss_data21 */
311			OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0)	/* dss_data22.dss_data22 */
312			OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0)	/* dss_data23.dss_data23 */
313			OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4)	/* GPIO_157 = lcd reset */
314		>;
315	};
316
317	uart3_pins: pinmux_uart3_pins {
318		pinctrl-single,pins = <
319			OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0)	/* uart3_rx_irrx.uart3_rx_irrx */
320			OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
321		>;
322	};
323
324	led_pins: pinmux_leds_pins {
325		pinctrl-single,pins = <
326			OMAP3_CORE1_IOPAD(0x2154, PIN_OUTPUT | MUX_MODE4)	/* GPIO_128 */
327			OMAP3_CORE1_IOPAD(0x2156, PIN_OUTPUT | MUX_MODE4)	/* GPIO_129 */
328			OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE4)	/* GPIO_158 */
329			OMAP3_CORE1_IOPAD(0x2192, PIN_OUTPUT | MUX_MODE4)	/* GPIO_159 */
330		>;
331	};
332
333	button_pins: pinmux_button_pins {
334		pinctrl-single,pins = <
335			OMAP3_CORE1_IOPAD(0x2110, PIN_INPUT | MUX_MODE4)	/* GPIO_96 */
336			OMAP3_CORE1_IOPAD(0x2112, PIN_INPUT | MUX_MODE4)	/* GPIO_97 */
337			OMAP3_CORE1_IOPAD(0x2114, PIN_INPUT | MUX_MODE4)	/* GPIO_98 */
338			OMAP3_CORE1_IOPAD(0x2116, PIN_INPUT | MUX_MODE4)	/* GPIO_99 */
339			OMAP3_CORE1_IOPAD(0x2118, PIN_INPUT | MUX_MODE4)	/* GPIO_100 */
340			OMAP3_CORE1_IOPAD(0x211a, PIN_INPUT | MUX_MODE4)	/* GPIO_101 */
341			OMAP3_CORE1_IOPAD(0x211c, PIN_INPUT | MUX_MODE4)	/* GPIO_102 */
342			OMAP3_CORE1_IOPAD(0x211e, PIN_INPUT | MUX_MODE4)	/* GPIO_103 */
343			OMAP3_CORE1_IOPAD(0x2120, PIN_INPUT | MUX_MODE4)	/* GPIO_104 */
344			OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE4)	/* GPIO_105 */
345			OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE4)	/* GPIO_106 */
346			OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE4)	/* GPIO_107 */
347			OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE4)	/* GPIO_108 */
348			OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4)	/* GPIO_109 */
349			OMAP3_CORE1_IOPAD(0x212c, PIN_INPUT | MUX_MODE4)	/* GPIO_110 */
350			OMAP3_CORE1_IOPAD(0x212e, PIN_INPUT | MUX_MODE4)	/* GPIO_111 */
351			OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT | MUX_MODE4)	/* GPIO_176 */
352		>;
353	};
354
355	penirq_pins: pinmux_penirq_pins {
356		pinctrl-single,pins = <
357			/* here we could enable to wakeup the cpu from suspend by a pen touch */
358			OMAP3_CORE1_IOPAD(0x210c, PIN_INPUT | MUX_MODE4)	/* GPIO_94 */
359		>;
360	};
361
362};
363
364&omap3_pmx_core2 {
365	/* define in CPU specific file that includes this one
366	 * use either OMAP3430_CORE2_IOPAD() or OMAP3630_CORE2_IOPAD()
367	 */
368};
369
370&i2c1 {
371	clock-frequency = <2600000>;
372
373	twl: twl@48 {
374		reg = <0x48>;
375		interrupts = <7>; /* SYS_NIRQ cascaded to intc */
376		interrupt-parent = <&intc>;
377
378		clocks = <&hfclk_26m>;
379		clock-names = "fck";
380
381		twl_power: power {
382			compatible = "ti,twl4030-power-reset";
383			ti,use_poweroff;
384		};
385
386		twl_audio: audio {
387			compatible = "ti,twl4030-audio";
388
389			codec {
390				ti,ramp_delay_value = <3>;
391			};
392		};
393	};
394};
395
396#include "twl4030.dtsi"
397#include "twl4030_omap3.dtsi"
398
399&twl_keypad {
400	keypad,num-rows = <8>;
401	keypad,num-columns = <6>;
402	linux,keymap = <
403		MATRIX_KEY(0, 0, KEY_9)
404		MATRIX_KEY(0, 1, KEY_8)
405		MATRIX_KEY(0, 2, KEY_I)
406		MATRIX_KEY(0, 3, KEY_J)
407		MATRIX_KEY(0, 4, KEY_N)
408		MATRIX_KEY(0, 5, KEY_M)
409		MATRIX_KEY(1, 0, KEY_0)
410		MATRIX_KEY(1, 1, KEY_7)
411		MATRIX_KEY(1, 2, KEY_U)
412		MATRIX_KEY(1, 3, KEY_H)
413		MATRIX_KEY(1, 4, KEY_B)
414		MATRIX_KEY(1, 5, KEY_SPACE)
415		MATRIX_KEY(2, 0, KEY_BACKSPACE)
416		MATRIX_KEY(2, 1, KEY_6)
417		MATRIX_KEY(2, 2, KEY_Y)
418		MATRIX_KEY(2, 3, KEY_G)
419		MATRIX_KEY(2, 4, KEY_V)
420		MATRIX_KEY(2, 5, KEY_FN)
421		MATRIX_KEY(3, 0, KEY_O)
422		MATRIX_KEY(3, 1, KEY_5)
423		MATRIX_KEY(3, 2, KEY_T)
424		MATRIX_KEY(3, 3, KEY_F)
425		MATRIX_KEY(3, 4, KEY_C)
426		MATRIX_KEY(4, 0, KEY_P)
427		MATRIX_KEY(4, 1, KEY_4)
428		MATRIX_KEY(4, 2, KEY_R)
429		MATRIX_KEY(4, 3, KEY_D)
430		MATRIX_KEY(4, 4, KEY_X)
431		MATRIX_KEY(5, 0, KEY_K)
432		MATRIX_KEY(5, 1, KEY_3)
433		MATRIX_KEY(5, 2, KEY_E)
434		MATRIX_KEY(5, 3, KEY_S)
435		MATRIX_KEY(5, 4, KEY_Z)
436		MATRIX_KEY(6, 0, KEY_L)
437		MATRIX_KEY(6, 1, KEY_2)
438		MATRIX_KEY(6, 2, KEY_W)
439		MATRIX_KEY(6, 3, KEY_A)
440		MATRIX_KEY(6, 4, KEY_RIGHTBRACE)
441		MATRIX_KEY(7, 0, KEY_ENTER)
442		MATRIX_KEY(7, 1, KEY_1)
443		MATRIX_KEY(7, 2, KEY_Q)
444		MATRIX_KEY(7, 3, KEY_LEFTSHIFT)
445		MATRIX_KEY(7, 4, KEY_LEFTBRACE )
446	 >;
447};
448
449/* backup battery charger */
450&charger {
451	ti,bb-uvolt = <3200000>;
452	ti,bb-uamp = <150>;
453};
454
455/* MMC2 */
456&vmmc2 {
457	regulator-min-microvolt = <1850000>;
458	regulator-max-microvolt = <3150000>;
459};
460
461/* LCD */
462&vaux1 {
463	regulator-min-microvolt = <3000000>;
464	regulator-max-microvolt = <3000000>;
465};
466
467/* USB Host PHY */
468&vaux2 {
469	regulator-min-microvolt = <1800000>;
470	regulator-max-microvolt = <1800000>;
471};
472
473/* available on expansion connector */
474&vaux3 {
475	regulator-min-microvolt = <2800000>;
476	regulator-max-microvolt = <2800000>;
477};
478
479/* ADS7846 and nubs */
480&vaux4 {
481	regulator-min-microvolt = <2800000>;
482	regulator-max-microvolt = <2800000>;
483};
484
485/* power audio DAC and LID sensor */
486&vsim {
487	regulator-min-microvolt = <2800000>;
488	regulator-max-microvolt = <2800000>;
489	regulator-always-on;
490};
491
492&i2c2 {
493	clock-frequency = <100000>;
494	/* no clients so we should disable clock */
495};
496
497&i2c3 {
498	clock-frequency = <100000>;
499
500	bq27500@55 {
501		compatible = "ti,bq27500";
502		reg = <0x55>;
503	};
504
505};
506
507&usb_otg_hs {
508	interface-type = <0>;
509	usb-phy = <&usb2_phy>;
510	phys = <&usb2_phy>;
511	phy-names = "usb2-phy";
512	mode = <3>;
513	power = <50>;
514};
515
516/*
517 * Many pandora boards have been produced with defective write-protect switches
518 * on either slot, so it was decided not to use this feature. If you know
519 * your board has good switches, feel free to uncomment wp-gpios below.
520 */
521&mmc1 {
522	pinctrl-names = "default";
523	pinctrl-0 = <&mmc1_pins>;
524	vmmc-supply = <&vmmc1>;
525	bus-width = <4>;
526	cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>;
527	/*wp-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;*/	/* GPIO_126 */
528};
529
530&mmc2 {
531	pinctrl-names = "default";
532	pinctrl-0 = <&mmc2_pins>;
533	vmmc-supply = <&vmmc2>;
534	bus-width = <4>;
535	cd-gpios = <&twl_gpio 1 GPIO_ACTIVE_LOW>;
536	/*wp-gpios = <&gpio4 31 GPIO_ACTIVE_HIGH>;*/	/* GPIO_127 */
537};
538
539&mmc3 {
540	vmmc-supply = <&wlan_en>;
541
542	bus-width = <4>;
543	non-removable;
544	ti,non-removable;
545	cap-power-off-card;
546
547	pinctrl-names = "default";
548	pinctrl-0 = <&mmc3_pins>;
549
550	#address-cells = <1>;
551	#size-cells = <0>;
552
553	wlan: wifi@1 {
554		compatible = "ti,wl1251";
555
556		reg = <1>;
557
558		interrupt-parent = <&gpio1>;
559		interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;	/* GPIO_21 */
560
561		ti,wl1251-has-eeprom;
562	};
563};
564
565/* bluetooth*/
566&uart1 {
567};
568
569/* spare (expansion connector) */
570&uart2 {
571};
572
573/* console (expansion connector) */
574&uart3 {
575	pinctrl-names = "default";
576	pinctrl-0 = <&uart3_pins>;
577	interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
578};
579
580&usbhshost {
581	port2-mode = "ehci-phy";
582};
583
584&usbhsehci {
585	phys = <0 &hsusb2_phy>;
586};
587
588&gpmc {
589	ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */
590
591	nand@0,0 {
592		compatible = "ti,omap2-nand";
593		reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
594		interrupt-parent = <&gpmc>;
595		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
596			     <1 IRQ_TYPE_NONE>;	/* termcount */
597		nand-bus-width = <16>;
598		ti,nand-ecc-opt = "sw";
599
600		gpmc,sync-clk-ps = <0>;
601		gpmc,cs-on-ns = <0>;
602		gpmc,cs-rd-off-ns = <44>;
603		gpmc,cs-wr-off-ns = <44>;
604		gpmc,adv-on-ns = <6>;
605		gpmc,adv-rd-off-ns = <34>;
606		gpmc,adv-wr-off-ns = <44>;
607		gpmc,we-off-ns = <40>;
608		gpmc,oe-off-ns = <54>;
609		gpmc,access-ns = <64>;
610		gpmc,rd-cycle-ns = <82>;
611		gpmc,wr-cycle-ns = <82>;
612		gpmc,wr-access-ns = <40>;
613		gpmc,wr-data-mux-bus-ns = <0>;
614		gpmc,device-width = <2>;
615
616		#address-cells = <1>;
617		#size-cells = <1>;
618
619		/* u-boot uses mtdparts=nand:512k(xloader),1920k(uboot),128k(uboot-env),10m(boot),-(rootfs) */
620
621		x-loader@0 {
622			label = "xloader";
623			reg = <0 0x80000>;
624		};
625
626		bootloaders@80000 {
627			label = "uboot";
628			reg = <0x80000 0x1e0000>;
629		};
630
631		bootloaders_env@260000 {
632			label = "uboot-env";
633			reg = <0x260000 0x20000>;
634		};
635
636		kernel@280000 {
637			label = "boot";
638			reg = <0x280000 0xa00000>;
639		};
640
641		filesystem@c80000 {
642			label = "rootfs";
643			reg = <0xc80000 0>;	/* 0 = MTDPART_SIZ_FULL */
644		};
645	};
646};
647
648&mcspi1 {
649	tsc2046@0 {
650		reg = <0>;	/* CS0 */
651		compatible = "ti,tsc2046";
652		spi-max-frequency = <1000000>;
653		pinctrl-names = "default";
654		pinctrl-0 = <&penirq_pins>;
655		interrupt-parent = <&gpio3>;
656		interrupts = <30 IRQ_TYPE_NONE>;	/* GPIO_94 */
657		pendown-gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
658		vcc-supply = <&vaux4>;
659
660		ti,x-min = /bits/ 16 <0>;
661		ti,x-max = /bits/ 16 <8000>;
662		ti,y-min = /bits/ 16 <0>;
663		ti,y-max = /bits/ 16 <4800>;
664		ti,x-plate-ohms = /bits/ 16 <40>;
665		ti,pressure-max = /bits/ 16 <255>;
666
667		wakeup-source;
668	};
669
670	lcd: lcd@1 {
671		reg = <1>;	/* CS1 */
672		compatible =	"tpo,td043mtea1";
673		spi-max-frequency = <100000>;
674		spi-cpol;
675		spi-cpha;
676
677		label = "lcd";
678		reset-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;	/* GPIO_157 */
679		vcc-supply = <&vaux1>;
680
681		port {
682			lcd_in: endpoint {
683				remote-endpoint = <&dpi_out>;
684			};
685		};
686	};
687
688
689};
690
691/* n/a - used as GPIOs */
692&mcbsp1 {
693};
694
695/* audio DAC */
696&mcbsp2 {
697};
698
699/* bluetooth */
700&mcbsp3 {
701};
702
703/* to twl4030*/
704&mcbsp4 {
705};
706
707&venc {
708	status = "ok";
709
710	vdda-supply = <&vdac>;
711
712	port {
713		venc_out: endpoint {
714			remote-endpoint = <&tv_connector_in>;
715			ti,channels = <2>;
716		};
717	};
718};
719
720&dss {
721	pinctrl-names = "default";
722	pinctrl-0 = < &dss_dpi_pins >;
723
724	status = "ok";
725	vdds_dsi-supply = <&vpll2>;
726
727	port {
728		dpi_out: endpoint {
729			remote-endpoint = <&lcd_in>;
730			data-lines = <24>;
731		};
732	};
733};
734