imx6q-gw5400-a.dts revision aef15dbaf43db2b8803f28b5d47ccaedbf32c962
1/*
2 * Copyright 2013 Gateworks Corporation
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
12/dts-v1/;
13#include "imx6q.dtsi"
14
15/ {
16	model = "Gateworks Ventana GW5400-A";
17	compatible = "gw,imx6q-gw5400-a", "gw,ventana", "fsl,imx6q";
18
19	/* these are used by bootloader for disabling nodes */
20	aliases {
21		ethernet0 = &fec;
22		ethernet1 = &eth1;
23		i2c0 = &i2c1;
24		i2c1 = &i2c2;
25		i2c2 = &i2c3;
26		led0 = &led0;
27		led1 = &led1;
28		led2 = &led2;
29		sky2 = &eth1;
30		ssi0 = &ssi1;
31		spi0 = &ecspi1;
32		usb0 = &usbh1;
33		usb1 = &usbotg;
34		usdhc2 = &usdhc3;
35	};
36
37	chosen {
38		bootargs = "console=ttymxc1,115200";
39	};
40
41	leds {
42		compatible = "gpio-leds";
43
44		led0: user1 {
45			label = "user1";
46			gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
47			default-state = "on";
48			linux,default-trigger = "heartbeat";
49		};
50
51		led1: user2 {
52			label = "user2";
53			gpios = <&gpio4 10 0>; /* 106 -> MX6_PANLEDR */
54			default-state = "off";
55		};
56
57		led2: user3 {
58			label = "user3";
59			gpios = <&gpio4 15 1>; /* 111 -> MX6_LOCLED# */
60			default-state = "off";
61		};
62	};
63
64	memory {
65		reg = <0x10000000 0x40000000>;
66	};
67
68	pps {
69		compatible = "pps-gpio";
70		gpios = <&gpio1 5 0>;
71		status = "okay";
72	};
73
74	regulators {
75		compatible = "simple-bus";
76		#address-cells = <1>;
77		#size-cells = <0>;
78
79		reg_1p0v: regulator@0 {
80			compatible = "regulator-fixed";
81			reg = <0>;
82			regulator-name = "1P0V";
83			regulator-min-microvolt = <1000000>;
84			regulator-max-microvolt = <1000000>;
85			regulator-always-on;
86		};
87
88		reg_3p3v: regulator@1 {
89			compatible = "regulator-fixed";
90			reg = <1>;
91			regulator-name = "3P3V";
92			regulator-min-microvolt = <3300000>;
93			regulator-max-microvolt = <3300000>;
94			regulator-always-on;
95		};
96
97		reg_usb_h1_vbus: regulator@2 {
98			compatible = "regulator-fixed";
99			reg = <2>;
100			regulator-name = "usb_h1_vbus";
101			regulator-min-microvolt = <5000000>;
102			regulator-max-microvolt = <5000000>;
103			regulator-always-on;
104		};
105
106		reg_usb_otg_vbus: regulator@3 {
107			compatible = "regulator-fixed";
108			reg = <3>;
109			regulator-name = "usb_otg_vbus";
110			regulator-min-microvolt = <5000000>;
111			regulator-max-microvolt = <5000000>;
112			gpio = <&gpio3 22 0>;
113			enable-active-high;
114		};
115	};
116
117	sound {
118		compatible = "fsl,imx6q-sabrelite-sgtl5000",
119			     "fsl,imx-audio-sgtl5000";
120		model = "imx6q-sabrelite-sgtl5000";
121		ssi-controller = <&ssi1>;
122		audio-codec = <&codec>;
123		audio-routing =
124			"MIC_IN", "Mic Jack",
125			"Mic Jack", "Mic Bias",
126			"Headphone Jack", "HP_OUT";
127		mux-int-port = <1>;
128		mux-ext-port = <4>;
129	};
130};
131
132&audmux {
133	pinctrl-names = "default";
134	pinctrl-0 = <&pinctrl_audmux>;
135	status = "okay";
136};
137
138&ecspi1 {
139	fsl,spi-num-chipselects = <1>;
140	cs-gpios = <&gpio3 19 0>;
141	pinctrl-names = "default";
142	pinctrl-0 = <&pinctrl_ecspi1>;
143	status = "okay";
144
145	flash: m25p80@0 {
146		compatible = "sst,w25q256";
147		spi-max-frequency = <30000000>;
148		reg = <0>;
149	};
150};
151
152&fec {
153	pinctrl-names = "default";
154	pinctrl-0 = <&pinctrl_enet>;
155	phy-mode = "rgmii";
156	phy-reset-gpios = <&gpio1 30 0>;
157	status = "okay";
158};
159
160&hdmi {
161	ddc-i2c-bus = <&i2c3>;
162	status = "okay";
163};
164
165&i2c1 {
166	clock-frequency = <100000>;
167	pinctrl-names = "default";
168	pinctrl-0 = <&pinctrl_i2c1>;
169	status = "okay";
170
171	eeprom1: eeprom@50 {
172		compatible = "atmel,24c02";
173		reg = <0x50>;
174		pagesize = <16>;
175	};
176
177	eeprom2: eeprom@51 {
178		compatible = "atmel,24c02";
179		reg = <0x51>;
180		pagesize = <16>;
181	};
182
183	eeprom3: eeprom@52 {
184		compatible = "atmel,24c02";
185		reg = <0x52>;
186		pagesize = <16>;
187	};
188
189	eeprom4: eeprom@53 {
190		compatible = "atmel,24c02";
191		reg = <0x53>;
192		pagesize = <16>;
193	};
194
195	gpio: pca9555@23 {
196		compatible = "nxp,pca9555";
197		reg = <0x23>;
198		gpio-controller;
199		#gpio-cells = <2>;
200	};
201
202	hwmon: gsc@29 {
203		compatible = "gw,gsp";
204		reg = <0x29>;
205	};
206
207	rtc: ds1672@68 {
208		compatible = "dallas,ds1672";
209		reg = <0x68>;
210	};
211};
212
213&i2c2 {
214	clock-frequency = <100000>;
215	pinctrl-names = "default";
216	pinctrl-0 = <&pinctrl_i2c2>;
217	status = "okay";
218
219	pmic: pfuze100@08 {
220		compatible = "fsl,pfuze100";
221		reg = <0x08>;
222
223		regulators {
224			sw1a_reg: sw1ab {
225				regulator-min-microvolt = <300000>;
226				regulator-max-microvolt = <1875000>;
227				regulator-boot-on;
228				regulator-always-on;
229				regulator-ramp-delay = <6250>;
230			};
231
232			sw1c_reg: sw1c {
233				regulator-min-microvolt = <300000>;
234				regulator-max-microvolt = <1875000>;
235				regulator-boot-on;
236				regulator-always-on;
237				regulator-ramp-delay = <6250>;
238			};
239
240			sw2_reg: sw2 {
241				regulator-min-microvolt = <800000>;
242				regulator-max-microvolt = <3950000>;
243				regulator-boot-on;
244				regulator-always-on;
245			};
246
247			sw3a_reg: sw3a {
248				regulator-min-microvolt = <400000>;
249				regulator-max-microvolt = <1975000>;
250				regulator-boot-on;
251				regulator-always-on;
252			};
253
254			sw3b_reg: sw3b {
255				regulator-min-microvolt = <400000>;
256				regulator-max-microvolt = <1975000>;
257				regulator-boot-on;
258				regulator-always-on;
259			};
260
261			sw4_reg: sw4 {
262				regulator-min-microvolt = <800000>;
263				regulator-max-microvolt = <3300000>;
264			};
265
266			swbst_reg: swbst {
267				regulator-min-microvolt = <5000000>;
268				regulator-max-microvolt = <5150000>;
269			};
270
271			snvs_reg: vsnvs {
272				regulator-min-microvolt = <1000000>;
273				regulator-max-microvolt = <3000000>;
274				regulator-boot-on;
275				regulator-always-on;
276			};
277
278			vref_reg: vrefddr {
279				regulator-boot-on;
280				regulator-always-on;
281			};
282
283			vgen1_reg: vgen1 {
284				regulator-min-microvolt = <800000>;
285				regulator-max-microvolt = <1550000>;
286			};
287
288			vgen2_reg: vgen2 {
289				regulator-min-microvolt = <800000>;
290				regulator-max-microvolt = <1550000>;
291			};
292
293			vgen3_reg: vgen3 {
294				regulator-min-microvolt = <1800000>;
295				regulator-max-microvolt = <3300000>;
296			};
297
298			vgen4_reg: vgen4 {
299				regulator-min-microvolt = <1800000>;
300				regulator-max-microvolt = <3300000>;
301				regulator-always-on;
302			};
303
304			vgen5_reg: vgen5 {
305				regulator-min-microvolt = <1800000>;
306				regulator-max-microvolt = <3300000>;
307				regulator-always-on;
308			};
309
310			vgen6_reg: vgen6 {
311				regulator-min-microvolt = <1800000>;
312				regulator-max-microvolt = <3300000>;
313				regulator-always-on;
314			};
315		};
316	};
317
318	pciswitch: pex8609@3f {
319		compatible = "plx,pex8609";
320		reg = <0x3f>;
321	};
322
323	pciclkgen: si52147@6b {
324		compatible = "sil,si52147";
325		reg = <0x6b>;
326	};
327};
328
329&i2c3 {
330	clock-frequency = <100000>;
331	pinctrl-names = "default";
332	pinctrl-0 = <&pinctrl_i2c3>;
333	status = "okay";
334
335	accelerometer: mma8450@1c {
336		compatible = "fsl,mma8450";
337		reg = <0x1c>;
338	};
339
340	codec: sgtl5000@0a {
341		compatible = "fsl,sgtl5000";
342		reg = <0x0a>;
343		clocks = <&clks 201>;
344		VDDA-supply = <&sw4_reg>;
345		VDDIO-supply = <&reg_3p3v>;
346	};
347
348	hdmiin: adv7611@4c {
349		compatible = "adi,adv7611";
350		reg = <0x4c>;
351	};
352
353	touchscreen: egalax_ts@04 {
354		compatible = "eeti,egalax_ts";
355		reg = <0x04>;
356		interrupt-parent = <&gpio7>;
357		interrupts = <12 2>; /* gpio7_12 active low */
358		wakeup-gpios = <&gpio7 12 0>;
359	};
360
361	videoout: adv7393@2a {
362		compatible = "adi,adv7393";
363		reg = <0x2a>;
364	};
365
366	videoin: adv7180@20 {
367		compatible = "adi,adv7180";
368		reg = <0x20>;
369	};
370};
371
372&iomuxc {
373	pinctrl-names = "default";
374	pinctrl-0 = <&pinctrl_hog>;
375
376	imx6q-gw5400-a {
377		pinctrl_hog: hoggrp {
378			fsl,pins = <
379				MX6QDL_PAD_EIM_D22__GPIO3_IO22    0x80000000 /* OTG_PWR_EN */
380				MX6QDL_PAD_EIM_D19__GPIO3_IO19    0x80000000 /* SPINOR_CS0# */
381				MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
382				MX6QDL_PAD_ENET_TXD1__GPIO1_IO29  0x80000000 /* PCIE RST */
383				MX6QDL_PAD_GPIO_0__CCM_CLKO1      0x000130b0 /* AUD4_MCK */
384				MX6QDL_PAD_GPIO_5__GPIO1_IO05     0x80000000 /* GPS_PPS */
385				MX6QDL_PAD_GPIO_17__GPIO7_IO12    0x80000000 /* TOUCH_IRQ# */
386				MX6QDL_PAD_KEY_COL0__GPIO4_IO06   0x80000000 /* user1 led */
387				MX6QDL_PAD_KEY_COL2__GPIO4_IO10   0x80000000 /* user2 led */
388				MX6QDL_PAD_KEY_ROW4__GPIO4_IO15   0x80000000 /* user3 led */
389				MX6QDL_PAD_SD1_DAT0__GPIO1_IO16   0x80000000 /* USBHUB_RST# */
390				MX6QDL_PAD_SD1_DAT3__GPIO1_IO21   0x80000000 /* MIPI_DIO */
391			 >;
392		};
393
394		pinctrl_audmux: audmuxgrp {
395			fsl,pins = <
396				MX6QDL_PAD_SD2_DAT0__AUD4_RXD		0x130b0
397				MX6QDL_PAD_SD2_DAT3__AUD4_TXC		0x130b0
398				MX6QDL_PAD_SD2_DAT2__AUD4_TXD		0x110b0
399				MX6QDL_PAD_SD2_DAT1__AUD4_TXFS		0x130b0
400			>;
401		};
402
403		pinctrl_ecspi1: ecspi1grp {
404			fsl,pins = <
405				MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1
406				MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1
407				MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1
408			>;
409		};
410
411		pinctrl_enet: enetgrp {
412			fsl,pins = <
413				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b0b0
414				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b0b0
415				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b0b0
416				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b0b0
417				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b0b0
418				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b0b0
419				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b0b0
420				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b0b0
421				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b0b0
422				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b0b0
423				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b0b0
424				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b0b0
425				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
426				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
427				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
428				MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0a8
429			>;
430		};
431
432		pinctrl_i2c1: i2c1grp {
433			fsl,pins = <
434				MX6QDL_PAD_EIM_D21__I2C1_SCL		0x4001b8b1
435				MX6QDL_PAD_EIM_D28__I2C1_SDA		0x4001b8b1
436			>;
437		};
438
439		pinctrl_i2c2: i2c2grp {
440			fsl,pins = <
441				MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
442				MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
443			>;
444		};
445
446		pinctrl_i2c3: i2c3grp {
447			fsl,pins = <
448				MX6QDL_PAD_GPIO_3__I2C3_SCL		0x4001b8b1
449				MX6QDL_PAD_GPIO_6__I2C3_SDA		0x4001b8b1
450			>;
451		};
452
453		pinctrl_uart1: uart1grp {
454			fsl,pins = <
455				MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
456				MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA	0x1b0b1
457			>;
458		};
459
460		pinctrl_uart2: uart2grp {
461			fsl,pins = <
462				MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA	0x1b0b1
463				MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA	0x1b0b1
464			>;
465		};
466
467		pinctrl_uart5: uart5grp {
468			fsl,pins = <
469				MX6QDL_PAD_KEY_COL1__UART5_TX_DATA	0x1b0b1
470				MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA	0x1b0b1
471			>;
472		};
473
474		pinctrl_usbotg: usbotggrp {
475			fsl,pins = <
476				MX6QDL_PAD_GPIO_1__USB_OTG_ID		0x17059
477			>;
478		};
479
480		pinctrl_usdhc3: usdhc3grp {
481			fsl,pins = <
482				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
483				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
484				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
485				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
486				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
487				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
488			>;
489		};
490	};
491};
492
493&ldb {
494	status = "okay";
495};
496
497&pcie {
498	reset-gpio = <&gpio1 29 0>;
499	status = "okay";
500
501	eth1: sky2@8 { /* MAC/PHY on bus 8 */
502		compatible = "marvell,sky2";
503	};
504};
505
506&ssi1 {
507	fsl,mode = "i2s-slave";
508	status = "okay";
509};
510
511&uart1 {
512	pinctrl-names = "default";
513	pinctrl-0 = <&pinctrl_uart1>;
514	status = "okay";
515};
516
517&uart2 {
518	pinctrl-names = "default";
519	pinctrl-0 = <&pinctrl_uart2>;
520	status = "okay";
521};
522
523&uart5 {
524	pinctrl-names = "default";
525	pinctrl-0 = <&pinctrl_uart5>;
526	status = "okay";
527};
528
529&usbotg {
530	vbus-supply = <&reg_usb_otg_vbus>;
531	pinctrl-names = "default";
532	pinctrl-0 = <&pinctrl_usbotg>;
533	disable-over-current;
534	status = "okay";
535};
536
537&usbh1 {
538	vbus-supply = <&reg_usb_h1_vbus>;
539	status = "okay";
540};
541
542&usdhc3 {
543	pinctrl-names = "default";
544	pinctrl-0 = <&pinctrl_usdhc3>;
545	cd-gpios = <&gpio7 0 0>;
546	vmmc-supply = <&reg_3p3v>;
547	status = "okay";
548};
549