xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/freescale/imx8mp-evk.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright 2019 NXP
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun/dts-v1/;
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun#include "imx8mp.dtsi"
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun/ {
11*4882a593Smuzhiyun	model = "NXP i.MX8MPlus EVK board";
12*4882a593Smuzhiyun	compatible = "fsl,imx8mp-evk", "fsl,imx8mp";
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun	chosen {
15*4882a593Smuzhiyun		stdout-path = &uart2;
16*4882a593Smuzhiyun	};
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun	gpio-leds {
19*4882a593Smuzhiyun		compatible = "gpio-leds";
20*4882a593Smuzhiyun		pinctrl-names = "default";
21*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_gpio_led>;
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun		status {
24*4882a593Smuzhiyun			label = "yellow:status";
25*4882a593Smuzhiyun			gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
26*4882a593Smuzhiyun			default-state = "on";
27*4882a593Smuzhiyun		};
28*4882a593Smuzhiyun	};
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun	memory@40000000 {
31*4882a593Smuzhiyun		device_type = "memory";
32*4882a593Smuzhiyun		reg = <0x0 0x40000000 0 0xc0000000>,
33*4882a593Smuzhiyun		      <0x1 0x00000000 0 0xc0000000>;
34*4882a593Smuzhiyun	};
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun	reg_usdhc2_vmmc: regulator-usdhc2 {
37*4882a593Smuzhiyun		compatible = "regulator-fixed";
38*4882a593Smuzhiyun		pinctrl-names = "default";
39*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
40*4882a593Smuzhiyun		regulator-name = "VSD_3V3";
41*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
42*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
43*4882a593Smuzhiyun		gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
44*4882a593Smuzhiyun		enable-active-high;
45*4882a593Smuzhiyun	};
46*4882a593Smuzhiyun};
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun&fec {
49*4882a593Smuzhiyun	pinctrl-names = "default";
50*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_fec>;
51*4882a593Smuzhiyun	phy-mode = "rgmii-id";
52*4882a593Smuzhiyun	phy-handle = <&ethphy1>;
53*4882a593Smuzhiyun	fsl,magic-packet;
54*4882a593Smuzhiyun	status = "okay";
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun	mdio {
57*4882a593Smuzhiyun		#address-cells = <1>;
58*4882a593Smuzhiyun		#size-cells = <0>;
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun		ethphy1: ethernet-phy@1 {
61*4882a593Smuzhiyun			compatible = "ethernet-phy-ieee802.3-c22";
62*4882a593Smuzhiyun			reg = <1>;
63*4882a593Smuzhiyun			eee-broken-1000t;
64*4882a593Smuzhiyun			reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
65*4882a593Smuzhiyun			reset-assert-us = <10000>;
66*4882a593Smuzhiyun			reset-deassert-us = <80000>;
67*4882a593Smuzhiyun		};
68*4882a593Smuzhiyun	};
69*4882a593Smuzhiyun};
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun&i2c3 {
72*4882a593Smuzhiyun	clock-frequency = <400000>;
73*4882a593Smuzhiyun	pinctrl-names = "default";
74*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_i2c3>;
75*4882a593Smuzhiyun	status = "okay";
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun	pca6416: gpio@20 {
78*4882a593Smuzhiyun		compatible = "ti,tca6416";
79*4882a593Smuzhiyun		reg = <0x20>;
80*4882a593Smuzhiyun		gpio-controller;
81*4882a593Smuzhiyun		#gpio-cells = <2>;
82*4882a593Smuzhiyun	};
83*4882a593Smuzhiyun};
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun&snvs_pwrkey {
86*4882a593Smuzhiyun	status = "okay";
87*4882a593Smuzhiyun};
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun&uart2 {
90*4882a593Smuzhiyun	/* console */
91*4882a593Smuzhiyun	pinctrl-names = "default";
92*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_uart2>;
93*4882a593Smuzhiyun	status = "okay";
94*4882a593Smuzhiyun};
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun&usdhc2 {
97*4882a593Smuzhiyun	assigned-clocks = <&clk IMX8MP_CLK_USDHC2>;
98*4882a593Smuzhiyun	assigned-clock-rates = <400000000>;
99*4882a593Smuzhiyun	pinctrl-names = "default", "state_100mhz", "state_200mhz";
100*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
101*4882a593Smuzhiyun	pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
102*4882a593Smuzhiyun	pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
103*4882a593Smuzhiyun	cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
104*4882a593Smuzhiyun	vmmc-supply = <&reg_usdhc2_vmmc>;
105*4882a593Smuzhiyun	bus-width = <4>;
106*4882a593Smuzhiyun	status = "okay";
107*4882a593Smuzhiyun};
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun&usdhc3 {
110*4882a593Smuzhiyun	assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
111*4882a593Smuzhiyun	assigned-clock-rates = <400000000>;
112*4882a593Smuzhiyun	pinctrl-names = "default", "state_100mhz", "state_200mhz";
113*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_usdhc3>;
114*4882a593Smuzhiyun	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
115*4882a593Smuzhiyun	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
116*4882a593Smuzhiyun	bus-width = <8>;
117*4882a593Smuzhiyun	non-removable;
118*4882a593Smuzhiyun	status = "okay";
119*4882a593Smuzhiyun};
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun&wdog1 {
122*4882a593Smuzhiyun	pinctrl-names = "default";
123*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_wdog>;
124*4882a593Smuzhiyun	fsl,ext-reset-output;
125*4882a593Smuzhiyun	status = "okay";
126*4882a593Smuzhiyun};
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun&iomuxc {
129*4882a593Smuzhiyun	pinctrl_fec: fecgrp {
130*4882a593Smuzhiyun		fsl,pins = <
131*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC		0x3
132*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO		0x3
133*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0		0x91
134*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1		0x91
135*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2		0x91
136*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3		0x91
137*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC		0x91
138*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL	0x91
139*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0		0x1f
140*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1		0x1f
141*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2		0x1f
142*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3		0x1f
143*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL	0x1f
144*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC		0x1f
145*4882a593Smuzhiyun			MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02		0x19
146*4882a593Smuzhiyun		>;
147*4882a593Smuzhiyun	};
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun	pinctrl_gpio_led: gpioledgrp {
150*4882a593Smuzhiyun		fsl,pins = <
151*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16	0x140
152*4882a593Smuzhiyun		>;
153*4882a593Smuzhiyun	};
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun	pinctrl_i2c3: i2c3grp {
156*4882a593Smuzhiyun		fsl,pins = <
157*4882a593Smuzhiyun			MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL		0x400001c2
158*4882a593Smuzhiyun			MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA		0x400001c2
159*4882a593Smuzhiyun		>;
160*4882a593Smuzhiyun	};
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun	pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
163*4882a593Smuzhiyun		fsl,pins = <
164*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19	0x40
165*4882a593Smuzhiyun		>;
166*4882a593Smuzhiyun	};
167*4882a593Smuzhiyun
168*4882a593Smuzhiyun	pinctrl_uart2: uart2grp {
169*4882a593Smuzhiyun		fsl,pins = <
170*4882a593Smuzhiyun			MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX	0x140
171*4882a593Smuzhiyun			MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX	0x140
172*4882a593Smuzhiyun		>;
173*4882a593Smuzhiyun	};
174*4882a593Smuzhiyun
175*4882a593Smuzhiyun	pinctrl_usdhc2: usdhc2grp {
176*4882a593Smuzhiyun		fsl,pins = <
177*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK	0x190
178*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD	0x1d0
179*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0	0x1d0
180*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1	0x1d0
181*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2	0x1d0
182*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3	0x1d0
183*4882a593Smuzhiyun			MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT	0xc0
184*4882a593Smuzhiyun		>;
185*4882a593Smuzhiyun	};
186*4882a593Smuzhiyun
187*4882a593Smuzhiyun	pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
188*4882a593Smuzhiyun		fsl,pins = <
189*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK	0x194
190*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD	0x1d4
191*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0	0x1d4
192*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1	0x1d4
193*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2	0x1d4
194*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3	0x1d4
195*4882a593Smuzhiyun			MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
196*4882a593Smuzhiyun		>;
197*4882a593Smuzhiyun	};
198*4882a593Smuzhiyun
199*4882a593Smuzhiyun	pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
200*4882a593Smuzhiyun		fsl,pins = <
201*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK	0x196
202*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD	0x1d6
203*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0	0x1d6
204*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1	0x1d6
205*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2	0x1d6
206*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3	0x1d6
207*4882a593Smuzhiyun			MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
208*4882a593Smuzhiyun		>;
209*4882a593Smuzhiyun	};
210*4882a593Smuzhiyun
211*4882a593Smuzhiyun	pinctrl_usdhc2_gpio: usdhc2gpiogrp {
212*4882a593Smuzhiyun		fsl,pins = <
213*4882a593Smuzhiyun			MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12	0x1c4
214*4882a593Smuzhiyun		>;
215*4882a593Smuzhiyun	};
216*4882a593Smuzhiyun
217*4882a593Smuzhiyun	pinctrl_usdhc3: usdhc3grp {
218*4882a593Smuzhiyun		fsl,pins = <
219*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK	0x190
220*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD	0x1d0
221*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d0
222*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d0
223*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d0
224*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d0
225*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d0
226*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d0
227*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d0
228*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7	0x1d0
229*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x190
230*4882a593Smuzhiyun		>;
231*4882a593Smuzhiyun	};
232*4882a593Smuzhiyun
233*4882a593Smuzhiyun	pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
234*4882a593Smuzhiyun		fsl,pins = <
235*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK	0x194
236*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD	0x1d4
237*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d4
238*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d4
239*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d4
240*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d4
241*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d4
242*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d4
243*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d4
244*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7	0x1d4
245*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x194
246*4882a593Smuzhiyun		>;
247*4882a593Smuzhiyun	};
248*4882a593Smuzhiyun
249*4882a593Smuzhiyun	pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
250*4882a593Smuzhiyun		fsl,pins = <
251*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK	0x196
252*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD	0x1d6
253*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d6
254*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d6
255*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d6
256*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d6
257*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d6
258*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d6
259*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d6
260*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7	0x1d6
261*4882a593Smuzhiyun			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x196
262*4882a593Smuzhiyun		>;
263*4882a593Smuzhiyun	};
264*4882a593Smuzhiyun
265*4882a593Smuzhiyun	pinctrl_wdog: wdoggrp {
266*4882a593Smuzhiyun		fsl,pins = <
267*4882a593Smuzhiyun			MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B	0xc6
268*4882a593Smuzhiyun		>;
269*4882a593Smuzhiyun	};
270*4882a593Smuzhiyun};
271