Skip to content

Commit 4097a5b

Browse files
jhqianMaureenHelm
authored andcommitted
boards: arm: add board support for mimxrt1015_evk
Add board support files for mimxrt1015_evk, the development board for i.mxrt1015 (CM7) SoC. - Add pinmux, dts, and doc. - Tested samples: hello_world, philosophers, synchronization, basic/blinky, basic/button. Signed-off-by: Ryan QIAN <[email protected]>
1 parent 6e277cf commit 4097a5b

File tree

10 files changed

+461
-0
lines changed

10 files changed

+461
-0
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#
2+
# Copyright (c) 2019, NXP
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
#
6+
7+
zephyr_library()
8+
zephyr_library_include_directories(${ZEPHYR_BASE}/drivers)
9+
zephyr_library_sources(pinmux.c)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#
2+
# Copyright (c) 2019, NXP
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
#
6+
7+
config BOARD_MIMXRT1015_EVK
8+
bool "NXP MIMXRT1015-EVK"
9+
depends on SOC_SERIES_IMX_RT
10+
select SOC_PART_NUMBER_MIMXRT1015DAF5A
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Kconfig - MIMXRT1015-EVK board
2+
#
3+
# Copyright (c) 2019, NXP
4+
#
5+
# SPDX-License-Identifier: Apache-2.0
6+
#
7+
8+
if BOARD_MIMXRT1015_EVK
9+
10+
config BOARD
11+
default "mimxrt1015_evk" if BOARD_MIMXRT1015_EVK
12+
13+
choice CODE_LOCATION
14+
default CODE_FLEXSPI
15+
endchoice
16+
17+
if GPIO_MCUX_IGPIO
18+
19+
config GPIO_MCUX_IGPIO_2
20+
default y
21+
22+
config GPIO_MCUX_IGPIO_3
23+
default y
24+
25+
endif # GPIO_MCUX_IGPIO
26+
27+
if I2C_MCUX_LPI2C
28+
29+
config I2C_1
30+
default y
31+
32+
endif # I2C_MCUX_LPI2C
33+
34+
if UART_MCUX_LPUART
35+
36+
config UART_MCUX_LPUART_1
37+
default y
38+
39+
config UART_MCUX_LPUART_4
40+
default y
41+
42+
endif # UART_MCUX_LPUART
43+
44+
endif # BOARD_MIMXRT1015_EVK
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#
2+
# Copyright (c) 2019, NXP
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
#
6+
set_ifndef(OPENSDA_FW jlink)
7+
8+
if(OPENSDA_FW STREQUAL jlink)
9+
set_ifndef(BOARD_DEBUG_RUNNER jlink)
10+
set_ifndef(BOARD_FLASH_RUNNER jlink)
11+
endif()
12+
13+
board_runner_args(jlink "--device=MIMXRT1015")
14+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
.. _mimxrt1015_evk:
2+
3+
NXP MIMXRT1015-EVK
4+
##################
5+
6+
Overview
7+
********
8+
9+
The i.MX RT1015 expands the i.MX RT crossover processor families by providing
10+
high-performance feature set in low-cost LQFP packages, further simplifying
11+
board design and layout for customers. The i.MX RT1015 runs on the Arm®
12+
Cortex®-M7 core at 500 MHz.
13+
14+
.. image:: ./mimxrt1015_evk.jpg
15+
:width: 720px
16+
:align: center
17+
:alt: MIMXRT1015-EVK
18+
19+
Hardware
20+
********
21+
22+
- MIMXRT1015DAF5A MCU
23+
24+
- Memory
25+
26+
- 128 Mbit QSPI Flash
27+
28+
- Connectivity
29+
30+
- Micro USB host and OTG connectors
31+
- Arduino interface
32+
33+
- Audio
34+
35+
- Audio Codec
36+
- 4-pole audio headphone jack
37+
- External speaker connection
38+
- Microphone
39+
40+
- Debug
41+
42+
- JTAG 10-pin connector
43+
- OpenSDA with DAPLink
44+
45+
For more information about the MIMXRT1015 SoC and MIMXRT1015-EVK board, see
46+
these references:
47+
48+
- `i.MX RT1015 Website`_
49+
- `i.MX RT1015 Datasheet`_
50+
- `i.MX RT1015 Reference Manual`_
51+
- `MIMXRT1015-EVK Website`_
52+
- `MIMXRT1015-EVK Quick Reference Guide`_
53+
- `MIMXRT1015-EVK Design Files`_
54+
55+
Supported Features
56+
==================
57+
58+
The mimxrt1015_evk board configuration supports the following hardware
59+
features:
60+
61+
+-----------+------------+-------------------------------------+
62+
| Interface | Controller | Driver/Component |
63+
+===========+============+=====================================+
64+
| NVIC | on-chip | nested vector interrupt controller |
65+
+-----------+------------+-------------------------------------+
66+
| SYSTICK | on-chip | systick |
67+
+-----------+------------+-------------------------------------+
68+
| GPIO | on-chip | gpio |
69+
+-----------+------------+-------------------------------------+
70+
| I2C | on-chip | i2c |
71+
+-----------+------------+-------------------------------------+
72+
| UART | on-chip | serial port-polling; |
73+
| | | serial port-interrupt |
74+
+-----------+------------+-------------------------------------+
75+
76+
The default configuration can be found in the defconfig file:
77+
``boards/arm/mimxrt1015_evk/mimxrt1015_evk_defconfig``
78+
79+
Other hardware features are not currently supported by the port.
80+
81+
Connections and I/Os
82+
====================
83+
84+
The MIMXRT1015 SoC has five pairs of pinmux/gpio controllers.
85+
86+
+---------------+-----------------+---------------------------+
87+
| Name | Function | Usage |
88+
+===============+=================+===========================+
89+
| GPIO_AD_B0_05 | GPIO | LED |
90+
+---------------+-----------------+---------------------------+
91+
| GPIO_EMC_09 | GPIO | SW4 |
92+
+---------------+-----------------+---------------------------+
93+
| GPIO_AD_B0_06 | LPUART1_TX | UART Console |
94+
+---------------+-----------------+---------------------------+
95+
| GPIO_AD_B0_07 | LPUART1_RX | UART Console |
96+
+---------------+-----------------+---------------------------+
97+
| GPIO_EMC_32 | LPUART4_TX | UART Console |
98+
+---------------+-----------------+---------------------------+
99+
| GPIO_EMC_33 | LPUART4_RX | UART Console |
100+
+---------------+-----------------+---------------------------+
101+
| GPIO_AD_B1_15 | LPI2C1_SDA | I2C SDA |
102+
+---------------+-----------------+---------------------------+
103+
| GPIO_AD_B1_14 | LPI2C1_CLK | I2C SCL |
104+
+---------------+-----------------+---------------------------+
105+
106+
System Clock
107+
============
108+
109+
The MIMXRT1015 SoC is configured to use the 24 MHz external oscillator on the
110+
board with the on-chip PLL to generate a 500 MHz core clock.
111+
112+
Serial Port
113+
===========
114+
115+
The MIMXRT1015 SoC has four UARTs. ``LPUART1`` is configured for the console,
116+
and the remaining are not used.
117+
118+
Programming and Debugging
119+
*************************
120+
121+
Build and flash applications as usual (see :ref:`build_an_application` and
122+
:ref:`application_run` for more details).
123+
124+
Configuring a Debug Probe
125+
=========================
126+
127+
A debug probe is used for both flashing and debugging the board. This board is
128+
configured by default to use the :ref:`opensda-daplink-onboard-debug-probe`,
129+
however the :ref:`pyocd-debug-host-tools` do not yet support programming the
130+
external flashes on this board so you must reconfigure the board for one of the
131+
following debug probes instead.
132+
133+
:ref:`jlink-external-debug-probe`
134+
-------------------------------------------
135+
136+
Install the :ref:`jlink-debug-host-tools` and make sure they are in your search
137+
path.
138+
139+
Attach a J-Link 10-pin connector to J55. Check that jumpers J47 and J48 are
140+
**off** (they are on by default when boards ship from the factory) to ensure
141+
SWD signals are disconnected from the OpenSDA microcontroller.
142+
143+
Configuring a Console
144+
=====================
145+
146+
Regardless of your choice in debug probe, we will use the OpenSDA
147+
microcontroller as a usb-to-serial adapter for the serial console. Check that
148+
jumpers J45 and J46 are **on** (they are on by default when boards ship from
149+
the factory) to connect UART signals to the OpenSDA microcontroller.
150+
151+
Connect a USB cable from your PC to J41.
152+
153+
Use the following settings with your serial terminal of choice (minicom, putty,
154+
etc.):
155+
156+
- Speed: 115200
157+
- Data: 8 bits
158+
- Parity: None
159+
- Stop bits: 1
160+
161+
Flashing
162+
========
163+
164+
Here is an example for the :ref:`hello_world` application.
165+
166+
.. zephyr-app-commands::
167+
:zephyr-app: samples/hello_world
168+
:board: mimxrt1015_evk
169+
:goals: flash
170+
171+
Open a serial terminal, reset the board (press the SW9 button), and you should
172+
see the following message in the terminal:
173+
174+
.. code-block:: console
175+
176+
***** Booting Zephyr OS v1.14.0-rc1-1297-g312d75f2459e *****
177+
Hello World! mimxrt1015_evk
178+
179+
180+
.. _MIMXRT1015-EVK Website:
181+
https://www.nxp.com/support/developer-resources/run-time-software/i.mx-developer-resources/i.mx-rt1015-evaluation-kit:MIMXRT1015-EVK
182+
183+
.. _MIMXRT1015-EVK Quick Reference Guide:
184+
https://www.nxp.com/docs/en/quick-reference-guide/IMXRT1015QSG.pdf
185+
186+
.. _MIMXRT1015-EVK Design Files:
187+
https://www.nxp.com/webapp/Download?colCode=MIMXRT1015-EVK-REVB-DS
188+
189+
.. _i.MX RT1015 Website:
190+
https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/i.mx-applications-processors/i.mx-rt-series/i.mx-rt1015-crossover-processor-with-arm-cortex-m7-core:i.MX-RT1015
191+
192+
.. _i.MX RT1015 Datasheet:
193+
https://www.nxp.com/docs/en/data-sheet/IMXRT1015CEC.pdf
194+
195+
.. _i.MX RT1015 Reference Manual:
196+
https://www.nxp.com/docs/en/reference-manual/IMXRT1015RM.pdf
197+
973 KB
Loading
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
/*
2+
* Copyright (c) 2019, NXP
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include <nxp/nxp_rt.dtsi>
10+
11+
/ {
12+
model = "NXP MIMXRT1015-EVK board";
13+
compatible = "nxp,mimxrt1015";
14+
15+
aliases {
16+
gpio-1= &gpio1;
17+
gpio-2= &gpio2;
18+
gpio-3= &gpio3;
19+
gpio-4= &gpio4;
20+
gpio-5= &gpio5;
21+
i2c-1 = &i2c1;
22+
uart-1 = &uart1;
23+
uart-4 = &uart4;
24+
led0 = &green_led;
25+
sw0 = &user_button;
26+
};
27+
28+
chosen {
29+
zephyr,console = &uart1;
30+
zephyr,shell-uart = &uart1;
31+
};
32+
33+
leds {
34+
compatible = "gpio-leds";
35+
green_led: led-1 {
36+
gpios = <&gpio3 21 GPIO_INT_ACTIVE_LOW>;
37+
label = "User LD1";
38+
};
39+
};
40+
41+
gpio_keys {
42+
compatible = "gpio-keys";
43+
user_button: button-1 {
44+
label = "User SW4";
45+
gpios = <&gpio2 9 GPIO_INT_ACTIVE_LOW>;
46+
};
47+
};
48+
};
49+
50+
arduino_serial: &uart4 {};
51+
52+
&flexspi0 {
53+
reg = <0x402a8000 0x4000>, <0x60000000 0x1000000>;
54+
at25sf128a: at25sf128a@0 {
55+
compatible = "adesto,at25sf128a", "jedec,spi-nor";
56+
reg = <0>;
57+
status = "ok";
58+
};
59+
};
60+
61+
&i2c1 {
62+
status = "ok";
63+
};
64+
65+
&uart1 {
66+
status = "ok";
67+
current-speed = <115200>;
68+
};
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#
2+
# Copyright (c) 2019, NXP
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
#
6+
7+
identifier: mimxrt1015_evk
8+
name: NXP MIMXRT1015-EVK
9+
type: mcu
10+
arch: arm
11+
toolchain:
12+
- zephyr
13+
- gnuarmemb
14+
- xtools
15+
ram: 128
16+
flash: 16384
17+
supported:
18+
- i2c
19+
- hwinfo
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#
2+
# Copyright (c) 2019, NXP
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
#
6+
7+
CONFIG_ARM=y
8+
CONFIG_SOC_MIMXRT1015=y
9+
CONFIG_SOC_SERIES_IMX_RT=y
10+
CONFIG_BOARD_MIMXRT1015_EVK=y
11+
CONFIG_CONSOLE=y
12+
CONFIG_UART_CONSOLE=y
13+
CONFIG_SERIAL=y
14+
CONFIG_CORTEX_M_SYSTICK=y
15+
CONFIG_GPIO=y
16+
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=500000000
17+
CONFIG_ARM_MPU=y

0 commit comments

Comments
 (0)