MIMXRT1060-EVK

Overview

The i.MX RT1060 adds to the industry’s first crossover processor series and expands the i.MX RT series to three scalable families.

The i.MX RT1060 doubles the On-Chip SRAM to 1MB while keeping pin-to-pin compatibility with i.MX RT1050. This series introduces additional features ideal for real-time applications such as High-Speed GPIO, CAN FD, and synchronous parallel NAND/NOR/PSRAM controller. The i.MX RT1060 runs on the Arm® Cortex-M7® core up to 600 MHz.

Hardware

  • MIMXRT1062DVL6A MCU (600 MHz, 1024 KB on-chip memory)

  • Memory

    • 256 Mbit SDRAM

    • 64 Mbit QSPI Flash

    • 512 Mbit Hyper Flash

    • TF socket for SD card

  • Display

    • LCD connector

  • Ethernet

    • 10/100 Mbit/s Ethernet PHY

  • USB

    • USB 2.0 OTG connector

    • USB 2.0 host connector

  • Audio

    • 3.5 mm audio stereo headphone jack

    • Board-mounted microphone

    • Left and right speaker out connectors

  • Power

    • 5 V DC jack

  • Debug

    • JTAG 20-pin connector

    • OpenSDA with DAPLink

  • Sensor

    • FXOS8700CQ 6-axis e-compass

    • CMOS camera sensor interface

  • Expansion port

    • Arduino interface

  • CAN bus connector

For more information about the MIMXRT1060 SoC and MIMXRT1060-EVK board, see these references:

External Memory

This platform has the following external memories:

Device

Controller

Status

IS25WP064AJBLE

SEMC

Enabled via device configuration data block, which sets up SEMC at boot time

IS42S16160J

FLEXSPI

Enabled via flash configuration block, which sets up FLEXSPI at boot time.

Supported Features

The mimxrt1060_evk board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
mimxrt1060_evk
@
/

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M7 CPU1

arm,cortex-m7

ADC

on-chip

NXP MCUA 12B1MSPS SAR ADC1 1

nxp,mcux-12b1msps-sar

ARM architecture

on-chip

MCUX XBAR (Crossbar)3

nxp,mcux-xbar

CAN

on-chip

NXP FlexCAN controller2

nxp,flexcan

on-chip

NXP FlexCAN CANFD controller1

nxp,flexcan-fd

Clock control

on-chip

i.MX CCM (Clock Controller Module) IP node1

nxp,imx-ccm

on-chip

Generic fixed factor clock provider3

fixed-factor-clock

on-chip

i.MX CCM Fractional PLL1

nxp,imx-ccm-fnpll

on-chip

i.MX ANATOP (Analog Clock Controller Module) IP node1

nxp,imx-anatop

on-chip

Generic fixed-rate clock provider4

fixed-clock

Counter

on-chip

NXP MCUX Quad Timer (QTMR)4

nxp,imx-qtmr

on-chip

NXP MCUX Quad Timer Channel16

nxp,imx-tmr

on-chip

NXP Periodic Interrupt Timer (PIT)1

nxp,pit

on-chip

Child node for the Periodic Interrupt Timer node, intended for an individual timer channel4

nxp,pit-channel

Cryptographic accelerator

on-chip

NXP Data Co-Processor (DCP) Crypto accelerator1

nxp,mcux-dcp

Debug

on-chip

ARMv7 instrumentation trace macrocell1

arm,armv7m-itm

Display

on-chip

NXP i.MX eLCDIF (Enhanced LCD Interface) controller1

nxp,imx-elcdif

DMA

on-chip

NXP MCUX EDMA controller1

nxp,mcux-edma

on-chip

NXP PXP 2D DMA engine1

nxp,pxp

Ethernet

on-chip

NXP ENET IP Module2

nxp,enet

on-chip

NXP ENET MAC/L2 Device1 1

nxp,enet-mac

on-board

Microchip KSZ8081 Ethernet PHY device1

microchip,ksz8081

on-chip

NXP ENET PTP (Precision Time Protocol) Clock1 1

nxp,enet-ptp-clock

GPIO & Headers

on-chip

i.MX GPIO9

nxp,imx-gpio

on-board

GPIO pins exposed on NXP LCD interface1

nxp,parallel-lcd-connector

on-board

GPIO pins exposed on NXP LCD touch controller interface1

nxp,i2c-tsc-fpc

on-board

GPIO pins exposed on Arduino Uno (R3) headers1

arduino-header-r3

I2C

on-chip

NXP LPI2C controller1 3

nxp,lpi2c

I2S

on-chip

NXP mcux SAI-I2S controller1 2

nxp,mcux-i2s

Input

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

ARMv7-M NVIC (Nested Vectored Interrupt Controller)1

arm,v7m-nvic

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

on-board

Group of PWM-controlled LEDs1

pwm-leds

MDIO

on-chip

NXP ENET MDIO Features1 1

nxp,enet-mdio

Memory controller

on-chip

NXP FlexRAM on-chip ram controller If the flexram,bank-spec property is specified, then the flexram will be dynamically reconfigured to the configuration specified at runtime1

nxp,flexram

on-chip

NXP Smart External Memory Controller (SEMC)1

nxp,imx-semc

Miscellaneous

on-chip

NXP FlexIO controller3

nxp,flexio

MMU / MPU

on-chip

ARMv7-M Memory Protection Unit (MPU)1

arm,armv7m-mpu

MTD

on-board

NXP FlexSPI NOR1

nxp,imx-flexspi-nor

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

Pin control

on-chip

This compatible binding should be applied to the device’s iomuxc DTS node1

nxp,imx-iomuxc

on-chip

The node has the ‘pinctrl’ node label set in MCUX RT SoC’s devicetree1

nxp,mcux-rt-pinctrl

on-chip

i.MX IOMUXC1

nxp,imx-gpr

PWM

on-chip

NXP eFLEX PWM module with mcux-pwm submodules4

nxp,flexpwm

on-chip

NXP MCUX PWM1 15

nxp,imx-pwm

RNG

on-chip

Kinetis TRNG (True Random Number Generator)1

nxp,kinetis-trng

RTC

on-chip

NXP SNVS LP/HP RTC1

nxp,imx-snvs-rtc

SDHC

on-chip

NXP imx USDHC controller1 1

nxp,imx-usdhc

Sensors

on-chip

NXP MCUX QDEC4

nxp,mcux-qdec

on-chip

NXP on-die temperature monitor1

nxp,tempmon

Serial controller

on-chip

NXP LPUART1 7

nxp,lpuart

SPI

on-chip

NXP FlexSPI controller1 1

nxp,imx-flexspi

on-chip

NXP LPSPI controller2 2

nxp,lpspi

Timer

on-chip

ARMv7-M System Tick1

arm,armv7m-systick

on-chip

NXP MCUX General-Purpose HW Timer (GPT)1

nxp,gpt-hw-timer

on-chip

NXP MCUX General-Purpose Timer (GPT)1

nxp,imx-gpt

USB

on-chip

NXP EHCI USB device mode1 1

nxp,ehci

on-chip

NXP USB high speed phy that is used on NXP RTxxxx, RTxxx, MCX, LPC and Kinetis platforms if high speed usb is supported on these platforms1 1

nxp,usbphy

Video

on-chip

NXP MCUX CMOS sensor interface1

nxp,imx-csi

Watchdog

on-chip

imxRT watchdog1 1

nxp,imx-wdog

Note

For additional features not yet supported, please also refer to the MIMXRT1064-EVK , which is the superset board in NXP’s i.MX RT10xx family. NXP prioritizes enabling the superset board with NXP’s Full Platform Support for Zephyr. Therefore, the mimxrt1064_evk board may have additional features already supported, which can also be re-used on this mimxrt1060_evk board.

Connections and I/Os

The MIMXRT1060 SoC has five pairs of pinmux/gpio controllers.

Name

Function

Usage

GPIO_AD_B0_00

LPSPI1_SCK

SPI

GPIO_AD_B0_01

LPSPI1_SDO

SPI

GPIO_AD_B0_02

LPSPI3_SDI/LCD_RST| SPI/LCD Display

GPIO_AD_B0_03

LPSPI3_PCS0

SPI

GPIO_AD_B0_05

GPIO

SD Card

GPIO_AD_B0_09

GPIO/ENET_RST

LED

GPIO_AD_B0_10

GPIO/ENET_INT

GPIO/Ethernet

GPIO_AD_B0_11

GPIO

Touch Interrupt

GPIO_AD_B0_12

LPUART1_TX

UART Console

GPIO_AD_B0_13

LPUART1_RX

UART Console

GPIO_AD_B1_00

LPI2C1_SCL

I2C

GPIO_AD_B1_01

LPI2C1_SDA

I2C

GPIO_AD_B1_06

LPUART3_TX

UART BT HCI

GPIO_AD_B1_07

LPUART3_RX

UART BT HCI

WAKEUP

GPIO

SW0

GPIO_B0_00

LCD_CLK

LCD Display

GPIO_B0_01

LCD_ENABLE

LCD Display

GPIO_B0_02

LCD_HSYNC

LCD Display

GPIO_B0_03

LCD_VSYNC

LCD Display

GPIO_B0_04

LCD_DATA00

LCD Display

GPIO_B0_05

LCD_DATA01

LCD Display

GPIO_B0_06

LCD_DATA02

LCD Display

GPIO_B0_07

LCD_DATA03

LCD Display

GPIO_B0_08

LCD_DATA04

LCD Display

GPIO_B0_09

LCD_DATA05

LCD Display

GPIO_B0_10

LCD_DATA06

LCD Display

GPIO_B0_11

LCD_DATA07

LCD Display

GPIO_B0_12

LCD_DATA08

LCD Display

GPIO_B0_13

LCD_DATA09

LCD Display

GPIO_B0_14

LCD_DATA10

LCD Display

GPIO_B0_15

LCD_DATA11

LCD Display

GPIO_B1_00

LCD_DATA12

LCD Display

GPIO_B1_01

LCD_DATA13

LCD Display

GPIO_B1_02

LCD_DATA14

LCD Display

GPIO_B1_03

LCD_DATA15

LCD Display

GPIO_B1_04

ENET_RX_DATA00

Ethernet

GPIO_B1_05

ENET_RX_DATA01

Ethernet

GPIO_B1_06

ENET_RX_EN

Ethernet

GPIO_B1_07

ENET_TX_DATA00

Ethernet

GPIO_B1_08

ENET_TX_DATA01

Ethernet

GPIO_B1_09

ENET_TX_EN

Ethernet

GPIO_B1_10

ENET_REF_CLK

Ethernet

GPIO_B1_11

ENET_RX_ER

Ethernet

GPIO_B1_12

GPIO

SD Card

GPIO_B1_14

USDHC1_VSELECT

SD Card

GPIO_B1_15

BACKLIGHT_CTL

LCD Display

GPIO_EMC_40

ENET_MDC

Ethernet

GPIO_EMC_41

ENET_MDIO

Ethernet

GPIO_AD_B0_09

ENET_RST

Ethernet

GPIO_AD_B0_10

ENET_INT

Ethernet

GPIO_SD_B0_00

USDHC1_CMD/LPSPI1_SCK | SD Card/SPI

GPIO_SD_B0_01

USDHC1_CLK/LPSPI1_PCS0 | SD Card/SPI

GPIO_SD_B0_02

USDHC1_DATA0/LPSPI1_SDO | SD Card/SPI

GPIO_SD_B0_03

USDHC1_DATA1/LPSPI1_SDI | SD Card/SPI

GPIO_SD_B0_04

USDHC1_DATA2

SD Card

GPIO_SD_B0_05

USDHC1_DATA3

SD Card

GPIO_AD_B1_11

ADC

ADC1 Channel 0

GPIO_AD_B1_10

ADC

ADC1 Channel 15

GPIO_AD_B1_09

SAI1_MCLK

I2S

GPIO_AD_B1_12

SAI1_RX

I2S

GPIO_AD_B1_13

SAI1_TX

I2S

GPIO_AD_B1_14

SAI1_TX_BCLK

I2S

GPIO_AD_B1_15

SAI1_TX_SYNC

I2S

GPIO_AD_B1_02

1588_EVENT2_OUT

1588

GPIO_AD_B1_03

1588_EVENT2_IN

1588

Note

In order to use the SPI peripheral on this board, resistors R278, R279, R280 and R281 must be populated with zero ohm resistors.

System Clock

The MIMXRT1060 SoC is configured to use SysTick as the system clock source, running at 600MHz.

When power management is enabled, the 32 KHz low frequency oscillator on the board will be used as a source for the GPT timer to generate a system clock. This clock enables lower power states, at the cost of reduced resolution

Serial Port

The MIMXRT1060 SoC has eight UARTs. LPUART1 is configured for the console, LPUART3 for the Bluetooth Host Controller Interface (BT HCI), and the remaining are not used.

Board Revisions and Targets

There are three revisions of this board.

Rev A:

  • Initial version

Rev B:

  • adds the M.2 connector for Wi-Fi/BLE

  • adds audio expansion connector J23

  • USER LED1 changed to GPIO1 pin 8

Rev C:

  • Replaces audio codec WM8960(EOL) to WM8962

  • Replaces 32.768 KHz oscillator from ASH7K-32.768KHz-T(EOL)to ASH7KW-32.768KHZ-L-T

  • Replaces motion sensor from FXOS8700CQ(EOL) to FXLS8974CFR3

  • Re-assigns Bluetooth Audio PCM with dedicated I2S2

  • Re-assigns Bluetooth interface UART_CTS, UART_RTS to hardware PIN

This board has two variants that can be targeted, depending on which flash to set as zephyr,flash:

  • mimxrt1060_evk/mimxrt1062/qspi is the default variant for the out of box setup of the board using the qspi flash.

  • mimxrt1060_evk/mimxrt1062/hyperflash is for a board that has been reworked to use the hyperflash instead of the qspi flash.

  • This board also has two revisions, the EVKA and EVKB. EVKA is the default target for this board. To target EVKB, the board target string would become mimxrt1060_evk@B//qspi, for example.

Programming and Debugging

The mimxrt1060_evk board supports the runners and associated west commands listed below.

flash debug attach debugserver rtt
jlink ✅ (default) ✅ (default)
linkserver
pyocd

This board supports 3 debug host tools. Please install your preferred host tool, then follow the instructions in Configuring a Debug Probe to configure the board appropriately.

Once the host tool and board are configured, build and flash applications as usual (see Building an Application and Run an Application for more details).

Configuring a Debug Probe

Two revisions of the RT1060 EVK exist. For the RT1060 EVK, J47/J48 are the SWD isolation jumpers, J42 is the DFU mode jumper, and the 20 pin JTAG/SWD header is present on J21. For the RT1060 EVKB, J9/J10 are the SWD isolation jumpers, J12 is the DFU mode jumper, and the 20 pin JTAG/SWD header is present on J2.

A debug probe is used for both flashing and debugging the board. This board has an LPC-LINK2 Onboard Debug Probe. The default firmware present on this probe is the LPC-Link2 DAPLink Onboard Debug Probe.

Based on the host tool installed, please use the following instructions to setup your debug probe:

Using CMSIS-DAP with LPC-Link2 Probe

  1. Follow the instructions provided at LPC-LINK2 CMSIS DAP Onboard Debug Probe to reprogram the default debug probe firmware on this board.

  2. Ensure the SWD isolation jumpers are populated

Configuring a Console

Regardless of your choice in debug probe, we will use the OpenSDA microcontroller as a usb-to-serial adapter for the serial console. Check that jumpers J45 and J46 are on (they are on by default when boards ship from the factory) to connect UART signals to the OpenSDA microcontroller.

Connect a USB cable from your PC to J41.

Use the following settings with your serial terminal of choice (minicom, putty, etc.):

  • Speed: 115200

  • Data: 8 bits

  • Parity: None

  • Stop bits: 1

Using SWO

SWO can be used as a logging backend, by setting CONFIG_LOG_BACKEND_SWO=y. Your SWO viewer should be configured with a CPU frequency of 132MHz, and SWO frequency of 7500KHz.

Flashing

Here is an example for the Hello World application.

# From the root of the zephyr repository
west build -b mimxrt1060_evk@A//qspi samples/hello_world
west flash

Open a serial terminal, reset the board (press the SW9 button), and you should see the following message in the terminal:

***** Booting Zephyr OS v1.14.0-rc1 *****
Hello World! mimxrt1060_evk//qspi

Debugging

Here is an example for the Hello World application.

# From the root of the zephyr repository
west build -b mimxrt1060_evk@A//qspi samples/hello_world
west debug

Open a serial terminal, step through the application in your debugger, and you should see the following message in the terminal:

***** Booting Zephyr OS v1.14.0-rc1 *****
Hello World! mimxrt1060_evk//qspi

Troubleshooting

If the debug probe fails to connect with the following error, it’s possible that the boot header in QSPI flash is invalid or corrupted. The boot header is configured by CONFIG_NXP_IMXRT_BOOT_HEADER.

Remote debugging using :2331
Remote communication error.  Target disconnected.: Connection reset by peer.
"monitor" command not supported by this target.
"monitor" command not supported by this target.
You can't do that when your target is `exec'
(gdb) Could not connect to target.
Please check power, connection and settings.

You can fix it by erasing and reprogramming the QSPI flash with the following steps:

  1. Set the SW7 DIP switches to ON-OFF-ON-OFF to prevent booting from QSPI flash.

  2. Reset by pressing SW9

  3. Run west debug or west flash again with a known working Zephyr application.

  4. Set the SW7 DIP switches to OFF-OFF-ON-OFF to boot from QSPI flash.

  5. Reset by pressing SW9

If the west flash or debug commands fail, and the command hangs while executing runners.jlink, confirm the J-Link debug probe is configured, powered, and connected to the EVK properly.

Support Resources for Zephyr