1.. zephyr:board:: mimxrt1180_evk 2 3Overview 4******** 5 6The dual core i.MX RT1180 runs on the Cortex-M33 core at 240 MHz and on the 7Cortex-M7 at 792 MHz. The i.MX RT1180 MCU offers support over a wide 8temperature range and is qualified for consumer, industrial and automotive 9markets. 10 11Hardware 12******** 13 14- MIMXRT1189CVM8B MCU 15 16 - 240MHz Cortex-M33 & 792Mhz Cortex-M7 17 - 1.5MB SRAM with 512KB of TCM for Cortex-M7 and 256KB of TCM for Cortex-M4 18 19- Memory 20 21 - 512 Mbit SDRAM 22 - 128 Mbit QSPI Flash 23 - 512 Mbit HYPER RAM 24 - TF socket for SD card 25 26- Ethernet 27 28 - 1000 Mbit/s Ethernet PHY 29 30- USB 31 32 - 2* USB 2.0 OTG connector 33 34- Audio 35 36 - 3.5 mm audio stereo headphone jack 37 - Board-mounted microphone 38 - Left and right speaker out connectors 39 40- Power 41 42 - 5 V DC jack 43 44- Debug 45 46 - JTAG 20-pin connector 47 - MCU-Link with DAPLink 48 49- Expansion port 50 51 - Arduino interface 52 53- CAN bus connector 54 55For more information about the MIMXRT1180 SoC and MIMXRT1180-EVK board, see 56these references: 57 58- `i.MX RT1180 Website`_ 59- `MIMXRT1180-EVK Website`_ 60 61External Memory 62=============== 63 64This platform has the following external memories: 65 66+--------------------+------------+-------------------------------------+ 67| Device | Controller | Status | 68+====================+============+=====================================+ 69| W9825G6KH | SEMC | Enabled via device configuration | 70| | | data block, which sets up SEMC at | 71| | | boot time | 72+--------------------+------------+-------------------------------------+ 73| W25Q128JWSIQ | FLEXSPI | Enabled via flash configuration | 74| | | block, which sets up FLEXSPI at | 75| | | boot time. | 76+--------------------+------------+-------------------------------------+ 77 78Supported Features 79================== 80 81NXP considers the MIMXRT1180-EVK as the superset board for the i.MX RT118x 82family of MCUs. This board is a focus for NXP's Full Platform Support for 83Zephyr, to better enable the entire RT118x family. NXP prioritizes enabling 84this board with new support for Zephyr features. The mimxrt1180_evk board 85configuration supports the following hardware features: 86 87+-----------+------------+-------------------------------------+ 88| Interface | Controller | Driver/Component | 89+===========+============+=====================================+ 90| NVIC | on-chip | nested vector interrupt controller | 91+-----------+------------+-------------------------------------+ 92| SYSTICK | on-chip | systick | 93+-----------+------------+-------------------------------------+ 94| GPIO | on-chip | gpio | 95+-----------+------------+-------------------------------------+ 96| GPT | on-chip | counter | 97+-----------+------------+-------------------------------------+ 98| QTMR | on-chip | counter | 99+-----------+------------+-------------------------------------+ 100| UART | on-chip | serial port-polling; | 101| | | serial port-interrupt | 102+-----------+------------+-------------------------------------+ 103| I2C | on-chip | i2c | 104+-----------+------------+-------------------------------------+ 105| ACMP | on-chip | sensor | 106+-----------+------------+-------------------------------------+ 107| ADC | on-chip | adc | 108+-----------+------------+-------------------------------------+ 109| NETC | on-chip | dsa, ethernet, mdio | 110+-----------+------------+-------------------------------------+ 111| CAN | on-chip | can | 112+-----------+------------+-------------------------------------+ 113| LPTMR | on-chip | counter | 114+-----------+------------+-------------------------------------+ 115| FLEXSPI | on-chip | flash programming | 116+-----------+------------+-------------------------------------+ 117| PWM | on-chip | pwm | 118+-----------+------------+-------------------------------------+ 119| PWM | on-chip | tpm | 120+-----------+------------+-------------------------------------+ 121| I3C | on-chip | i3c | 122+-----------+------------+-------------------------------------+ 123| DMA | on-chip | dma | 124+-----------+------------+-------------------------------------+ 125| SPI | on-chip | spi | 126+-----------+------------+-------------------------------------+ 127| RTWDOG | on-chip | rtwdog | 128+-----------+------------+-------------------------------------+ 129| HWINFO | on-chip | Unique device serial number | 130+-----------+------------+-------------------------------------+ 131| USB | on-chip | USB device | 132+-----------+------------+-------------------------------------+ 133| SDHC | on-chip | SD host controller | 134+-----------+------------+-------------------------------------+ 135 136The default configuration can be found in the defconfig file: 137:zephyr_file:`boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33_defconfig` 138 139Other hardware features are not currently supported by the port. 140 141 142Connections and I/Os 143==================== 144 145The MIMXRT1180 SoC has six pairs of pinmux/gpio controllers. 146 147+---------------+-----------------+---------------------------+ 148| Name | Function | Usage | 149+===============+=================+===========================+ 150| GPIO_AON_04 | GPIO | SW8 | 151+---------------+-----------------+---------------------------+ 152| GPIO_AD_27 | GPIO | LED | 153+---------------+-----------------+---------------------------+ 154| GPIO_AON_08 | LPUART1_TX | UART Console M33 core | 155+---------------+-----------------+---------------------------+ 156| GPIO_AON_09 | LPUART1_RX | UART Console M33 core | 157+---------------+---------------------------------------------+ 158| GPIO_AON_19 | LPUART12_TX | UART Console M7 core | 159+---------------+-----------------+---------------------------+ 160| GPIO_AON_20 | LPUART12_RX | UART Console M7 core | 161+---------------+-----------------+---------------------------+ 162| GPIO_SD_B1_00 | SPI1_CS0 | spi | 163+---------------+---------------------------------------------+ 164| GPIO_SD_B1_01 | SPI1_CLK | spi | 165+---------------+---------------------------------------------+ 166| GPIO_SD_B1_02 | SPI1_SDO | spi | 167+---------------+---------------------------------------------+ 168| GPIO_SD_B1_03 | SPI1_SDI | spi | 169+---------------+-----------------+---------------------------+ 170 171UART for M7 core is connected to USB-to-UART J60 connector. 172Or user can use open JP7 Jumper to enable second UART on MCU LINK J53 connector. 173 174System Clock 175============ 176 177The MIMXRT1180 SoC is configured to use SysTick as the system clock source, 178running at 240MHz. When targeting the M7 core, SysTick will also be used, 179running at 792MHz 180 181Serial Port 182=========== 183 184The MIMXRT1180 SoC has 12 UARTs. LPUART1 is configured for the CM33 console, the LPUART12 is 185configured for the CM7 console core and the remaining are not used. 186 187Ethernet 188======== 189 190NETC Ethernet driver supports to manage the Physical Station Interface (PSI). 191NETC DSA driver supports to manage switch ports. Current DSA support is with 192limitation that only switch function is available without management via 193DSA master port. DSA master port support is TODO work. 194 195.. code-block:: none 196 197 +--------+ +--------+ 198 | ENETC1 | | ENETC0 | 199 | | | | 200 | Pseudo | | 1G | 201 | MAC | | MAC | 202 +--------+ +--------+ 203 | zero copy interface | 204 +-------------- +--------+----------------+ | 205 | | Pseudo | | | 206 | | MAC | | | 207 | | | | | 208 | | Port 4 | | | 209 | +--------+ | | 210 | SWITCH CORE | | 211 +--------+ +--------+ +--------+ +--------+ | 212 | Port 0 | | Port 1 | | Port 2 | | Port 3 | | 213 | | | | | | | | | 214 | 1G | | 1G | | 1G | | 1G | | 215 | MAC | | MAC | | MAC | | MAC | | 216 +--------+-+--------+-+--------+-+--------+ | 217 | | | | | 218 NETC External Interfaces (4 switch ports, 1 end-point port) 219 220Programming and Debugging 221************************* 222 223Build and flash applications as usual (see :ref:`build_an_application` and 224:ref:`application_run` for more details). 225 226Configuring a Debug Probe 227========================= 228 229LinkServer is the default runner for this board. 230A debug probe is used for both flashing and debugging the board. This board is 231configured by default to use the :ref:`mcu-link-cmsis-onboard-debug-probe`. 232The :ref:`pyocd-debug-host-tools` do not yet support programming the 233external flashes on this board. Use one of the other supported debug probes 234below. 235 236.. _Using J-Link RT1180: 237 238Using J-Link 239------------ 240 241Please ensure to use a version of JLINK above V7.94g and jumper JP5 is installed if using 242external jlink plus on J37 as debugger. 243 244When debugging cm33 core, need to ensure the SW5 on "0100" mode. 245When debugging cm7 core, need to ensure the SW5 on "0001" mode. 246(Only support run cm7 image when debugging due to default boot core on board is cm33 core) 247 248Install the :ref:`jlink-debug-host-tools` and make sure they are in your search 249path. 250 251There are two options: the onboard debug circuit can be updated with Segger 252J-Link firmware, or :ref:`jlink-external-debug-probe` can be attached to the 253EVK. 254 255 256Using Linkserver 257---------------- 258 259Please ensure to use a version of Linkserver above V1.5.30 and jumper JP5 is uninstalled (default setting). 260 261When debugging cm33 core, need to ensure the SW5 on "0100" mode. 262When debugging cm7 core, need to ensure the SW5 on "0001" mode. 263(Only support run cm7 image when debugging due to default boot core on board is cm33 core) 264 265Dual Core samples Debugging 266*************************** 267 268When debugging dual core samples, need to ensure the SW5 on "0100" mode. 269The CM33 core is responsible for copying and starting the CM7. 270To debug the CM7 it is useful to put infinite while loop either in reset vector or 271into main function and attach via debugger to CM7 core. 272 273CM7 core can be started again only after reset, so after flashing ensure to reset board. 274 275Configuring a Console 276===================== 277 278Regardless of your choice in debug probe, we will use the MCU-Link 279microcontroller as a usb-to-serial adapter for the serial console. Check that 280jumpers JP5 and JP3 are **on** (they are on by default when boards ship from 281the factory) to connect UART signals to the MCU-Link microcontroller. 282 283Connect a USB cable from your PC to J53. 284 285Use the following settings with your serial terminal of choice (minicom, putty, 286etc.): 287 288- Speed: 115200 289- Data: 8 bits 290- Parity: None 291- Stop bits: 1 292 293Flashing 294======== 295 296Here is an example for the :zephyr:code-sample:`hello_world` application on cm33 core. 297 298Before power on the board, make sure SW5 is set to 0100b 299 300.. zephyr-app-commands:: 301 :zephyr-app: samples/hello_world 302 :board: mimxrt1180_evk/mimxrt1189/cm33 303 :goals: flash 304 305Power off the board, then power on the board and 306open a serial terminal, reset the board (press the SW3 button), and you should 307see the following message in the terminal: 308 309.. code-block:: console 310 311 ***** Booting Zephyr OS v3.7.0-xxx-xxxxxxxxxxxxx ***** 312 Hello World! mimxrt1180_evk/mimxrt1189/cm33 313 314Debugging 315========= 316 317Here is an example for the :zephyr:code-sample:`hello_world` application. 318 319.. zephyr-app-commands:: 320 :zephyr-app: samples/hello_world 321 :board: mimxrt1180_evk/mimxrt1189/cm33 322 :goals: debug 323 324Open a serial terminal, step through the application in your debugger, and you 325should see the following message in the terminal: 326 327.. code-block:: console 328 329 ***** Booting Zephyr OS v3.7.0-xxx-xxxxxxxxxxxxx ***** 330 Hello World! mimxrt1180_evk/mimxrt1189/cm33 331 332.. include:: ../../common/board-footer.rst 333 :start-after: nxp-board-footer 334 335.. _MIMXRT1180-EVK Website: 336 https://www.nxp.com/design/design-center/development-boards-and-designs/i-mx-evaluation-and-development-boards/i-mx-rt1180-evaluation-kit:MIMXRT1180-EVK 337 338.. _i.MX RT1180 Website: 339 https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/i-mx-rt-crossover-mcus/i-mx-rt1180-crossover-mcu-with-tsn-switch-and-edgelock:i.MX-RT1180 340