xref: /freebsd-src/sys/contrib/device-tree/src/arm/ti/omap/omap4-panda-common.dtsi (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright (C) 2011-2013 Texas Instruments Incorporated - https://www.ti.com/
4f126890aSEmmanuel Vadot */
5f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
6f126890aSEmmanuel Vadot#include "elpida_ecb240abacn.dtsi"
7f126890aSEmmanuel Vadot#include "omap4-mcpdm.dtsi"
8f126890aSEmmanuel Vadot
9f126890aSEmmanuel Vadot/ {
10f126890aSEmmanuel Vadot	memory@80000000 {
11f126890aSEmmanuel Vadot		device_type = "memory";
12f126890aSEmmanuel Vadot		reg = <0x80000000 0x40000000>; /* 1 GB */
13f126890aSEmmanuel Vadot	};
14f126890aSEmmanuel Vadot
15f126890aSEmmanuel Vadot	reserved-memory {
16f126890aSEmmanuel Vadot		#address-cells = <1>;
17f126890aSEmmanuel Vadot		#size-cells = <1>;
18f126890aSEmmanuel Vadot		ranges;
19f126890aSEmmanuel Vadot
20f126890aSEmmanuel Vadot		dsp_memory_region: dsp-memory@98000000 {
21f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
22f126890aSEmmanuel Vadot			reg = <0x98000000 0x800000>;
23f126890aSEmmanuel Vadot			reusable;
24f126890aSEmmanuel Vadot			status = "okay";
25f126890aSEmmanuel Vadot		};
26f126890aSEmmanuel Vadot
27f126890aSEmmanuel Vadot		ipu_memory_region: ipu-memory@98800000 {
28f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
29f126890aSEmmanuel Vadot			reg = <0x98800000 0x7000000>;
30f126890aSEmmanuel Vadot			reusable;
31f126890aSEmmanuel Vadot			status = "okay";
32f126890aSEmmanuel Vadot		};
33f126890aSEmmanuel Vadot	};
34f126890aSEmmanuel Vadot
35f126890aSEmmanuel Vadot	chosen {
36f126890aSEmmanuel Vadot		stdout-path = &uart3;
37f126890aSEmmanuel Vadot	};
38f126890aSEmmanuel Vadot
39f126890aSEmmanuel Vadot	aliases {
40f126890aSEmmanuel Vadot		display0 = &dvi0;
41f126890aSEmmanuel Vadot		display1 = &hdmi0;
42f126890aSEmmanuel Vadot		ethernet = &ethernet;
43f126890aSEmmanuel Vadot	};
44f126890aSEmmanuel Vadot
45f126890aSEmmanuel Vadot	leds: leds {
46f126890aSEmmanuel Vadot		compatible = "gpio-leds";
47f126890aSEmmanuel Vadot		pinctrl-names = "default";
48f126890aSEmmanuel Vadot		pinctrl-0 = <
49f126890aSEmmanuel Vadot			&led_wkgpio_pins
50f126890aSEmmanuel Vadot		>;
51f126890aSEmmanuel Vadot
52f126890aSEmmanuel Vadot		led-heartbeat {
53f126890aSEmmanuel Vadot			label = "pandaboard::status1";
54f126890aSEmmanuel Vadot			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
55f126890aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
56f126890aSEmmanuel Vadot		};
57f126890aSEmmanuel Vadot
58f126890aSEmmanuel Vadot		led-mmc {
59f126890aSEmmanuel Vadot			label = "pandaboard::status2";
60f126890aSEmmanuel Vadot			gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
61f126890aSEmmanuel Vadot			linux,default-trigger = "mmc0";
62f126890aSEmmanuel Vadot		};
63f126890aSEmmanuel Vadot	};
64f126890aSEmmanuel Vadot
65f126890aSEmmanuel Vadot	gpio_keys: gpio_keys {
66f126890aSEmmanuel Vadot		compatible = "gpio-keys";
67f126890aSEmmanuel Vadot		pinctrl-names = "default";
68f126890aSEmmanuel Vadot		pinctrl-0 = <
69f126890aSEmmanuel Vadot			&button_pins
70f126890aSEmmanuel Vadot		>;
71f126890aSEmmanuel Vadot
72f126890aSEmmanuel Vadot		buttonS2 {
73f126890aSEmmanuel Vadot			label = "button S2";
74f126890aSEmmanuel Vadot			gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;	/* gpio_121 */
75f126890aSEmmanuel Vadot			linux,code = <BTN_0>;
76f126890aSEmmanuel Vadot			wakeup-source;
77f126890aSEmmanuel Vadot		};
78f126890aSEmmanuel Vadot	};
79f126890aSEmmanuel Vadot
80f126890aSEmmanuel Vadot	sound: sound {
81f126890aSEmmanuel Vadot		compatible = "ti,abe-twl6040";
82f126890aSEmmanuel Vadot		ti,model = "PandaBoard";
83f126890aSEmmanuel Vadot
84f126890aSEmmanuel Vadot		ti,mclk-freq = <38400000>;
85f126890aSEmmanuel Vadot
86f126890aSEmmanuel Vadot		ti,mcpdm = <&mcpdm>;
87f126890aSEmmanuel Vadot
88f126890aSEmmanuel Vadot		ti,twl6040 = <&twl6040>;
89f126890aSEmmanuel Vadot
90f126890aSEmmanuel Vadot		/* Audio routing */
91f126890aSEmmanuel Vadot		ti,audio-routing =
92f126890aSEmmanuel Vadot			"Headset Stereophone", "HSOL",
93f126890aSEmmanuel Vadot			"Headset Stereophone", "HSOR",
94f126890aSEmmanuel Vadot			"Ext Spk", "HFL",
95f126890aSEmmanuel Vadot			"Ext Spk", "HFR",
96f126890aSEmmanuel Vadot			"Line Out", "AUXL",
97f126890aSEmmanuel Vadot			"Line Out", "AUXR",
98f126890aSEmmanuel Vadot			"HSMIC", "Headset Mic",
99f126890aSEmmanuel Vadot			"Headset Mic", "Headset Mic Bias",
100f126890aSEmmanuel Vadot			"AFML", "Line In",
101f126890aSEmmanuel Vadot			"AFMR", "Line In";
102f126890aSEmmanuel Vadot	};
103f126890aSEmmanuel Vadot
104f126890aSEmmanuel Vadot	/* HS USB Port 1 Power */
105f126890aSEmmanuel Vadot	hsusb1_power: hsusb1_power_reg {
106f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
107f126890aSEmmanuel Vadot		regulator-name = "hsusb1_vbus";
108f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
109f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
110f126890aSEmmanuel Vadot		gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>;	/* gpio_1 */
111f126890aSEmmanuel Vadot		startup-delay-us = <70000>;
112f126890aSEmmanuel Vadot		enable-active-high;
113f126890aSEmmanuel Vadot		/*
114f126890aSEmmanuel Vadot		 * boot-on is required along with always-on as the
115f126890aSEmmanuel Vadot		 * regulator framework doesn't enable the regulator
116f126890aSEmmanuel Vadot		 * if boot-on is not there.
117f126890aSEmmanuel Vadot		 */
118f126890aSEmmanuel Vadot		regulator-always-on;
119f126890aSEmmanuel Vadot		regulator-boot-on;
120f126890aSEmmanuel Vadot	};
121f126890aSEmmanuel Vadot
122f126890aSEmmanuel Vadot	/* HS USB Host PHY on PORT 1 */
123f126890aSEmmanuel Vadot	hsusb1_phy: hsusb1_phy {
124f126890aSEmmanuel Vadot		compatible = "usb-nop-xceiv";
125f126890aSEmmanuel Vadot		reset-gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;   /* gpio_62 */
126f126890aSEmmanuel Vadot		#phy-cells = <0>;
127f126890aSEmmanuel Vadot		vcc-supply = <&hsusb1_power>;
128f126890aSEmmanuel Vadot		clocks = <&auxclk3_ck>;
129f126890aSEmmanuel Vadot		clock-names = "main_clk";
130f126890aSEmmanuel Vadot		clock-frequency = <19200000>;
131f126890aSEmmanuel Vadot	};
132f126890aSEmmanuel Vadot
133f126890aSEmmanuel Vadot	/* regulator for wl12xx on sdio5 */
134f126890aSEmmanuel Vadot	wl12xx_vmmc: wl12xx_vmmc {
135f126890aSEmmanuel Vadot		pinctrl-names = "default";
136f126890aSEmmanuel Vadot		pinctrl-0 = <&wl12xx_gpio>;
137f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
138f126890aSEmmanuel Vadot		regulator-name = "vwl1271";
139f126890aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
140f126890aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
141f126890aSEmmanuel Vadot		gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>;
142f126890aSEmmanuel Vadot		startup-delay-us = <70000>;
143f126890aSEmmanuel Vadot		enable-active-high;
144f126890aSEmmanuel Vadot	};
145f126890aSEmmanuel Vadot
146f126890aSEmmanuel Vadot	tfp410: encoder0 {
147f126890aSEmmanuel Vadot		compatible = "ti,tfp410";
148f126890aSEmmanuel Vadot		powerdown-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;	/* gpio_0 */
149f126890aSEmmanuel Vadot
150f126890aSEmmanuel Vadot		ports {
151f126890aSEmmanuel Vadot			#address-cells = <1>;
152f126890aSEmmanuel Vadot			#size-cells = <0>;
153f126890aSEmmanuel Vadot
154f126890aSEmmanuel Vadot			port@0 {
155f126890aSEmmanuel Vadot				reg = <0>;
156f126890aSEmmanuel Vadot
157f126890aSEmmanuel Vadot				tfp410_in: endpoint {
158f126890aSEmmanuel Vadot					remote-endpoint = <&dpi_out>;
159f126890aSEmmanuel Vadot				};
160f126890aSEmmanuel Vadot			};
161f126890aSEmmanuel Vadot
162f126890aSEmmanuel Vadot			port@1 {
163f126890aSEmmanuel Vadot				reg = <1>;
164f126890aSEmmanuel Vadot
165f126890aSEmmanuel Vadot				tfp410_out: endpoint {
166f126890aSEmmanuel Vadot					remote-endpoint = <&dvi_connector_in>;
167f126890aSEmmanuel Vadot				};
168f126890aSEmmanuel Vadot			};
169f126890aSEmmanuel Vadot		};
170f126890aSEmmanuel Vadot	};
171f126890aSEmmanuel Vadot
172f126890aSEmmanuel Vadot	dvi0: connector0 {
173f126890aSEmmanuel Vadot		compatible = "dvi-connector";
174f126890aSEmmanuel Vadot		label = "dvi";
175f126890aSEmmanuel Vadot
176f126890aSEmmanuel Vadot		digital;
177f126890aSEmmanuel Vadot
178f126890aSEmmanuel Vadot		ddc-i2c-bus = <&i2c3>;
179f126890aSEmmanuel Vadot
180f126890aSEmmanuel Vadot		port {
181f126890aSEmmanuel Vadot			dvi_connector_in: endpoint {
182f126890aSEmmanuel Vadot				remote-endpoint = <&tfp410_out>;
183f126890aSEmmanuel Vadot			};
184f126890aSEmmanuel Vadot		};
185f126890aSEmmanuel Vadot	};
186f126890aSEmmanuel Vadot
187f126890aSEmmanuel Vadot	tpd12s015: encoder1 {
188f126890aSEmmanuel Vadot		compatible = "ti,tpd12s015";
189f126890aSEmmanuel Vadot
190f126890aSEmmanuel Vadot		gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>,	/* 60, CT CP HPD */
191f126890aSEmmanuel Vadot			<&gpio2 9 GPIO_ACTIVE_HIGH>,	/* 41, LS OE */
192f126890aSEmmanuel Vadot			<&gpio2 31 GPIO_ACTIVE_HIGH>;	/* 63, HPD */
193f126890aSEmmanuel Vadot
194f126890aSEmmanuel Vadot		ports {
195f126890aSEmmanuel Vadot			#address-cells = <1>;
196f126890aSEmmanuel Vadot			#size-cells = <0>;
197f126890aSEmmanuel Vadot
198f126890aSEmmanuel Vadot			port@0 {
199f126890aSEmmanuel Vadot				reg = <0>;
200f126890aSEmmanuel Vadot
201f126890aSEmmanuel Vadot				tpd12s015_in: endpoint {
202f126890aSEmmanuel Vadot					remote-endpoint = <&hdmi_out>;
203f126890aSEmmanuel Vadot				};
204f126890aSEmmanuel Vadot			};
205f126890aSEmmanuel Vadot
206f126890aSEmmanuel Vadot			port@1 {
207f126890aSEmmanuel Vadot				reg = <1>;
208f126890aSEmmanuel Vadot
209f126890aSEmmanuel Vadot				tpd12s015_out: endpoint {
210f126890aSEmmanuel Vadot					remote-endpoint = <&hdmi_connector_in>;
211f126890aSEmmanuel Vadot				};
212f126890aSEmmanuel Vadot			};
213f126890aSEmmanuel Vadot		};
214f126890aSEmmanuel Vadot	};
215f126890aSEmmanuel Vadot
216f126890aSEmmanuel Vadot	hdmi0: connector1 {
217f126890aSEmmanuel Vadot		compatible = "hdmi-connector";
218f126890aSEmmanuel Vadot		label = "hdmi";
219f126890aSEmmanuel Vadot
220f126890aSEmmanuel Vadot		type = "a";
221f126890aSEmmanuel Vadot
222f126890aSEmmanuel Vadot		port {
223f126890aSEmmanuel Vadot			hdmi_connector_in: endpoint {
224f126890aSEmmanuel Vadot				remote-endpoint = <&tpd12s015_out>;
225f126890aSEmmanuel Vadot			};
226f126890aSEmmanuel Vadot		};
227f126890aSEmmanuel Vadot	};
228f126890aSEmmanuel Vadot};
229f126890aSEmmanuel Vadot
230f126890aSEmmanuel Vadot&omap4_pmx_core {
231f126890aSEmmanuel Vadot	pinctrl-names = "default";
232f126890aSEmmanuel Vadot	pinctrl-0 = <
233f126890aSEmmanuel Vadot			&dss_dpi_pins
234f126890aSEmmanuel Vadot			&tfp410_pins
235f126890aSEmmanuel Vadot			&dss_hdmi_pins
236f126890aSEmmanuel Vadot			&tpd12s015_pins
237f126890aSEmmanuel Vadot			&hsusbb1_pins
238f126890aSEmmanuel Vadot	>;
239f126890aSEmmanuel Vadot
240f126890aSEmmanuel Vadot	twl6040_pins: twl6040-pins {
241f126890aSEmmanuel Vadot		pinctrl-single,pins = <
242f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3)	/* hdq_sio.gpio_127 */
243f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0)	/* sys_nirq2.sys_nirq2 */
244f126890aSEmmanuel Vadot		>;
245f126890aSEmmanuel Vadot	};
246f126890aSEmmanuel Vadot
247f126890aSEmmanuel Vadot	mcbsp1_pins: mcbsp1-pins {
248f126890aSEmmanuel Vadot		pinctrl-single,pins = <
249f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0)		/* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
250f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp1_dr.abe_mcbsp1_dr */
251f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp1_dx.abe_mcbsp1_dx */
252f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0)		/* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
253f126890aSEmmanuel Vadot		>;
254f126890aSEmmanuel Vadot	};
255f126890aSEmmanuel Vadot
256f126890aSEmmanuel Vadot	dss_dpi_pins: dss-dpi-pins {
257f126890aSEmmanuel Vadot		pinctrl-single,pins = <
258f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x162, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data23 */
259f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x164, PIN_OUTPUT | MUX_MODE5) 	/* dispc2_data22 */
260f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x166, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data21 */
261f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x168, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data20 */
262f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x16a, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data19 */
263f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x16c, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data18 */
264f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x16e, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data15 */
265f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x170, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data14 */
266f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x172, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data13 */
267f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x174, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data12 */
268f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x176, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data11 */
269f126890aSEmmanuel Vadot
270f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1b4, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data10 */
271f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data9 */
272f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1b8, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data16 */
273f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1ba, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data17 */
274f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE5)	/* dispc2_hsync */
275f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE5)	/* dispc2_pclk */
276f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1c0, PIN_OUTPUT | MUX_MODE5)	/* dispc2_vsync */
277f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1c2, PIN_OUTPUT | MUX_MODE5)	/* dispc2_de */
278f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1c4, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data8 */
279f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1c6, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data7 */
280f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1c8, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data6 */
281f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data5 */
282f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1cc, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data4 */
283f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data3 */
284f126890aSEmmanuel Vadot
285f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1d0, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data2 */
286f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1d2, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data1 */
287f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x1d4, PIN_OUTPUT | MUX_MODE5)	/* dispc2_data0 */
288f126890aSEmmanuel Vadot		>;
289f126890aSEmmanuel Vadot	};
290f126890aSEmmanuel Vadot
291f126890aSEmmanuel Vadot	tfp410_pins: tfp410-pins {
292f126890aSEmmanuel Vadot		pinctrl-single,pins = <
293f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x184, PIN_OUTPUT | MUX_MODE3)	/* gpio_0 */
294f126890aSEmmanuel Vadot		>;
295f126890aSEmmanuel Vadot	};
296f126890aSEmmanuel Vadot
297f126890aSEmmanuel Vadot	dss_hdmi_pins: dss-hdmi-pins {
298f126890aSEmmanuel Vadot		pinctrl-single,pins = <
299f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0)		/* hdmi_cec.hdmi_cec */
300f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_scl.hdmi_scl */
301f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_sda.hdmi_sda */
302f126890aSEmmanuel Vadot		>;
303f126890aSEmmanuel Vadot	};
304f126890aSEmmanuel Vadot
305f126890aSEmmanuel Vadot	tpd12s015_pins: tpd12s015-pins {
306f126890aSEmmanuel Vadot		pinctrl-single,pins = <
307f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a17.gpio_41 */
308f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3)		/* gpmc_nbe1.gpio_60 */
309f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3)	/* hdmi_hpd.gpio_63 */
310f126890aSEmmanuel Vadot		>;
311f126890aSEmmanuel Vadot	};
312f126890aSEmmanuel Vadot
313f126890aSEmmanuel Vadot	hsusbb1_pins: hsusbb1-pins {
314f126890aSEmmanuel Vadot		pinctrl-single,pins = <
315f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x0c2, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
316f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x0c4, PIN_OUTPUT | MUX_MODE4)		/* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
317f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x0c6, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */
318f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x0c8, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */
319f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x0ca, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */
320f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x0cc, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */
321f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x0ce, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */
322f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x0d0, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */
323f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x0d2, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */
324f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x0d4, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */
325f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x0d6, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */
326f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x0d8, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */
327f126890aSEmmanuel Vadot		>;
328f126890aSEmmanuel Vadot	};
329f126890aSEmmanuel Vadot
330f126890aSEmmanuel Vadot	i2c1_pins: i2c1-pins {
331f126890aSEmmanuel Vadot		pinctrl-single,pins = <
332f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_scl */
333f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_sda */
334f126890aSEmmanuel Vadot		>;
335f126890aSEmmanuel Vadot	};
336f126890aSEmmanuel Vadot
337f126890aSEmmanuel Vadot	i2c2_pins: i2c2-pins {
338f126890aSEmmanuel Vadot		pinctrl-single,pins = <
339f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_scl */
340f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_sda */
341f126890aSEmmanuel Vadot		>;
342f126890aSEmmanuel Vadot	};
343f126890aSEmmanuel Vadot
344f126890aSEmmanuel Vadot	i2c3_pins: i2c3-pins {
345f126890aSEmmanuel Vadot		pinctrl-single,pins = <
346f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_scl */
347f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_sda */
348f126890aSEmmanuel Vadot		>;
349f126890aSEmmanuel Vadot	};
350f126890aSEmmanuel Vadot
351f126890aSEmmanuel Vadot	i2c4_pins: i2c4-pins {
352f126890aSEmmanuel Vadot		pinctrl-single,pins = <
353f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c4_scl */
354f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c4_sda */
355f126890aSEmmanuel Vadot		>;
356f126890aSEmmanuel Vadot	};
357f126890aSEmmanuel Vadot
358f126890aSEmmanuel Vadot	/*
359f126890aSEmmanuel Vadot	 * wl12xx GPIO outputs for WLAN_EN, BT_EN, FM_EN, BT_WAKEUP
360f126890aSEmmanuel Vadot	 * REVISIT: Are the pull-ups needed for GPIO 48 and 49?
361f126890aSEmmanuel Vadot	 */
362f126890aSEmmanuel Vadot	wl12xx_gpio: wl12xx-gpio-pins {
363f126890aSEmmanuel Vadot		pinctrl-single,pins = <
364f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x066, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a19.gpio_43 */
365f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x06c, PIN_OUTPUT | MUX_MODE3)		/* gpmc_a22.gpio_46 */
366f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLUP | MUX_MODE3)	/* gpmc_a24.gpio_48 */
367f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x072, PIN_OUTPUT_PULLUP | MUX_MODE3)	/* gpmc_a25.gpio_49 */
368f126890aSEmmanuel Vadot		>;
369f126890aSEmmanuel Vadot	};
370f126890aSEmmanuel Vadot
371f126890aSEmmanuel Vadot	/* wl12xx GPIO inputs and SDIO pins */
372f126890aSEmmanuel Vadot	wl12xx_pins: wl12xx-pins {
373f126890aSEmmanuel Vadot		pinctrl-single,pins = <
374f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3)		/* gpmc_ncs2.gpio_52 */
375f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)		/* gpmc_ncs3.gpio_53 */
376f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_clk.sdmmc5_clk */
377f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_cmd.sdmmc5_cmd */
378f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat0.sdmmc5_dat0 */
379f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat1.sdmmc5_dat1 */
380f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat2.sdmmc5_dat2 */
381f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc5_dat3.sdmmc5_dat3 */
382f126890aSEmmanuel Vadot		>;
383f126890aSEmmanuel Vadot	};
384f126890aSEmmanuel Vadot
385f126890aSEmmanuel Vadot	button_pins: button-pins {
386f126890aSEmmanuel Vadot		pinctrl-single,pins = <
387f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x114, PIN_INPUT_PULLUP | MUX_MODE3)	/* gpio_121 */
388f126890aSEmmanuel Vadot		>;
389f126890aSEmmanuel Vadot	};
390f126890aSEmmanuel Vadot};
391f126890aSEmmanuel Vadot
392f126890aSEmmanuel Vadot&omap4_pmx_wkup {
393f126890aSEmmanuel Vadot	led_wkgpio_pins: leds-wkpins-pins {
394f126890aSEmmanuel Vadot		pinctrl-single,pins = <
395f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x05a, PIN_OUTPUT | MUX_MODE3)	/* gpio_wk7 */
396f126890aSEmmanuel Vadot			OMAP4_IOPAD(0x05c, PIN_OUTPUT | MUX_MODE3)	/* gpio_wk8 */
397f126890aSEmmanuel Vadot		>;
398f126890aSEmmanuel Vadot	};
399f126890aSEmmanuel Vadot};
400f126890aSEmmanuel Vadot
401f126890aSEmmanuel Vadot&i2c1 {
402f126890aSEmmanuel Vadot	pinctrl-names = "default";
403f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c1_pins>;
404f126890aSEmmanuel Vadot
405f126890aSEmmanuel Vadot	clock-frequency = <400000>;
406f126890aSEmmanuel Vadot
407f126890aSEmmanuel Vadot	twl: twl@48 {
408f126890aSEmmanuel Vadot		reg = <0x48>;
409f126890aSEmmanuel Vadot		/* IRQ# = 7 */
410f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
411*01950c46SEmmanuel Vadot		system-power-controller;
412f126890aSEmmanuel Vadot	};
413f126890aSEmmanuel Vadot
414f126890aSEmmanuel Vadot	twl6040: twl@4b {
415f126890aSEmmanuel Vadot		compatible = "ti,twl6040";
416f126890aSEmmanuel Vadot		#clock-cells = <0>;
417f126890aSEmmanuel Vadot		reg = <0x4b>;
418f126890aSEmmanuel Vadot
419f126890aSEmmanuel Vadot		pinctrl-names = "default";
420f126890aSEmmanuel Vadot		pinctrl-0 = <&twl6040_pins>;
421f126890aSEmmanuel Vadot
422f126890aSEmmanuel Vadot		/* IRQ# = 119 */
423f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
424f126890aSEmmanuel Vadot		ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>;  /* gpio line 127 */
425f126890aSEmmanuel Vadot
426f126890aSEmmanuel Vadot		vio-supply = <&v1v8>;
427f126890aSEmmanuel Vadot		v2v1-supply = <&v2v1>;
428f126890aSEmmanuel Vadot		enable-active-high;
429f126890aSEmmanuel Vadot	};
430f126890aSEmmanuel Vadot};
431f126890aSEmmanuel Vadot
432f126890aSEmmanuel Vadot#include "twl6030.dtsi"
433f126890aSEmmanuel Vadot#include "twl6030_omap4.dtsi"
434f126890aSEmmanuel Vadot
435f126890aSEmmanuel Vadot&i2c2 {
436f126890aSEmmanuel Vadot	pinctrl-names = "default";
437f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c2_pins>;
438f126890aSEmmanuel Vadot
439f126890aSEmmanuel Vadot	clock-frequency = <400000>;
440f126890aSEmmanuel Vadot};
441f126890aSEmmanuel Vadot
442f126890aSEmmanuel Vadot&i2c3 {
443f126890aSEmmanuel Vadot	pinctrl-names = "default";
444f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c3_pins>;
445f126890aSEmmanuel Vadot
446f126890aSEmmanuel Vadot	clock-frequency = <100000>;
447f126890aSEmmanuel Vadot
448f126890aSEmmanuel Vadot	/*
449f126890aSEmmanuel Vadot	 * Display monitor features are burnt in their EEPROM as EDID data.
450f126890aSEmmanuel Vadot	 * The EEPROM is connected as I2C slave device.
451f126890aSEmmanuel Vadot	 */
452f126890aSEmmanuel Vadot	eeprom@50 {
453f126890aSEmmanuel Vadot		compatible = "ti,eeprom";
454f126890aSEmmanuel Vadot		reg = <0x50>;
455f126890aSEmmanuel Vadot	};
456f126890aSEmmanuel Vadot};
457f126890aSEmmanuel Vadot
458f126890aSEmmanuel Vadot&i2c4 {
459f126890aSEmmanuel Vadot	pinctrl-names = "default";
460f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c4_pins>;
461f126890aSEmmanuel Vadot
462f126890aSEmmanuel Vadot	clock-frequency = <400000>;
463f126890aSEmmanuel Vadot};
464f126890aSEmmanuel Vadot
465f126890aSEmmanuel Vadot&mmc1 {
466f126890aSEmmanuel Vadot	vmmc-supply = <&vmmc>;
467f126890aSEmmanuel Vadot	bus-width = <8>;
468f126890aSEmmanuel Vadot};
469f126890aSEmmanuel Vadot
470f126890aSEmmanuel Vadot&mmc2 {
471f126890aSEmmanuel Vadot	status = "disabled";
472f126890aSEmmanuel Vadot};
473f126890aSEmmanuel Vadot
474f126890aSEmmanuel Vadot&mmc3 {
475f126890aSEmmanuel Vadot	status = "disabled";
476f126890aSEmmanuel Vadot};
477f126890aSEmmanuel Vadot
478f126890aSEmmanuel Vadot&mmc4 {
479f126890aSEmmanuel Vadot	status = "disabled";
480f126890aSEmmanuel Vadot};
481f126890aSEmmanuel Vadot
482f126890aSEmmanuel Vadot&mmc5 {
483f126890aSEmmanuel Vadot	pinctrl-names = "default";
484f126890aSEmmanuel Vadot	pinctrl-0 = <&wl12xx_pins>;
485f126890aSEmmanuel Vadot	vmmc-supply = <&wl12xx_vmmc>;
486f126890aSEmmanuel Vadot	interrupts-extended = <&wakeupgen GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH
487f126890aSEmmanuel Vadot			       &omap4_pmx_core 0x10e>;
488f126890aSEmmanuel Vadot	non-removable;
489f126890aSEmmanuel Vadot	bus-width = <4>;
490f126890aSEmmanuel Vadot	cap-power-off-card;
491f126890aSEmmanuel Vadot
492f126890aSEmmanuel Vadot	#address-cells = <1>;
493f126890aSEmmanuel Vadot	#size-cells = <0>;
494f126890aSEmmanuel Vadot	wlcore: wlcore@2 {
495f126890aSEmmanuel Vadot		compatible = "ti,wl1271";
496f126890aSEmmanuel Vadot		reg = <2>;
497f126890aSEmmanuel Vadot		/* gpio_53 with gpmc_ncs3 pad as wakeup */
498f126890aSEmmanuel Vadot		interrupts-extended = <&gpio2 21 IRQ_TYPE_LEVEL_HIGH>,
499f126890aSEmmanuel Vadot				      <&omap4_pmx_core 0x3a>;
500f126890aSEmmanuel Vadot		interrupt-names = "irq", "wakeup";
501f126890aSEmmanuel Vadot		ref-clock-frequency = <38400000>;
502f126890aSEmmanuel Vadot	};
503f126890aSEmmanuel Vadot};
504f126890aSEmmanuel Vadot
505f126890aSEmmanuel Vadot&emif1 {
506f126890aSEmmanuel Vadot	cs1-used;
507f126890aSEmmanuel Vadot	device-handle = <&elpida_ECB240ABACN>;
508f126890aSEmmanuel Vadot};
509f126890aSEmmanuel Vadot
510f126890aSEmmanuel Vadot&emif2 {
511f126890aSEmmanuel Vadot	cs1-used;
512f126890aSEmmanuel Vadot	device-handle = <&elpida_ECB240ABACN>;
513f126890aSEmmanuel Vadot};
514f126890aSEmmanuel Vadot
515f126890aSEmmanuel Vadot&mcbsp1 {
516f126890aSEmmanuel Vadot	pinctrl-names = "default";
517f126890aSEmmanuel Vadot	pinctrl-0 = <&mcbsp1_pins>;
518f126890aSEmmanuel Vadot	status = "okay";
519f126890aSEmmanuel Vadot};
520f126890aSEmmanuel Vadot
521f126890aSEmmanuel Vadot&twl_usb_comparator {
522f126890aSEmmanuel Vadot	usb-supply = <&vusb>;
523f126890aSEmmanuel Vadot};
524f126890aSEmmanuel Vadot
525f126890aSEmmanuel Vadot&uart2 {
526f126890aSEmmanuel Vadot	interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
527f126890aSEmmanuel Vadot			       &omap4_pmx_core OMAP4_UART2_RX>;
528f126890aSEmmanuel Vadot};
529f126890aSEmmanuel Vadot
530f126890aSEmmanuel Vadot&uart3 {
531f126890aSEmmanuel Vadot	interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
532f126890aSEmmanuel Vadot			       &omap4_pmx_core OMAP4_UART3_RX>;
533f126890aSEmmanuel Vadot};
534f126890aSEmmanuel Vadot
535f126890aSEmmanuel Vadot&uart4 {
536f126890aSEmmanuel Vadot	interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
537f126890aSEmmanuel Vadot			       &omap4_pmx_core OMAP4_UART4_RX>;
538f126890aSEmmanuel Vadot};
539f126890aSEmmanuel Vadot
540f126890aSEmmanuel Vadot&usb_otg_hs {
541f126890aSEmmanuel Vadot	interface-type = <1>;
542f126890aSEmmanuel Vadot	mode = <3>;
543f126890aSEmmanuel Vadot	power = <50>;
544f126890aSEmmanuel Vadot};
545f126890aSEmmanuel Vadot
546f126890aSEmmanuel Vadot&usbhshost {
547f126890aSEmmanuel Vadot	port1-mode = "ehci-phy";
548f126890aSEmmanuel Vadot};
549f126890aSEmmanuel Vadot
550f126890aSEmmanuel Vadot&usbhsehci {
551f126890aSEmmanuel Vadot	phys = <&hsusb1_phy>;
552f126890aSEmmanuel Vadot
553f126890aSEmmanuel Vadot	#address-cells = <1>;
554f126890aSEmmanuel Vadot	#size-cells = <0>;
555f126890aSEmmanuel Vadot
556f126890aSEmmanuel Vadot	hub@1 {
557f126890aSEmmanuel Vadot		compatible = "usb424,9514";
558f126890aSEmmanuel Vadot		reg = <1>;
559f126890aSEmmanuel Vadot		#address-cells = <1>;
560f126890aSEmmanuel Vadot		#size-cells = <0>;
561f126890aSEmmanuel Vadot
562f126890aSEmmanuel Vadot		ethernet: ethernet@1 {
563f126890aSEmmanuel Vadot			compatible = "usb424,ec00";
564f126890aSEmmanuel Vadot			reg = <1>;
565f126890aSEmmanuel Vadot		};
566f126890aSEmmanuel Vadot	};
567f126890aSEmmanuel Vadot};
568f126890aSEmmanuel Vadot
569f126890aSEmmanuel Vadot&dss {
570f126890aSEmmanuel Vadot	status = "okay";
571f126890aSEmmanuel Vadot
572f126890aSEmmanuel Vadot	port {
573f126890aSEmmanuel Vadot		dpi_out: endpoint {
574f126890aSEmmanuel Vadot			remote-endpoint = <&tfp410_in>;
575f126890aSEmmanuel Vadot			data-lines = <24>;
576f126890aSEmmanuel Vadot		};
577f126890aSEmmanuel Vadot	};
578f126890aSEmmanuel Vadot};
579f126890aSEmmanuel Vadot
580f126890aSEmmanuel Vadot&dsi2 {
581f126890aSEmmanuel Vadot	status = "okay";
582f126890aSEmmanuel Vadot	vdd-supply = <&vcxio>;
583f126890aSEmmanuel Vadot};
584f126890aSEmmanuel Vadot
585f126890aSEmmanuel Vadot&hdmi {
586f126890aSEmmanuel Vadot	status = "okay";
587f126890aSEmmanuel Vadot	vdda-supply = <&vdac>;
588f126890aSEmmanuel Vadot
589f126890aSEmmanuel Vadot	port {
590f126890aSEmmanuel Vadot		hdmi_out: endpoint {
591f126890aSEmmanuel Vadot			remote-endpoint = <&tpd12s015_in>;
592f126890aSEmmanuel Vadot		};
593f126890aSEmmanuel Vadot	};
594f126890aSEmmanuel Vadot};
595f126890aSEmmanuel Vadot
596f126890aSEmmanuel Vadot&dsp {
597f126890aSEmmanuel Vadot	status = "okay";
598f126890aSEmmanuel Vadot	memory-region = <&dsp_memory_region>;
599f126890aSEmmanuel Vadot	ti,timers = <&timer5>;
600f126890aSEmmanuel Vadot	ti,watchdog-timers = <&timer6>;
601f126890aSEmmanuel Vadot};
602f126890aSEmmanuel Vadot
603f126890aSEmmanuel Vadot&ipu {
604f126890aSEmmanuel Vadot	status = "okay";
605f126890aSEmmanuel Vadot	memory-region = <&ipu_memory_region>;
606f126890aSEmmanuel Vadot	ti,timers = <&timer3>;
607f126890aSEmmanuel Vadot	ti,watchdog-timers = <&timer9>, <&timer11>;
608f126890aSEmmanuel Vadot};
609