1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Copyright 2021 NXP 3 * Copyright 2021 NXP 4 */ 4 */ 5 5 6 /dts-v1/; 6 /dts-v1/; 7 7 8 #include "imx8ulp.dtsi" 8 #include "imx8ulp.dtsi" 9 9 10 / { 10 / { 11 model = "NXP i.MX8ULP EVK"; 11 model = "NXP i.MX8ULP EVK"; 12 compatible = "fsl,imx8ulp-evk", "fsl,i 12 compatible = "fsl,imx8ulp-evk", "fsl,imx8ulp"; 13 13 14 chosen { 14 chosen { 15 stdout-path = &lpuart5; 15 stdout-path = &lpuart5; 16 }; 16 }; 17 17 18 memory@80000000 { 18 memory@80000000 { 19 device_type = "memory"; 19 device_type = "memory"; 20 reg = <0x0 0x80000000 0 0x8000 20 reg = <0x0 0x80000000 0 0x80000000>; 21 }; 21 }; 22 22 23 reserved-memory { 23 reserved-memory { 24 #address-cells = <2>; 24 #address-cells = <2>; 25 #size-cells = <2>; 25 #size-cells = <2>; 26 ranges; 26 ranges; 27 27 28 linux,cma { 28 linux,cma { 29 compatible = "shared-d 29 compatible = "shared-dma-pool"; 30 reusable; 30 reusable; 31 size = <0 0x28000000>; 31 size = <0 0x28000000>; 32 linux,cma-default; 32 linux,cma-default; 33 }; 33 }; 34 34 35 m33_reserved: noncacheable-sec 35 m33_reserved: noncacheable-section@a8600000 { 36 reg = <0 0xa8600000 0 36 reg = <0 0xa8600000 0 0x1000000>; 37 no-map; 37 no-map; 38 }; 38 }; 39 39 40 rsc_table: rsc-table@1fff8000 40 rsc_table: rsc-table@1fff8000 { 41 reg = <0 0x1fff8000 0 41 reg = <0 0x1fff8000 0 0x1000>; 42 no-map; 42 no-map; 43 }; 43 }; 44 44 45 vdev0vring0: vdev0vring0@aff00 45 vdev0vring0: vdev0vring0@aff00000 { 46 reg = <0 0xaff00000 0 46 reg = <0 0xaff00000 0 0x8000>; 47 no-map; 47 no-map; 48 }; 48 }; 49 49 50 vdev0vring1: vdev0vring1@aff08 50 vdev0vring1: vdev0vring1@aff08000 { 51 reg = <0 0xaff08000 0 51 reg = <0 0xaff08000 0 0x8000>; 52 no-map; 52 no-map; 53 }; 53 }; 54 54 55 vdev1vring0: vdev1vring0@aff10 55 vdev1vring0: vdev1vring0@aff10000 { 56 reg = <0 0xaff10000 0 56 reg = <0 0xaff10000 0 0x8000>; 57 no-map; 57 no-map; 58 }; 58 }; 59 59 60 vdev1vring1: vdev1vring1@aff18 60 vdev1vring1: vdev1vring1@aff18000 { 61 reg = <0 0xaff18000 0 61 reg = <0 0xaff18000 0 0x8000>; 62 no-map; 62 no-map; 63 }; 63 }; 64 64 65 vdevbuffer: vdevbuffer@a840000 65 vdevbuffer: vdevbuffer@a8400000 { 66 compatible = "shared-d 66 compatible = "shared-dma-pool"; 67 reg = <0 0xa8400000 0 67 reg = <0 0xa8400000 0 0x100000>; 68 no-map; 68 no-map; 69 }; 69 }; 70 }; 70 }; 71 71 72 clock_ext_rmii: clock-ext-rmii { 72 clock_ext_rmii: clock-ext-rmii { 73 compatible = "fixed-clock"; 73 compatible = "fixed-clock"; 74 clock-frequency = <50000000>; 74 clock-frequency = <50000000>; 75 clock-output-names = "ext_rmii 75 clock-output-names = "ext_rmii_clk"; 76 #clock-cells = <0>; 76 #clock-cells = <0>; 77 }; 77 }; 78 78 79 clock_ext_ts: clock-ext-ts { 79 clock_ext_ts: clock-ext-ts { 80 compatible = "fixed-clock"; 80 compatible = "fixed-clock"; 81 /* External ts clock is 50MHZ 81 /* External ts clock is 50MHZ from PHY on EVK board. */ 82 clock-frequency = <50000000>; 82 clock-frequency = <50000000>; 83 clock-output-names = "ext_ts_c 83 clock-output-names = "ext_ts_clk"; 84 #clock-cells = <0>; 84 #clock-cells = <0>; 85 }; 85 }; 86 }; 86 }; 87 87 88 &cm33 { 88 &cm33 { 89 mbox-names = "tx", "rx", "rxdb"; 89 mbox-names = "tx", "rx", "rxdb"; 90 mboxes = <&mu 0 1>, 90 mboxes = <&mu 0 1>, 91 <&mu 1 1>, 91 <&mu 1 1>, 92 <&mu 3 1>; 92 <&mu 3 1>; 93 memory-region = <&vdevbuffer>, <&vdev0 93 memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>, 94 <&vdev1vring0>, <&vdev 94 <&vdev1vring0>, <&vdev1vring1>, <&rsc_table>; 95 status = "okay"; 95 status = "okay"; 96 }; 96 }; 97 97 98 &flexspi2 { 98 &flexspi2 { 99 pinctrl-names = "default", "sleep"; 99 pinctrl-names = "default", "sleep"; 100 pinctrl-0 = <&pinctrl_flexspi2_ptd>; 100 pinctrl-0 = <&pinctrl_flexspi2_ptd>; 101 pinctrl-1 = <&pinctrl_flexspi2_ptd>; 101 pinctrl-1 = <&pinctrl_flexspi2_ptd>; 102 status = "okay"; 102 status = "okay"; 103 103 104 mx25uw51345gxdi00: flash@0 { 104 mx25uw51345gxdi00: flash@0 { 105 compatible = "jedec,spi-nor"; 105 compatible = "jedec,spi-nor"; 106 reg = <0>; 106 reg = <0>; 107 spi-max-frequency = <200000000 107 spi-max-frequency = <200000000>; 108 spi-tx-bus-width = <8>; 108 spi-tx-bus-width = <8>; 109 spi-rx-bus-width = <8>; 109 spi-rx-bus-width = <8>; 110 }; 110 }; 111 }; 111 }; 112 112 113 &lpuart5 { 113 &lpuart5 { 114 /* console */ 114 /* console */ 115 pinctrl-names = "default", "sleep"; 115 pinctrl-names = "default", "sleep"; 116 pinctrl-0 = <&pinctrl_lpuart5>; 116 pinctrl-0 = <&pinctrl_lpuart5>; 117 pinctrl-1 = <&pinctrl_lpuart5>; 117 pinctrl-1 = <&pinctrl_lpuart5>; 118 status = "okay"; 118 status = "okay"; 119 }; 119 }; 120 120 121 &lpi2c7 { 121 &lpi2c7 { 122 #address-cells = <1>; 122 #address-cells = <1>; 123 #size-cells = <0>; 123 #size-cells = <0>; 124 clock-frequency = <400000>; 124 clock-frequency = <400000>; 125 pinctrl-names = "default", "sleep"; 125 pinctrl-names = "default", "sleep"; 126 pinctrl-0 = <&pinctrl_lpi2c7>; 126 pinctrl-0 = <&pinctrl_lpi2c7>; 127 pinctrl-1 = <&pinctrl_lpi2c7>; 127 pinctrl-1 = <&pinctrl_lpi2c7>; 128 status = "okay"; 128 status = "okay"; 129 129 130 ptn5150_1: typec@1d { 130 ptn5150_1: typec@1d { 131 compatible = "nxp,ptn5150"; 131 compatible = "nxp,ptn5150"; 132 reg = <0x1d>; 132 reg = <0x1d>; 133 int-gpios = <&gpiof 3 IRQ_TYPE 133 int-gpios = <&gpiof 3 IRQ_TYPE_EDGE_FALLING>; 134 pinctrl-names = "default"; 134 pinctrl-names = "default"; 135 pinctrl-0 = <&pinctrl_typec1>; 135 pinctrl-0 = <&pinctrl_typec1>; 136 status = "disabled"; 136 status = "disabled"; 137 }; 137 }; 138 138 139 pcal6408: gpio@21 { 139 pcal6408: gpio@21 { 140 compatible = "nxp,pcal9554b"; 140 compatible = "nxp,pcal9554b"; 141 reg = <0x21>; 141 reg = <0x21>; 142 gpio-controller; 142 gpio-controller; 143 #gpio-cells = <2>; 143 #gpio-cells = <2>; 144 }; 144 }; 145 145 146 ptn5150_2: typec@3d { 146 ptn5150_2: typec@3d { 147 compatible = "nxp,ptn5150"; 147 compatible = "nxp,ptn5150"; 148 reg = <0x3d>; 148 reg = <0x3d>; 149 int-gpios = <&gpiof 5 IRQ_TYPE 149 int-gpios = <&gpiof 5 IRQ_TYPE_EDGE_FALLING>; 150 pinctrl-names = "default"; 150 pinctrl-names = "default"; 151 pinctrl-0 = <&pinctrl_typec2>; 151 pinctrl-0 = <&pinctrl_typec2>; 152 status = "disabled"; 152 status = "disabled"; 153 }; 153 }; 154 }; 154 }; 155 155 156 &usbotg1 { 156 &usbotg1 { 157 pinctrl-names = "default"; 157 pinctrl-names = "default"; 158 pinctrl-0 = <&pinctrl_usb1>; 158 pinctrl-0 = <&pinctrl_usb1>; 159 dr_mode = "otg"; 159 dr_mode = "otg"; 160 hnp-disable; 160 hnp-disable; 161 srp-disable; 161 srp-disable; 162 adp-disable; 162 adp-disable; 163 over-current-active-low; 163 over-current-active-low; 164 status = "okay"; 164 status = "okay"; 165 }; 165 }; 166 166 167 &usbphy1 { 167 &usbphy1 { 168 fsl,tx-d-cal = <110>; 168 fsl,tx-d-cal = <110>; 169 status = "okay"; 169 status = "okay"; 170 }; 170 }; 171 171 172 &usbmisc1 { 172 &usbmisc1 { 173 status = "okay"; 173 status = "okay"; 174 }; 174 }; 175 175 176 &usbotg2 { 176 &usbotg2 { 177 pinctrl-names = "default"; 177 pinctrl-names = "default"; 178 pinctrl-0 = <&pinctrl_usb2>; 178 pinctrl-0 = <&pinctrl_usb2>; 179 dr_mode = "otg"; 179 dr_mode = "otg"; 180 hnp-disable; 180 hnp-disable; 181 srp-disable; 181 srp-disable; 182 adp-disable; 182 adp-disable; 183 over-current-active-low; 183 over-current-active-low; 184 status = "okay"; 184 status = "okay"; 185 }; 185 }; 186 186 187 &usbphy2 { 187 &usbphy2 { 188 fsl,tx-d-cal = <110>; 188 fsl,tx-d-cal = <110>; 189 status = "okay"; 189 status = "okay"; 190 }; 190 }; 191 191 192 &usbmisc2 { 192 &usbmisc2 { 193 status = "okay"; 193 status = "okay"; 194 }; 194 }; 195 195 196 &usdhc0 { 196 &usdhc0 { 197 pinctrl-names = "default", "state_100m 197 pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep"; 198 pinctrl-0 = <&pinctrl_usdhc0>; 198 pinctrl-0 = <&pinctrl_usdhc0>; 199 pinctrl-1 = <&pinctrl_usdhc0>; 199 pinctrl-1 = <&pinctrl_usdhc0>; 200 pinctrl-2 = <&pinctrl_usdhc0>; 200 pinctrl-2 = <&pinctrl_usdhc0>; 201 pinctrl-3 = <&pinctrl_usdhc0>; 201 pinctrl-3 = <&pinctrl_usdhc0>; 202 non-removable; 202 non-removable; 203 bus-width = <8>; 203 bus-width = <8>; 204 status = "okay"; 204 status = "okay"; 205 }; 205 }; 206 206 207 &fec { 207 &fec { 208 pinctrl-names = "default", "sleep"; 208 pinctrl-names = "default", "sleep"; 209 pinctrl-0 = <&pinctrl_enet>; 209 pinctrl-0 = <&pinctrl_enet>; 210 pinctrl-1 = <&pinctrl_enet>; 210 pinctrl-1 = <&pinctrl_enet>; 211 clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBU 211 clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>, 212 <&pcc4 IMX8ULP_CLK_ENET>, 212 <&pcc4 IMX8ULP_CLK_ENET>, 213 <&cgc1 IMX8ULP_CLK_ENET_TS_SE 213 <&cgc1 IMX8ULP_CLK_ENET_TS_SEL>, 214 <&clock_ext_rmii>; 214 <&clock_ext_rmii>; 215 clock-names = "ipg", "ahb", "ptp", "en 215 clock-names = "ipg", "ahb", "ptp", "enet_clk_ref"; 216 assigned-clocks = <&cgc1 IMX8ULP_CLK_E 216 assigned-clocks = <&cgc1 IMX8ULP_CLK_ENET_TS_SEL>; 217 assigned-clock-parents = <&clock_ext_t 217 assigned-clock-parents = <&clock_ext_ts>; 218 phy-mode = "rmii"; 218 phy-mode = "rmii"; 219 phy-handle = <ðphy>; 219 phy-handle = <ðphy>; 220 status = "okay"; 220 status = "okay"; 221 221 222 mdio { 222 mdio { 223 #address-cells = <1>; 223 #address-cells = <1>; 224 #size-cells = <0>; 224 #size-cells = <0>; 225 225 226 ethphy: ethernet-phy@1 { 226 ethphy: ethernet-phy@1 { 227 reg = <1>; 227 reg = <1>; 228 micrel,led-mode = <1>; 228 micrel,led-mode = <1>; 229 }; 229 }; 230 }; 230 }; 231 }; 231 }; 232 232 233 &mu { 233 &mu { 234 status = "okay"; 234 status = "okay"; 235 }; 235 }; 236 236 237 &iomuxc1 { 237 &iomuxc1 { 238 pinctrl_enet: enetgrp { 238 pinctrl_enet: enetgrp { 239 fsl,pins = < 239 fsl,pins = < 240 MX8ULP_PAD_PTE15__ENET 240 MX8ULP_PAD_PTE15__ENET0_MDC 0x43 241 MX8ULP_PAD_PTE14__ENET 241 MX8ULP_PAD_PTE14__ENET0_MDIO 0x43 242 MX8ULP_PAD_PTE17__ENET 242 MX8ULP_PAD_PTE17__ENET0_RXER 0x43 243 MX8ULP_PAD_PTE18__ENET 243 MX8ULP_PAD_PTE18__ENET0_CRS_DV 0x43 244 MX8ULP_PAD_PTF1__ENET0 244 MX8ULP_PAD_PTF1__ENET0_RXD0 0x43 245 MX8ULP_PAD_PTE20__ENET 245 MX8ULP_PAD_PTE20__ENET0_RXD1 0x43 246 MX8ULP_PAD_PTE16__ENET 246 MX8ULP_PAD_PTE16__ENET0_TXEN 0x43 247 MX8ULP_PAD_PTE23__ENET 247 MX8ULP_PAD_PTE23__ENET0_TXD0 0x43 248 MX8ULP_PAD_PTE22__ENET 248 MX8ULP_PAD_PTE22__ENET0_TXD1 0x43 249 MX8ULP_PAD_PTE19__ENET 249 MX8ULP_PAD_PTE19__ENET0_REFCLK 0x43 250 MX8ULP_PAD_PTF10__ENET 250 MX8ULP_PAD_PTF10__ENET0_1588_CLKIN 0x43 251 >; 251 >; 252 }; 252 }; 253 253 254 pinctrl_flexspi2_ptd: flexspi2ptdgrp { 254 pinctrl_flexspi2_ptd: flexspi2ptdgrp { 255 fsl,pins = < 255 fsl,pins = < 256 256 257 MX8ULP_PAD_PTD12__FLEX 257 MX8ULP_PAD_PTD12__FLEXSPI2_A_SS0_B 0x42 258 MX8ULP_PAD_PTD13__FLEX 258 MX8ULP_PAD_PTD13__FLEXSPI2_A_SCLK 0x42 259 MX8ULP_PAD_PTD14__FLEX 259 MX8ULP_PAD_PTD14__FLEXSPI2_A_DATA3 0x42 260 MX8ULP_PAD_PTD15__FLEX 260 MX8ULP_PAD_PTD15__FLEXSPI2_A_DATA2 0x42 261 MX8ULP_PAD_PTD16__FLEX 261 MX8ULP_PAD_PTD16__FLEXSPI2_A_DATA1 0x42 262 MX8ULP_PAD_PTD17__FLEX 262 MX8ULP_PAD_PTD17__FLEXSPI2_A_DATA0 0x42 263 MX8ULP_PAD_PTD18__FLEX 263 MX8ULP_PAD_PTD18__FLEXSPI2_A_DQS 0x42 264 MX8ULP_PAD_PTD19__FLEX 264 MX8ULP_PAD_PTD19__FLEXSPI2_A_DATA7 0x42 265 MX8ULP_PAD_PTD20__FLEX 265 MX8ULP_PAD_PTD20__FLEXSPI2_A_DATA6 0x42 266 MX8ULP_PAD_PTD21__FLEX 266 MX8ULP_PAD_PTD21__FLEXSPI2_A_DATA5 0x42 267 MX8ULP_PAD_PTD22__FLEX 267 MX8ULP_PAD_PTD22__FLEXSPI2_A_DATA4 0x42 268 >; 268 >; 269 }; 269 }; 270 270 271 pinctrl_lpuart5: lpuart5grp { 271 pinctrl_lpuart5: lpuart5grp { 272 fsl,pins = < 272 fsl,pins = < 273 MX8ULP_PAD_PTF14__LPUA 273 MX8ULP_PAD_PTF14__LPUART5_TX 0x3 274 MX8ULP_PAD_PTF15__LPUA 274 MX8ULP_PAD_PTF15__LPUART5_RX 0x3 275 >; 275 >; 276 }; 276 }; 277 277 278 pinctrl_lpi2c7: lpi2c7grp { 278 pinctrl_lpi2c7: lpi2c7grp { 279 fsl,pins = < 279 fsl,pins = < 280 MX8ULP_PAD_PTE12__LPI2 280 MX8ULP_PAD_PTE12__LPI2C7_SCL 0x20 281 MX8ULP_PAD_PTE13__LPI2 281 MX8ULP_PAD_PTE13__LPI2C7_SDA 0x20 282 >; 282 >; 283 }; 283 }; 284 284 285 pinctrl_typec1: typec1grp { 285 pinctrl_typec1: typec1grp { 286 fsl,pins = < 286 fsl,pins = < 287 MX8ULP_PAD_PTF3__PTF3 287 MX8ULP_PAD_PTF3__PTF3 0x3 288 >; 288 >; 289 }; 289 }; 290 290 291 pinctrl_typec2: typec2grp { 291 pinctrl_typec2: typec2grp { 292 fsl,pins = < 292 fsl,pins = < 293 MX8ULP_PAD_PTF5__PTF5 293 MX8ULP_PAD_PTF5__PTF5 0x3 294 >; 294 >; 295 }; 295 }; 296 296 297 pinctrl_usb1: usb1grp { 297 pinctrl_usb1: usb1grp { 298 fsl,pins = < 298 fsl,pins = < 299 MX8ULP_PAD_PTF2__USB0_ 299 MX8ULP_PAD_PTF2__USB0_ID 0x10003 300 MX8ULP_PAD_PTF4__USB0_ 300 MX8ULP_PAD_PTF4__USB0_OC 0x10003 301 >; 301 >; 302 }; 302 }; 303 303 304 pinctrl_usb2: usb2grp { 304 pinctrl_usb2: usb2grp { 305 fsl,pins = < 305 fsl,pins = < 306 MX8ULP_PAD_PTD23__USB1 306 MX8ULP_PAD_PTD23__USB1_ID 0x10003 307 MX8ULP_PAD_PTF6__USB1_ 307 MX8ULP_PAD_PTF6__USB1_OC 0x10003 308 >; 308 >; 309 }; 309 }; 310 310 311 pinctrl_usdhc0: usdhc0grp { 311 pinctrl_usdhc0: usdhc0grp { 312 fsl,pins = < 312 fsl,pins = < 313 MX8ULP_PAD_PTD1__SDHC0 313 MX8ULP_PAD_PTD1__SDHC0_CMD 0x3 314 MX8ULP_PAD_PTD2__SDHC0 314 MX8ULP_PAD_PTD2__SDHC0_CLK 0x10002 315 MX8ULP_PAD_PTD10__SDHC 315 MX8ULP_PAD_PTD10__SDHC0_D0 0x3 316 MX8ULP_PAD_PTD9__SDHC0 316 MX8ULP_PAD_PTD9__SDHC0_D1 0x3 317 MX8ULP_PAD_PTD8__SDHC0 317 MX8ULP_PAD_PTD8__SDHC0_D2 0x3 318 MX8ULP_PAD_PTD7__SDHC0 318 MX8ULP_PAD_PTD7__SDHC0_D3 0x3 319 MX8ULP_PAD_PTD6__SDHC0 319 MX8ULP_PAD_PTD6__SDHC0_D4 0x3 320 MX8ULP_PAD_PTD5__SDHC0 320 MX8ULP_PAD_PTD5__SDHC0_D5 0x3 321 MX8ULP_PAD_PTD4__SDHC0 321 MX8ULP_PAD_PTD4__SDHC0_D6 0x3 322 MX8ULP_PAD_PTD3__SDHC0 322 MX8ULP_PAD_PTD3__SDHC0_D7 0x3 323 MX8ULP_PAD_PTD11__SDHC 323 MX8ULP_PAD_PTD11__SDHC0_DQS 0x10002 324 >; 324 >; 325 }; 325 }; 326 }; 326 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.