1.. _mimxrt1010_evk:
2
3NXP MIMXRT1010-EVK
4##################
5
6Overview
7********
8
9The i.MX RT1010 offer a new entry-point into the i.MX RT crossover processor
10series by providing the lowest-cost LQFP package option, combined with the
11high performance and ease-of-use known throughout the entire i.MX RT series.
12This device is fully supported by NXP’s MCUXpresso Software and Tools.
13
14.. image:: mimxrt1010_evk.jpg
15   :align: center
16   :alt: MIMXRT1010-EVK
17
18Hardware
19********
20
21- MIMXRT1011DAE5A MCU
22
23- Memory
24
25  - 128 Mbit QSPI Flash
26
27- Connectivity
28
29  - Micro USB host and OTG connectors
30  - Arduino interface
31
32- Audio
33
34  - Audio Codec
35  - 4-pole audio headphone jack
36  - External speaker connection
37  - Microphone
38
39- Debug
40
41  - JTAG 10-pin connector
42  - OpenSDA with DAPLink
43
44For more information about the MIMXRT1010 SoC and MIMXRT1010-EVK board, see
45these references:
46
47- `i.MX RT1010 Website`_
48- `i.MX RT1010 Datasheet`_
49- `i.MX RT1010 Reference Manual`_
50- `MIMXRT1010-EVK Website`_
51- `MIMXRT1010-EVK User Guide`_
52- `MIMXRT1010-EVK Design Files`_
53
54External Memory
55===============
56
57This platform has the following external memories:
58
59+--------------------+------------+-------------------------------------+
60| Device             | Controller | Status                              |
61+====================+============+=====================================+
62| AT25SF128A         | FLEXSPI    | Enabled via flash configurationn    |
63|                    |            | block, which sets up FLEXSPI at     |
64|                    |            | boot time.                          |
65+--------------------+------------+-------------------------------------+
66
67Supported Features
68==================
69
70The mimxrt1010_evk board configuration supports the hardware features listed
71below.  For additional features not yet supported, please also refer to the
72:ref:`mimxrt1064_evk` , which is the superset board in NXP's i.MX RT10xx family.
73NXP prioritizes enabling the superset board with NXP's Full Platform Support for
74Zephyr.  Therefore, the mimxrt1064_evk board may have additional features
75already supported, which can also be re-used on this mimxrt1010_evk board:
76
77+-----------+------------+-------------------------------------+
78| Interface | Controller | Driver/Component                    |
79+===========+============+=====================================+
80| NVIC      | on-chip    | nested vector interrupt controller  |
81+-----------+------------+-------------------------------------+
82| SYSTICK   | on-chip    | systick                             |
83+-----------+------------+-------------------------------------+
84| GPIO      | on-chip    | gpio                                |
85+-----------+------------+-------------------------------------+
86| SPI       | on-chip    | spi                                 |
87+-----------+------------+-------------------------------------+
88| I2C       | on-chip    | i2c                                 |
89+-----------+------------+-------------------------------------+
90| UART      | on-chip    | serial port-polling;                |
91|           |            | serial port-interrupt               |
92+-----------+------------+-------------------------------------+
93| USB       | on-chip    | USB device                          |
94+-----------+------------+-------------------------------------+
95| ADC       | on-chip    | adc                                 |
96+-----------+------------+-------------------------------------+
97| GPT       | on-chip    | gpt                                 |
98+-----------+------------+-------------------------------------+
99| TRNG      | on-chip    | entropy                             |
100+-----------+------------+-------------------------------------+
101| PIT       | on-chip    | pit                                 |
102+-----------+------------+-------------------------------------+
103
104The default configuration can be found in
105:zephyr_file:`boards/nxp/mimxrt1010_evk/mimxrt1010_evk_defconfig`
106
107Other hardware features are not currently supported by the port.
108
109Connections and I/Os
110====================
111
112The MIMXRT1010 SoC has five pairs of pinmux/gpio controllers.
113
114+---------------+-----------------+---------------------------+
115| Name          | Function        | Usage                     |
116+===============+=================+===========================+
117| GPIO_11       | GPIO            | LED                       |
118+---------------+-----------------+---------------------------+
119| GPIO_SD_05    | GPIO            | SW4                       |
120+---------------+-----------------+---------------------------+
121| GPIO_10       | LPUART1_TX      | UART Console              |
122+---------------+-----------------+---------------------------+
123| GPIO_09       | LPUART1_RX      | UART Console              |
124+---------------+-----------------+---------------------------+
125| GPIO_01       | LPI2C1_SDA      | I2C SDA                   |
126+---------------+-----------------+---------------------------+
127| GPIO_02       | LPI2C1_CLK      | I2C SCL                   |
128+---------------+-----------------+---------------------------+
129| GPIO_AD_03    | LPSPI1_SDI      | SPI                       |
130+---------------+-----------------+---------------------------+
131| GPIO_AD_04    | LPSPI1_SDO      | SPI                       |
132+---------------+-----------------+---------------------------+
133| GPIO_AD_05    | LPSPI1_PCS0     | SPI                       |
134+---------------+-----------------+---------------------------+
135| GPIO_AD_06    | LPSPI1_SCK      | SPI                       |
136+---------------+-----------------+---------------------------+
137| GPIO_AD_01    | ADC             | ADC1 Channel 1            |
138+---------------+-----------------+---------------------------+
139| GPIO_AD_02    | ADC             | ADC1 Channel 2            |
140+---------------+-----------------+---------------------------+
141
142System Clock
143============
144
145The MIMXRT1010 SoC is configured to use SysTick as the system clock source,
146running at 500MHz.
147
148When power management is enabled, the 32 KHz low frequency
149oscillator on the board will be used as a source for the GPT timer to
150generate a system clock. This clock enables lower power states, at the
151cost of reduced resolution
152
153Serial Port
154===========
155
156The MIMXRT1010 SoC has four UARTs. ``LPUART1`` is configured for the console,
157and the remaining are not used.
158
159Programming and Debugging
160*************************
161
162This board supports 3 debug host tools. Please install your preferred host
163tool, then follow the instructions in `Configuring a Debug Probe`_ to
164configure the board appropriately.
165
166* :ref:`linkserver-debug-host-tools` (Default, Supported by NXP)
167* :ref:`jlink-debug-host-tools` (Supported by NXP)
168* :ref:`pyocd-debug-host-tools` (Not supported by NXP)
169
170Once the host tool and board are configured, build and flash applications
171as usual (see :ref:`build_an_application` and :ref:`application_run` for more
172details).
173
174Configuring a Debug Probe
175=========================
176
177For the RT1010, J61/J62 are the SWD isolation jumpers, J22 is the DFU
178mode jumper, and J16 is the 10 pin JTAG/SWD header.
179
180.. include:: ../../common/rt1xxx-lpclink2-debug.rst
181   :start-after: rt1xxx-lpclink2-probes
182
183Configuring a Console
184=====================
185
186Regardless of your choice in debug probe, we will use the OpenSDA
187microcontroller as a usb-to-serial adapter for the serial console. Check that
188jumpers J31 and J32 are **on** (they are on by default when boards ship from
189the factory) to connect UART signals to the OpenSDA microcontroller.
190
191Connect a USB cable from your PC to J41.
192
193Use the following settings with your serial terminal of choice (minicom, putty,
194etc.):
195
196- Speed: 115200
197- Data: 8 bits
198- Parity: None
199- Stop bits: 1
200
201Flashing
202========
203
204Here is an example for the :ref:`hello_world` application.
205
206.. zephyr-app-commands::
207    :zephyr-app: samples/hello_world
208    :board: mimxrt1010_evk
209    :goals: flash
210
211Open a serial terminal, reset the board (press the SW9 button), and you should
212see the following message in the terminal:
213
214.. code-block:: console
215
216    Hello World! mimxrt1010_evk
217
218
219.. _MIMXRT1010-EVK Website:
220   https://www.nxp.com/MIMXRT1010-EVK
221
222.. _MIMXRT1010-EVK User Guide:
223   https://www.nxp.com/webapp/Download?colCode=MIMXRT1010EVKHUG
224
225.. _MIMXRT1010-EVK Design Files:
226   https://www.nxp.com/webapp/Download?colCode=IMXRT1010-EVK-DESIGN-FILES
227
228.. _i.MX RT1010 Website:
229   https://www.nxp.com/imxrt1010
230
231.. _i.MX RT1010 Datasheet:
232   https://www.nxp.com/docs/en/data-sheet/IMXRT1010CEC.pdf
233
234.. _i.MX RT1010 Reference Manual:
235   https://www.nxp.com/webapp/Download?colCode=IMXRT1010RM
236