1e67e8565SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2e67e8565SEmmanuel Vadot/* 3e67e8565SEmmanuel Vadot * Copyright 2021 NXP 4e67e8565SEmmanuel Vadot */ 5e67e8565SEmmanuel Vadot 6e67e8565SEmmanuel Vadot/dts-v1/; 7e67e8565SEmmanuel Vadot 8e67e8565SEmmanuel Vadot#include "imx8ulp.dtsi" 9e67e8565SEmmanuel Vadot 10e67e8565SEmmanuel Vadot/ { 11e67e8565SEmmanuel Vadot model = "NXP i.MX8ULP EVK"; 12e67e8565SEmmanuel Vadot compatible = "fsl,imx8ulp-evk", "fsl,imx8ulp"; 13e67e8565SEmmanuel Vadot 14e67e8565SEmmanuel Vadot chosen { 15e67e8565SEmmanuel Vadot stdout-path = &lpuart5; 16e67e8565SEmmanuel Vadot }; 17e67e8565SEmmanuel Vadot 18e67e8565SEmmanuel Vadot memory@80000000 { 19e67e8565SEmmanuel Vadot device_type = "memory"; 20e67e8565SEmmanuel Vadot reg = <0x0 0x80000000 0 0x80000000>; 21e67e8565SEmmanuel Vadot }; 227ef62cebSEmmanuel Vadot 23*aa1a8ff2SEmmanuel Vadot reserved-memory { 24*aa1a8ff2SEmmanuel Vadot #address-cells = <2>; 25*aa1a8ff2SEmmanuel Vadot #size-cells = <2>; 26*aa1a8ff2SEmmanuel Vadot ranges; 27*aa1a8ff2SEmmanuel Vadot 28*aa1a8ff2SEmmanuel Vadot linux,cma { 29*aa1a8ff2SEmmanuel Vadot compatible = "shared-dma-pool"; 30*aa1a8ff2SEmmanuel Vadot reusable; 31*aa1a8ff2SEmmanuel Vadot size = <0 0x28000000>; 32*aa1a8ff2SEmmanuel Vadot linux,cma-default; 33*aa1a8ff2SEmmanuel Vadot }; 34*aa1a8ff2SEmmanuel Vadot 35*aa1a8ff2SEmmanuel Vadot m33_reserved: noncacheable-section@a8600000 { 36*aa1a8ff2SEmmanuel Vadot reg = <0 0xa8600000 0 0x1000000>; 37*aa1a8ff2SEmmanuel Vadot no-map; 38*aa1a8ff2SEmmanuel Vadot }; 39*aa1a8ff2SEmmanuel Vadot 40*aa1a8ff2SEmmanuel Vadot rsc_table: rsc-table@1fff8000{ 41*aa1a8ff2SEmmanuel Vadot reg = <0 0x1fff8000 0 0x1000>; 42*aa1a8ff2SEmmanuel Vadot no-map; 43*aa1a8ff2SEmmanuel Vadot }; 44*aa1a8ff2SEmmanuel Vadot 45*aa1a8ff2SEmmanuel Vadot vdev0vring0: vdev0vring0@aff00000 { 46*aa1a8ff2SEmmanuel Vadot reg = <0 0xaff00000 0 0x8000>; 47*aa1a8ff2SEmmanuel Vadot no-map; 48*aa1a8ff2SEmmanuel Vadot }; 49*aa1a8ff2SEmmanuel Vadot 50*aa1a8ff2SEmmanuel Vadot vdev0vring1: vdev0vring1@aff08000 { 51*aa1a8ff2SEmmanuel Vadot reg = <0 0xaff08000 0 0x8000>; 52*aa1a8ff2SEmmanuel Vadot no-map; 53*aa1a8ff2SEmmanuel Vadot }; 54*aa1a8ff2SEmmanuel Vadot 55*aa1a8ff2SEmmanuel Vadot vdev1vring0: vdev1vring0@aff10000 { 56*aa1a8ff2SEmmanuel Vadot reg = <0 0xaff10000 0 0x8000>; 57*aa1a8ff2SEmmanuel Vadot no-map; 58*aa1a8ff2SEmmanuel Vadot }; 59*aa1a8ff2SEmmanuel Vadot 60*aa1a8ff2SEmmanuel Vadot vdev1vring1: vdev1vring1@aff18000 { 61*aa1a8ff2SEmmanuel Vadot reg = <0 0xaff18000 0 0x8000>; 62*aa1a8ff2SEmmanuel Vadot no-map; 63*aa1a8ff2SEmmanuel Vadot }; 64*aa1a8ff2SEmmanuel Vadot 65*aa1a8ff2SEmmanuel Vadot vdevbuffer: vdevbuffer@a8400000 { 66*aa1a8ff2SEmmanuel Vadot compatible = "shared-dma-pool"; 67*aa1a8ff2SEmmanuel Vadot reg = <0 0xa8400000 0 0x100000>; 68*aa1a8ff2SEmmanuel Vadot no-map; 69*aa1a8ff2SEmmanuel Vadot }; 70*aa1a8ff2SEmmanuel Vadot }; 71*aa1a8ff2SEmmanuel Vadot 727ef62cebSEmmanuel Vadot clock_ext_rmii: clock-ext-rmii { 737ef62cebSEmmanuel Vadot compatible = "fixed-clock"; 747ef62cebSEmmanuel Vadot clock-frequency = <50000000>; 757ef62cebSEmmanuel Vadot clock-output-names = "ext_rmii_clk"; 767ef62cebSEmmanuel Vadot #clock-cells = <0>; 777ef62cebSEmmanuel Vadot }; 787ef62cebSEmmanuel Vadot 797ef62cebSEmmanuel Vadot clock_ext_ts: clock-ext-ts { 807ef62cebSEmmanuel Vadot compatible = "fixed-clock"; 817ef62cebSEmmanuel Vadot /* External ts clock is 50MHZ from PHY on EVK board. */ 827ef62cebSEmmanuel Vadot clock-frequency = <50000000>; 837ef62cebSEmmanuel Vadot clock-output-names = "ext_ts_clk"; 847ef62cebSEmmanuel Vadot #clock-cells = <0>; 857ef62cebSEmmanuel Vadot }; 86e67e8565SEmmanuel Vadot}; 87e67e8565SEmmanuel Vadot 88*aa1a8ff2SEmmanuel Vadot&cm33 { 89*aa1a8ff2SEmmanuel Vadot mbox-names = "tx", "rx", "rxdb"; 90*aa1a8ff2SEmmanuel Vadot mboxes = <&mu 0 1>, 91*aa1a8ff2SEmmanuel Vadot <&mu 1 1>, 92*aa1a8ff2SEmmanuel Vadot <&mu 3 1>; 93*aa1a8ff2SEmmanuel Vadot memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>, 94*aa1a8ff2SEmmanuel Vadot <&vdev1vring0>, <&vdev1vring1>, <&rsc_table>; 95*aa1a8ff2SEmmanuel Vadot status = "okay"; 96*aa1a8ff2SEmmanuel Vadot}; 97*aa1a8ff2SEmmanuel Vadot 98*aa1a8ff2SEmmanuel Vadot&flexspi2 { 99*aa1a8ff2SEmmanuel Vadot pinctrl-names = "default", "sleep"; 100*aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_flexspi2_ptd>; 101*aa1a8ff2SEmmanuel Vadot pinctrl-1 = <&pinctrl_flexspi2_ptd>; 102*aa1a8ff2SEmmanuel Vadot status = "okay"; 103*aa1a8ff2SEmmanuel Vadot 104*aa1a8ff2SEmmanuel Vadot mx25uw51345gxdi00: flash@0 { 105*aa1a8ff2SEmmanuel Vadot compatible = "jedec,spi-nor"; 106*aa1a8ff2SEmmanuel Vadot reg = <0>; 107*aa1a8ff2SEmmanuel Vadot spi-max-frequency = <200000000>; 108*aa1a8ff2SEmmanuel Vadot spi-tx-bus-width = <8>; 109*aa1a8ff2SEmmanuel Vadot spi-rx-bus-width = <8>; 110*aa1a8ff2SEmmanuel Vadot }; 111*aa1a8ff2SEmmanuel Vadot}; 112*aa1a8ff2SEmmanuel Vadot 113e67e8565SEmmanuel Vadot&lpuart5 { 114e67e8565SEmmanuel Vadot /* console */ 115e67e8565SEmmanuel Vadot pinctrl-names = "default", "sleep"; 116e67e8565SEmmanuel Vadot pinctrl-0 = <&pinctrl_lpuart5>; 117e67e8565SEmmanuel Vadot pinctrl-1 = <&pinctrl_lpuart5>; 118e67e8565SEmmanuel Vadot status = "okay"; 119e67e8565SEmmanuel Vadot}; 120e67e8565SEmmanuel Vadot 121*aa1a8ff2SEmmanuel Vadot&lpi2c7 { 122*aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 123*aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 124*aa1a8ff2SEmmanuel Vadot clock-frequency = <400000>; 125e67e8565SEmmanuel Vadot pinctrl-names = "default", "sleep"; 126*aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_lpi2c7>; 127*aa1a8ff2SEmmanuel Vadot pinctrl-1 = <&pinctrl_lpi2c7>; 128*aa1a8ff2SEmmanuel Vadot status = "okay"; 129*aa1a8ff2SEmmanuel Vadot 130*aa1a8ff2SEmmanuel Vadot pcal6408: gpio@21 { 131*aa1a8ff2SEmmanuel Vadot compatible = "nxp,pcal9554b"; 132*aa1a8ff2SEmmanuel Vadot reg = <0x21>; 133*aa1a8ff2SEmmanuel Vadot gpio-controller; 134*aa1a8ff2SEmmanuel Vadot #gpio-cells = <2>; 135*aa1a8ff2SEmmanuel Vadot }; 136*aa1a8ff2SEmmanuel Vadot}; 137*aa1a8ff2SEmmanuel Vadot 138*aa1a8ff2SEmmanuel Vadot&usdhc0 { 139*aa1a8ff2SEmmanuel Vadot pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep"; 140e67e8565SEmmanuel Vadot pinctrl-0 = <&pinctrl_usdhc0>; 141e67e8565SEmmanuel Vadot pinctrl-1 = <&pinctrl_usdhc0>; 142*aa1a8ff2SEmmanuel Vadot pinctrl-2 = <&pinctrl_usdhc0>; 143*aa1a8ff2SEmmanuel Vadot pinctrl-3 = <&pinctrl_usdhc0>; 144e67e8565SEmmanuel Vadot non-removable; 145e67e8565SEmmanuel Vadot bus-width = <8>; 146e67e8565SEmmanuel Vadot status = "okay"; 147e67e8565SEmmanuel Vadot}; 148e67e8565SEmmanuel Vadot 1497ef62cebSEmmanuel Vadot&fec { 1507ef62cebSEmmanuel Vadot pinctrl-names = "default", "sleep"; 1517ef62cebSEmmanuel Vadot pinctrl-0 = <&pinctrl_enet>; 1527ef62cebSEmmanuel Vadot pinctrl-1 = <&pinctrl_enet>; 1537ef62cebSEmmanuel Vadot clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>, 1547ef62cebSEmmanuel Vadot <&pcc4 IMX8ULP_CLK_ENET>, 1557ef62cebSEmmanuel Vadot <&cgc1 IMX8ULP_CLK_ENET_TS_SEL>, 1567ef62cebSEmmanuel Vadot <&clock_ext_rmii>; 1577ef62cebSEmmanuel Vadot clock-names = "ipg", "ahb", "ptp", "enet_clk_ref"; 1587ef62cebSEmmanuel Vadot assigned-clocks = <&cgc1 IMX8ULP_CLK_ENET_TS_SEL>; 1597ef62cebSEmmanuel Vadot assigned-clock-parents = <&clock_ext_ts>; 1607ef62cebSEmmanuel Vadot phy-mode = "rmii"; 1617ef62cebSEmmanuel Vadot phy-handle = <ðphy>; 1627ef62cebSEmmanuel Vadot status = "okay"; 1637ef62cebSEmmanuel Vadot 1647ef62cebSEmmanuel Vadot mdio { 1657ef62cebSEmmanuel Vadot #address-cells = <1>; 1667ef62cebSEmmanuel Vadot #size-cells = <0>; 1677ef62cebSEmmanuel Vadot 1687ef62cebSEmmanuel Vadot ethphy: ethernet-phy@1 { 1697ef62cebSEmmanuel Vadot reg = <1>; 1707ef62cebSEmmanuel Vadot micrel,led-mode = <1>; 1717ef62cebSEmmanuel Vadot }; 1727ef62cebSEmmanuel Vadot }; 1737ef62cebSEmmanuel Vadot}; 1747ef62cebSEmmanuel Vadot 175*aa1a8ff2SEmmanuel Vadot&mu { 176*aa1a8ff2SEmmanuel Vadot status = "okay"; 177*aa1a8ff2SEmmanuel Vadot}; 178*aa1a8ff2SEmmanuel Vadot 179e67e8565SEmmanuel Vadot&iomuxc1 { 1807ef62cebSEmmanuel Vadot pinctrl_enet: enetgrp { 1817ef62cebSEmmanuel Vadot fsl,pins = < 1827ef62cebSEmmanuel Vadot MX8ULP_PAD_PTE15__ENET0_MDC 0x43 1837ef62cebSEmmanuel Vadot MX8ULP_PAD_PTE14__ENET0_MDIO 0x43 1847ef62cebSEmmanuel Vadot MX8ULP_PAD_PTE17__ENET0_RXER 0x43 1857ef62cebSEmmanuel Vadot MX8ULP_PAD_PTE18__ENET0_CRS_DV 0x43 1867ef62cebSEmmanuel Vadot MX8ULP_PAD_PTF1__ENET0_RXD0 0x43 1877ef62cebSEmmanuel Vadot MX8ULP_PAD_PTE20__ENET0_RXD1 0x43 1887ef62cebSEmmanuel Vadot MX8ULP_PAD_PTE16__ENET0_TXEN 0x43 1897ef62cebSEmmanuel Vadot MX8ULP_PAD_PTE23__ENET0_TXD0 0x43 1907ef62cebSEmmanuel Vadot MX8ULP_PAD_PTE22__ENET0_TXD1 0x43 1917ef62cebSEmmanuel Vadot MX8ULP_PAD_PTE19__ENET0_REFCLK 0x43 1927ef62cebSEmmanuel Vadot MX8ULP_PAD_PTF10__ENET0_1588_CLKIN 0x43 1937ef62cebSEmmanuel Vadot >; 1947ef62cebSEmmanuel Vadot }; 1957ef62cebSEmmanuel Vadot 196*aa1a8ff2SEmmanuel Vadot pinctrl_flexspi2_ptd: flexspi2ptdgrp { 197*aa1a8ff2SEmmanuel Vadot fsl,pins = < 198*aa1a8ff2SEmmanuel Vadot 199*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD12__FLEXSPI2_A_SS0_B 0x42 200*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD13__FLEXSPI2_A_SCLK 0x42 201*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD14__FLEXSPI2_A_DATA3 0x42 202*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD15__FLEXSPI2_A_DATA2 0x42 203*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD16__FLEXSPI2_A_DATA1 0x42 204*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD17__FLEXSPI2_A_DATA0 0x42 205*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD18__FLEXSPI2_A_DQS 0x42 206*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD19__FLEXSPI2_A_DATA7 0x42 207*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD20__FLEXSPI2_A_DATA6 0x42 208*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD21__FLEXSPI2_A_DATA5 0x42 209*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD22__FLEXSPI2_A_DATA4 0x42 210*aa1a8ff2SEmmanuel Vadot >; 211*aa1a8ff2SEmmanuel Vadot }; 212*aa1a8ff2SEmmanuel Vadot 213e67e8565SEmmanuel Vadot pinctrl_lpuart5: lpuart5grp { 214e67e8565SEmmanuel Vadot fsl,pins = < 215e67e8565SEmmanuel Vadot MX8ULP_PAD_PTF14__LPUART5_TX 0x3 216e67e8565SEmmanuel Vadot MX8ULP_PAD_PTF15__LPUART5_RX 0x3 217e67e8565SEmmanuel Vadot >; 218e67e8565SEmmanuel Vadot }; 219e67e8565SEmmanuel Vadot 220*aa1a8ff2SEmmanuel Vadot pinctrl_lpi2c7: lpi2c7grp { 221*aa1a8ff2SEmmanuel Vadot fsl,pins = < 222*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTE12__LPI2C7_SCL 0x20 223*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTE13__LPI2C7_SDA 0x20 224*aa1a8ff2SEmmanuel Vadot >; 225*aa1a8ff2SEmmanuel Vadot }; 226*aa1a8ff2SEmmanuel Vadot 227e67e8565SEmmanuel Vadot pinctrl_usdhc0: usdhc0grp { 228e67e8565SEmmanuel Vadot fsl,pins = < 229*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD1__SDHC0_CMD 0x3 230*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD2__SDHC0_CLK 0x10002 231*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD10__SDHC0_D0 0x3 232*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD9__SDHC0_D1 0x3 233*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD8__SDHC0_D2 0x3 234*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD7__SDHC0_D3 0x3 235*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD6__SDHC0_D4 0x3 236*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD5__SDHC0_D5 0x3 237*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD4__SDHC0_D6 0x3 238*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD3__SDHC0_D7 0x3 239*aa1a8ff2SEmmanuel Vadot MX8ULP_PAD_PTD11__SDHC0_DQS 0x10002 240e67e8565SEmmanuel Vadot >; 241e67e8565SEmmanuel Vadot }; 242e67e8565SEmmanuel Vadot}; 243