1270866Simp/*
2270866Simp * Copyright 2013 Rostislav Lisovy <lisovy@gmail.com>, PiKRON s.r.o.
3270866Simp *
4270866Simp * The code contained herein is licensed under the GNU General Public
5270866Simp * License. You may obtain a copy of the GNU General Public License
6270866Simp * Version 2 or later at the following locations:
7270866Simp *
8270866Simp * http://www.opensource.org/licenses/gpl-license.html
9270866Simp * http://www.gnu.org/copyleft/gpl.html
10270866Simp */
11270866Simp
12270866Simp#include "imx53.dtsi"
13270866Simp
14270866Simp/ {
15270866Simp	model = "Voipac i.MX53 X53-DMM-668";
16270866Simp	compatible = "voipac,imx53-dmm-668", "fsl,imx53";
17270866Simp
18270866Simp	memory@70000000 {
19270866Simp		device_type = "memory";
20270866Simp		reg = <0x70000000 0x20000000>;
21270866Simp	};
22270866Simp
23270866Simp	memory@b0000000 {
24270866Simp		device_type = "memory";
25270866Simp		reg = <0xb0000000 0x20000000>;
26270866Simp	};
27270866Simp
28270866Simp	regulators {
29270866Simp		compatible = "simple-bus";
30270866Simp		#address-cells = <1>;
31270866Simp		#size-cells = <0>;
32270866Simp
33270866Simp		reg_3p3v: regulator@0 {
34270866Simp			compatible = "regulator-fixed";
35270866Simp			reg = <0>;
36270866Simp			regulator-name = "3P3V";
37270866Simp			regulator-min-microvolt = <3300000>;
38270866Simp			regulator-max-microvolt = <3300000>;
39270866Simp			regulator-always-on;
40270866Simp		};
41270866Simp
42270866Simp		reg_usb_vbus: regulator@1 {
43270866Simp			compatible = "regulator-fixed";
44270866Simp			reg = <1>;
45270866Simp			regulator-name = "usb_vbus";
46270866Simp			regulator-min-microvolt = <5000000>;
47270866Simp			regulator-max-microvolt = <5000000>;
48270866Simp			gpio = <&gpio3 31 0>; /* PEN */
49270866Simp			enable-active-high;
50270866Simp		};
51270866Simp	};
52270866Simp};
53270866Simp
54270866Simp&iomuxc {
55270866Simp	pinctrl-names = "default";
56270866Simp	pinctrl-0 = <&pinctrl_hog>;
57270866Simp
58270866Simp	imx53-voipac {
59270866Simp		pinctrl_hog: hoggrp {
60270866Simp			fsl,pins = <
61270866Simp				/* Make DA9053 regulator functional */
62270866Simp				MX53_PAD_GPIO_16__GPIO7_11	0x80000000
63270866Simp				/* FEC Power enable */
64270866Simp				MX53_PAD_GPIO_11__GPIO4_1	0x80000000
65270866Simp				/* FEC RST */
66270866Simp				MX53_PAD_GPIO_12__GPIO4_2	0x80000000
67270866Simp			>;
68270866Simp		};
69270866Simp
70270866Simp		pinctrl_ecspi1: ecspi1grp {
71270866Simp			fsl,pins = <
72270866Simp				MX53_PAD_EIM_D16__ECSPI1_SCLK		0x80000000
73270866Simp				MX53_PAD_EIM_D17__ECSPI1_MISO		0x80000000
74270866Simp				MX53_PAD_EIM_D18__ECSPI1_MOSI		0x80000000
75270866Simp			>;
76270866Simp		};
77270866Simp
78270866Simp		pinctrl_fec: fecgrp {
79270866Simp			fsl,pins = <
80270866Simp				MX53_PAD_FEC_MDC__FEC_MDC		0x80000000
81270866Simp				MX53_PAD_FEC_MDIO__FEC_MDIO		0x80000000
82270866Simp				MX53_PAD_FEC_REF_CLK__FEC_TX_CLK	0x80000000
83270866Simp				MX53_PAD_FEC_RX_ER__FEC_RX_ER		0x80000000
84270866Simp				MX53_PAD_FEC_CRS_DV__FEC_RX_DV		0x80000000
85270866Simp				MX53_PAD_FEC_RXD1__FEC_RDATA_1		0x80000000
86270866Simp				MX53_PAD_FEC_RXD0__FEC_RDATA_0		0x80000000
87270866Simp				MX53_PAD_FEC_TX_EN__FEC_TX_EN		0x80000000
88270866Simp				MX53_PAD_FEC_TXD1__FEC_TDATA_1		0x80000000
89270866Simp				MX53_PAD_FEC_TXD0__FEC_TDATA_0		0x80000000
90270866Simp			>;
91270866Simp		};
92270866Simp
93270866Simp		pinctrl_i2c1: i2c1grp {
94270866Simp			fsl,pins = <
95270866Simp				MX53_PAD_EIM_D21__I2C1_SCL		0xc0000000
96270866Simp				MX53_PAD_EIM_D28__I2C1_SDA		0xc0000000
97270866Simp			>;
98270866Simp		};
99270866Simp
100270866Simp		pinctrl_uart1: uart1grp {
101270866Simp			fsl,pins = <
102270866Simp				MX53_PAD_PATA_DIOW__UART1_TXD_MUX	0x1e4
103270866Simp				MX53_PAD_PATA_DMACK__UART1_RXD_MUX	0x1e4
104270866Simp			>;
105270866Simp		};
106270866Simp
107270866Simp		pinctrl_nand: nandgrp {
108270866Simp			fsl,pins = <
109270866Simp				MX53_PAD_NANDF_WE_B__EMI_NANDF_WE_B	0x4
110270866Simp				MX53_PAD_NANDF_RE_B__EMI_NANDF_RE_B	0x4
111270866Simp				MX53_PAD_NANDF_CLE__EMI_NANDF_CLE	0x4
112270866Simp				MX53_PAD_NANDF_ALE__EMI_NANDF_ALE	0x4
113270866Simp				MX53_PAD_NANDF_WP_B__EMI_NANDF_WP_B	0xe0
114270866Simp				MX53_PAD_NANDF_RB0__EMI_NANDF_RB_0	0xe0
115270866Simp				MX53_PAD_NANDF_CS0__EMI_NANDF_CS_0	0x4
116270866Simp				MX53_PAD_PATA_DATA0__EMI_NANDF_D_0	0xa4
117270866Simp				MX53_PAD_PATA_DATA1__EMI_NANDF_D_1	0xa4
118270866Simp				MX53_PAD_PATA_DATA2__EMI_NANDF_D_2	0xa4
119270866Simp				MX53_PAD_PATA_DATA3__EMI_NANDF_D_3	0xa4
120270866Simp				MX53_PAD_PATA_DATA4__EMI_NANDF_D_4	0xa4
121270866Simp				MX53_PAD_PATA_DATA5__EMI_NANDF_D_5	0xa4
122270866Simp				MX53_PAD_PATA_DATA6__EMI_NANDF_D_6	0xa4
123270866Simp				MX53_PAD_PATA_DATA7__EMI_NANDF_D_7	0xa4
124270866Simp			>;
125270866Simp		};
126270866Simp	};
127270866Simp};
128270866Simp
129270866Simp&ecspi1 {
130270866Simp	pinctrl-names = "default";
131270866Simp	pinctrl-0 = <&pinctrl_ecspi1>;
132270866Simp	fsl,spi-num-chipselects = <4>;
133270866Simp	cs-gpios = <&gpio2 30 0>, <&gpio3 19 0>, <&gpio2 16 0>, <&gpio2 17 0>;
134270866Simp	status = "okay";
135270866Simp};
136270866Simp
137270866Simp&fec {
138270866Simp	pinctrl-names = "default";
139270866Simp	pinctrl-0 = <&pinctrl_fec>;
140270866Simp	phy-mode = "rmii";
141270866Simp	phy-reset-gpios = <&gpio4 2 0>;
142270866Simp	status = "okay";
143270866Simp};
144270866Simp
145270866Simp&i2c1 {
146270866Simp	pinctrl-names = "default";
147270866Simp	pinctrl-0 = <&pinctrl_i2c1>;
148270866Simp	status = "okay";
149270866Simp
150270866Simp	pmic: dialog@48 {
151270866Simp		compatible = "dlg,da9053-aa", "dlg,da9052";
152270866Simp		reg = <0x48>;
153270866Simp		interrupt-parent = <&gpio7>;
154270866Simp		interrupts = <11 0x8>; /* low-level active IRQ at GPIO7_11 */
155270866Simp
156270866Simp		regulators {
157270866Simp			buck1_reg: buck1 {
158270866Simp				regulator-name = "BUCKCORE";
159270866Simp				regulator-min-microvolt = <1200000>;
160270866Simp				regulator-max-microvolt = <1400000>;
161270866Simp				regulator-always-on;
162270866Simp			};
163270866Simp
164270866Simp			buck2_reg: buck2 {
165270866Simp				regulator-name = "BUCKPRO";
166270866Simp				regulator-min-microvolt = <900000>;
167270866Simp				regulator-max-microvolt = <1350000>;
168270866Simp				regulator-always-on;
169270866Simp			};
170270866Simp
171270866Simp			buck3_reg: buck3 {
172270866Simp				regulator-name = "BUCKMEM";
173270866Simp				regulator-min-microvolt = <1420000>;
174270866Simp				regulator-max-microvolt = <1580000>;
175270866Simp				regulator-always-on;
176270866Simp			};
177270866Simp
178270866Simp			buck4_reg: buck4 {
179270866Simp				regulator-name = "BUCKPERI";
180270866Simp				regulator-min-microvolt = <2370000>;
181270866Simp				regulator-max-microvolt = <2630000>;
182270866Simp				regulator-always-on;
183270866Simp			};
184270866Simp
185270866Simp			ldo1_reg: ldo1 {
186270866Simp				regulator-name = "ldo1_1v3";
187270866Simp				regulator-min-microvolt = <1250000>;
188270866Simp				regulator-max-microvolt = <1350000>;
189270866Simp				regulator-boot-on;
190270866Simp				regulator-always-on;
191270866Simp			};
192270866Simp
193270866Simp			ldo2_reg: ldo2 {
194270866Simp				regulator-name = "ldo2_1v3";
195270866Simp				regulator-min-microvolt = <1250000>;
196270866Simp				regulator-max-microvolt = <1350000>;
197270866Simp				regulator-always-on;
198270866Simp			};
199270866Simp
200270866Simp			ldo3_reg: ldo3 {
201270866Simp				regulator-name = "ldo3_3v3";
202270866Simp				regulator-min-microvolt = <3250000>;
203270866Simp				regulator-max-microvolt = <3350000>;
204270866Simp				regulator-always-on;
205270866Simp			};
206270866Simp
207270866Simp			ldo4_reg: ldo4 {
208270866Simp				regulator-name = "ldo4_2v775";
209270866Simp				regulator-min-microvolt = <2770000>;
210270866Simp				regulator-max-microvolt = <2780000>;
211270866Simp				regulator-always-on;
212270866Simp			};
213270866Simp
214270866Simp			ldo5_reg: ldo5 {
215270866Simp				regulator-name = "ldo5_3v3";
216270866Simp				regulator-min-microvolt = <3250000>;
217270866Simp				regulator-max-microvolt = <3350000>;
218270866Simp				regulator-always-on;
219270866Simp			};
220270866Simp
221270866Simp			ldo6_reg: ldo6 {
222270866Simp				regulator-name = "ldo6_1v3";
223270866Simp				regulator-min-microvolt = <1250000>;
224270866Simp				regulator-max-microvolt = <1350000>;
225270866Simp				regulator-always-on;
226270866Simp			};
227270866Simp
228270866Simp			ldo7_reg: ldo7 {
229270866Simp				regulator-name = "ldo7_2v75";
230270866Simp				regulator-min-microvolt = <2700000>;
231270866Simp				regulator-max-microvolt = <2800000>;
232270866Simp				regulator-always-on;
233270866Simp			};
234270866Simp
235270866Simp			ldo8_reg: ldo8 {
236270866Simp				regulator-name = "ldo8_1v8";
237270866Simp				regulator-min-microvolt = <1750000>;
238270866Simp				regulator-max-microvolt = <1850000>;
239270866Simp				regulator-always-on;
240270866Simp			};
241270866Simp
242270866Simp			ldo9_reg: ldo9 {
243270866Simp				regulator-name = "ldo9_1v5";
244270866Simp				regulator-min-microvolt = <1450000>;
245270866Simp				regulator-max-microvolt = <1550000>;
246270866Simp				regulator-always-on;
247270866Simp			};
248270866Simp
249270866Simp			ldo10_reg: ldo10 {
250270866Simp				regulator-name = "ldo10_1v3";
251270866Simp				regulator-min-microvolt = <1250000>;
252270866Simp				regulator-max-microvolt = <1350000>;
253270866Simp				regulator-always-on;
254270866Simp			};
255270866Simp		};
256270866Simp	};
257270866Simp};
258270866Simp
259270866Simp&nfc {
260270866Simp	pinctrl-names = "default";
261270866Simp	pinctrl-0 = <&pinctrl_nand>;
262270866Simp	nand-bus-width = <8>;
263270866Simp	nand-ecc-mode = "hw";
264270866Simp	status = "okay";
265270866Simp};
266270866Simp
267270866Simp&uart1 {
268270866Simp	pinctrl-names = "default";
269270866Simp	pinctrl-0 = <&pinctrl_uart1>;
270270866Simp	status = "okay";
271270866Simp};
272270866Simp
273270866Simp&usbh1 {
274270866Simp	vbus-supply = <&reg_usb_vbus>;
275270866Simp	phy_type = "utmi";
276270866Simp	status = "okay";
277270866Simp};
278