xref: /linux/scripts/dtc/include-prefixes/arm/ti/omap/omap4-panda-common.dtsi (revision 1132bb4df2375ae4a2303068c6f5fc62bc63b870)
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
133*1132bb4dSAndreas Kemnade	wl12xx_pwrseq: wl12xx-pwrseq {
134*1132bb4dSAndreas Kemnade		compatible = "mmc-pwrseq-simple";
135*1132bb4dSAndreas Kemnade		clocks = <&twl 0>;
136*1132bb4dSAndreas Kemnade		clock-names = "ext_clock";
137*1132bb4dSAndreas Kemnade	};
138*1132bb4dSAndreas 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 = <
370724ba675SRob Herring			OMAP4_IOPAD(0x066, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a19.gpio_43 */
371724ba675SRob Herring			OMAP4_IOPAD(0x06c, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a22.gpio_46 */
372724ba675SRob Herring			OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLUP | MUX_MODE3)	/* gpmc_a24.gpio_48 */
373724ba675SRob Herring			OMAP4_IOPAD(0x072, PIN_OUTPUT_PULLUP | MUX_MODE3)	/* gpmc_a25.gpio_49 */
374724ba675SRob Herring		>;
375724ba675SRob Herring	};
376724ba675SRob Herring
377724ba675SRob Herring	/* wl12xx GPIO inputs and SDIO pins */
378724ba675SRob Herring	wl12xx_pins: wl12xx-pins {
379724ba675SRob Herring		pinctrl-single,pins = <
380724ba675SRob Herring			OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3)		/* gpmc_ncs2.gpio_52 */
381724ba675SRob Herring			OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)		/* gpmc_ncs3.gpio_53 */
382724ba675SRob Herring			OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_clk.sdmmc5_clk */
383724ba675SRob Herring			OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_cmd.sdmmc5_cmd */
384724ba675SRob Herring			OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat0.sdmmc5_dat0 */
385724ba675SRob Herring			OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat1.sdmmc5_dat1 */
386724ba675SRob Herring			OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat2.sdmmc5_dat2 */
387724ba675SRob Herring			OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat3.sdmmc5_dat3 */
388724ba675SRob Herring		>;
389724ba675SRob Herring	};
390724ba675SRob Herring
391724ba675SRob Herring	button_pins: button-pins {
392724ba675SRob Herring		pinctrl-single,pins = <
393724ba675SRob Herring			OMAP4_IOPAD(0x114, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpio_121 */
394724ba675SRob Herring		>;
395724ba675SRob Herring	};
396724ba675SRob Herring};
397724ba675SRob Herring
398724ba675SRob Herring&omap4_pmx_wkup {
399724ba675SRob Herring	led_wkgpio_pins: leds-wkpins-pins {
400724ba675SRob Herring		pinctrl-single,pins = <
401724ba675SRob Herring			OMAP4_IOPAD(0x05a, PIN_OUTPUT | MUX_MODE3)	/* gpio_wk7 */
402724ba675SRob Herring			OMAP4_IOPAD(0x05c, PIN_OUTPUT | MUX_MODE3)	/* gpio_wk8 */
403724ba675SRob Herring		>;
404724ba675SRob Herring	};
405724ba675SRob Herring};
406724ba675SRob Herring
407724ba675SRob Herring&i2c1 {
408724ba675SRob Herring	pinctrl-names = "default";
409724ba675SRob Herring	pinctrl-0 = <&i2c1_pins>;
410724ba675SRob Herring
411724ba675SRob Herring	clock-frequency = <400000>;
412724ba675SRob Herring
413724ba675SRob Herring	twl: twl@48 {
414724ba675SRob Herring		reg = <0x48>;
415724ba675SRob Herring		/* IRQ# = 7 */
416724ba675SRob Herring		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
417*1132bb4dSAndreas Kemnade		#clock-cells = <1>;
418391b3e9aSAndreas Kemnade		system-power-controller;
419724ba675SRob Herring	};
420724ba675SRob Herring
421724ba675SRob Herring	twl6040: twl@4b {
422724ba675SRob Herring		compatible = "ti,twl6040";
423724ba675SRob Herring		#clock-cells = <0>;
424724ba675SRob Herring		reg = <0x4b>;
425724ba675SRob Herring
426724ba675SRob Herring		pinctrl-names = "default";
427724ba675SRob Herring		pinctrl-0 = <&twl6040_pins>;
428724ba675SRob Herring
429724ba675SRob Herring		/* IRQ# = 119 */
430724ba675SRob Herring		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
431724ba675SRob Herring		ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>;  /* gpio line 127 */
432724ba675SRob Herring
433724ba675SRob Herring		vio-supply = <&v1v8>;
434724ba675SRob Herring		v2v1-supply = <&v2v1>;
435724ba675SRob Herring		enable-active-high;
436724ba675SRob Herring	};
437724ba675SRob Herring};
438724ba675SRob Herring
439724ba675SRob Herring#include "twl6030.dtsi"
440724ba675SRob Herring#include "twl6030_omap4.dtsi"
441724ba675SRob Herring
442724ba675SRob Herring&i2c2 {
443724ba675SRob Herring	pinctrl-names = "default";
444724ba675SRob Herring	pinctrl-0 = <&i2c2_pins>;
445724ba675SRob Herring
446724ba675SRob Herring	clock-frequency = <400000>;
447724ba675SRob Herring};
448724ba675SRob Herring
449724ba675SRob Herring&i2c3 {
450724ba675SRob Herring	pinctrl-names = "default";
451724ba675SRob Herring	pinctrl-0 = <&i2c3_pins>;
452724ba675SRob Herring
453724ba675SRob Herring	clock-frequency = <100000>;
454724ba675SRob Herring
455724ba675SRob Herring	/*
456724ba675SRob Herring	 * Display monitor features are burnt in their EEPROM as EDID data.
457724ba675SRob Herring	 * The EEPROM is connected as I2C slave device.
458724ba675SRob Herring	 */
459724ba675SRob Herring	eeprom@50 {
460724ba675SRob Herring		compatible = "ti,eeprom";
461724ba675SRob Herring		reg = <0x50>;
462724ba675SRob Herring	};
463724ba675SRob Herring};
464724ba675SRob Herring
465724ba675SRob Herring&i2c4 {
466724ba675SRob Herring	pinctrl-names = "default";
467724ba675SRob Herring	pinctrl-0 = <&i2c4_pins>;
468724ba675SRob Herring
469724ba675SRob Herring	clock-frequency = <400000>;
470724ba675SRob Herring};
471724ba675SRob Herring
472724ba675SRob Herring&mmc1 {
473724ba675SRob Herring	vmmc-supply = <&vmmc>;
474724ba675SRob Herring	bus-width = <8>;
475724ba675SRob Herring};
476724ba675SRob Herring
477724ba675SRob Herring&mmc2 {
478724ba675SRob Herring	status = "disabled";
479724ba675SRob Herring};
480724ba675SRob Herring
481724ba675SRob Herring&mmc3 {
482724ba675SRob Herring	status = "disabled";
483724ba675SRob Herring};
484724ba675SRob Herring
485724ba675SRob Herring&mmc4 {
486724ba675SRob Herring	status = "disabled";
487724ba675SRob Herring};
488724ba675SRob Herring
489724ba675SRob Herring&mmc5 {
490724ba675SRob Herring	pinctrl-names = "default";
491724ba675SRob Herring	pinctrl-0 = <&wl12xx_pins>;
492724ba675SRob Herring	vmmc-supply = <&wl12xx_vmmc>;
493724ba675SRob Herring	interrupts-extended = <&wakeupgen GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH
494724ba675SRob Herring			       &omap4_pmx_core 0x10e>;
495724ba675SRob Herring	non-removable;
496724ba675SRob Herring	bus-width = <4>;
497724ba675SRob Herring	cap-power-off-card;
498*1132bb4dSAndreas Kemnade	mmc-pwrseq = <&wl12xx_pwrseq>;
499724ba675SRob Herring
500724ba675SRob Herring	#address-cells = <1>;
501724ba675SRob Herring	#size-cells = <0>;
502724ba675SRob Herring	wlcore: wlcore@2 {
503724ba675SRob Herring		compatible = "ti,wl1271";
504724ba675SRob Herring		reg = <2>;
505724ba675SRob Herring		/* gpio_53 with gpmc_ncs3 pad as wakeup */
506724ba675SRob Herring		interrupts-extended = <&gpio2 21 IRQ_TYPE_LEVEL_HIGH>,
507724ba675SRob Herring				      <&omap4_pmx_core 0x3a>;
508724ba675SRob Herring		interrupt-names = "irq", "wakeup";
509724ba675SRob Herring		ref-clock-frequency = <38400000>;
510724ba675SRob Herring	};
511724ba675SRob Herring};
512724ba675SRob Herring
513724ba675SRob Herring&emif1 {
514724ba675SRob Herring	cs1-used;
515724ba675SRob Herring	device-handle = <&elpida_ECB240ABACN>;
516724ba675SRob Herring};
517724ba675SRob Herring
518724ba675SRob Herring&emif2 {
519724ba675SRob Herring	cs1-used;
520724ba675SRob Herring	device-handle = <&elpida_ECB240ABACN>;
521724ba675SRob Herring};
522724ba675SRob Herring
523724ba675SRob Herring&mcbsp1 {
524724ba675SRob Herring	pinctrl-names = "default";
525724ba675SRob Herring	pinctrl-0 = <&mcbsp1_pins>;
526724ba675SRob Herring	status = "okay";
527724ba675SRob Herring};
528724ba675SRob Herring
529724ba675SRob Herring&twl_usb_comparator {
530724ba675SRob Herring	usb-supply = <&vusb>;
531724ba675SRob Herring};
532724ba675SRob Herring
533724ba675SRob Herring&uart2 {
534724ba675SRob Herring	interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
535724ba675SRob Herring			       &omap4_pmx_core OMAP4_UART2_RX>;
536724ba675SRob Herring};
537724ba675SRob Herring
538724ba675SRob Herring&uart3 {
539724ba675SRob Herring	interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
540724ba675SRob Herring			       &omap4_pmx_core OMAP4_UART3_RX>;
541724ba675SRob Herring};
542724ba675SRob Herring
543724ba675SRob Herring&uart4 {
544724ba675SRob Herring	interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
545724ba675SRob Herring			       &omap4_pmx_core OMAP4_UART4_RX>;
546724ba675SRob Herring};
547724ba675SRob Herring
548724ba675SRob Herring&usb_otg_hs {
549724ba675SRob Herring	interface-type = <1>;
550724ba675SRob Herring	mode = <3>;
551724ba675SRob Herring	power = <50>;
552724ba675SRob Herring};
553724ba675SRob Herring
554724ba675SRob Herring&usbhshost {
555724ba675SRob Herring	port1-mode = "ehci-phy";
556724ba675SRob Herring};
557724ba675SRob Herring
558724ba675SRob Herring&usbhsehci {
559724ba675SRob Herring	phys = <&hsusb1_phy>;
560724ba675SRob Herring
561724ba675SRob Herring	#address-cells = <1>;
562724ba675SRob Herring	#size-cells = <0>;
563724ba675SRob Herring
564724ba675SRob Herring	hub@1 {
565724ba675SRob Herring		compatible = "usb424,9514";
566724ba675SRob Herring		reg = <1>;
567724ba675SRob Herring		#address-cells = <1>;
568724ba675SRob Herring		#size-cells = <0>;
569724ba675SRob Herring
570724ba675SRob Herring		ethernet: ethernet@1 {
571724ba675SRob Herring			compatible = "usb424,ec00";
572724ba675SRob Herring			reg = <1>;
573724ba675SRob Herring		};
574724ba675SRob Herring	};
575724ba675SRob Herring};
576724ba675SRob Herring
577724ba675SRob Herring&dss {
578724ba675SRob Herring	status = "okay";
579724ba675SRob Herring
580724ba675SRob Herring	port {
581724ba675SRob Herring		dpi_out: endpoint {
582724ba675SRob Herring			remote-endpoint = <&tfp410_in>;
583724ba675SRob Herring			data-lines = <24>;
584724ba675SRob Herring		};
585724ba675SRob Herring	};
586724ba675SRob Herring};
587724ba675SRob Herring
588724ba675SRob Herring&dsi2 {
589724ba675SRob Herring	status = "okay";
590724ba675SRob Herring	vdd-supply = <&vcxio>;
591724ba675SRob Herring};
592724ba675SRob Herring
593724ba675SRob Herring&hdmi {
594724ba675SRob Herring	status = "okay";
595724ba675SRob Herring	vdda-supply = <&vdac>;
596724ba675SRob Herring
597724ba675SRob Herring	port {
598724ba675SRob Herring		hdmi_out: endpoint {
599724ba675SRob Herring			remote-endpoint = <&tpd12s015_in>;
600724ba675SRob Herring		};
601724ba675SRob Herring	};
602724ba675SRob Herring};
603724ba675SRob Herring
604724ba675SRob Herring&dsp {
605724ba675SRob Herring	status = "okay";
606724ba675SRob Herring	memory-region = <&dsp_memory_region>;
607724ba675SRob Herring	ti,timers = <&timer5>;
608724ba675SRob Herring	ti,watchdog-timers = <&timer6>;
609724ba675SRob Herring};
610724ba675SRob Herring
611724ba675SRob Herring&ipu {
612724ba675SRob Herring	status = "okay";
613724ba675SRob Herring	memory-region = <&ipu_memory_region>;
614724ba675SRob Herring	ti,timers = <&timer3>;
615724ba675SRob Herring	ti,watchdog-timers = <&timer9>, <&timer11>;
616724ba675SRob Herring};
617