xref: /linux/scripts/dtc/include-prefixes/arm/ti/omap/omap4-panda-common.dtsi (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright (C) 2011-2013 Texas Instruments Incorporated - https://www.ti.com/
4724ba675SRob Herring */
5724ba675SRob Herring#include <dt-bindings/input/input.h>
6724ba675SRob Herring#include "elpida_ecb240abacn.dtsi"
7724ba675SRob Herring#include "omap4-mcpdm.dtsi"
8724ba675SRob Herring
9724ba675SRob Herring/ {
10724ba675SRob Herring	memory@80000000 {
11724ba675SRob Herring		device_type = "memory";
12724ba675SRob Herring		reg = <0x80000000 0x40000000>; /* 1 GB */
13724ba675SRob Herring	};
14724ba675SRob Herring
15724ba675SRob Herring	reserved-memory {
16724ba675SRob Herring		#address-cells = <1>;
17724ba675SRob Herring		#size-cells = <1>;
18724ba675SRob Herring		ranges;
19724ba675SRob Herring
20724ba675SRob Herring		dsp_memory_region: dsp-memory@98000000 {
21724ba675SRob Herring			compatible = "shared-dma-pool";
22724ba675SRob Herring			reg = <0x98000000 0x800000>;
23724ba675SRob Herring			reusable;
24724ba675SRob Herring			status = "okay";
25724ba675SRob Herring		};
26724ba675SRob Herring
27724ba675SRob Herring		ipu_memory_region: ipu-memory@98800000 {
28724ba675SRob Herring			compatible = "shared-dma-pool";
29724ba675SRob Herring			reg = <0x98800000 0x7000000>;
30724ba675SRob Herring			reusable;
31724ba675SRob Herring			status = "okay";
32724ba675SRob Herring		};
33724ba675SRob Herring	};
34724ba675SRob Herring
35724ba675SRob Herring	chosen {
36724ba675SRob Herring		stdout-path = &uart3;
37724ba675SRob Herring	};
38724ba675SRob Herring
39724ba675SRob Herring	aliases {
40724ba675SRob Herring		display0 = &dvi0;
41724ba675SRob Herring		display1 = &hdmi0;
42724ba675SRob Herring		ethernet = &ethernet;
43724ba675SRob Herring	};
44724ba675SRob Herring
45724ba675SRob Herring	leds: leds {
46724ba675SRob Herring		compatible = "gpio-leds";
47724ba675SRob Herring		pinctrl-names = "default";
48724ba675SRob Herring		pinctrl-0 = <
49724ba675SRob Herring			&led_wkgpio_pins
50724ba675SRob Herring		>;
51724ba675SRob Herring
52724ba675SRob Herring		led-heartbeat {
53724ba675SRob Herring			label = "pandaboard::status1";
54724ba675SRob Herring			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
55724ba675SRob Herring			linux,default-trigger = "heartbeat";
56724ba675SRob Herring		};
57724ba675SRob Herring
58724ba675SRob Herring		led-mmc {
59724ba675SRob Herring			label = "pandaboard::status2";
60724ba675SRob Herring			gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
61724ba675SRob Herring			linux,default-trigger = "mmc0";
62724ba675SRob Herring		};
63724ba675SRob Herring	};
64724ba675SRob Herring
65724ba675SRob Herring	gpio_keys: gpio_keys {
66724ba675SRob Herring		compatible = "gpio-keys";
67724ba675SRob Herring		pinctrl-names = "default";
68724ba675SRob Herring		pinctrl-0 = <
69724ba675SRob Herring			&button_pins
70724ba675SRob Herring		>;
71724ba675SRob Herring
72724ba675SRob Herring		buttonS2 {
73724ba675SRob Herring			label = "button S2";
74724ba675SRob Herring			gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;	/* gpio_121 */
75724ba675SRob Herring			linux,code = <BTN_0>;
76724ba675SRob Herring			wakeup-source;
77724ba675SRob Herring		};
78724ba675SRob Herring	};
79724ba675SRob Herring
80724ba675SRob Herring	sound: sound {
81724ba675SRob Herring		compatible = "ti,abe-twl6040";
82724ba675SRob Herring		ti,model = "PandaBoard";
83724ba675SRob Herring
84724ba675SRob Herring		ti,mclk-freq = <38400000>;
85724ba675SRob Herring
86724ba675SRob Herring		ti,mcpdm = <&mcpdm>;
87724ba675SRob Herring
88724ba675SRob Herring		ti,twl6040 = <&twl6040>;
89724ba675SRob Herring
90724ba675SRob Herring		/* Audio routing */
91724ba675SRob Herring		ti,audio-routing =
92724ba675SRob Herring			"Headset Stereophone", "HSOL",
93724ba675SRob Herring			"Headset Stereophone", "HSOR",
94724ba675SRob Herring			"Ext Spk", "HFL",
95724ba675SRob Herring			"Ext Spk", "HFR",
96724ba675SRob Herring			"Line Out", "AUXL",
97724ba675SRob Herring			"Line Out", "AUXR",
98724ba675SRob Herring			"HSMIC", "Headset Mic",
99724ba675SRob Herring			"Headset Mic", "Headset Mic Bias",
100724ba675SRob Herring			"AFML", "Line In",
101724ba675SRob Herring			"AFMR", "Line In";
102724ba675SRob Herring	};
103724ba675SRob Herring
104724ba675SRob Herring	/* HS USB Port 1 Power */
105724ba675SRob Herring	hsusb1_power: hsusb1_power_reg {
106724ba675SRob Herring		compatible = "regulator-fixed";
107724ba675SRob Herring		regulator-name = "hsusb1_vbus";
108724ba675SRob Herring		regulator-min-microvolt = <3300000>;
109724ba675SRob Herring		regulator-max-microvolt = <3300000>;
110724ba675SRob Herring		gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>;	/* gpio_1 */
111724ba675SRob Herring		startup-delay-us = <70000>;
112724ba675SRob Herring		enable-active-high;
113724ba675SRob Herring		/*
114724ba675SRob Herring		 * boot-on is required along with always-on as the
115724ba675SRob Herring		 * regulator framework doesn't enable the regulator
116724ba675SRob Herring		 * if boot-on is not there.
117724ba675SRob Herring		 */
118724ba675SRob Herring		regulator-always-on;
119724ba675SRob Herring		regulator-boot-on;
120724ba675SRob Herring	};
121724ba675SRob Herring
122724ba675SRob Herring	/* HS USB Host PHY on PORT 1 */
123724ba675SRob Herring	hsusb1_phy: hsusb1_phy {
124724ba675SRob Herring		compatible = "usb-nop-xceiv";
125724ba675SRob Herring		reset-gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;   /* gpio_62 */
126724ba675SRob Herring		#phy-cells = <0>;
127724ba675SRob Herring		vcc-supply = <&hsusb1_power>;
128724ba675SRob Herring		clocks = <&auxclk3_ck>;
129724ba675SRob Herring		clock-names = "main_clk";
130724ba675SRob Herring		clock-frequency = <19200000>;
131724ba675SRob Herring	};
132724ba675SRob Herring
1331132bb4dSAndreas Kemnade	wl12xx_pwrseq: wl12xx-pwrseq {
1341132bb4dSAndreas Kemnade		compatible = "mmc-pwrseq-simple";
1351132bb4dSAndreas Kemnade		clocks = <&twl 0>;
1361132bb4dSAndreas Kemnade		clock-names = "ext_clock";
1371132bb4dSAndreas Kemnade	};
1381132bb4dSAndreas Kemnade
139724ba675SRob Herring	/* regulator for wl12xx on sdio5 */
140724ba675SRob Herring	wl12xx_vmmc: wl12xx_vmmc {
141724ba675SRob Herring		pinctrl-names = "default";
142724ba675SRob Herring		pinctrl-0 = <&wl12xx_gpio>;
143724ba675SRob Herring		compatible = "regulator-fixed";
144724ba675SRob Herring		regulator-name = "vwl1271";
145724ba675SRob Herring		regulator-min-microvolt = <1800000>;
146724ba675SRob Herring		regulator-max-microvolt = <1800000>;
147724ba675SRob Herring		gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>;
148724ba675SRob Herring		startup-delay-us = <70000>;
149724ba675SRob Herring		enable-active-high;
150724ba675SRob Herring	};
151724ba675SRob Herring
152724ba675SRob Herring	tfp410: encoder0 {
153724ba675SRob Herring		compatible = "ti,tfp410";
154724ba675SRob Herring		powerdown-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;	/* gpio_0 */
155724ba675SRob Herring
156724ba675SRob Herring		ports {
157724ba675SRob Herring			#address-cells = <1>;
158724ba675SRob Herring			#size-cells = <0>;
159724ba675SRob Herring
160724ba675SRob Herring			port@0 {
161724ba675SRob Herring				reg = <0>;
162724ba675SRob Herring
163724ba675SRob Herring				tfp410_in: endpoint {
164724ba675SRob Herring					remote-endpoint = <&dpi_out>;
165724ba675SRob Herring				};
166724ba675SRob Herring			};
167724ba675SRob Herring
168724ba675SRob Herring			port@1 {
169724ba675SRob Herring				reg = <1>;
170724ba675SRob Herring
171724ba675SRob Herring				tfp410_out: endpoint {
172724ba675SRob Herring					remote-endpoint = <&dvi_connector_in>;
173724ba675SRob Herring				};
174724ba675SRob Herring			};
175724ba675SRob Herring		};
176724ba675SRob Herring	};
177724ba675SRob Herring
178724ba675SRob Herring	dvi0: connector0 {
179724ba675SRob Herring		compatible = "dvi-connector";
180724ba675SRob Herring		label = "dvi";
181724ba675SRob Herring
182724ba675SRob Herring		digital;
183724ba675SRob Herring
184724ba675SRob Herring		ddc-i2c-bus = <&i2c3>;
185724ba675SRob Herring
186724ba675SRob Herring		port {
187724ba675SRob Herring			dvi_connector_in: endpoint {
188724ba675SRob Herring				remote-endpoint = <&tfp410_out>;
189724ba675SRob Herring			};
190724ba675SRob Herring		};
191724ba675SRob Herring	};
192724ba675SRob Herring
193724ba675SRob Herring	tpd12s015: encoder1 {
194724ba675SRob Herring		compatible = "ti,tpd12s015";
195724ba675SRob Herring
196724ba675SRob Herring		gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>,	/* 60, CT CP HPD */
197724ba675SRob Herring			<&gpio2 9 GPIO_ACTIVE_HIGH>,	/* 41, LS OE */
198724ba675SRob Herring			<&gpio2 31 GPIO_ACTIVE_HIGH>;	/* 63, HPD */
199724ba675SRob Herring
200724ba675SRob Herring		ports {
201724ba675SRob Herring			#address-cells = <1>;
202724ba675SRob Herring			#size-cells = <0>;
203724ba675SRob Herring
204724ba675SRob Herring			port@0 {
205724ba675SRob Herring				reg = <0>;
206724ba675SRob Herring
207724ba675SRob Herring				tpd12s015_in: endpoint {
208724ba675SRob Herring					remote-endpoint = <&hdmi_out>;
209724ba675SRob Herring				};
210724ba675SRob Herring			};
211724ba675SRob Herring
212724ba675SRob Herring			port@1 {
213724ba675SRob Herring				reg = <1>;
214724ba675SRob Herring
215724ba675SRob Herring				tpd12s015_out: endpoint {
216724ba675SRob Herring					remote-endpoint = <&hdmi_connector_in>;
217724ba675SRob Herring				};
218724ba675SRob Herring			};
219724ba675SRob Herring		};
220724ba675SRob Herring	};
221724ba675SRob Herring
222724ba675SRob Herring	hdmi0: connector1 {
223724ba675SRob Herring		compatible = "hdmi-connector";
224724ba675SRob Herring		label = "hdmi";
225724ba675SRob Herring
226724ba675SRob Herring		type = "a";
227724ba675SRob Herring
228724ba675SRob Herring		port {
229724ba675SRob Herring			hdmi_connector_in: endpoint {
230724ba675SRob Herring				remote-endpoint = <&tpd12s015_out>;
231724ba675SRob Herring			};
232724ba675SRob Herring		};
233724ba675SRob Herring	};
234724ba675SRob Herring};
235724ba675SRob Herring
236724ba675SRob Herring&omap4_pmx_core {
237724ba675SRob Herring	pinctrl-names = "default";
238724ba675SRob Herring	pinctrl-0 = <
239724ba675SRob Herring			&dss_dpi_pins
240724ba675SRob Herring			&tfp410_pins
241724ba675SRob Herring			&dss_hdmi_pins
242724ba675SRob Herring			&tpd12s015_pins
243724ba675SRob Herring			&hsusbb1_pins
244724ba675SRob Herring	>;
245724ba675SRob Herring
246724ba675SRob Herring	twl6040_pins: twl6040-pins {
247724ba675SRob Herring		pinctrl-single,pins = <
248724ba675SRob Herring			OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3)	/* hdq_sio.gpio_127 */
249724ba675SRob Herring			OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0)	/* sys_nirq2.sys_nirq2 */
250724ba675SRob Herring		>;
251724ba675SRob Herring	};
252724ba675SRob Herring
253724ba675SRob Herring	mcbsp1_pins: mcbsp1-pins {
254724ba675SRob Herring		pinctrl-single,pins = <
255724ba675SRob Herring			OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0)		/* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
256724ba675SRob Herring			OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp1_dr.abe_mcbsp1_dr */
257724ba675SRob Herring			OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp1_dx.abe_mcbsp1_dx */
258724ba675SRob Herring			OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0)		/* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
259724ba675SRob Herring		>;
260724ba675SRob Herring	};
261724ba675SRob Herring
262724ba675SRob Herring	dss_dpi_pins: dss-dpi-pins {
263724ba675SRob Herring		pinctrl-single,pins = <
264724ba675SRob Herring			OMAP4_IOPAD(0x162, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data23 */
265724ba675SRob Herring			OMAP4_IOPAD(0x164, PIN_OUTPUT | MUX_MODE5) 	/* dispc2_data22 */
266724ba675SRob Herring			OMAP4_IOPAD(0x166, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data21 */
267724ba675SRob Herring			OMAP4_IOPAD(0x168, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data20 */
268724ba675SRob Herring			OMAP4_IOPAD(0x16a, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data19 */
269724ba675SRob Herring			OMAP4_IOPAD(0x16c, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data18 */
270724ba675SRob Herring			OMAP4_IOPAD(0x16e, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data15 */
271724ba675SRob Herring			OMAP4_IOPAD(0x170, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data14 */
272724ba675SRob Herring			OMAP4_IOPAD(0x172, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data13 */
273724ba675SRob Herring			OMAP4_IOPAD(0x174, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data12 */
274724ba675SRob Herring			OMAP4_IOPAD(0x176, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data11 */
275724ba675SRob Herring
276724ba675SRob Herring			OMAP4_IOPAD(0x1b4, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data10 */
277724ba675SRob Herring			OMAP4_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data9 */
278724ba675SRob Herring			OMAP4_IOPAD(0x1b8, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data16 */
279724ba675SRob Herring			OMAP4_IOPAD(0x1ba, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data17 */
280724ba675SRob Herring			OMAP4_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE5)	/* dispc2_hsync */
281724ba675SRob Herring			OMAP4_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE5)	/* dispc2_pclk */
282724ba675SRob Herring			OMAP4_IOPAD(0x1c0, PIN_OUTPUT | MUX_MODE5)	/* dispc2_vsync */
283724ba675SRob Herring			OMAP4_IOPAD(0x1c2, PIN_OUTPUT | MUX_MODE5)	/* dispc2_de */
284724ba675SRob Herring			OMAP4_IOPAD(0x1c4, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data8 */
285724ba675SRob Herring			OMAP4_IOPAD(0x1c6, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data7 */
286724ba675SRob Herring			OMAP4_IOPAD(0x1c8, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data6 */
287724ba675SRob Herring			OMAP4_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data5 */
288724ba675SRob Herring			OMAP4_IOPAD(0x1cc, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data4 */
289724ba675SRob Herring			OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data3 */
290724ba675SRob Herring
291724ba675SRob Herring			OMAP4_IOPAD(0x1d0, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data2 */
292724ba675SRob Herring			OMAP4_IOPAD(0x1d2, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data1 */
293724ba675SRob Herring			OMAP4_IOPAD(0x1d4, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data0 */
294724ba675SRob Herring		>;
295724ba675SRob Herring	};
296724ba675SRob Herring
297724ba675SRob Herring	tfp410_pins: tfp410-pins {
298724ba675SRob Herring		pinctrl-single,pins = <
299724ba675SRob Herring			OMAP4_IOPAD(0x184, PIN_OUTPUT | MUX_MODE3)	/* gpio_0 */
300724ba675SRob Herring		>;
301724ba675SRob Herring	};
302724ba675SRob Herring
303724ba675SRob Herring	dss_hdmi_pins: dss-hdmi-pins {
304724ba675SRob Herring		pinctrl-single,pins = <
305724ba675SRob Herring			OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0)		/* hdmi_cec.hdmi_cec */
306724ba675SRob Herring			OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_scl.hdmi_scl */
307724ba675SRob Herring			OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_sda.hdmi_sda */
308724ba675SRob Herring		>;
309724ba675SRob Herring	};
310724ba675SRob Herring
311724ba675SRob Herring	tpd12s015_pins: tpd12s015-pins {
312724ba675SRob Herring		pinctrl-single,pins = <
313724ba675SRob Herring			OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a17.gpio_41 */
314724ba675SRob Herring			OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3)		/* gpmc_nbe1.gpio_60 */
315724ba675SRob Herring			OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* hdmi_hpd.gpio_63 */
316724ba675SRob Herring		>;
317724ba675SRob Herring	};
318724ba675SRob Herring
319724ba675SRob Herring	hsusbb1_pins: hsusbb1-pins {
320724ba675SRob Herring		pinctrl-single,pins = <
321724ba675SRob Herring			OMAP4_IOPAD(0x0c2, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
322724ba675SRob Herring			OMAP4_IOPAD(0x0c4, PIN_OUTPUT | MUX_MODE4)		/* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
323724ba675SRob Herring			OMAP4_IOPAD(0x0c6, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */
324724ba675SRob Herring			OMAP4_IOPAD(0x0c8, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */
325724ba675SRob Herring			OMAP4_IOPAD(0x0ca, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */
326724ba675SRob Herring			OMAP4_IOPAD(0x0cc, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */
327724ba675SRob Herring			OMAP4_IOPAD(0x0ce, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */
328724ba675SRob Herring			OMAP4_IOPAD(0x0d0, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */
329724ba675SRob Herring			OMAP4_IOPAD(0x0d2, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */
330724ba675SRob Herring			OMAP4_IOPAD(0x0d4, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */
331724ba675SRob Herring			OMAP4_IOPAD(0x0d6, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */
332724ba675SRob Herring			OMAP4_IOPAD(0x0d8, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */
333724ba675SRob Herring		>;
334724ba675SRob Herring	};
335724ba675SRob Herring
336724ba675SRob Herring	i2c1_pins: i2c1-pins {
337724ba675SRob Herring		pinctrl-single,pins = <
338724ba675SRob Herring			OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_scl */
339724ba675SRob Herring			OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_sda */
340724ba675SRob Herring		>;
341724ba675SRob Herring	};
342724ba675SRob Herring
343724ba675SRob Herring	i2c2_pins: i2c2-pins {
344724ba675SRob Herring		pinctrl-single,pins = <
345724ba675SRob Herring			OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_scl */
346724ba675SRob Herring			OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_sda */
347724ba675SRob Herring		>;
348724ba675SRob Herring	};
349724ba675SRob Herring
350724ba675SRob Herring	i2c3_pins: i2c3-pins {
351724ba675SRob Herring		pinctrl-single,pins = <
352724ba675SRob Herring			OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_scl */
353724ba675SRob Herring			OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_sda */
354724ba675SRob Herring		>;
355724ba675SRob Herring	};
356724ba675SRob Herring
357724ba675SRob Herring	i2c4_pins: i2c4-pins {
358724ba675SRob Herring		pinctrl-single,pins = <
359724ba675SRob Herring			OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c4_scl */
360724ba675SRob Herring			OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c4_sda */
361724ba675SRob Herring		>;
362724ba675SRob Herring	};
363724ba675SRob Herring
364724ba675SRob Herring	/*
365724ba675SRob Herring	 * wl12xx GPIO outputs for WLAN_EN, BT_EN, FM_EN, BT_WAKEUP
366724ba675SRob Herring	 * REVISIT: Are the pull-ups needed for GPIO 48 and 49?
367724ba675SRob Herring	 */
368724ba675SRob Herring	wl12xx_gpio: wl12xx-gpio-pins {
369724ba675SRob Herring		pinctrl-single,pins = <
370*a2db9bbcSAndreas Kemnade			OMAP4_IOPAD(0x066, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a19.gpio_43 - WLAN_EN */
371724ba675SRob Herring			OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLUP | MUX_MODE3)	/* gpmc_a24.gpio_48 */
372724ba675SRob Herring		>;
373724ba675SRob Herring	};
374724ba675SRob Herring
375724ba675SRob Herring	/* wl12xx GPIO inputs and SDIO pins */
376724ba675SRob Herring	wl12xx_pins: wl12xx-pins {
377724ba675SRob Herring		pinctrl-single,pins = <
378724ba675SRob Herring			OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3)		/* gpmc_ncs2.gpio_52 */
379724ba675SRob Herring			OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)		/* gpmc_ncs3.gpio_53 */
380724ba675SRob Herring			OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_clk.sdmmc5_clk */
381724ba675SRob Herring			OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_cmd.sdmmc5_cmd */
382724ba675SRob Herring			OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat0.sdmmc5_dat0 */
383724ba675SRob Herring			OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat1.sdmmc5_dat1 */
384724ba675SRob Herring			OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat2.sdmmc5_dat2 */
385724ba675SRob Herring			OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat3.sdmmc5_dat3 */
386724ba675SRob Herring		>;
387724ba675SRob Herring	};
388724ba675SRob Herring
389724ba675SRob Herring	button_pins: button-pins {
390724ba675SRob Herring		pinctrl-single,pins = <
391724ba675SRob Herring			OMAP4_IOPAD(0x114, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpio_121 */
392724ba675SRob Herring		>;
393724ba675SRob Herring	};
394*a2db9bbcSAndreas Kemnade
395*a2db9bbcSAndreas Kemnade	bt_pins: bt-pins {
396*a2db9bbcSAndreas Kemnade		pinctrl-single,pins = <
397*a2db9bbcSAndreas Kemnade			OMAP4_IOPAD(0x06c, PIN_OUTPUT | MUX_MODE3)	  /* gpmc_a22.gpio_46 - BTEN */
398*a2db9bbcSAndreas Kemnade			OMAP4_IOPAD(0x072, PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_a25.gpio_49 - BTWAKEUP */
399*a2db9bbcSAndreas Kemnade		>;
400*a2db9bbcSAndreas Kemnade	};
401*a2db9bbcSAndreas Kemnade
402*a2db9bbcSAndreas Kemnade	uart2_pins: uart2-pins {
403*a2db9bbcSAndreas Kemnade		pinctrl-single,pins = <
404*a2db9bbcSAndreas Kemnade			OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0)  /* uart2_cts.uart2_cts - HCI */
405*a2db9bbcSAndreas Kemnade			OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0)	  /* uart2_rts.uart2_rts */
406*a2db9bbcSAndreas Kemnade			OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0)  /* uart2_rx.uart2_rx */
407*a2db9bbcSAndreas Kemnade			OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0)	  /* uart2_tx.uart2_tx */
408*a2db9bbcSAndreas Kemnade		>;
409*a2db9bbcSAndreas Kemnade	};
410724ba675SRob Herring};
411724ba675SRob Herring
412724ba675SRob Herring&omap4_pmx_wkup {
413724ba675SRob Herring	led_wkgpio_pins: leds-wkpins-pins {
414724ba675SRob Herring		pinctrl-single,pins = <
415724ba675SRob Herring			OMAP4_IOPAD(0x05a, PIN_OUTPUT | MUX_MODE3)	/* gpio_wk7 */
416724ba675SRob Herring			OMAP4_IOPAD(0x05c, PIN_OUTPUT | MUX_MODE3)	/* gpio_wk8 */
417724ba675SRob Herring		>;
418724ba675SRob Herring	};
419724ba675SRob Herring};
420724ba675SRob Herring
421724ba675SRob Herring&i2c1 {
422724ba675SRob Herring	pinctrl-names = "default";
423724ba675SRob Herring	pinctrl-0 = <&i2c1_pins>;
424724ba675SRob Herring
425724ba675SRob Herring	clock-frequency = <400000>;
426724ba675SRob Herring
427724ba675SRob Herring	twl: twl@48 {
428724ba675SRob Herring		reg = <0x48>;
429724ba675SRob Herring		/* IRQ# = 7 */
430724ba675SRob Herring		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
4311132bb4dSAndreas Kemnade		#clock-cells = <1>;
432391b3e9aSAndreas Kemnade		system-power-controller;
433724ba675SRob Herring	};
434724ba675SRob Herring
435724ba675SRob Herring	twl6040: twl@4b {
436724ba675SRob Herring		compatible = "ti,twl6040";
437724ba675SRob Herring		#clock-cells = <0>;
438724ba675SRob Herring		reg = <0x4b>;
439724ba675SRob Herring
440724ba675SRob Herring		pinctrl-names = "default";
441724ba675SRob Herring		pinctrl-0 = <&twl6040_pins>;
442724ba675SRob Herring
443724ba675SRob Herring		/* IRQ# = 119 */
444724ba675SRob Herring		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
445724ba675SRob Herring		ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>;  /* gpio line 127 */
446724ba675SRob Herring
447724ba675SRob Herring		vio-supply = <&v1v8>;
448724ba675SRob Herring		v2v1-supply = <&v2v1>;
449724ba675SRob Herring		enable-active-high;
450724ba675SRob Herring	};
451724ba675SRob Herring};
452724ba675SRob Herring
453724ba675SRob Herring#include "twl6030.dtsi"
454724ba675SRob Herring#include "twl6030_omap4.dtsi"
455724ba675SRob Herring
456724ba675SRob Herring&i2c2 {
457724ba675SRob Herring	pinctrl-names = "default";
458724ba675SRob Herring	pinctrl-0 = <&i2c2_pins>;
459724ba675SRob Herring
460724ba675SRob Herring	clock-frequency = <400000>;
461724ba675SRob Herring};
462724ba675SRob Herring
463724ba675SRob Herring&i2c3 {
464724ba675SRob Herring	pinctrl-names = "default";
465724ba675SRob Herring	pinctrl-0 = <&i2c3_pins>;
466724ba675SRob Herring
467724ba675SRob Herring	clock-frequency = <100000>;
468724ba675SRob Herring
469724ba675SRob Herring	/*
470724ba675SRob Herring	 * Display monitor features are burnt in their EEPROM as EDID data.
471724ba675SRob Herring	 * The EEPROM is connected as I2C slave device.
472724ba675SRob Herring	 */
473724ba675SRob Herring	eeprom@50 {
474724ba675SRob Herring		compatible = "ti,eeprom";
475724ba675SRob Herring		reg = <0x50>;
476724ba675SRob Herring	};
477724ba675SRob Herring};
478724ba675SRob Herring
479724ba675SRob Herring&i2c4 {
480724ba675SRob Herring	pinctrl-names = "default";
481724ba675SRob Herring	pinctrl-0 = <&i2c4_pins>;
482724ba675SRob Herring
483724ba675SRob Herring	clock-frequency = <400000>;
484724ba675SRob Herring};
485724ba675SRob Herring
486724ba675SRob Herring&mmc1 {
487724ba675SRob Herring	vmmc-supply = <&vmmc>;
488724ba675SRob Herring	bus-width = <8>;
489724ba675SRob Herring};
490724ba675SRob Herring
491724ba675SRob Herring&mmc2 {
492724ba675SRob Herring	status = "disabled";
493724ba675SRob Herring};
494724ba675SRob Herring
495724ba675SRob Herring&mmc3 {
496724ba675SRob Herring	status = "disabled";
497724ba675SRob Herring};
498724ba675SRob Herring
499724ba675SRob Herring&mmc4 {
500724ba675SRob Herring	status = "disabled";
501724ba675SRob Herring};
502724ba675SRob Herring
503724ba675SRob Herring&mmc5 {
504724ba675SRob Herring	pinctrl-names = "default";
505724ba675SRob Herring	pinctrl-0 = <&wl12xx_pins>;
506724ba675SRob Herring	vmmc-supply = <&wl12xx_vmmc>;
507724ba675SRob Herring	interrupts-extended = <&wakeupgen GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH
508724ba675SRob Herring			       &omap4_pmx_core 0x10e>;
509724ba675SRob Herring	non-removable;
510724ba675SRob Herring	bus-width = <4>;
511724ba675SRob Herring	cap-power-off-card;
5121132bb4dSAndreas Kemnade	mmc-pwrseq = <&wl12xx_pwrseq>;
513724ba675SRob Herring
514724ba675SRob Herring	#address-cells = <1>;
515724ba675SRob Herring	#size-cells = <0>;
516724ba675SRob Herring	wlcore: wlcore@2 {
517724ba675SRob Herring		compatible = "ti,wl1271";
518724ba675SRob Herring		reg = <2>;
519724ba675SRob Herring		/* gpio_53 with gpmc_ncs3 pad as wakeup */
520724ba675SRob Herring		interrupts-extended = <&gpio2 21 IRQ_TYPE_LEVEL_HIGH>,
521724ba675SRob Herring				      <&omap4_pmx_core 0x3a>;
522724ba675SRob Herring		interrupt-names = "irq", "wakeup";
523724ba675SRob Herring		ref-clock-frequency = <38400000>;
524724ba675SRob Herring	};
525724ba675SRob Herring};
526724ba675SRob Herring
527724ba675SRob Herring&emif1 {
528724ba675SRob Herring	cs1-used;
529724ba675SRob Herring	device-handle = <&elpida_ECB240ABACN>;
530724ba675SRob Herring};
531724ba675SRob Herring
532724ba675SRob Herring&emif2 {
533724ba675SRob Herring	cs1-used;
534724ba675SRob Herring	device-handle = <&elpida_ECB240ABACN>;
535724ba675SRob Herring};
536724ba675SRob Herring
537724ba675SRob Herring&mcbsp1 {
538724ba675SRob Herring	pinctrl-names = "default";
539724ba675SRob Herring	pinctrl-0 = <&mcbsp1_pins>;
540724ba675SRob Herring	status = "okay";
541724ba675SRob Herring};
542724ba675SRob Herring
543724ba675SRob Herring&twl_usb_comparator {
544724ba675SRob Herring	usb-supply = <&vusb>;
545724ba675SRob Herring};
546724ba675SRob Herring
547724ba675SRob Herring&uart2 {
548*a2db9bbcSAndreas Kemnade	pinctrl-names = "default";
549*a2db9bbcSAndreas Kemnade	pinctrl-0 = <&uart2_pins>;
550724ba675SRob Herring	interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
551724ba675SRob Herring			       &omap4_pmx_core OMAP4_UART2_RX>;
552*a2db9bbcSAndreas Kemnade
553*a2db9bbcSAndreas Kemnade	bluetooth {
554*a2db9bbcSAndreas Kemnade		compatible = "ti,wl1271-st";
555*a2db9bbcSAndreas Kemnade		pinctrl-names = "default";
556*a2db9bbcSAndreas Kemnade		pinctrl-0 = <&bt_pins>;
557*a2db9bbcSAndreas Kemnade		enable-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;	/* GPIO_46 */
558*a2db9bbcSAndreas Kemnade		clocks = <&twl 0>;
559*a2db9bbcSAndreas Kemnade		clock-names = "ext_clock";
560*a2db9bbcSAndreas Kemnade	};
561724ba675SRob Herring};
562724ba675SRob Herring
563724ba675SRob Herring&uart3 {
564724ba675SRob Herring	interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
565724ba675SRob Herring			       &omap4_pmx_core OMAP4_UART3_RX>;
566724ba675SRob Herring};
567724ba675SRob Herring
568724ba675SRob Herring&uart4 {
569724ba675SRob Herring	interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
570724ba675SRob Herring			       &omap4_pmx_core OMAP4_UART4_RX>;
571724ba675SRob Herring};
572724ba675SRob Herring
573724ba675SRob Herring&usb_otg_hs {
574724ba675SRob Herring	interface-type = <1>;
575724ba675SRob Herring	mode = <3>;
576724ba675SRob Herring	power = <50>;
577724ba675SRob Herring};
578724ba675SRob Herring
579724ba675SRob Herring&usbhshost {
580724ba675SRob Herring	port1-mode = "ehci-phy";
581724ba675SRob Herring};
582724ba675SRob Herring
583724ba675SRob Herring&usbhsehci {
584724ba675SRob Herring	phys = <&hsusb1_phy>;
585724ba675SRob Herring
586724ba675SRob Herring	#address-cells = <1>;
587724ba675SRob Herring	#size-cells = <0>;
588724ba675SRob Herring
589724ba675SRob Herring	hub@1 {
590724ba675SRob Herring		compatible = "usb424,9514";
591724ba675SRob Herring		reg = <1>;
592724ba675SRob Herring		#address-cells = <1>;
593724ba675SRob Herring		#size-cells = <0>;
594724ba675SRob Herring
595724ba675SRob Herring		ethernet: ethernet@1 {
596724ba675SRob Herring			compatible = "usb424,ec00";
597724ba675SRob Herring			reg = <1>;
598724ba675SRob Herring		};
599724ba675SRob Herring	};
600724ba675SRob Herring};
601724ba675SRob Herring
602724ba675SRob Herring&dss {
603724ba675SRob Herring	status = "okay";
604724ba675SRob Herring
605724ba675SRob Herring	port {
606724ba675SRob Herring		dpi_out: endpoint {
607724ba675SRob Herring			remote-endpoint = <&tfp410_in>;
608724ba675SRob Herring			data-lines = <24>;
609724ba675SRob Herring		};
610724ba675SRob Herring	};
611724ba675SRob Herring};
612724ba675SRob Herring
613724ba675SRob Herring&dsi2 {
614724ba675SRob Herring	status = "okay";
615724ba675SRob Herring	vdd-supply = <&vcxio>;
616724ba675SRob Herring};
617724ba675SRob Herring
618724ba675SRob Herring&hdmi {
619724ba675SRob Herring	status = "okay";
620724ba675SRob Herring	vdda-supply = <&vdac>;
621724ba675SRob Herring
622724ba675SRob Herring	port {
623724ba675SRob Herring		hdmi_out: endpoint {
624724ba675SRob Herring			remote-endpoint = <&tpd12s015_in>;
625724ba675SRob Herring		};
626724ba675SRob Herring	};
627724ba675SRob Herring};
628724ba675SRob Herring
629724ba675SRob Herring&dsp {
630724ba675SRob Herring	status = "okay";
631724ba675SRob Herring	memory-region = <&dsp_memory_region>;
632724ba675SRob Herring	ti,timers = <&timer5>;
633724ba675SRob Herring	ti,watchdog-timers = <&timer6>;
634724ba675SRob Herring};
635724ba675SRob Herring
636724ba675SRob Herring&ipu {
637724ba675SRob Herring	status = "okay";
638724ba675SRob Herring	memory-region = <&ipu_memory_region>;
639724ba675SRob Herring	ti,timers = <&timer3>;
640724ba675SRob Herring	ti,watchdog-timers = <&timer9>, <&timer11>;
641724ba675SRob Herring};
642