1/*
2 * Copyright 2013 Rostislav Lisovy <lisovy@gmail.com>, PiKRON s.r.o.
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#include "imx53.dtsi"
13
14/ {
15	model = "Voipac i.MX53 X53-DMM-668";
16	compatible = "voipac,imx53-dmm-668", "fsl,imx53";
17
18	memory@70000000 {
19		device_type = "memory";
20		reg = <0x70000000 0x20000000>;
21	};
22
23	memory@b0000000 {
24		device_type = "memory";
25		reg = <0xb0000000 0x20000000>;
26	};
27
28	regulators {
29		compatible = "simple-bus";
30		#address-cells = <1>;
31		#size-cells = <0>;
32
33		reg_3p3v: regulator@0 {
34			compatible = "regulator-fixed";
35			reg = <0>;
36			regulator-name = "3P3V";
37			regulator-min-microvolt = <3300000>;
38			regulator-max-microvolt = <3300000>;
39			regulator-always-on;
40		};
41
42		reg_usb_vbus: regulator@1 {
43			compatible = "regulator-fixed";
44			reg = <1>;
45			regulator-name = "usb_vbus";
46			regulator-min-microvolt = <5000000>;
47			regulator-max-microvolt = <5000000>;
48			gpio = <&gpio3 31 0>; /* PEN */
49			enable-active-high;
50		};
51	};
52};
53
54&iomuxc {
55	pinctrl-names = "default";
56	pinctrl-0 = <&pinctrl_hog>;
57
58	imx53-voipac {
59		pinctrl_hog: hoggrp {
60			fsl,pins = <
61				/* Make DA9053 regulator functional */
62				MX53_PAD_GPIO_16__GPIO7_11	0x80000000
63				/* FEC Power enable */
64				MX53_PAD_GPIO_11__GPIO4_1	0x80000000
65				/* FEC RST */
66				MX53_PAD_GPIO_12__GPIO4_2	0x80000000
67			>;
68		};
69
70		pinctrl_ecspi1: ecspi1grp {
71			fsl,pins = <
72				MX53_PAD_EIM_D16__ECSPI1_SCLK		0x80000000
73				MX53_PAD_EIM_D17__ECSPI1_MISO		0x80000000
74				MX53_PAD_EIM_D18__ECSPI1_MOSI		0x80000000
75			>;
76		};
77
78		pinctrl_fec: fecgrp {
79			fsl,pins = <
80				MX53_PAD_FEC_MDC__FEC_MDC		0x80000000
81				MX53_PAD_FEC_MDIO__FEC_MDIO		0x80000000
82				MX53_PAD_FEC_REF_CLK__FEC_TX_CLK	0x80000000
83				MX53_PAD_FEC_RX_ER__FEC_RX_ER		0x80000000
84				MX53_PAD_FEC_CRS_DV__FEC_RX_DV		0x80000000
85				MX53_PAD_FEC_RXD1__FEC_RDATA_1		0x80000000
86				MX53_PAD_FEC_RXD0__FEC_RDATA_0		0x80000000
87				MX53_PAD_FEC_TX_EN__FEC_TX_EN		0x80000000
88				MX53_PAD_FEC_TXD1__FEC_TDATA_1		0x80000000
89				MX53_PAD_FEC_TXD0__FEC_TDATA_0		0x80000000
90			>;
91		};
92
93		pinctrl_i2c1: i2c1grp {
94			fsl,pins = <
95				MX53_PAD_EIM_D21__I2C1_SCL		0xc0000000
96				MX53_PAD_EIM_D28__I2C1_SDA		0xc0000000
97			>;
98		};
99
100		pinctrl_uart1: uart1grp {
101			fsl,pins = <
102				MX53_PAD_PATA_DIOW__UART1_TXD_MUX	0x1e4
103				MX53_PAD_PATA_DMACK__UART1_RXD_MUX	0x1e4
104			>;
105		};
106
107		pinctrl_nand: nandgrp {
108			fsl,pins = <
109				MX53_PAD_NANDF_WE_B__EMI_NANDF_WE_B	0x4
110				MX53_PAD_NANDF_RE_B__EMI_NANDF_RE_B	0x4
111				MX53_PAD_NANDF_CLE__EMI_NANDF_CLE	0x4
112				MX53_PAD_NANDF_ALE__EMI_NANDF_ALE	0x4
113				MX53_PAD_NANDF_WP_B__EMI_NANDF_WP_B	0xe0
114				MX53_PAD_NANDF_RB0__EMI_NANDF_RB_0	0xe0
115				MX53_PAD_NANDF_CS0__EMI_NANDF_CS_0	0x4
116				MX53_PAD_PATA_DATA0__EMI_NANDF_D_0	0xa4
117				MX53_PAD_PATA_DATA1__EMI_NANDF_D_1	0xa4
118				MX53_PAD_PATA_DATA2__EMI_NANDF_D_2	0xa4
119				MX53_PAD_PATA_DATA3__EMI_NANDF_D_3	0xa4
120				MX53_PAD_PATA_DATA4__EMI_NANDF_D_4	0xa4
121				MX53_PAD_PATA_DATA5__EMI_NANDF_D_5	0xa4
122				MX53_PAD_PATA_DATA6__EMI_NANDF_D_6	0xa4
123				MX53_PAD_PATA_DATA7__EMI_NANDF_D_7	0xa4
124			>;
125		};
126	};
127};
128
129&ecspi1 {
130	pinctrl-names = "default";
131	pinctrl-0 = <&pinctrl_ecspi1>;
132	cs-gpios = <&gpio2 30 0>, <&gpio3 19 0>, <&gpio2 16 0>, <&gpio2 17 0>;
133	status = "okay";
134};
135
136&fec {
137	pinctrl-names = "default";
138	pinctrl-0 = <&pinctrl_fec>;
139	phy-mode = "rmii";
140	phy-reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
141	status = "okay";
142};
143
144&i2c1 {
145	pinctrl-names = "default";
146	pinctrl-0 = <&pinctrl_i2c1>;
147	status = "okay";
148
149	pmic: dialog@48 {
150		compatible = "dlg,da9053-aa", "dlg,da9052";
151		reg = <0x48>;
152		interrupt-parent = <&gpio7>;
153		interrupts = <11 IRQ_TYPE_LEVEL_LOW>; /* low-level active IRQ at GPIO7_11 */
154
155		regulators {
156			buck1_reg: buck1 {
157				regulator-name = "BUCKCORE";
158				regulator-min-microvolt = <1200000>;
159				regulator-max-microvolt = <1400000>;
160				regulator-always-on;
161			};
162
163			buck2_reg: buck2 {
164				regulator-name = "BUCKPRO";
165				regulator-min-microvolt = <900000>;
166				regulator-max-microvolt = <1350000>;
167				regulator-always-on;
168			};
169
170			buck3_reg: buck3 {
171				regulator-name = "BUCKMEM";
172				regulator-min-microvolt = <1420000>;
173				regulator-max-microvolt = <1580000>;
174				regulator-always-on;
175			};
176
177			buck4_reg: buck4 {
178				regulator-name = "BUCKPERI";
179				regulator-min-microvolt = <2370000>;
180				regulator-max-microvolt = <2630000>;
181				regulator-always-on;
182			};
183
184			ldo1_reg: ldo1 {
185				regulator-name = "ldo1_1v3";
186				regulator-min-microvolt = <1250000>;
187				regulator-max-microvolt = <1350000>;
188				regulator-boot-on;
189				regulator-always-on;
190			};
191
192			ldo2_reg: ldo2 {
193				regulator-name = "ldo2_1v3";
194				regulator-min-microvolt = <1250000>;
195				regulator-max-microvolt = <1350000>;
196				regulator-always-on;
197			};
198
199			ldo3_reg: ldo3 {
200				regulator-name = "ldo3_3v3";
201				regulator-min-microvolt = <3250000>;
202				regulator-max-microvolt = <3350000>;
203				regulator-always-on;
204			};
205
206			ldo4_reg: ldo4 {
207				regulator-name = "ldo4_2v775";
208				regulator-min-microvolt = <2770000>;
209				regulator-max-microvolt = <2780000>;
210				regulator-always-on;
211			};
212
213			ldo5_reg: ldo5 {
214				regulator-name = "ldo5_3v3";
215				regulator-min-microvolt = <3250000>;
216				regulator-max-microvolt = <3350000>;
217				regulator-always-on;
218			};
219
220			ldo6_reg: ldo6 {
221				regulator-name = "ldo6_1v3";
222				regulator-min-microvolt = <1250000>;
223				regulator-max-microvolt = <1350000>;
224				regulator-always-on;
225			};
226
227			ldo7_reg: ldo7 {
228				regulator-name = "ldo7_2v75";
229				regulator-min-microvolt = <2700000>;
230				regulator-max-microvolt = <2800000>;
231				regulator-always-on;
232			};
233
234			ldo8_reg: ldo8 {
235				regulator-name = "ldo8_1v8";
236				regulator-min-microvolt = <1750000>;
237				regulator-max-microvolt = <1850000>;
238				regulator-always-on;
239			};
240
241			ldo9_reg: ldo9 {
242				regulator-name = "ldo9_1v5";
243				regulator-min-microvolt = <1450000>;
244				regulator-max-microvolt = <1550000>;
245				regulator-always-on;
246			};
247
248			ldo10_reg: ldo10 {
249				regulator-name = "ldo10_1v3";
250				regulator-min-microvolt = <1250000>;
251				regulator-max-microvolt = <1350000>;
252				regulator-always-on;
253			};
254		};
255	};
256};
257
258&nfc {
259	pinctrl-names = "default";
260	pinctrl-0 = <&pinctrl_nand>;
261	nand-bus-width = <8>;
262	nand-ecc-mode = "hw";
263	status = "okay";
264};
265
266&uart1 {
267	pinctrl-names = "default";
268	pinctrl-0 = <&pinctrl_uart1>;
269	status = "okay";
270};
271
272&usbh1 {
273	vbus-supply = <&reg_usb_vbus>;
274	phy_type = "utmi";
275	status = "okay";
276};
277