1/*
2 * Copyright 2013 Freescale Semiconductor, Inc.
3 *
4 * Author: Fabio Estevam <fabio.estevam@freescale.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 */
11
12#include "imx6qdl-wandboard.dtsi"
13
14/ {
15	reg_eth_phy: regulator-eth-phy {
16		compatible = "regulator-fixed";
17		regulator-name = "ETH_PHY";
18		regulator-min-microvolt = <3300000>;
19		regulator-max-microvolt = <3300000>;
20		gpio = <&gpio7 13 GPIO_ACTIVE_LOW>;
21	};
22};
23
24&hdmi {
25	ddc-i2c-bus = <&i2c2>;
26	status = "okay";
27};
28
29&i2c3 {
30	clock-frequency = <100000>;
31	pinctrl-names = "default";
32	pinctrl-0 = <&pinctrl_i2c3>;
33	status = "okay";
34
35	pmic: pfuze100@8 {
36		compatible = "fsl,pfuze100";
37		reg = <0x08>;
38
39		regulators {
40			sw1a_reg: sw1ab {
41				regulator-min-microvolt = <300000>;
42				regulator-max-microvolt = <1875000>;
43				regulator-boot-on;
44				regulator-always-on;
45				regulator-ramp-delay = <6250>;
46			};
47
48			sw1c_reg: sw1c {
49				regulator-min-microvolt = <300000>;
50				regulator-max-microvolt = <1875000>;
51				regulator-boot-on;
52				regulator-always-on;
53				regulator-ramp-delay = <6250>;
54			};
55
56			sw2_reg: sw2 {
57				regulator-min-microvolt = <800000>;
58				regulator-max-microvolt = <3300000>;
59				regulator-boot-on;
60				regulator-always-on;
61				regulator-ramp-delay = <6250>;
62			};
63
64			sw3a_reg: sw3a {
65				regulator-min-microvolt = <400000>;
66				regulator-max-microvolt = <1975000>;
67				regulator-boot-on;
68				regulator-always-on;
69			};
70
71			sw3b_reg: sw3b {
72				regulator-min-microvolt = <400000>;
73				regulator-max-microvolt = <1975000>;
74				regulator-boot-on;
75				regulator-always-on;
76			};
77
78			sw4_reg: sw4 {
79				regulator-min-microvolt = <800000>;
80				regulator-max-microvolt = <3300000>;
81			};
82
83			swbst_reg: swbst {
84				regulator-min-microvolt = <5000000>;
85				regulator-max-microvolt = <5150000>;
86			};
87
88			snvs_reg: vsnvs {
89				regulator-min-microvolt = <1000000>;
90				regulator-max-microvolt = <3000000>;
91				regulator-boot-on;
92				regulator-always-on;
93			};
94
95			vref_reg: vrefddr {
96				regulator-boot-on;
97				regulator-always-on;
98			};
99
100			vgen1_reg: vgen1 {
101				regulator-min-microvolt = <800000>;
102				regulator-max-microvolt = <1550000>;
103			};
104
105			vgen2_reg: vgen2 {
106				regulator-min-microvolt = <1500000>;
107				regulator-max-microvolt = <1500000>;
108				regulator-boot-on;
109				regulator-always-on;
110			};
111
112			vgen3_reg: vgen3 {
113				regulator-min-microvolt = <1800000>;
114				regulator-max-microvolt = <3300000>;
115				regulator-always-on;
116			};
117
118			vgen4_reg: vgen4 {
119				regulator-min-microvolt = <1800000>;
120				regulator-max-microvolt = <3300000>;
121				regulator-always-on;
122			};
123
124			vgen5_reg: vgen5 {
125				regulator-min-microvolt = <1800000>;
126				regulator-max-microvolt = <3300000>;
127				regulator-always-on;
128			};
129
130			vgen6_reg: vgen6 {
131				regulator-min-microvolt = <1800000>;
132				regulator-max-microvolt = <3300000>;
133				regulator-always-on;
134			};
135		};
136	};
137};
138
139&fec {
140	phy-supply = <&reg_eth_phy>;
141	status = "okay";
142};
143
144&iomuxc {
145	pinctrl-0 = <&pinctrl_hog>;
146
147	imx6qdl-wandboard {
148		pinctrl_hog: hoggrp {
149			fsl,pins = <
150				MX6QDL_PAD_EIM_D22__USB_OTG_PWR		0x80000000	/* USB Power Enable */
151				MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x80000000	/* USDHC1 CD */
152				MX6QDL_PAD_EIM_DA9__GPIO3_IO09		0x80000000	/* uSDHC3 CD */
153				MX6QDL_PAD_EIM_D29__GPIO3_IO29   	0x1f0b1		/* RGMII PHY reset */
154			>;
155		};
156
157		pinctrl_enet: enetgrp {
158			fsl,pins = <
159				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
160				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
161				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b030
162				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b030
163				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b030
164				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b030
165				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b030
166				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b030
167				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
168				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
169				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030
170				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030
171				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
172				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
173				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030
174				MX6QDL_PAD_GPIO_6__ENET_IRQ		0x000b1
175			>;
176		};
177
178		pinctrl_i2c3: i2c3grp {
179			fsl,pins = <
180				MX6QDL_PAD_GPIO_5__I2C3_SCL		0x4001b8b1
181				MX6QDL_PAD_GPIO_16__I2C3_SDA		0x4001b8b1
182			>;
183		};
184
185		pinctrl_spdif: spdifgrp {
186			fsl,pins = <
187				MX6QDL_PAD_GPIO_19__SPDIF_OUT		0x1b0b0
188			>;
189		};
190	};
191};
192
193&usdhc2 {
194	pinctrl-names = "default";
195	pinctrl-0 = <&pinctrl_usdhc2>;
196	bus-width = <4>;
197	no-1-8-v;
198	non-removable;
199	status = "okay";
200};
201