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