Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions boards/arm/mimxrt1015_evk/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#
# Copyright (c) 2019, NXP
#
# SPDX-License-Identifier: Apache-2.0
#

zephyr_library()
zephyr_library_include_directories(${ZEPHYR_BASE}/drivers)
zephyr_library_sources(pinmux.c)
10 changes: 10 additions & 0 deletions boards/arm/mimxrt1015_evk/Kconfig.board
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#
# Copyright (c) 2019, NXP
#
# SPDX-License-Identifier: Apache-2.0
#

config BOARD_MIMXRT1015_EVK
bool "NXP MIMXRT1015-EVK"
depends on SOC_SERIES_IMX_RT
select SOC_PART_NUMBER_MIMXRT1015DAF5A
44 changes: 44 additions & 0 deletions boards/arm/mimxrt1015_evk/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Kconfig - MIMXRT1015-EVK board
#
# Copyright (c) 2019, NXP
#
# SPDX-License-Identifier: Apache-2.0
#

if BOARD_MIMXRT1015_EVK

config BOARD
default "mimxrt1015_evk" if BOARD_MIMXRT1015_EVK

choice CODE_LOCATION
default CODE_FLEXSPI
endchoice

if GPIO_MCUX_IGPIO

config GPIO_MCUX_IGPIO_2
default y

config GPIO_MCUX_IGPIO_3
default y

endif # GPIO_MCUX_IGPIO

if I2C_MCUX_LPI2C

config I2C_1
default y

endif # I2C_MCUX_LPI2C

if UART_MCUX_LPUART

config UART_MCUX_LPUART_1
default y

config UART_MCUX_LPUART_4
default y

endif # UART_MCUX_LPUART

endif # BOARD_MIMXRT1015_EVK
14 changes: 14 additions & 0 deletions boards/arm/mimxrt1015_evk/board.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#
# Copyright (c) 2019, NXP
#
# SPDX-License-Identifier: Apache-2.0
#
set_ifndef(OPENSDA_FW jlink)

if(OPENSDA_FW STREQUAL jlink)
set_ifndef(BOARD_DEBUG_RUNNER jlink)
set_ifndef(BOARD_FLASH_RUNNER jlink)
endif()

board_runner_args(jlink "--device=MIMXRT1015")
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
197 changes: 197 additions & 0 deletions boards/arm/mimxrt1015_evk/doc/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
.. _mimxrt1015_evk:

NXP MIMXRT1015-EVK
##################

Overview
********

The i.MX RT1015 expands the i.MX RT crossover processor families by providing
high-performance feature set in low-cost LQFP packages, further simplifying
board design and layout for customers. The i.MX RT1015 runs on the Arm®
Cortex®-M7 core at 500 MHz.

.. image:: ./mimxrt1015_evk.jpg
:width: 720px
:align: center
:alt: MIMXRT1015-EVK

Hardware
********

- MIMXRT1015DAF5A MCU

- Memory

- 128 Mbit QSPI Flash

- Connectivity

- Micro USB host and OTG connectors
- Arduino interface

- Audio

- Audio Codec
- 4-pole audio headphone jack
- External speaker connection
- Microphone

- Debug

- JTAG 10-pin connector
- OpenSDA with DAPLink

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

- `i.MX RT1015 Website`_
- `i.MX RT1015 Datasheet`_
- `i.MX RT1015 Reference Manual`_
- `MIMXRT1015-EVK Website`_
- `MIMXRT1015-EVK Quick Reference Guide`_
- `MIMXRT1015-EVK Design Files`_

Supported Features
==================

The mimxrt1015_evk board configuration supports the following hardware
features:

+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component |
+===========+============+=====================================+
| NVIC | on-chip | nested vector interrupt controller |
+-----------+------------+-------------------------------------+
| SYSTICK | on-chip | systick |
+-----------+------------+-------------------------------------+
| GPIO | on-chip | gpio |
+-----------+------------+-------------------------------------+
| I2C | on-chip | i2c |
+-----------+------------+-------------------------------------+
| UART | on-chip | serial port-polling; |
| | | serial port-interrupt |
+-----------+------------+-------------------------------------+

The default configuration can be found in the defconfig file:
``boards/arm/mimxrt1015_evk/mimxrt1015_evk_defconfig``

Other hardware features are not currently supported by the port.

Connections and I/Os
====================

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

+---------------+-----------------+---------------------------+
| Name | Function | Usage |
+===============+=================+===========================+
| GPIO_AD_B0_05 | GPIO | LED |
+---------------+-----------------+---------------------------+
| GPIO_EMC_09 | GPIO | SW4 |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_06 | LPUART1_TX | UART Console |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_07 | LPUART1_RX | UART Console |
+---------------+-----------------+---------------------------+
| GPIO_EMC_32 | LPUART4_TX | UART Console |
+---------------+-----------------+---------------------------+
| GPIO_EMC_33 | LPUART4_RX | UART Console |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_15 | LPI2C1_SDA | I2C SDA |
+---------------+-----------------+---------------------------+
| GPIO_AD_B1_14 | LPI2C1_CLK | I2C SCL |
+---------------+-----------------+---------------------------+

System Clock
============

The MIMXRT1015 SoC is configured to use the 24 MHz external oscillator on the
board with the on-chip PLL to generate a 500 MHz core clock.

Serial Port
===========

The MIMXRT1015 SoC has four UARTs. ``LPUART1`` is configured for the console,
and the remaining are not used.

Programming and Debugging
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see #14000 for an update to this section.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I'll update it according to that. What shall I put for the opensda firmware? It's not available yet.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested with the commit of 641a245.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the references to jlink opensda firmware. You can follow what I did in the rt1060 board document.

*************************

Build and flash applications as usual (see :ref:`build_an_application` and
:ref:`application_run` for more details).

Configuring a Debug Probe
=========================

A debug probe is used for both flashing and debugging the board. This board is
configured by default to use the :ref:`opensda-daplink-onboard-debug-probe`,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't have such a Zephyr document label. What are you trying to reference?

Copy link
Contributor Author

@jhqian jhqian Mar 21, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's based on the PR #14000, I think this PR will be approved after that one. I'll rebase it after #14000 is merged.

however the :ref:`pyocd-debug-host-tools` do not yet support programming the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't have such a Zephyr document label? Maybe you mean :ref:`nxp_opensda_pyocd`

external flashes on this board so you must reconfigure the board for one of the
following debug probes instead.

:ref:`jlink-external-debug-probe`
-------------------------------------------

Install the :ref:`jlink-debug-host-tools` and make sure they are in your search
path.

Attach a J-Link 10-pin connector to J55. Check that jumpers J47 and J48 are
**off** (they are on by default when boards ship from the factory) to ensure
SWD signals are disconnected from the OpenSDA microcontroller.

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

Flashing
========

Here is an example for the :ref:`hello_world` application.

.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: mimxrt1015_evk
:goals: flash

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

.. code-block:: console

***** Booting Zephyr OS v1.14.0-rc1-1297-g312d75f2459e *****
Hello World! mimxrt1015_evk


.. _MIMXRT1015-EVK Website:
https://www.nxp.com/support/developer-resources/run-time-software/i.mx-developer-resources/i.mx-rt1015-evaluation-kit:MIMXRT1015-EVK

.. _MIMXRT1015-EVK Quick Reference Guide:
https://www.nxp.com/docs/en/quick-reference-guide/IMXRT1015QSG.pdf

.. _MIMXRT1015-EVK Design Files:
https://www.nxp.com/webapp/Download?colCode=MIMXRT1015-EVK-REVB-DS

.. _i.MX RT1015 Website:
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

.. _i.MX RT1015 Datasheet:
https://www.nxp.com/docs/en/data-sheet/IMXRT1015CEC.pdf

.. _i.MX RT1015 Reference Manual:
https://www.nxp.com/docs/en/reference-manual/IMXRT1015RM.pdf

Binary file added boards/arm/mimxrt1015_evk/doc/mimxrt1015_evk.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
68 changes: 68 additions & 0 deletions boards/arm/mimxrt1015_evk/mimxrt1015_evk.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/*
* Copyright (c) 2019, NXP
*
* SPDX-License-Identifier: Apache-2.0
*/

/dts-v1/;

#include <nxp/nxp_rt.dtsi>

/ {
model = "NXP MIMXRT1015-EVK board";
compatible = "nxp,mimxrt1015";

aliases {
gpio-1= &gpio1;
gpio-2= &gpio2;
gpio-3= &gpio3;
gpio-4= &gpio4;
gpio-5= &gpio5;
i2c-1 = &i2c1;
uart-1 = &uart1;
uart-4 = &uart4;
led0 = &green_led;
sw0 = &user_button;
};

chosen {
zephyr,console = &uart1;
zephyr,shell-uart = &uart1;
};

leds {
compatible = "gpio-leds";
green_led: led-1 {
gpios = <&gpio3 21 GPIO_INT_ACTIVE_LOW>;
label = "User LD1";
};
};

gpio_keys {
compatible = "gpio-keys";
user_button: button-1 {
label = "User SW4";
gpios = <&gpio2 9 GPIO_INT_ACTIVE_LOW>;
};
};
};

arduino_serial: &uart4 {};

&flexspi0 {
reg = <0x402a8000 0x4000>, <0x60000000 0x1000000>;
at25sf128a: at25sf128a@0 {
compatible = "adesto,at25sf128a", "jedec,spi-nor";
reg = <0>;
status = "ok";
};
};

&i2c1 {
status = "ok";
};

&uart1 {
status = "ok";
current-speed = <115200>;
};
19 changes: 19 additions & 0 deletions boards/arm/mimxrt1015_evk/mimxrt1015_evk.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#
# Copyright (c) 2019, NXP
#
# SPDX-License-Identifier: Apache-2.0
#

identifier: mimxrt1015_evk
name: NXP MIMXRT1015-EVK
type: mcu
arch: arm
toolchain:
- zephyr
- gnuarmemb
- xtools
ram: 128
flash: 16384
supported:
- i2c
- hwinfo
17 changes: 17 additions & 0 deletions boards/arm/mimxrt1015_evk/mimxrt1015_evk_defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#
# Copyright (c) 2019, NXP
#
# SPDX-License-Identifier: Apache-2.0
#

CONFIG_ARM=y
CONFIG_SOC_MIMXRT1015=y
CONFIG_SOC_SERIES_IMX_RT=y
CONFIG_BOARD_MIMXRT1015_EVK=y
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_CORTEX_M_SYSTICK=y
CONFIG_GPIO=y
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=500000000
CONFIG_ARM_MPU=y
Loading