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		};
34014fbffaSPeng Fan
35014fbffaSPeng Fan		m33_reserved: noncacheable-section@a8600000 {
36014fbffaSPeng Fan			reg = <0 0xa8600000 0 0x1000000>;
37014fbffaSPeng Fan			no-map;
38014fbffaSPeng Fan		};
39014fbffaSPeng Fan
40014fbffaSPeng Fan		rsc_table: rsc-table@1fff8000{
41014fbffaSPeng Fan			reg = <0 0x1fff8000 0 0x1000>;
42014fbffaSPeng Fan			no-map;
43014fbffaSPeng Fan		};
44014fbffaSPeng Fan
45014fbffaSPeng Fan		vdev0vring0: vdev0vring0@aff00000 {
46014fbffaSPeng Fan			reg = <0 0xaff00000 0 0x8000>;
47014fbffaSPeng Fan			no-map;
48014fbffaSPeng Fan		};
49014fbffaSPeng Fan
50014fbffaSPeng Fan		vdev0vring1: vdev0vring1@aff08000 {
51014fbffaSPeng Fan			reg = <0 0xaff08000 0 0x8000>;
52014fbffaSPeng Fan			no-map;
53014fbffaSPeng Fan		};
54014fbffaSPeng Fan
55014fbffaSPeng Fan		vdev1vring0: vdev1vring0@aff10000 {
56014fbffaSPeng Fan			reg = <0 0xaff10000 0 0x8000>;
57014fbffaSPeng Fan			no-map;
58014fbffaSPeng Fan		};
59014fbffaSPeng Fan
60014fbffaSPeng Fan		vdev1vring1: vdev1vring1@aff18000 {
61014fbffaSPeng Fan			reg = <0 0xaff18000 0 0x8000>;
62014fbffaSPeng Fan			no-map;
63014fbffaSPeng Fan		};
64014fbffaSPeng Fan
65014fbffaSPeng Fan		vdevbuffer: vdevbuffer@a8400000 {
66014fbffaSPeng Fan			compatible = "shared-dma-pool";
67014fbffaSPeng Fan			reg = <0 0xa8400000 0 0x100000>;
68014fbffaSPeng Fan			no-map;
69014fbffaSPeng 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
88014fbffaSPeng Fan&cm33 {
89014fbffaSPeng Fan	mbox-names = "tx", "rx", "rxdb";
90014fbffaSPeng Fan	mboxes = <&mu 0 1>,
91014fbffaSPeng Fan		 <&mu 1 1>,
92014fbffaSPeng Fan		 <&mu 3 1>;
93014fbffaSPeng Fan	memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>,
94014fbffaSPeng Fan			<&vdev1vring0>, <&vdev1vring1>, <&rsc_table>;
95014fbffaSPeng Fan	status = "okay";
96014fbffaSPeng Fan};
97014fbffaSPeng Fan
983d256330SHan Xu&flexspi2 {
993d256330SHan Xu	pinctrl-names = "default", "sleep";
1003d256330SHan Xu	pinctrl-0 = <&pinctrl_flexspi2_ptd>;
1013d256330SHan Xu	pinctrl-1 = <&pinctrl_flexspi2_ptd>;
1023d256330SHan Xu	status = "okay";
1033d256330SHan Xu
1043d256330SHan Xu	mx25uw51345gxdi00: flash@0 {
1053d256330SHan Xu		compatible = "jedec,spi-nor";
1063d256330SHan Xu		reg = <0>;
1073d256330SHan Xu		spi-max-frequency = <200000000>;
1083d256330SHan Xu		spi-tx-bus-width = <8>;
1093d256330SHan Xu		spi-rx-bus-width = <8>;
1103d256330SHan Xu	};
1113d256330SHan Xu};
1123d256330SHan Xu
113a6e917b7SJacky Bai&lpuart5 {
114a6e917b7SJacky Bai	/* console */
115a6e917b7SJacky Bai	pinctrl-names = "default", "sleep";
116a6e917b7SJacky Bai	pinctrl-0 = <&pinctrl_lpuart5>;
117a6e917b7SJacky Bai	pinctrl-1 = <&pinctrl_lpuart5>;
118a6e917b7SJacky Bai	status = "okay";
119a6e917b7SJacky Bai};
120a6e917b7SJacky Bai
121*e4344726SHaibo Chen&lpi2c7 {
122*e4344726SHaibo Chen	#address-cells = <1>;
123*e4344726SHaibo Chen	#size-cells = <0>;
124*e4344726SHaibo Chen	clock-frequency = <400000>;
125*e4344726SHaibo Chen	pinctrl-names = "default", "sleep";
126*e4344726SHaibo Chen	pinctrl-0 = <&pinctrl_lpi2c7>;
127*e4344726SHaibo Chen	pinctrl-1 = <&pinctrl_lpi2c7>;
128*e4344726SHaibo Chen	status = "okay";
129*e4344726SHaibo Chen
130*e4344726SHaibo Chen	pcal6408: gpio@21 {
131*e4344726SHaibo Chen		compatible = "nxp,pcal9554b";
132*e4344726SHaibo Chen		reg = <0x21>;
133*e4344726SHaibo Chen		gpio-controller;
134*e4344726SHaibo Chen		#gpio-cells = <2>;
135*e4344726SHaibo Chen	};
136*e4344726SHaibo Chen};
137*e4344726SHaibo Chen
138a6e917b7SJacky Bai&usdhc0 {
1397adf8410SHaibo Chen	pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
140a6e917b7SJacky Bai	pinctrl-0 = <&pinctrl_usdhc0>;
141a6e917b7SJacky Bai	pinctrl-1 = <&pinctrl_usdhc0>;
1427adf8410SHaibo Chen	pinctrl-2 = <&pinctrl_usdhc0>;
1437adf8410SHaibo Chen	pinctrl-3 = <&pinctrl_usdhc0>;
144a6e917b7SJacky Bai	non-removable;
145a6e917b7SJacky Bai	bus-width = <8>;
146a6e917b7SJacky Bai	status = "okay";
147a6e917b7SJacky Bai};
148a6e917b7SJacky Bai
1491170826eSWei Fang&fec {
1501170826eSWei Fang	pinctrl-names = "default", "sleep";
1511170826eSWei Fang	pinctrl-0 = <&pinctrl_enet>;
1521170826eSWei Fang	pinctrl-1 = <&pinctrl_enet>;
1531170826eSWei Fang	clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>,
1541170826eSWei Fang		 <&pcc4 IMX8ULP_CLK_ENET>,
1551170826eSWei Fang		 <&cgc1 IMX8ULP_CLK_ENET_TS_SEL>,
1561170826eSWei Fang		 <&clock_ext_rmii>;
1571170826eSWei Fang	clock-names = "ipg", "ahb", "ptp", "enet_clk_ref";
1581170826eSWei Fang	assigned-clocks = <&cgc1 IMX8ULP_CLK_ENET_TS_SEL>;
1591170826eSWei Fang	assigned-clock-parents = <&clock_ext_ts>;
1601170826eSWei Fang	phy-mode = "rmii";
1611170826eSWei Fang	phy-handle = <&ethphy>;
1621170826eSWei Fang	status = "okay";
1631170826eSWei Fang
1641170826eSWei Fang	mdio {
1651170826eSWei Fang		#address-cells = <1>;
1661170826eSWei Fang		#size-cells = <0>;
1671170826eSWei Fang
1681170826eSWei Fang		ethphy: ethernet-phy@1 {
1691170826eSWei Fang			reg = <1>;
1701170826eSWei Fang			micrel,led-mode = <1>;
1711170826eSWei Fang		};
1721170826eSWei Fang	};
1731170826eSWei Fang};
1741170826eSWei Fang
175014fbffaSPeng Fan&mu {
176014fbffaSPeng Fan	status = "okay";
177014fbffaSPeng Fan};
178014fbffaSPeng Fan
179a6e917b7SJacky Bai&iomuxc1 {
1801170826eSWei Fang	pinctrl_enet: enetgrp {
1811170826eSWei Fang		fsl,pins = <
1821170826eSWei Fang			MX8ULP_PAD_PTE15__ENET0_MDC     0x43
1831170826eSWei Fang			MX8ULP_PAD_PTE14__ENET0_MDIO    0x43
1841170826eSWei Fang			MX8ULP_PAD_PTE17__ENET0_RXER    0x43
1851170826eSWei Fang			MX8ULP_PAD_PTE18__ENET0_CRS_DV  0x43
1861170826eSWei Fang			MX8ULP_PAD_PTF1__ENET0_RXD0     0x43
1871170826eSWei Fang			MX8ULP_PAD_PTE20__ENET0_RXD1    0x43
1881170826eSWei Fang			MX8ULP_PAD_PTE16__ENET0_TXEN    0x43
1891170826eSWei Fang			MX8ULP_PAD_PTE23__ENET0_TXD0    0x43
1901170826eSWei Fang			MX8ULP_PAD_PTE22__ENET0_TXD1    0x43
1911170826eSWei Fang			MX8ULP_PAD_PTE19__ENET0_REFCLK  0x43
1921170826eSWei Fang			MX8ULP_PAD_PTF10__ENET0_1588_CLKIN 0x43
1931170826eSWei Fang		>;
1941170826eSWei Fang	};
1951170826eSWei Fang
1963d256330SHan Xu	pinctrl_flexspi2_ptd: flexspi2ptdgrp {
1973d256330SHan Xu		fsl,pins = <
1983d256330SHan Xu
1993d256330SHan Xu			MX8ULP_PAD_PTD12__FLEXSPI2_A_SS0_B	0x42
2003d256330SHan Xu			MX8ULP_PAD_PTD13__FLEXSPI2_A_SCLK	0x42
2013d256330SHan Xu			MX8ULP_PAD_PTD14__FLEXSPI2_A_DATA3	0x42
2023d256330SHan Xu			MX8ULP_PAD_PTD15__FLEXSPI2_A_DATA2	0x42
2033d256330SHan Xu			MX8ULP_PAD_PTD16__FLEXSPI2_A_DATA1	0x42
2043d256330SHan Xu			MX8ULP_PAD_PTD17__FLEXSPI2_A_DATA0	0x42
2053d256330SHan Xu			MX8ULP_PAD_PTD18__FLEXSPI2_A_DQS	0x42
2063d256330SHan Xu			MX8ULP_PAD_PTD19__FLEXSPI2_A_DATA7	0x42
2073d256330SHan Xu			MX8ULP_PAD_PTD20__FLEXSPI2_A_DATA6	0x42
2083d256330SHan Xu			MX8ULP_PAD_PTD21__FLEXSPI2_A_DATA5	0x42
2093d256330SHan Xu			MX8ULP_PAD_PTD22__FLEXSPI2_A_DATA4	0x42
2103d256330SHan Xu		>;
2113d256330SHan Xu	};
2123d256330SHan Xu
213a6e917b7SJacky Bai	pinctrl_lpuart5: lpuart5grp {
214a6e917b7SJacky Bai		fsl,pins = <
215a6e917b7SJacky Bai			MX8ULP_PAD_PTF14__LPUART5_TX	0x3
216a6e917b7SJacky Bai			MX8ULP_PAD_PTF15__LPUART5_RX	0x3
217a6e917b7SJacky Bai		>;
218a6e917b7SJacky Bai	};
219a6e917b7SJacky Bai
220*e4344726SHaibo Chen	pinctrl_lpi2c7: lpi2c7grp {
221*e4344726SHaibo Chen		fsl,pins = <
222*e4344726SHaibo Chen			MX8ULP_PAD_PTE12__LPI2C7_SCL	0x20
223*e4344726SHaibo Chen			MX8ULP_PAD_PTE13__LPI2C7_SDA	0x20
224*e4344726SHaibo Chen		>;
225*e4344726SHaibo Chen	};
226*e4344726SHaibo Chen
227a6e917b7SJacky Bai	pinctrl_usdhc0: usdhc0grp {
228a6e917b7SJacky Bai		fsl,pins = <
2297adf8410SHaibo Chen			MX8ULP_PAD_PTD1__SDHC0_CMD	0x3
2307adf8410SHaibo Chen			MX8ULP_PAD_PTD2__SDHC0_CLK	0x10002
2317adf8410SHaibo Chen			MX8ULP_PAD_PTD10__SDHC0_D0	0x3
2327adf8410SHaibo Chen			MX8ULP_PAD_PTD9__SDHC0_D1	0x3
2337adf8410SHaibo Chen			MX8ULP_PAD_PTD8__SDHC0_D2	0x3
2347adf8410SHaibo Chen			MX8ULP_PAD_PTD7__SDHC0_D3	0x3
2357adf8410SHaibo Chen			MX8ULP_PAD_PTD6__SDHC0_D4	0x3
2367adf8410SHaibo Chen			MX8ULP_PAD_PTD5__SDHC0_D5	0x3
2377adf8410SHaibo Chen			MX8ULP_PAD_PTD4__SDHC0_D6	0x3
2387adf8410SHaibo Chen			MX8ULP_PAD_PTD3__SDHC0_D7	0x3
2397adf8410SHaibo Chen			MX8ULP_PAD_PTD11__SDHC0_DQS	0x10002
240a6e917b7SJacky Bai		>;
241a6e917b7SJacky Bai	};
242a6e917b7SJacky Bai};
243