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