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