1a6e917b7SJacky Bai// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2a6e917b7SJacky Bai/*
3a6e917b7SJacky Bai * Copyright 2021 NXP
4a6e917b7SJacky Bai */
5a6e917b7SJacky Bai
6a6e917b7SJacky Bai/dts-v1/;
7a6e917b7SJacky Bai
8a6e917b7SJacky Bai#include "imx8ulp.dtsi"
9a6e917b7SJacky Bai
10a6e917b7SJacky Bai/ {
11a6e917b7SJacky Bai	model = "NXP i.MX8ULP EVK";
12a6e917b7SJacky Bai	compatible = "fsl,imx8ulp-evk", "fsl,imx8ulp";
13a6e917b7SJacky Bai
14a6e917b7SJacky Bai	chosen {
15a6e917b7SJacky Bai		stdout-path = &lpuart5;
16a6e917b7SJacky Bai	};
17a6e917b7SJacky Bai
18a6e917b7SJacky Bai	memory@80000000 {
19a6e917b7SJacky Bai		device_type = "memory";
20a6e917b7SJacky Bai		reg = <0x0 0x80000000 0 0x80000000>;
21a6e917b7SJacky Bai	};
221170826eSWei Fang
23d0da51bbSPeng Fan	reserved-memory {
24d0da51bbSPeng Fan		#address-cells = <2>;
25d0da51bbSPeng Fan		#size-cells = <2>;
26d0da51bbSPeng Fan		ranges;
27d0da51bbSPeng Fan
28d0da51bbSPeng Fan		linux,cma {
29d0da51bbSPeng Fan			compatible = "shared-dma-pool";
30d0da51bbSPeng Fan			reusable;
31d0da51bbSPeng Fan			size = <0 0x28000000>;
32d0da51bbSPeng Fan			linux,cma-default;
33d0da51bbSPeng Fan		};
34*014fbffaSPeng Fan
35*014fbffaSPeng Fan		m33_reserved: noncacheable-section@a8600000 {
36*014fbffaSPeng Fan			reg = <0 0xa8600000 0 0x1000000>;
37*014fbffaSPeng Fan			no-map;
38*014fbffaSPeng Fan		};
39*014fbffaSPeng Fan
40*014fbffaSPeng Fan		rsc_table: rsc-table@1fff8000{
41*014fbffaSPeng Fan			reg = <0 0x1fff8000 0 0x1000>;
42*014fbffaSPeng Fan			no-map;
43*014fbffaSPeng Fan		};
44*014fbffaSPeng Fan
45*014fbffaSPeng Fan		vdev0vring0: vdev0vring0@aff00000 {
46*014fbffaSPeng Fan			reg = <0 0xaff00000 0 0x8000>;
47*014fbffaSPeng Fan			no-map;
48*014fbffaSPeng Fan		};
49*014fbffaSPeng Fan
50*014fbffaSPeng Fan		vdev0vring1: vdev0vring1@aff08000 {
51*014fbffaSPeng Fan			reg = <0 0xaff08000 0 0x8000>;
52*014fbffaSPeng Fan			no-map;
53*014fbffaSPeng Fan		};
54*014fbffaSPeng Fan
55*014fbffaSPeng Fan		vdev1vring0: vdev1vring0@aff10000 {
56*014fbffaSPeng Fan			reg = <0 0xaff10000 0 0x8000>;
57*014fbffaSPeng Fan			no-map;
58*014fbffaSPeng Fan		};
59*014fbffaSPeng Fan
60*014fbffaSPeng Fan		vdev1vring1: vdev1vring1@aff18000 {
61*014fbffaSPeng Fan			reg = <0 0xaff18000 0 0x8000>;
62*014fbffaSPeng Fan			no-map;
63*014fbffaSPeng Fan		};
64*014fbffaSPeng Fan
65*014fbffaSPeng Fan		vdevbuffer: vdevbuffer@a8400000 {
66*014fbffaSPeng Fan			compatible = "shared-dma-pool";
67*014fbffaSPeng Fan			reg = <0 0xa8400000 0 0x100000>;
68*014fbffaSPeng Fan			no-map;
69*014fbffaSPeng Fan		};
70d0da51bbSPeng Fan	};
71d0da51bbSPeng Fan
721170826eSWei Fang	clock_ext_rmii: clock-ext-rmii {
731170826eSWei Fang		compatible = "fixed-clock";
741170826eSWei Fang		clock-frequency = <50000000>;
751170826eSWei Fang		clock-output-names = "ext_rmii_clk";
761170826eSWei Fang		#clock-cells = <0>;
771170826eSWei Fang	};
781170826eSWei Fang
791170826eSWei Fang	clock_ext_ts: clock-ext-ts {
801170826eSWei Fang		compatible = "fixed-clock";
811170826eSWei Fang		/* External ts clock is 50MHZ from PHY on EVK board. */
821170826eSWei Fang		clock-frequency = <50000000>;
831170826eSWei Fang		clock-output-names = "ext_ts_clk";
841170826eSWei Fang		#clock-cells = <0>;
851170826eSWei Fang	};
86a6e917b7SJacky Bai};
87a6e917b7SJacky Bai
88*014fbffaSPeng Fan&cm33 {
89*014fbffaSPeng Fan	mbox-names = "tx", "rx", "rxdb";
90*014fbffaSPeng Fan	mboxes = <&mu 0 1>,
91*014fbffaSPeng Fan		 <&mu 1 1>,
92*014fbffaSPeng Fan		 <&mu 3 1>;
93*014fbffaSPeng Fan	memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>,
94*014fbffaSPeng Fan			<&vdev1vring0>, <&vdev1vring1>, <&rsc_table>;
95*014fbffaSPeng Fan	status = "okay";
96*014fbffaSPeng Fan};
97*014fbffaSPeng Fan
98a6e917b7SJacky Bai&lpuart5 {
99a6e917b7SJacky Bai	/* console */
100a6e917b7SJacky Bai	pinctrl-names = "default", "sleep";
101a6e917b7SJacky Bai	pinctrl-0 = <&pinctrl_lpuart5>;
102a6e917b7SJacky Bai	pinctrl-1 = <&pinctrl_lpuart5>;
103a6e917b7SJacky Bai	status = "okay";
104a6e917b7SJacky Bai};
105a6e917b7SJacky Bai
106a6e917b7SJacky Bai&usdhc0 {
107a6e917b7SJacky Bai	pinctrl-names = "default", "sleep";
108a6e917b7SJacky Bai	pinctrl-0 = <&pinctrl_usdhc0>;
109a6e917b7SJacky Bai	pinctrl-1 = <&pinctrl_usdhc0>;
110a6e917b7SJacky Bai	non-removable;
111a6e917b7SJacky Bai	bus-width = <8>;
112a6e917b7SJacky Bai	status = "okay";
113a6e917b7SJacky Bai};
114a6e917b7SJacky Bai
1151170826eSWei Fang&fec {
1161170826eSWei Fang	pinctrl-names = "default", "sleep";
1171170826eSWei Fang	pinctrl-0 = <&pinctrl_enet>;
1181170826eSWei Fang	pinctrl-1 = <&pinctrl_enet>;
1191170826eSWei Fang	clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>,
1201170826eSWei Fang		 <&pcc4 IMX8ULP_CLK_ENET>,
1211170826eSWei Fang		 <&cgc1 IMX8ULP_CLK_ENET_TS_SEL>,
1221170826eSWei Fang		 <&clock_ext_rmii>;
1231170826eSWei Fang	clock-names = "ipg", "ahb", "ptp", "enet_clk_ref";
1241170826eSWei Fang	assigned-clocks = <&cgc1 IMX8ULP_CLK_ENET_TS_SEL>;
1251170826eSWei Fang	assigned-clock-parents = <&clock_ext_ts>;
1261170826eSWei Fang	phy-mode = "rmii";
1271170826eSWei Fang	phy-handle = <&ethphy>;
1281170826eSWei Fang	status = "okay";
1291170826eSWei Fang
1301170826eSWei Fang	mdio {
1311170826eSWei Fang		#address-cells = <1>;
1321170826eSWei Fang		#size-cells = <0>;
1331170826eSWei Fang
1341170826eSWei Fang		ethphy: ethernet-phy@1 {
1351170826eSWei Fang			reg = <1>;
1361170826eSWei Fang			micrel,led-mode = <1>;
1371170826eSWei Fang		};
1381170826eSWei Fang	};
1391170826eSWei Fang};
1401170826eSWei Fang
141*014fbffaSPeng Fan&mu {
142*014fbffaSPeng Fan	status = "okay";
143*014fbffaSPeng Fan};
144*014fbffaSPeng Fan
145a6e917b7SJacky Bai&iomuxc1 {
1461170826eSWei Fang	pinctrl_enet: enetgrp {
1471170826eSWei Fang		fsl,pins = <
1481170826eSWei Fang			MX8ULP_PAD_PTE15__ENET0_MDC     0x43
1491170826eSWei Fang			MX8ULP_PAD_PTE14__ENET0_MDIO    0x43
1501170826eSWei Fang			MX8ULP_PAD_PTE17__ENET0_RXER    0x43
1511170826eSWei Fang			MX8ULP_PAD_PTE18__ENET0_CRS_DV  0x43
1521170826eSWei Fang			MX8ULP_PAD_PTF1__ENET0_RXD0     0x43
1531170826eSWei Fang			MX8ULP_PAD_PTE20__ENET0_RXD1    0x43
1541170826eSWei Fang			MX8ULP_PAD_PTE16__ENET0_TXEN    0x43
1551170826eSWei Fang			MX8ULP_PAD_PTE23__ENET0_TXD0    0x43
1561170826eSWei Fang			MX8ULP_PAD_PTE22__ENET0_TXD1    0x43
1571170826eSWei Fang			MX8ULP_PAD_PTE19__ENET0_REFCLK  0x43
1581170826eSWei Fang			MX8ULP_PAD_PTF10__ENET0_1588_CLKIN 0x43
1591170826eSWei Fang		>;
1601170826eSWei Fang	};
1611170826eSWei Fang
162a6e917b7SJacky Bai	pinctrl_lpuart5: lpuart5grp {
163a6e917b7SJacky Bai		fsl,pins = <
164a6e917b7SJacky Bai			MX8ULP_PAD_PTF14__LPUART5_TX	0x3
165a6e917b7SJacky Bai			MX8ULP_PAD_PTF15__LPUART5_RX	0x3
166a6e917b7SJacky Bai		>;
167a6e917b7SJacky Bai	};
168a6e917b7SJacky Bai
169a6e917b7SJacky Bai	pinctrl_usdhc0: usdhc0grp {
170a6e917b7SJacky Bai		fsl,pins = <
171a6e917b7SJacky Bai			MX8ULP_PAD_PTD1__SDHC0_CMD	0x43
172a6e917b7SJacky Bai			MX8ULP_PAD_PTD2__SDHC0_CLK	0x10042
173a6e917b7SJacky Bai			MX8ULP_PAD_PTD10__SDHC0_D0	0x43
174a6e917b7SJacky Bai			MX8ULP_PAD_PTD9__SDHC0_D1	0x43
175a6e917b7SJacky Bai			MX8ULP_PAD_PTD8__SDHC0_D2	0x43
176a6e917b7SJacky Bai			MX8ULP_PAD_PTD7__SDHC0_D3	0x43
177a6e917b7SJacky Bai			MX8ULP_PAD_PTD6__SDHC0_D4	0x43
178a6e917b7SJacky Bai			MX8ULP_PAD_PTD5__SDHC0_D5	0x43
179a6e917b7SJacky Bai			MX8ULP_PAD_PTD4__SDHC0_D6	0x43
180a6e917b7SJacky Bai			MX8ULP_PAD_PTD3__SDHC0_D7	0x43
181a6e917b7SJacky Bai			MX8ULP_PAD_PTD11__SDHC0_DQS	0x10042
182a6e917b7SJacky Bai		>;
183a6e917b7SJacky Bai	};
184a6e917b7SJacky Bai};
185