xref: /OK3568_Linux_fs/kernel/scripts/dtc/include-prefixes/arm/imx6q-cm-fx6.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * Copyright 2013 CompuLab Ltd.
3*4882a593Smuzhiyun *
4*4882a593Smuzhiyun * Author: Valentin Raevsky <valentin@compulab.co.il>
5*4882a593Smuzhiyun *
6*4882a593Smuzhiyun * This file is dual-licensed: you can use it either under the terms
7*4882a593Smuzhiyun * of the GPL or the X11 license, at your option. Note that this dual
8*4882a593Smuzhiyun * licensing only applies to this file, and not this project as a
9*4882a593Smuzhiyun * whole.
10*4882a593Smuzhiyun *
11*4882a593Smuzhiyun *  a) This file is free software; you can redistribute it and/or
12*4882a593Smuzhiyun *     modify it under the terms of the GNU General Public License
13*4882a593Smuzhiyun *     version 2 as published by the Free Software Foundation.
14*4882a593Smuzhiyun *
15*4882a593Smuzhiyun *     This file is distributed in the hope that it will be useful,
16*4882a593Smuzhiyun *     but WITHOUT ANY WARRANTY; without even the implied warranty of
17*4882a593Smuzhiyun *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*4882a593Smuzhiyun *     GNU General Public License for more details.
19*4882a593Smuzhiyun *
20*4882a593Smuzhiyun * Or, alternatively,
21*4882a593Smuzhiyun *
22*4882a593Smuzhiyun *  b) Permission is hereby granted, free of charge, to any person
23*4882a593Smuzhiyun *     obtaining a copy of this software and associated documentation
24*4882a593Smuzhiyun *     files (the "Software"), to deal in the Software without
25*4882a593Smuzhiyun *     restriction, including without limitation the rights to use,
26*4882a593Smuzhiyun *     copy, modify, merge, publish, distribute, sublicense, and/or
27*4882a593Smuzhiyun *     sell copies of the Software, and to permit persons to whom the
28*4882a593Smuzhiyun *     Software is furnished to do so, subject to the following
29*4882a593Smuzhiyun *     conditions:
30*4882a593Smuzhiyun *
31*4882a593Smuzhiyun *     The above copyright notice and this permission notice shall be
32*4882a593Smuzhiyun *     included in all copies or substantial portions of the Software.
33*4882a593Smuzhiyun *
34*4882a593Smuzhiyun *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35*4882a593Smuzhiyun *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36*4882a593Smuzhiyun *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37*4882a593Smuzhiyun *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38*4882a593Smuzhiyun *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39*4882a593Smuzhiyun *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40*4882a593Smuzhiyun *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41*4882a593Smuzhiyun *     OTHER DEALINGS IN THE SOFTWARE.
42*4882a593Smuzhiyun */
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun/dts-v1/;
45*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
46*4882a593Smuzhiyun#include <dt-bindings/sound/fsl-imx-audmux.h>
47*4882a593Smuzhiyun#include "imx6q.dtsi"
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun/ {
50*4882a593Smuzhiyun	model = "CompuLab CM-FX6";
51*4882a593Smuzhiyun	compatible = "compulab,cm-fx6", "fsl,imx6q";
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun	memory@10000000 {
54*4882a593Smuzhiyun		device_type = "memory";
55*4882a593Smuzhiyun		reg = <0x10000000 0x80000000>;
56*4882a593Smuzhiyun	};
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun	leds {
59*4882a593Smuzhiyun		compatible = "gpio-leds";
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun		heartbeat-led {
62*4882a593Smuzhiyun			label = "Heartbeat";
63*4882a593Smuzhiyun			gpios = <&gpio2 31 0>;
64*4882a593Smuzhiyun			linux,default-trigger = "heartbeat";
65*4882a593Smuzhiyun		};
66*4882a593Smuzhiyun	};
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun	awnh387_pwrseq: pwrseq {
69*4882a593Smuzhiyun		pinctrl-names = "default";
70*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_pwrseq>;
71*4882a593Smuzhiyun		compatible = "mmc-pwrseq-sd8787";
72*4882a593Smuzhiyun		powerdown-gpios = <&gpio7 12 GPIO_ACTIVE_HIGH>;
73*4882a593Smuzhiyun		reset-gpios = <&gpio6 16 GPIO_ACTIVE_HIGH>;
74*4882a593Smuzhiyun	};
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun	reg_pcie_power_on_gpio: regulator-pcie-power-on-gpio {
77*4882a593Smuzhiyun		compatible = "regulator-fixed";
78*4882a593Smuzhiyun		regulator-name = "regulator-pcie-power-on-gpio";
79*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
80*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
81*4882a593Smuzhiyun		gpio = <&gpio2 24 GPIO_ACTIVE_LOW>;
82*4882a593Smuzhiyun	};
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun	reg_usb_h1_vbus: usb_h1_vbus {
85*4882a593Smuzhiyun		compatible = "regulator-fixed";
86*4882a593Smuzhiyun		regulator-name = "usb_h1_vbus";
87*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
88*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
89*4882a593Smuzhiyun		gpio = <&gpio7 8 GPIO_ACTIVE_HIGH>;
90*4882a593Smuzhiyun		enable-active-high;
91*4882a593Smuzhiyun	};
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun	reg_usb_otg_vbus: usb_otg_vbus {
94*4882a593Smuzhiyun		compatible = "regulator-fixed";
95*4882a593Smuzhiyun		regulator-name = "usb_otg_vbus";
96*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
97*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
98*4882a593Smuzhiyun		gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
99*4882a593Smuzhiyun		enable-active-high;
100*4882a593Smuzhiyun	};
101*4882a593Smuzhiyun
102*4882a593Smuzhiyun	sound-analog {
103*4882a593Smuzhiyun		compatible = "simple-audio-card";
104*4882a593Smuzhiyun		simple-audio-card,name = "On-board analog audio";
105*4882a593Smuzhiyun		simple-audio-card,widgets =
106*4882a593Smuzhiyun			"Headphone", "Headphone Jack",
107*4882a593Smuzhiyun			"Line", "Line Out",
108*4882a593Smuzhiyun			"Microphone", "Mic Jack",
109*4882a593Smuzhiyun			"Line", "Line In";
110*4882a593Smuzhiyun		simple-audio-card,routing =
111*4882a593Smuzhiyun			"Headphone Jack", "RHPOUT",
112*4882a593Smuzhiyun			"Headphone Jack", "LHPOUT",
113*4882a593Smuzhiyun			"MICIN", "Mic Bias",
114*4882a593Smuzhiyun			"Mic Bias", "Mic Jack";
115*4882a593Smuzhiyun		simple-audio-card,format = "i2s";
116*4882a593Smuzhiyun		simple-audio-card,bitclock-master = <&sound_master>;
117*4882a593Smuzhiyun		simple-audio-card,frame-master = <&sound_master>;
118*4882a593Smuzhiyun		simple-audio-card,bitclock-inversion;
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun		sound_master: simple-audio-card,cpu {
121*4882a593Smuzhiyun			sound-dai = <&ssi2>;
122*4882a593Smuzhiyun			system-clock-frequency = <2822400>;
123*4882a593Smuzhiyun		};
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun		simple-audio-card,codec {
126*4882a593Smuzhiyun			sound-dai = <&wm8731>;
127*4882a593Smuzhiyun		};
128*4882a593Smuzhiyun	};
129*4882a593Smuzhiyun
130*4882a593Smuzhiyun	sound-spdif {
131*4882a593Smuzhiyun		compatible = "fsl,imx-audio-spdif";
132*4882a593Smuzhiyun		model = "imx-spdif";
133*4882a593Smuzhiyun		spdif-controller = <&spdif>;
134*4882a593Smuzhiyun		spdif-out;
135*4882a593Smuzhiyun		spdif-in;
136*4882a593Smuzhiyun	};
137*4882a593Smuzhiyun};
138*4882a593Smuzhiyun
139*4882a593Smuzhiyun&audmux {
140*4882a593Smuzhiyun	pinctrl-names = "default";
141*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_audmux>;
142*4882a593Smuzhiyun	status = "okay";
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun	ssi2 {
145*4882a593Smuzhiyun		fsl,audmux-port = <1>;
146*4882a593Smuzhiyun		fsl,port-config = <
147*4882a593Smuzhiyun			(IMX_AUDMUX_V2_PTCR_RCLKDIR |
148*4882a593Smuzhiyun			IMX_AUDMUX_V2_PTCR_RCSEL(3 | 0x8) |
149*4882a593Smuzhiyun			IMX_AUDMUX_V2_PTCR_TCLKDIR |
150*4882a593Smuzhiyun			IMX_AUDMUX_V2_PTCR_TCSEL(3))
151*4882a593Smuzhiyun			IMX_AUDMUX_V2_PDCR_RXDSEL(3)
152*4882a593Smuzhiyun		>;
153*4882a593Smuzhiyun	};
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun	audmux4 {
156*4882a593Smuzhiyun		fsl,audmux-port = <3>;
157*4882a593Smuzhiyun		fsl,port-config = <
158*4882a593Smuzhiyun			(IMX_AUDMUX_V2_PTCR_TFSDIR |
159*4882a593Smuzhiyun			IMX_AUDMUX_V2_PTCR_TFSEL(1) |
160*4882a593Smuzhiyun			IMX_AUDMUX_V2_PTCR_RCLKDIR |
161*4882a593Smuzhiyun			IMX_AUDMUX_V2_PTCR_RCSEL(1 | 0x8) |
162*4882a593Smuzhiyun			IMX_AUDMUX_V2_PTCR_TCLKDIR |
163*4882a593Smuzhiyun			IMX_AUDMUX_V2_PTCR_TCSEL(1))
164*4882a593Smuzhiyun			IMX_AUDMUX_V2_PDCR_RXDSEL(1)
165*4882a593Smuzhiyun		>;
166*4882a593Smuzhiyun	};
167*4882a593Smuzhiyun};
168*4882a593Smuzhiyun
169*4882a593Smuzhiyun&cpu0 {
170*4882a593Smuzhiyun	/*
171*4882a593Smuzhiyun	 * Although the imx6q fuse indicates that 1.2GHz operation is possible,
172*4882a593Smuzhiyun	 * the module behaves unstable at this frequency. Hence, remove the
173*4882a593Smuzhiyun	 * 1.2GHz operation point here.
174*4882a593Smuzhiyun	 */
175*4882a593Smuzhiyun	operating-points = <
176*4882a593Smuzhiyun		/* kHz	uV */
177*4882a593Smuzhiyun		996000	1250000
178*4882a593Smuzhiyun		852000	1250000
179*4882a593Smuzhiyun		792000	1175000
180*4882a593Smuzhiyun		396000	975000
181*4882a593Smuzhiyun	>;
182*4882a593Smuzhiyun	fsl,soc-operating-points = <
183*4882a593Smuzhiyun		/* ARM kHz	SOC-PU uV */
184*4882a593Smuzhiyun		996000		1250000
185*4882a593Smuzhiyun		852000		1250000
186*4882a593Smuzhiyun		792000		1175000
187*4882a593Smuzhiyun		396000		1175000
188*4882a593Smuzhiyun	>;
189*4882a593Smuzhiyun};
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun&cpu1 {
192*4882a593Smuzhiyun	/*
193*4882a593Smuzhiyun	 * Although the imx6q fuse indicates that 1.2GHz operation is possible,
194*4882a593Smuzhiyun	 * the module behaves unstable at this frequency. Hence, remove the
195*4882a593Smuzhiyun	 * 1.2GHz operation point here.
196*4882a593Smuzhiyun	 */
197*4882a593Smuzhiyun	operating-points = <
198*4882a593Smuzhiyun		/* kHz	uV */
199*4882a593Smuzhiyun		996000	1250000
200*4882a593Smuzhiyun		852000	1250000
201*4882a593Smuzhiyun		792000	1175000
202*4882a593Smuzhiyun		396000	975000
203*4882a593Smuzhiyun	>;
204*4882a593Smuzhiyun	fsl,soc-operating-points = <
205*4882a593Smuzhiyun		/* ARM kHz	SOC-PU uV */
206*4882a593Smuzhiyun		996000		1250000
207*4882a593Smuzhiyun		852000		1250000
208*4882a593Smuzhiyun		792000		1175000
209*4882a593Smuzhiyun		396000		1175000
210*4882a593Smuzhiyun	>;
211*4882a593Smuzhiyun};
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun&cpu2 {
214*4882a593Smuzhiyun	/*
215*4882a593Smuzhiyun	 * Although the imx6q fuse indicates that 1.2GHz operation is possible,
216*4882a593Smuzhiyun	 * the module behaves unstable at this frequency. Hence, remove the
217*4882a593Smuzhiyun	 * 1.2GHz operation point here.
218*4882a593Smuzhiyun	 */
219*4882a593Smuzhiyun	operating-points = <
220*4882a593Smuzhiyun		/* kHz	uV */
221*4882a593Smuzhiyun		996000	1250000
222*4882a593Smuzhiyun		852000	1250000
223*4882a593Smuzhiyun		792000	1175000
224*4882a593Smuzhiyun		396000	975000
225*4882a593Smuzhiyun	>;
226*4882a593Smuzhiyun	fsl,soc-operating-points = <
227*4882a593Smuzhiyun		/* ARM kHz	SOC-PU uV */
228*4882a593Smuzhiyun		996000		1250000
229*4882a593Smuzhiyun		852000		1250000
230*4882a593Smuzhiyun		792000		1175000
231*4882a593Smuzhiyun		396000		1175000
232*4882a593Smuzhiyun	>;
233*4882a593Smuzhiyun};
234*4882a593Smuzhiyun
235*4882a593Smuzhiyun&cpu3 {
236*4882a593Smuzhiyun	/*
237*4882a593Smuzhiyun	 * Although the imx6q fuse indicates that 1.2GHz operation is possible,
238*4882a593Smuzhiyun	 * the module behaves unstable at this frequency. Hence, remove the
239*4882a593Smuzhiyun	 * 1.2GHz operation point here.
240*4882a593Smuzhiyun	 */
241*4882a593Smuzhiyun	operating-points = <
242*4882a593Smuzhiyun		/* kHz	uV */
243*4882a593Smuzhiyun		996000	1250000
244*4882a593Smuzhiyun		852000	1250000
245*4882a593Smuzhiyun		792000	1175000
246*4882a593Smuzhiyun		396000	975000
247*4882a593Smuzhiyun	>;
248*4882a593Smuzhiyun	fsl,soc-operating-points = <
249*4882a593Smuzhiyun		/* ARM kHz	SOC-PU uV */
250*4882a593Smuzhiyun		996000		1250000
251*4882a593Smuzhiyun		852000		1250000
252*4882a593Smuzhiyun		792000		1175000
253*4882a593Smuzhiyun		396000		1175000
254*4882a593Smuzhiyun	>;
255*4882a593Smuzhiyun};
256*4882a593Smuzhiyun
257*4882a593Smuzhiyun&ecspi1 {
258*4882a593Smuzhiyun	cs-gpios = <&gpio2 30 GPIO_ACTIVE_LOW>, <&gpio3 19 GPIO_ACTIVE_LOW>;
259*4882a593Smuzhiyun	pinctrl-names = "default";
260*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_ecspi1>;
261*4882a593Smuzhiyun	status = "okay";
262*4882a593Smuzhiyun
263*4882a593Smuzhiyun	flash@0 {
264*4882a593Smuzhiyun		#address-cells = <1>;
265*4882a593Smuzhiyun		#size-cells = <1>;
266*4882a593Smuzhiyun		compatible = "st,m25p", "jedec,spi-nor";
267*4882a593Smuzhiyun		spi-max-frequency = <20000000>;
268*4882a593Smuzhiyun		reg = <0>;
269*4882a593Smuzhiyun	};
270*4882a593Smuzhiyun};
271*4882a593Smuzhiyun
272*4882a593Smuzhiyun&fec {
273*4882a593Smuzhiyun	pinctrl-names = "default";
274*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_enet>;
275*4882a593Smuzhiyun	phy-mode = "rgmii";
276*4882a593Smuzhiyun	status = "okay";
277*4882a593Smuzhiyun};
278*4882a593Smuzhiyun
279*4882a593Smuzhiyun&gpmi {
280*4882a593Smuzhiyun	pinctrl-names = "default";
281*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_gpmi_nand>;
282*4882a593Smuzhiyun	status = "okay";
283*4882a593Smuzhiyun};
284*4882a593Smuzhiyun
285*4882a593Smuzhiyun&i2c3 {
286*4882a593Smuzhiyun	pinctrl-names = "default";
287*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_i2c3>;
288*4882a593Smuzhiyun	status = "okay";
289*4882a593Smuzhiyun	clock-frequency = <100000>;
290*4882a593Smuzhiyun
291*4882a593Smuzhiyun	eeprom@50 {
292*4882a593Smuzhiyun		compatible = "atmel,24c02";
293*4882a593Smuzhiyun		reg = <0x50>;
294*4882a593Smuzhiyun		pagesize = <16>;
295*4882a593Smuzhiyun	};
296*4882a593Smuzhiyun
297*4882a593Smuzhiyun	wm8731: codec@1a {
298*4882a593Smuzhiyun		#sound-dai-cells = <0>;
299*4882a593Smuzhiyun		compatible = "wlf,wm8731";
300*4882a593Smuzhiyun		reg = <0x1a>;
301*4882a593Smuzhiyun	};
302*4882a593Smuzhiyun};
303*4882a593Smuzhiyun
304*4882a593Smuzhiyun&iomuxc {
305*4882a593Smuzhiyun	pinctrl_audmux: audmuxgrp {
306*4882a593Smuzhiyun		fsl,pins = <
307*4882a593Smuzhiyun			MX6QDL_PAD_SD2_CMD__AUD4_RXC   0x17059
308*4882a593Smuzhiyun			MX6QDL_PAD_SD2_DAT0__AUD4_RXD  0x17059
309*4882a593Smuzhiyun			MX6QDL_PAD_SD2_DAT3__AUD4_TXC  0x17059
310*4882a593Smuzhiyun			MX6QDL_PAD_SD2_DAT2__AUD4_TXD  0x17059
311*4882a593Smuzhiyun			MX6QDL_PAD_SD2_DAT1__AUD4_TXFS 0x17059
312*4882a593Smuzhiyun		>;
313*4882a593Smuzhiyun	};
314*4882a593Smuzhiyun
315*4882a593Smuzhiyun	pinctrl_ecspi1: ecspi1grp {
316*4882a593Smuzhiyun		fsl,pins = <
317*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D16__ECSPI1_SCLK	0x100b1
318*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D17__ECSPI1_MISO	0x100b1
319*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D18__ECSPI1_MOSI	0x100b1
320*4882a593Smuzhiyun			MX6QDL_PAD_EIM_EB2__GPIO2_IO30	0x100b1
321*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D19__GPIO3_IO19	0x100b1
322*4882a593Smuzhiyun		>;
323*4882a593Smuzhiyun	};
324*4882a593Smuzhiyun
325*4882a593Smuzhiyun	pinctrl_enet: enetgrp {
326*4882a593Smuzhiyun		fsl,pins = <
327*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
328*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030
329*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030
330*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
331*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
332*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030
333*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b030
334*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b030
335*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b030
336*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b030
337*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b030
338*4882a593Smuzhiyun			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b030
339*4882a593Smuzhiyun			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
340*4882a593Smuzhiyun			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
341*4882a593Smuzhiyun			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
342*4882a593Smuzhiyun		>;
343*4882a593Smuzhiyun	};
344*4882a593Smuzhiyun
345*4882a593Smuzhiyun	pinctrl_gpmi_nand: gpminandgrp {
346*4882a593Smuzhiyun		fsl,pins = <
347*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_CLE__NAND_CLE		0xb0b1
348*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_ALE__NAND_ALE		0xb0b1
349*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_WP_B__NAND_WP_B	0xb0b1
350*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_RB0__NAND_READY_B	0xb000
351*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_CS0__NAND_CE0_B	0xb0b1
352*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_CS1__NAND_CE1_B	0xb0b1
353*4882a593Smuzhiyun			MX6QDL_PAD_SD4_CMD__NAND_RE_B		0xb0b1
354*4882a593Smuzhiyun			MX6QDL_PAD_SD4_CLK__NAND_WE_B		0xb0b1
355*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D0__NAND_DATA00	0xb0b1
356*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D1__NAND_DATA01	0xb0b1
357*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D2__NAND_DATA02	0xb0b1
358*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D3__NAND_DATA03	0xb0b1
359*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D4__NAND_DATA04	0xb0b1
360*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D5__NAND_DATA05	0xb0b1
361*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D6__NAND_DATA06	0xb0b1
362*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_D7__NAND_DATA07	0xb0b1
363*4882a593Smuzhiyun			MX6QDL_PAD_SD4_DAT0__NAND_DQS		0x00b1
364*4882a593Smuzhiyun		>;
365*4882a593Smuzhiyun	};
366*4882a593Smuzhiyun
367*4882a593Smuzhiyun	pinctrl_i2c3: i2c3grp {
368*4882a593Smuzhiyun		fsl,pins = <
369*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_3__I2C3_SCL	0x4001b8b1
370*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_6__I2C3_SDA	0x4001b8b1
371*4882a593Smuzhiyun		>;
372*4882a593Smuzhiyun	};
373*4882a593Smuzhiyun
374*4882a593Smuzhiyun	pinctrl_pcie: pciegrp {
375*4882a593Smuzhiyun		fsl,pins = <
376*4882a593Smuzhiyun			MX6QDL_PAD_ENET_RXD1__GPIO1_IO26	0x1b0b1
377*4882a593Smuzhiyun			MX6QDL_PAD_EIM_CS1__GPIO2_IO24	0x1b0b1
378*4882a593Smuzhiyun		>;
379*4882a593Smuzhiyun	};
380*4882a593Smuzhiyun
381*4882a593Smuzhiyun	pinctrl_pwrseq: pwrseqgrp {
382*4882a593Smuzhiyun		fsl,pins = <
383*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_17__GPIO7_IO12		0x1b0b0
384*4882a593Smuzhiyun			MX6QDL_PAD_NANDF_CS3__GPIO6_IO16	0x1b0b0
385*4882a593Smuzhiyun		>;
386*4882a593Smuzhiyun	};
387*4882a593Smuzhiyun
388*4882a593Smuzhiyun	pinctrl_spdif: spdifgrp {
389*4882a593Smuzhiyun		fsl,pins = <
390*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_16__SPDIF_IN  0x1b0b0
391*4882a593Smuzhiyun			MX6QDL_PAD_GPIO_19__SPDIF_OUT 0x1b0b0
392*4882a593Smuzhiyun		>;
393*4882a593Smuzhiyun	};
394*4882a593Smuzhiyun
395*4882a593Smuzhiyun	pinctrl_uart4: uart4grp {
396*4882a593Smuzhiyun		fsl,pins = <
397*4882a593Smuzhiyun			MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1
398*4882a593Smuzhiyun			MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
399*4882a593Smuzhiyun		>;
400*4882a593Smuzhiyun	};
401*4882a593Smuzhiyun
402*4882a593Smuzhiyun	pinctrl_usbh1: usbh1grp {
403*4882a593Smuzhiyun		fsl,pins = <
404*4882a593Smuzhiyun			MX6QDL_PAD_SD3_RST__GPIO7_IO08	0x1b0b1
405*4882a593Smuzhiyun		>;
406*4882a593Smuzhiyun	};
407*4882a593Smuzhiyun
408*4882a593Smuzhiyun	pinctrl_usbotg: usbotggrp {
409*4882a593Smuzhiyun		fsl,pins = <
410*4882a593Smuzhiyun			MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID	0x17059
411*4882a593Smuzhiyun			MX6QDL_PAD_EIM_D22__GPIO3_IO22	0x130b0
412*4882a593Smuzhiyun		>;
413*4882a593Smuzhiyun	};
414*4882a593Smuzhiyun
415*4882a593Smuzhiyun	pinctrl_usdhc1: usdhc1grp {
416*4882a593Smuzhiyun		fsl,pins = <
417*4882a593Smuzhiyun			MX6QDL_PAD_SD1_CMD__SD1_CMD	0x17071
418*4882a593Smuzhiyun			MX6QDL_PAD_SD1_CLK__SD1_CLK	0x10071
419*4882a593Smuzhiyun			MX6QDL_PAD_SD1_DAT0__SD1_DATA0	0x17071
420*4882a593Smuzhiyun			MX6QDL_PAD_SD1_DAT1__SD1_DATA1	0x17071
421*4882a593Smuzhiyun			MX6QDL_PAD_SD1_DAT2__SD1_DATA2	0x17071
422*4882a593Smuzhiyun			MX6QDL_PAD_SD1_DAT3__SD1_DATA3	0x17071
423*4882a593Smuzhiyun		>;
424*4882a593Smuzhiyun	};
425*4882a593Smuzhiyun};
426*4882a593Smuzhiyun
427*4882a593Smuzhiyun&pcie {
428*4882a593Smuzhiyun	pinctrl-names = "default";
429*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_pcie>;
430*4882a593Smuzhiyun	reset-gpio = <&gpio1 26 GPIO_ACTIVE_LOW>;
431*4882a593Smuzhiyun	vpcie-supply = <&reg_pcie_power_on_gpio>;
432*4882a593Smuzhiyun	status = "okay";
433*4882a593Smuzhiyun};
434*4882a593Smuzhiyun
435*4882a593Smuzhiyun&sata {
436*4882a593Smuzhiyun	status = "okay";
437*4882a593Smuzhiyun};
438*4882a593Smuzhiyun
439*4882a593Smuzhiyun&snvs_poweroff {
440*4882a593Smuzhiyun	status = "okay";
441*4882a593Smuzhiyun};
442*4882a593Smuzhiyun
443*4882a593Smuzhiyun&spdif {
444*4882a593Smuzhiyun	pinctrl-names = "default";
445*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_spdif>;
446*4882a593Smuzhiyun	status = "okay";
447*4882a593Smuzhiyun};
448*4882a593Smuzhiyun
449*4882a593Smuzhiyun&ssi2 {
450*4882a593Smuzhiyun	assigned-clocks = <&clks IMX6QDL_CLK_SSI2_SEL>,
451*4882a593Smuzhiyun			<&clks IMX6QDL_CLK_PLL4_AUDIO_DIV>;
452*4882a593Smuzhiyun	assigned-clock-parents = <&clks IMX6QDL_CLK_PLL4_AUDIO_DIV>;
453*4882a593Smuzhiyun	assigned-clock-rates = <0>, <786432000>;
454*4882a593Smuzhiyun	status = "okay";
455*4882a593Smuzhiyun};
456*4882a593Smuzhiyun
457*4882a593Smuzhiyun&uart4 {
458*4882a593Smuzhiyun	pinctrl-names = "default";
459*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_uart4>;
460*4882a593Smuzhiyun	status = "okay";
461*4882a593Smuzhiyun};
462*4882a593Smuzhiyun
463*4882a593Smuzhiyun&usbh1 {
464*4882a593Smuzhiyun	vbus-supply = <&reg_usb_h1_vbus>;
465*4882a593Smuzhiyun	pinctrl-names = "default";
466*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usbh1>;
467*4882a593Smuzhiyun	status = "okay";
468*4882a593Smuzhiyun};
469*4882a593Smuzhiyun
470*4882a593Smuzhiyun&usbotg {
471*4882a593Smuzhiyun	vbus-supply = <&reg_usb_otg_vbus>;
472*4882a593Smuzhiyun	pinctrl-names = "default";
473*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usbotg>;
474*4882a593Smuzhiyun	dr_mode = "otg";
475*4882a593Smuzhiyun	status = "okay";
476*4882a593Smuzhiyun};
477*4882a593Smuzhiyun
478*4882a593Smuzhiyun&usdhc1 {
479*4882a593Smuzhiyun	pinctrl-names = "default";
480*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usdhc1>;
481*4882a593Smuzhiyun	mmc-pwrseq = <&awnh387_pwrseq>;
482*4882a593Smuzhiyun	non-removable;
483*4882a593Smuzhiyun	/*
484*4882a593Smuzhiyun	 * If the OS probes the Bluetooth AMP function advertised on this bus
485*4882a593Smuzhiyun	 * but the firmware in place does not support it, the WiFi/BT module
486*4882a593Smuzhiyun	 * gets unresponsive.
487*4882a593Smuzhiyun	 * Users who configured their OS properly can enable this node to gain
488*4882a593Smuzhiyun	 * WiFi and/or plain Bluetooth support.
489*4882a593Smuzhiyun	 */
490*4882a593Smuzhiyun	status = "disabled";
491*4882a593Smuzhiyun};
492