xref: /linux/scripts/dtc/include-prefixes/arm/ti/omap/omap5-board-common.dtsi (revision a1c613ae4c322ddd58d5a8539dbfba2a0380a8c0)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/
4724ba675SRob Herring */
5724ba675SRob Herring#include "omap5.dtsi"
6724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h>
7724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h>
8724ba675SRob Herring
9724ba675SRob Herring/ {
10724ba675SRob Herring	aliases {
11724ba675SRob Herring		display0 = &hdmi0;
12724ba675SRob Herring	};
13724ba675SRob Herring
14724ba675SRob Herring	chosen {
15724ba675SRob Herring		stdout-path = &uart3;
16724ba675SRob Herring	};
17724ba675SRob Herring
18724ba675SRob Herring	vmain: fixedregulator-vmain {
19724ba675SRob Herring		compatible = "regulator-fixed";
20724ba675SRob Herring		regulator-name = "vmain";
21724ba675SRob Herring		regulator-min-microvolt = <5000000>;
22724ba675SRob Herring		regulator-max-microvolt = <5000000>;
23724ba675SRob Herring	};
24724ba675SRob Herring
25724ba675SRob Herring	vsys_cobra: fixedregulator-vsys_cobra {
26724ba675SRob Herring		compatible = "regulator-fixed";
27724ba675SRob Herring		regulator-name = "vsys_cobra";
28724ba675SRob Herring		vin-supply = <&vmain>;
29724ba675SRob Herring		regulator-min-microvolt = <5000000>;
30724ba675SRob Herring		regulator-max-microvolt = <5000000>;
31724ba675SRob Herring	};
32724ba675SRob Herring
33724ba675SRob Herring	vmmcsd_fixed: fixedregulator-mmcsd {
34724ba675SRob Herring		compatible = "regulator-fixed";
35724ba675SRob Herring		regulator-name = "vmmcsd_fixed";
36724ba675SRob Herring		regulator-min-microvolt = <3000000>;
37724ba675SRob Herring		regulator-max-microvolt = <3000000>;
38724ba675SRob Herring	};
39724ba675SRob Herring
40724ba675SRob Herring	mmc3_pwrseq: sdhci0_pwrseq {
41724ba675SRob Herring		compatible = "mmc-pwrseq-simple";
42724ba675SRob Herring		clocks = <&clk32kgaudio>;
43724ba675SRob Herring		clock-names = "ext_clock";
44724ba675SRob Herring	};
45724ba675SRob Herring
46724ba675SRob Herring	vmmcsdio_fixed: fixedregulator-mmcsdio {
47724ba675SRob Herring		compatible = "regulator-fixed";
48724ba675SRob Herring		regulator-name = "vmmcsdio_fixed";
49724ba675SRob Herring		regulator-min-microvolt = <1800000>;
50724ba675SRob Herring		regulator-max-microvolt = <1800000>;
51724ba675SRob Herring		gpio = <&gpio5 12 GPIO_ACTIVE_HIGH>;	/* gpio140 WLAN_EN */
52724ba675SRob Herring		enable-active-high;
53724ba675SRob Herring		startup-delay-us = <70000>;
54724ba675SRob Herring		pinctrl-names = "default";
55724ba675SRob Herring		pinctrl-0 = <&wlan_pins>;
56724ba675SRob Herring	};
57724ba675SRob Herring
58724ba675SRob Herring	/* HS USB Host PHY on PORT 2 */
59724ba675SRob Herring	hsusb2_phy: hsusb2-phy-pins {
60724ba675SRob Herring		compatible = "usb-nop-xceiv";
61724ba675SRob Herring		reset-gpios = <&gpio3 16 GPIO_ACTIVE_LOW>; /* gpio3_80 HUB_NRESET */
62724ba675SRob Herring		clocks = <&auxclk1_ck>;
63724ba675SRob Herring		clock-names = "main_clk";
64724ba675SRob Herring		clock-frequency = <19200000>;
65724ba675SRob Herring		#phy-cells = <0>;
66724ba675SRob Herring	};
67724ba675SRob Herring
68724ba675SRob Herring	/* HS USB Host PHY on PORT 3 */
69724ba675SRob Herring	hsusb3_phy: hsusb3_phy {
70724ba675SRob Herring		compatible = "usb-nop-xceiv";
71724ba675SRob Herring		reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>; /* gpio3_79 ETH_NRESET */
72724ba675SRob Herring		#phy-cells = <0>;
73724ba675SRob Herring	};
74724ba675SRob Herring
75724ba675SRob Herring	tpd12s015: encoder {
76724ba675SRob Herring		compatible = "ti,tpd12s015";
77724ba675SRob Herring
78724ba675SRob Herring		pinctrl-names = "default";
79724ba675SRob Herring		pinctrl-0 = <&tpd12s015_pins>;
80724ba675SRob Herring
81724ba675SRob Herring		/* gpios defined in the board specific dts */
82724ba675SRob Herring
83724ba675SRob Herring		ports {
84724ba675SRob Herring			#address-cells = <1>;
85724ba675SRob Herring			#size-cells = <0>;
86724ba675SRob Herring
87724ba675SRob Herring			port@0 {
88724ba675SRob Herring				reg = <0>;
89724ba675SRob Herring
90724ba675SRob Herring				tpd12s015_in: endpoint {
91724ba675SRob Herring					remote-endpoint = <&hdmi_out>;
92724ba675SRob Herring				};
93724ba675SRob Herring			};
94724ba675SRob Herring
95724ba675SRob Herring			port@1 {
96724ba675SRob Herring				reg = <1>;
97724ba675SRob Herring
98724ba675SRob Herring				tpd12s015_out: endpoint {
99724ba675SRob Herring					remote-endpoint = <&hdmi_connector_in>;
100724ba675SRob Herring				};
101724ba675SRob Herring			};
102724ba675SRob Herring		};
103724ba675SRob Herring	};
104724ba675SRob Herring
105724ba675SRob Herring	hdmi0: connector {
106724ba675SRob Herring		compatible = "hdmi-connector";
107724ba675SRob Herring		label = "hdmi";
108724ba675SRob Herring
109724ba675SRob Herring		type = "b";
110724ba675SRob Herring
111724ba675SRob Herring		port {
112724ba675SRob Herring			hdmi_connector_in: endpoint {
113724ba675SRob Herring				remote-endpoint = <&tpd12s015_out>;
114724ba675SRob Herring			};
115724ba675SRob Herring		};
116724ba675SRob Herring	};
117724ba675SRob Herring
118724ba675SRob Herring	sound: sound {
119724ba675SRob Herring		compatible = "ti,abe-twl6040";
120724ba675SRob Herring		ti,model = "omap5-uevm";
121724ba675SRob Herring
122724ba675SRob Herring		ti,jack-detection;
123724ba675SRob Herring		ti,mclk-freq = <19200000>;
124724ba675SRob Herring
125724ba675SRob Herring		ti,mcpdm = <&mcpdm>;
126724ba675SRob Herring
127724ba675SRob Herring		ti,twl6040 = <&twl6040>;
128724ba675SRob Herring
129724ba675SRob Herring		/* Audio routing */
130724ba675SRob Herring		ti,audio-routing =
131724ba675SRob Herring			"Headset Stereophone", "HSOL",
132724ba675SRob Herring			"Headset Stereophone", "HSOR",
133724ba675SRob Herring			"Line Out", "AUXL",
134724ba675SRob Herring			"Line Out", "AUXR",
135724ba675SRob Herring			"HSMIC", "Headset Mic",
136724ba675SRob Herring			"Headset Mic", "Headset Mic Bias",
137724ba675SRob Herring			"AFML", "Line In",
138724ba675SRob Herring			"AFMR", "Line In";
139724ba675SRob Herring	};
140724ba675SRob Herring};
141724ba675SRob Herring
142724ba675SRob Herring&gpio8 {
143724ba675SRob Herring	/* TI trees use GPIO instead of msecure, see also muxing */
144724ba675SRob Herring	msecure-hog {
145724ba675SRob Herring		gpio-hog;
146724ba675SRob Herring		gpios = <10 GPIO_ACTIVE_HIGH>;
147724ba675SRob Herring		output-high;
148724ba675SRob Herring		line-name = "gpio8_234/msecure";
149724ba675SRob Herring	};
150724ba675SRob Herring};
151724ba675SRob Herring
152724ba675SRob Herring&omap5_pmx_core {
153724ba675SRob Herring	pinctrl-names = "default";
154724ba675SRob Herring	pinctrl-0 = <
155724ba675SRob Herring			&usbhost_pins
156724ba675SRob Herring			&led_gpio_pins
157724ba675SRob Herring	>;
158724ba675SRob Herring
159724ba675SRob Herring	twl6040_pins: twl6040-pins {
160724ba675SRob Herring		pinctrl-single,pins = <
161724ba675SRob Herring			OMAP5_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE6)	/* mcspi1_somi.gpio5_141 */
162724ba675SRob Herring		>;
163724ba675SRob Herring	};
164724ba675SRob Herring
165724ba675SRob Herring	mcpdm_pins: mcpdm-pins {
166724ba675SRob Herring		pinctrl-single,pins = <
167724ba675SRob Herring			OMAP5_IOPAD(0x182, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_clks.abe_clks */
168724ba675SRob Herring			OMAP5_IOPAD(0x19c, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abemcpdm_ul_data.abemcpdm_ul_data */
169724ba675SRob Herring			OMAP5_IOPAD(0x19e, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abemcpdm_dl_data.abemcpdm_dl_data */
170724ba675SRob Herring			OMAP5_IOPAD(0x1a0, PIN_INPUT_PULLUP | MUX_MODE0)	/* abemcpdm_frame.abemcpdm_frame */
171724ba675SRob Herring			OMAP5_IOPAD(0x1a2, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abemcpdm_lb_clk.abemcpdm_lb_clk */
172724ba675SRob Herring		>;
173724ba675SRob Herring	};
174724ba675SRob Herring
175724ba675SRob Herring	mcbsp1_pins: mcbsp1-pins {
176724ba675SRob Herring		pinctrl-single,pins = <
177724ba675SRob Herring			OMAP5_IOPAD(0x18c, PIN_INPUT | MUX_MODE1)		/* abedmic_clk2.abemcbsp1_fsx */
178724ba675SRob Herring			OMAP5_IOPAD(0x18e, PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* abedmic_clk3.abemcbsp1_dx */
179724ba675SRob Herring			OMAP5_IOPAD(0x190, PIN_INPUT | MUX_MODE1)		/* abeslimbus1_clock.abemcbsp1_clkx */
180724ba675SRob Herring			OMAP5_IOPAD(0x192, PIN_INPUT_PULLDOWN | MUX_MODE1)	/* abeslimbus1_data.abemcbsp1_dr */
181724ba675SRob Herring		>;
182724ba675SRob Herring	};
183724ba675SRob Herring
184724ba675SRob Herring	mcbsp2_pins: mcbsp2-pins {
185724ba675SRob Herring		pinctrl-single,pins = <
186724ba675SRob Herring			OMAP5_IOPAD(0x194, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abemcbsp2_dr.abemcbsp2_dr */
187724ba675SRob Herring			OMAP5_IOPAD(0x196, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* abemcbsp2_dx.abemcbsp2_dx */
188724ba675SRob Herring			OMAP5_IOPAD(0x198, PIN_INPUT | MUX_MODE0)		/* abemcbsp2_fsx.abemcbsp2_fsx */
189724ba675SRob Herring			OMAP5_IOPAD(0x19a, PIN_INPUT | MUX_MODE0)		/* abemcbsp2_clkx.abemcbsp2_clkx */
190724ba675SRob Herring		>;
191724ba675SRob Herring	};
192724ba675SRob Herring
193724ba675SRob Herring	i2c1_pins: i2c1-pins {
194724ba675SRob Herring		pinctrl-single,pins = <
195724ba675SRob Herring			OMAP5_IOPAD(0x1f2, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_scl */
196724ba675SRob Herring			OMAP5_IOPAD(0x1f4, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_sda */
197724ba675SRob Herring		>;
198724ba675SRob Herring	};
199724ba675SRob Herring
200724ba675SRob Herring	mcspi2_pins: mcspi2-pins {
201724ba675SRob Herring		pinctrl-single,pins = <
202724ba675SRob Herring			OMAP5_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0)		/*  mcspi2_clk */
203724ba675SRob Herring			OMAP5_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0)		/*  mcspi2_simo */
204724ba675SRob Herring			OMAP5_IOPAD(0x100, PIN_INPUT_PULLUP | MUX_MODE0)	/*  mcspi2_somi */
205724ba675SRob Herring			OMAP5_IOPAD(0x102, PIN_OUTPUT | MUX_MODE0)		/*  mcspi2_cs0 */
206724ba675SRob Herring		>;
207724ba675SRob Herring	};
208724ba675SRob Herring
209724ba675SRob Herring	mcspi3_pins: mcspi3-pins {
210724ba675SRob Herring		pinctrl-single,pins = <
211724ba675SRob Herring			OMAP5_IOPAD(0x0b8, PIN_INPUT | MUX_MODE1)		/*  mcspi3_somi */
212724ba675SRob Herring			OMAP5_IOPAD(0x0ba, PIN_INPUT | MUX_MODE1)		/*  mcspi3_cs0 */
213724ba675SRob Herring			OMAP5_IOPAD(0x0bc, PIN_INPUT | MUX_MODE1)		/*  mcspi3_simo */
214724ba675SRob Herring			OMAP5_IOPAD(0x0be, PIN_INPUT | MUX_MODE1)		/*  mcspi3_clk */
215724ba675SRob Herring		>;
216724ba675SRob Herring	};
217724ba675SRob Herring
218724ba675SRob Herring	mmc3_pins: mmc3-pins {
219724ba675SRob Herring		pinctrl-single,pins = <
220724ba675SRob Herring			OMAP5_IOPAD(0x01a4, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_clk */
221724ba675SRob Herring			OMAP5_IOPAD(0x01a6, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_cmd */
222724ba675SRob Herring			OMAP5_IOPAD(0x01a8, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data0 */
223724ba675SRob Herring			OMAP5_IOPAD(0x01aa, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data1 */
224724ba675SRob Herring			OMAP5_IOPAD(0x01ac, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data2 */
225724ba675SRob Herring			OMAP5_IOPAD(0x01ae, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data3 */
226724ba675SRob Herring		>;
227724ba675SRob Herring	};
228724ba675SRob Herring
229724ba675SRob Herring	wlan_pins: wlan-pins {
230724ba675SRob Herring		pinctrl-single,pins = <
231724ba675SRob Herring			OMAP5_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE6) /* mcspi1_clk.gpio5_140 */
232724ba675SRob Herring		>;
233724ba675SRob Herring	};
234724ba675SRob Herring
235724ba675SRob Herring	/* TI trees use GPIO mode; msecure mode does not work reliably? */
236724ba675SRob Herring	palmas_msecure_pins: palmas-msecure-pins {
237724ba675SRob Herring		pinctrl-single,pins = <
238724ba675SRob Herring			OMAP5_IOPAD(0x180, PIN_OUTPUT | MUX_MODE6) /* gpio8_234 */
239724ba675SRob Herring		>;
240724ba675SRob Herring	};
241724ba675SRob Herring
242724ba675SRob Herring	usbhost_pins: usbhost-pins {
243724ba675SRob Herring		pinctrl-single,pins = <
244724ba675SRob Herring			OMAP5_IOPAD(0x0c4, PIN_INPUT | MUX_MODE0) /* usbb2_hsic_strobe */
245724ba675SRob Herring			OMAP5_IOPAD(0x0c6, PIN_INPUT | MUX_MODE0) /* usbb2_hsic_data */
246724ba675SRob Herring
247724ba675SRob Herring			OMAP5_IOPAD(0x1de, PIN_INPUT | MUX_MODE0) /* usbb3_hsic_strobe */
248724ba675SRob Herring			OMAP5_IOPAD(0x1e0, PIN_INPUT | MUX_MODE0) /* usbb3_hsic_data */
249724ba675SRob Herring
250724ba675SRob Herring			OMAP5_IOPAD(0x0b0, PIN_OUTPUT | MUX_MODE6) /* gpio3_80 HUB_NRESET */
251724ba675SRob Herring			OMAP5_IOPAD(0x0ae, PIN_OUTPUT | MUX_MODE6) /* gpio3_79 ETH_NRESET */
252724ba675SRob Herring		>;
253724ba675SRob Herring	};
254724ba675SRob Herring
255724ba675SRob Herring	led_gpio_pins: led-gpio-pins {
256724ba675SRob Herring		pinctrl-single,pins = <
257724ba675SRob Herring			OMAP5_IOPAD(0x1d6, PIN_OUTPUT | MUX_MODE6) /* uart3_cts_rctx.gpio5_153 */
258724ba675SRob Herring		>;
259724ba675SRob Herring	};
260724ba675SRob Herring
261724ba675SRob Herring	uart1_pins: uart1-pins {
262724ba675SRob Herring		pinctrl-single,pins = <
263724ba675SRob Herring			OMAP5_IOPAD(0x0a0, PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_cts */
264724ba675SRob Herring			OMAP5_IOPAD(0x0a2, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_tx.uart1_cts */
265724ba675SRob Herring			OMAP5_IOPAD(0x0a4, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rx.uart1_rts */
266724ba675SRob Herring			OMAP5_IOPAD(0x0a6, PIN_OUTPUT | MUX_MODE0) /* uart1_rx.uart1_rts */
267724ba675SRob Herring		>;
268724ba675SRob Herring	};
269724ba675SRob Herring
270724ba675SRob Herring	uart3_pins: uart3-pins {
271724ba675SRob Herring		pinctrl-single,pins = <
272724ba675SRob Herring			OMAP5_IOPAD(0x1da, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_irsd.uart3_tx_irtx */
273724ba675SRob Herring			OMAP5_IOPAD(0x1dc, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_rx_irrx.uart3_usbb3_hsic */
274724ba675SRob Herring		>;
275724ba675SRob Herring	};
276724ba675SRob Herring
277724ba675SRob Herring	uart5_pins: uart5-pins {
278724ba675SRob Herring		pinctrl-single,pins = <
279724ba675SRob Herring			OMAP5_IOPAD(0x1b0, PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_rx.uart5_rx */
280724ba675SRob Herring			OMAP5_IOPAD(0x1b2, PIN_OUTPUT | MUX_MODE0) /* uart5_tx.uart5_tx */
281724ba675SRob Herring			OMAP5_IOPAD(0x1b4, PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_cts.uart5_rts */
282724ba675SRob Herring			OMAP5_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE0) /* uart5_cts.uart5_rts */
283724ba675SRob Herring		>;
284724ba675SRob Herring	};
285724ba675SRob Herring
286724ba675SRob Herring	dss_hdmi_pins: dss-hdmi-pins {
287724ba675SRob Herring		pinctrl-single,pins = <
288724ba675SRob Herring			OMAP5_IOPAD(0x13c, PIN_INPUT | MUX_MODE0)	/* hdmi_cec.hdmi_cec */
289724ba675SRob Herring			OMAP5_IOPAD(0x140, PIN_INPUT | MUX_MODE0)	/* hdmi_ddc_scl.hdmi_ddc_scl */
290724ba675SRob Herring			OMAP5_IOPAD(0x142, PIN_INPUT | MUX_MODE0)	/* hdmi_ddc_sda.hdmi_ddc_sda */
291724ba675SRob Herring		>;
292724ba675SRob Herring	};
293724ba675SRob Herring
294724ba675SRob Herring	tpd12s015_pins: tpd12s015-pins {
295724ba675SRob Herring		pinctrl-single,pins = <
296724ba675SRob Herring			OMAP5_IOPAD(0x13e, PIN_INPUT_PULLDOWN | MUX_MODE6)	/* hdmi_hpd.gpio7_193 */
297724ba675SRob Herring		>;
298724ba675SRob Herring	};
299724ba675SRob Herring};
300724ba675SRob Herring
301724ba675SRob Herring&omap5_pmx_wkup {
302724ba675SRob Herring	pinctrl-names = "default";
303724ba675SRob Herring	pinctrl-0 = <
304724ba675SRob Herring			&usbhost_wkup_pins
305724ba675SRob Herring	>;
306724ba675SRob Herring
307724ba675SRob Herring	palmas_sys_nirq_pins: palmas-sys-nirq-pins {
308724ba675SRob Herring		pinctrl-single,pins = <
309724ba675SRob Herring			/* sys_nirq1 is pulled down as the SoC is inverting it for GIC */
310724ba675SRob Herring			OMAP5_IOPAD(0x068, PIN_INPUT_PULLUP | MUX_MODE0)
311724ba675SRob Herring		>;
312724ba675SRob Herring	};
313724ba675SRob Herring
314724ba675SRob Herring	usbhost_wkup_pins: usbhost-wkup-pins {
315724ba675SRob Herring		pinctrl-single,pins = <
316724ba675SRob Herring			OMAP5_IOPAD(0x05a, PIN_OUTPUT | MUX_MODE0) /* fref_clk1_out, USB hub clk */
317724ba675SRob Herring		>;
318724ba675SRob Herring	};
319724ba675SRob Herring
320724ba675SRob Herring	wlcore_irq_pin: wlcore-irq-pin-pins {
321724ba675SRob Herring		pinctrl-single,pins = <
322724ba675SRob Herring			OMAP5_IOPAD(0x40, PIN_INPUT | MUX_MODE6)	/* llia_wakereqin.gpio1_wk14 */
323724ba675SRob Herring		>;
324724ba675SRob Herring	};
325724ba675SRob Herring};
326724ba675SRob Herring
327724ba675SRob Herring&mmc1 {
328724ba675SRob Herring	vmmc-supply = <&ldo9_reg>;
329724ba675SRob Herring	bus-width = <4>;
330724ba675SRob Herring};
331724ba675SRob Herring
332724ba675SRob Herring&mmc2 {
333724ba675SRob Herring	vmmc-supply = <&vmmcsd_fixed>;
334724ba675SRob Herring	bus-width = <8>;
335724ba675SRob Herring	ti,non-removable;
336724ba675SRob Herring};
337724ba675SRob Herring
338724ba675SRob Herring&mmc3 {
339724ba675SRob Herring	vmmc-supply = <&vmmcsdio_fixed>;
340724ba675SRob Herring	mmc-pwrseq = <&mmc3_pwrseq>;
341724ba675SRob Herring	bus-width = <4>;
342724ba675SRob Herring	non-removable;
343724ba675SRob Herring	cap-power-off-card;
344724ba675SRob Herring	pinctrl-names = "default";
345724ba675SRob Herring	pinctrl-0 = <&mmc3_pins>;
346724ba675SRob Herring	interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
347724ba675SRob Herring			       &omap5_pmx_core 0x16a>;
348724ba675SRob Herring
349724ba675SRob Herring	#address-cells = <1>;
350724ba675SRob Herring	#size-cells = <0>;
351724ba675SRob Herring	wlcore: wlcore@2 {
352724ba675SRob Herring		compatible = "ti,wl1271";
353724ba675SRob Herring		reg = <2>;
354724ba675SRob Herring		pinctrl-names = "default";
355724ba675SRob Herring		pinctrl-0 = <&wlcore_irq_pin>;
356724ba675SRob Herring		interrupt-parent = <&gpio1>;
357724ba675SRob Herring		interrupts = <14 IRQ_TYPE_LEVEL_HIGH>;	/* gpio 14 */
358724ba675SRob Herring		ref-clock-frequency = <26000000>;
359724ba675SRob Herring	};
360724ba675SRob Herring};
361724ba675SRob Herring
362724ba675SRob Herring&mmc4 {
363724ba675SRob Herring	status = "disabled";
364724ba675SRob Herring};
365724ba675SRob Herring
366724ba675SRob Herring&mmc5 {
367724ba675SRob Herring	status = "disabled";
368724ba675SRob Herring};
369724ba675SRob Herring
370724ba675SRob Herring&i2c1 {
371724ba675SRob Herring	pinctrl-names = "default";
372724ba675SRob Herring	pinctrl-0 = <&i2c1_pins>;
373724ba675SRob Herring
374724ba675SRob Herring	clock-frequency = <400000>;
375724ba675SRob Herring
376724ba675SRob Herring	palmas: palmas@48 {
377724ba675SRob Herring		compatible = "ti,palmas";
378724ba675SRob Herring		/* sys_nirq/ext_sys_irq pins get inverted at mpuss wakeupgen */
379724ba675SRob Herring		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_LOW>;
380724ba675SRob Herring		reg = <0x48>;
381724ba675SRob Herring		interrupt-controller;
382724ba675SRob Herring		#interrupt-cells = <2>;
383724ba675SRob Herring		ti,system-power-controller;
384724ba675SRob Herring		ti,mux-pad1 = <0xa1>;
385724ba675SRob Herring		ti,mux-pad2 = <0x1b>;
386724ba675SRob Herring		pinctrl-names = "default";
387724ba675SRob Herring		pinctrl-0 = <&palmas_sys_nirq_pins &palmas_msecure_pins>;
388724ba675SRob Herring
389724ba675SRob Herring		palmas_gpio: gpio {
390724ba675SRob Herring			compatible = "ti,palmas-gpio";
391724ba675SRob Herring			gpio-controller;
392724ba675SRob Herring			#gpio-cells = <2>;
393724ba675SRob Herring		};
394724ba675SRob Herring
395724ba675SRob Herring		extcon_usb3: palmas_usb {
396724ba675SRob Herring			compatible = "ti,palmas-usb-vid";
397724ba675SRob Herring			ti,enable-vbus-detection;
398724ba675SRob Herring			ti,enable-id-detection;
399724ba675SRob Herring			ti,wakeup;
400724ba675SRob Herring			id-gpios = <&palmas_gpio 0 GPIO_ACTIVE_HIGH>;
401724ba675SRob Herring		};
402724ba675SRob Herring
403724ba675SRob Herring		clk32kgaudio: palmas_clk32k@1 {
404724ba675SRob Herring			compatible = "ti,palmas-clk32kgaudio";
405724ba675SRob Herring			#clock-cells = <0>;
406724ba675SRob Herring		};
407724ba675SRob Herring
408724ba675SRob Herring		rtc {
409724ba675SRob Herring			compatible = "ti,palmas-rtc";
410724ba675SRob Herring			interrupt-parent = <&palmas>;
411724ba675SRob Herring			interrupts = <8 IRQ_TYPE_NONE>;
412724ba675SRob Herring			ti,backup-battery-chargeable;
413724ba675SRob Herring			ti,backup-battery-charge-high-current;
414724ba675SRob Herring		};
415724ba675SRob Herring
416724ba675SRob Herring		gpadc: gpadc {
417724ba675SRob Herring			compatible = "ti,palmas-gpadc";
418*f274a854SKrzysztof Kozlowski			interrupts = <18 0>,
419*f274a854SKrzysztof Kozlowski				     <16 0>,
420*f274a854SKrzysztof Kozlowski				     <17 0>;
421724ba675SRob Herring			#io-channel-cells = <1>;
422724ba675SRob Herring			ti,channel0-current-microamp = <5>;
423724ba675SRob Herring			ti,channel3-current-microamp = <10>;
424724ba675SRob Herring		};
425724ba675SRob Herring
426724ba675SRob Herring		palmas_pmic {
427724ba675SRob Herring			compatible = "ti,palmas-pmic";
428724ba675SRob Herring			interrupt-parent = <&palmas>;
429724ba675SRob Herring			interrupts = <14 IRQ_TYPE_NONE>;
430724ba675SRob Herring			interrupt-names = "short-irq";
431724ba675SRob Herring
432724ba675SRob Herring			ti,ldo6-vibrator;
433724ba675SRob Herring
434724ba675SRob Herring			smps123-in-supply = <&vsys_cobra>;
435724ba675SRob Herring			smps45-in-supply = <&vsys_cobra>;
436724ba675SRob Herring			smps6-in-supply = <&vsys_cobra>;
437724ba675SRob Herring			smps7-in-supply = <&vsys_cobra>;
438724ba675SRob Herring			smps8-in-supply = <&vsys_cobra>;
439724ba675SRob Herring			smps9-in-supply = <&vsys_cobra>;
440724ba675SRob Herring			smps10_out2-in-supply = <&vsys_cobra>;
441724ba675SRob Herring			smps10_out1-in-supply = <&vsys_cobra>;
442724ba675SRob Herring			ldo1-in-supply = <&vsys_cobra>;
443724ba675SRob Herring			ldo2-in-supply = <&vsys_cobra>;
444724ba675SRob Herring			ldo3-in-supply = <&vdds_1v8_main>;
445724ba675SRob Herring			ldo4-in-supply = <&vdds_1v8_main>;
446724ba675SRob Herring			ldo5-in-supply = <&vsys_cobra>;
447724ba675SRob Herring			ldo6-in-supply = <&vdds_1v8_main>;
448724ba675SRob Herring			ldo7-in-supply = <&vsys_cobra>;
449724ba675SRob Herring			ldo8-in-supply = <&vsys_cobra>;
450724ba675SRob Herring			ldo9-in-supply = <&vmmcsd_fixed>;
451724ba675SRob Herring			ldoln-in-supply = <&vsys_cobra>;
452724ba675SRob Herring			ldousb-in-supply = <&vsys_cobra>;
453724ba675SRob Herring
454724ba675SRob Herring			regulators {
455724ba675SRob Herring				smps123_reg: smps123 {
456724ba675SRob Herring					/* VDD_OPP_MPU */
457724ba675SRob Herring					regulator-name = "smps123";
458724ba675SRob Herring					regulator-min-microvolt = < 600000>;
459724ba675SRob Herring					regulator-max-microvolt = <1500000>;
460724ba675SRob Herring					regulator-always-on;
461724ba675SRob Herring					regulator-boot-on;
462724ba675SRob Herring				};
463724ba675SRob Herring
464724ba675SRob Herring				smps45_reg: smps45 {
465724ba675SRob Herring					/* VDD_OPP_MM */
466724ba675SRob Herring					regulator-name = "smps45";
467724ba675SRob Herring					regulator-min-microvolt = < 600000>;
468724ba675SRob Herring					regulator-max-microvolt = <1310000>;
469724ba675SRob Herring					regulator-always-on;
470724ba675SRob Herring					regulator-boot-on;
471724ba675SRob Herring				};
472724ba675SRob Herring
473724ba675SRob Herring				smps6_reg: smps6 {
474724ba675SRob Herring					/* VDD_DDR3 - over VDD_SMPS6 */
475724ba675SRob Herring					regulator-name = "smps6";
476724ba675SRob Herring					regulator-min-microvolt = <1350000>;
477724ba675SRob Herring					regulator-max-microvolt = <1350000>;
478724ba675SRob Herring					regulator-always-on;
479724ba675SRob Herring					regulator-boot-on;
480724ba675SRob Herring				};
481724ba675SRob Herring
482724ba675SRob Herring				vdds_1v8_main:
483724ba675SRob Herring				smps7_reg: smps7 {
484724ba675SRob Herring					/* VDDS_1v8_OMAP over VDDS_1v8_MAIN */
485724ba675SRob Herring					regulator-name = "smps7";
486724ba675SRob Herring					regulator-min-microvolt = <1800000>;
487724ba675SRob Herring					regulator-max-microvolt = <1800000>;
488724ba675SRob Herring					regulator-always-on;
489724ba675SRob Herring					regulator-boot-on;
490724ba675SRob Herring				};
491724ba675SRob Herring
492724ba675SRob Herring				smps8_reg: smps8 {
493724ba675SRob Herring					/* VDD_OPP_CORE */
494724ba675SRob Herring					regulator-name = "smps8";
495724ba675SRob Herring					regulator-min-microvolt = < 600000>;
496724ba675SRob Herring					regulator-max-microvolt = <1310000>;
497724ba675SRob Herring					regulator-always-on;
498724ba675SRob Herring					regulator-boot-on;
499724ba675SRob Herring				};
500724ba675SRob Herring
501724ba675SRob Herring				smps9_reg: smps9 {
502724ba675SRob Herring					/* VDDA_2v1_AUD over VDD_2v1 */
503724ba675SRob Herring					regulator-name = "smps9";
504724ba675SRob Herring					regulator-min-microvolt = <2100000>;
505724ba675SRob Herring					regulator-max-microvolt = <2100000>;
506724ba675SRob Herring					ti,smps-range = <0x80>;
507724ba675SRob Herring				};
508724ba675SRob Herring
509724ba675SRob Herring				smps10_out2_reg: smps10_out2 {
510724ba675SRob Herring					/* VBUS_5V_OTG */
511724ba675SRob Herring					regulator-name = "smps10_out2";
512724ba675SRob Herring					regulator-min-microvolt = <5000000>;
513724ba675SRob Herring					regulator-max-microvolt = <5000000>;
514724ba675SRob Herring					regulator-always-on;
515724ba675SRob Herring					regulator-boot-on;
516724ba675SRob Herring				};
517724ba675SRob Herring
518724ba675SRob Herring				smps10_out1_reg: smps10_out1 {
519724ba675SRob Herring					/* VBUS_5V_OTG */
520724ba675SRob Herring					regulator-name = "smps10_out1";
521724ba675SRob Herring					regulator-min-microvolt = <5000000>;
522724ba675SRob Herring					regulator-max-microvolt = <5000000>;
523724ba675SRob Herring				};
524724ba675SRob Herring
525724ba675SRob Herring				ldo1_reg: ldo1 {
526724ba675SRob Herring					/* VDDAPHY_CAM: vdda_csiport */
527724ba675SRob Herring					regulator-name = "ldo1";
528724ba675SRob Herring					regulator-min-microvolt = <1800000>;
529724ba675SRob Herring					regulator-max-microvolt = <1800000>;
530724ba675SRob Herring				};
531724ba675SRob Herring
532724ba675SRob Herring				ldo2_reg: ldo2 {
533724ba675SRob Herring					/* VCC_2V8_DISP: Does not go anywhere */
534724ba675SRob Herring					regulator-name = "ldo2";
535724ba675SRob Herring					regulator-min-microvolt = <2800000>;
536724ba675SRob Herring					regulator-max-microvolt = <2800000>;
537724ba675SRob Herring					/* Unused */
538724ba675SRob Herring					status = "disabled";
539724ba675SRob Herring				};
540724ba675SRob Herring
541724ba675SRob Herring				ldo3_reg: ldo3 {
542724ba675SRob Herring					/* VDDAPHY_MDM: vdda_lli */
543724ba675SRob Herring					regulator-name = "ldo3";
544724ba675SRob Herring					regulator-min-microvolt = <1500000>;
545724ba675SRob Herring					regulator-max-microvolt = <1500000>;
546724ba675SRob Herring					regulator-boot-on;
547724ba675SRob Herring					/* Only if Modem is used */
548724ba675SRob Herring					status = "disabled";
549724ba675SRob Herring				};
550724ba675SRob Herring
551724ba675SRob Herring				ldo4_reg: ldo4 {
552724ba675SRob Herring					/* VDDAPHY_DISP: vdda_dsiport/hdmi */
553724ba675SRob Herring					regulator-name = "ldo4";
554724ba675SRob Herring					regulator-min-microvolt = <1800000>;
555724ba675SRob Herring					regulator-max-microvolt = <1800000>;
556724ba675SRob Herring				};
557724ba675SRob Herring
558724ba675SRob Herring				ldo5_reg: ldo5 {
559724ba675SRob Herring					/* VDDA_1V8_PHY: usb/sata/hdmi.. */
560724ba675SRob Herring					regulator-name = "ldo5";
561724ba675SRob Herring					regulator-min-microvolt = <1800000>;
562724ba675SRob Herring					regulator-max-microvolt = <1800000>;
563724ba675SRob Herring					regulator-always-on;
564724ba675SRob Herring					regulator-boot-on;
565724ba675SRob Herring				};
566724ba675SRob Herring
567724ba675SRob Herring				ldo6_reg: ldo6 {
568724ba675SRob Herring					/* VDDS_1V2_WKUP: hsic/ldo_emu_wkup */
569724ba675SRob Herring					regulator-name = "ldo6";
570724ba675SRob Herring					regulator-min-microvolt = <1200000>;
571724ba675SRob Herring					regulator-max-microvolt = <1200000>;
572724ba675SRob Herring					regulator-always-on;
573724ba675SRob Herring					regulator-boot-on;
574724ba675SRob Herring				};
575724ba675SRob Herring
576724ba675SRob Herring				ldo7_reg: ldo7 {
577724ba675SRob Herring					/* VDD_VPP: vpp1 */
578724ba675SRob Herring					regulator-name = "ldo7";
579724ba675SRob Herring					regulator-min-microvolt = <2000000>;
580724ba675SRob Herring					regulator-max-microvolt = <2000000>;
581724ba675SRob Herring					/* Only for efuse reprograming! */
582724ba675SRob Herring					status = "disabled";
583724ba675SRob Herring				};
584724ba675SRob Herring
585724ba675SRob Herring				ldo8_reg: ldo8 {
586724ba675SRob Herring					/* VDD_3v0: Does not go anywhere */
587724ba675SRob Herring					regulator-name = "ldo8";
588724ba675SRob Herring					regulator-min-microvolt = <3000000>;
589724ba675SRob Herring					regulator-max-microvolt = <3000000>;
590724ba675SRob Herring					regulator-boot-on;
591724ba675SRob Herring					/* Unused */
592724ba675SRob Herring					status = "disabled";
593724ba675SRob Herring				};
594724ba675SRob Herring
595724ba675SRob Herring				ldo9_reg: ldo9 {
596724ba675SRob Herring					/* VCC_DV_SDIO: vdds_sdcard */
597724ba675SRob Herring					regulator-name = "ldo9";
598724ba675SRob Herring					regulator-min-microvolt = <1800000>;
599724ba675SRob Herring					regulator-max-microvolt = <3000000>;
600724ba675SRob Herring					regulator-boot-on;
601724ba675SRob Herring				};
602724ba675SRob Herring
603724ba675SRob Herring				ldoln_reg: ldoln {
604724ba675SRob Herring					/* VDDA_1v8_REF: vdds_osc/mm_l4per.. */
605724ba675SRob Herring					regulator-name = "ldoln";
606724ba675SRob Herring					regulator-min-microvolt = <1800000>;
607724ba675SRob Herring					regulator-max-microvolt = <1800000>;
608724ba675SRob Herring					regulator-always-on;
609724ba675SRob Herring					regulator-boot-on;
610724ba675SRob Herring				};
611724ba675SRob Herring
612724ba675SRob Herring				ldousb_reg: ldousb {
613724ba675SRob Herring					/* VDDA_3V_USB: VDDA_USBHS33 */
614724ba675SRob Herring					regulator-name = "ldousb";
615724ba675SRob Herring					regulator-min-microvolt = <3250000>;
616724ba675SRob Herring					regulator-max-microvolt = <3250000>;
617724ba675SRob Herring					regulator-always-on;
618724ba675SRob Herring					regulator-boot-on;
619724ba675SRob Herring				};
620724ba675SRob Herring
621724ba675SRob Herring				regen3_reg: regen3 {
622724ba675SRob Herring					/* REGEN3 controls LDO9 supply to card */
623724ba675SRob Herring					regulator-name = "regen3";
624724ba675SRob Herring					regulator-always-on;
625724ba675SRob Herring					regulator-boot-on;
626724ba675SRob Herring				};
627724ba675SRob Herring			};
628724ba675SRob Herring		};
629724ba675SRob Herring
630724ba675SRob Herring		palmas_power_button: palmas_power_button {
631724ba675SRob Herring			compatible = "ti,palmas-pwrbutton";
632724ba675SRob Herring			interrupt-parent = <&palmas>;
633724ba675SRob Herring			interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
634724ba675SRob Herring			wakeup-source;
635724ba675SRob Herring		};
636724ba675SRob Herring	};
637724ba675SRob Herring
638724ba675SRob Herring	twl6040: twl@4b {
639724ba675SRob Herring		compatible = "ti,twl6040";
640724ba675SRob Herring		#clock-cells = <0>;
641724ba675SRob Herring		reg = <0x4b>;
642724ba675SRob Herring
643724ba675SRob Herring		pinctrl-names = "default";
644724ba675SRob Herring		pinctrl-0 = <&twl6040_pins>;
645724ba675SRob Herring
646724ba675SRob Herring		/* sys_nirq/ext_sys_irq pins get inverted at mpuss wakeupgen */
647724ba675SRob Herring		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_LOW>;
648724ba675SRob Herring
649724ba675SRob Herring		/* audpwron gpio defined in the board specific dts */
650724ba675SRob Herring
651724ba675SRob Herring		vio-supply = <&smps7_reg>;
652724ba675SRob Herring		v2v1-supply = <&smps9_reg>;
653724ba675SRob Herring		enable-active-high;
654724ba675SRob Herring
655724ba675SRob Herring		clocks = <&clk32kgaudio>, <&fref_xtal_ck>;
656724ba675SRob Herring		clock-names = "clk32k", "mclk";
657724ba675SRob Herring	};
658724ba675SRob Herring};
659724ba675SRob Herring
660724ba675SRob Herring&mcpdm_module {
661724ba675SRob Herring	/* Module on the SoC needs external clock from the PMIC */
662724ba675SRob Herring	pinctrl-names = "default";
663724ba675SRob Herring	pinctrl-0 = <&mcpdm_pins>;
664724ba675SRob Herring	status = "okay";
665724ba675SRob Herring};
666724ba675SRob Herring
667724ba675SRob Herring&mcpdm {
668724ba675SRob Herring	clocks = <&twl6040>;
669724ba675SRob Herring	clock-names = "pdmclk";
670724ba675SRob Herring};
671724ba675SRob Herring
672724ba675SRob Herring&mcbsp1 {
673724ba675SRob Herring	pinctrl-names = "default";
674724ba675SRob Herring	pinctrl-0 = <&mcbsp1_pins>;
675724ba675SRob Herring	status = "okay";
676724ba675SRob Herring};
677724ba675SRob Herring
678724ba675SRob Herring&mcbsp2 {
679724ba675SRob Herring	pinctrl-names = "default";
680724ba675SRob Herring	pinctrl-0 = <&mcbsp2_pins>;
681724ba675SRob Herring	status = "okay";
682724ba675SRob Herring};
683724ba675SRob Herring
684724ba675SRob Herring&usbhshost {
685724ba675SRob Herring	port2-mode = "ehci-hsic";
686724ba675SRob Herring	port3-mode = "ehci-hsic";
687724ba675SRob Herring};
688724ba675SRob Herring
689724ba675SRob Herring&usbhsehci {
690724ba675SRob Herring	phys = <0 &hsusb2_phy &hsusb3_phy>;
691724ba675SRob Herring};
692724ba675SRob Herring
693724ba675SRob Herring&usb3 {
694724ba675SRob Herring	extcon = <&extcon_usb3>;
695724ba675SRob Herring	vbus-supply = <&smps10_out1_reg>;
696724ba675SRob Herring};
697724ba675SRob Herring
698724ba675SRob Herring&dwc3 {
699724ba675SRob Herring	extcon = <&extcon_usb3>;
700724ba675SRob Herring	dr_mode = "otg";
701724ba675SRob Herring};
702724ba675SRob Herring
703724ba675SRob Herring&mcspi1 {
704724ba675SRob Herring
705724ba675SRob Herring};
706724ba675SRob Herring
707724ba675SRob Herring&mcspi2 {
708724ba675SRob Herring	pinctrl-names = "default";
709724ba675SRob Herring	pinctrl-0 = <&mcspi2_pins>;
710724ba675SRob Herring};
711724ba675SRob Herring
712724ba675SRob Herring&mcspi3 {
713724ba675SRob Herring	pinctrl-names = "default";
714724ba675SRob Herring	pinctrl-0 = <&mcspi3_pins>;
715724ba675SRob Herring};
716724ba675SRob Herring
717724ba675SRob Herring&uart1 {
718724ba675SRob Herring	pinctrl-names = "default";
719724ba675SRob Herring	pinctrl-0 = <&uart1_pins>;
720724ba675SRob Herring};
721724ba675SRob Herring
722724ba675SRob Herring&uart3 {
723724ba675SRob Herring	pinctrl-names = "default";
724724ba675SRob Herring	pinctrl-0 = <&uart3_pins>;
725724ba675SRob Herring	interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
726724ba675SRob Herring			      <&omap5_pmx_core 0x19c>;
727724ba675SRob Herring};
728724ba675SRob Herring
729724ba675SRob Herring&uart5 {
730724ba675SRob Herring	pinctrl-names = "default";
731724ba675SRob Herring	pinctrl-0 = <&uart5_pins>;
732724ba675SRob Herring};
733724ba675SRob Herring
734724ba675SRob Herring&cpu0 {
735724ba675SRob Herring	cpu0-supply = <&smps123_reg>;
736724ba675SRob Herring};
737724ba675SRob Herring
738724ba675SRob Herring&dss {
739724ba675SRob Herring	status = "okay";
740724ba675SRob Herring};
741724ba675SRob Herring
742724ba675SRob Herring&hdmi {
743724ba675SRob Herring	status = "okay";
744724ba675SRob Herring
745724ba675SRob Herring	/* vdda-supply populated in board specific dts file */
746724ba675SRob Herring
747724ba675SRob Herring	pinctrl-names = "default";
748724ba675SRob Herring	pinctrl-0 = <&dss_hdmi_pins>;
749724ba675SRob Herring
750724ba675SRob Herring	port {
751724ba675SRob Herring		hdmi_out: endpoint {
752724ba675SRob Herring			remote-endpoint = <&tpd12s015_in>;
753724ba675SRob Herring		};
754724ba675SRob Herring	};
755724ba675SRob Herring};
756