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