Skip to content

Commit 11bc9b8

Browse files
danieldegrassecarlescufi
authored andcommitted
boards: arm: mimxrt1170_evkb: add RT1170 EVKB
Add RT1170 EVKB definition to Zephyr. This board is similar to the RT1170 EVK, but uses a different quadspi flash chip, and includes an audio connector as well as an additional display connection. Signed-off-by: Daniel DeGrasse <[email protected]>
1 parent f1ebbb6 commit 11bc9b8

14 files changed

+339
-69
lines changed

boards/arm/mimxrt1170_evk/CMakeLists.txt

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,35 @@
11
#
2-
# Copyright 2022 NXP
2+
# Copyright 2022-2023 NXP
33
#
44
# SPDX-License-Identifier: Apache-2.0
55
#
66

77
if(CONFIG_NXP_IMX_RT_BOOT_HEADER)
88
zephyr_library()
9-
if(NOT (DEFINED CONFIG_BOARD_MIMXRT1170_EVK_CM7)
10-
OR (DEFINED CONFIG_BOARD_MIMXRT1170_EVK_CM4))
9+
if(NOT ((DEFINED CONFIG_BOARD_MIMXRT1170_EVK_CM7)
10+
OR (DEFINED CONFIG_BOARD_MIMXRT1170_EVK_CM4)
11+
OR (DEFINED CONFIG_BOARD_MIMXRT1170_EVKB_CM7)
12+
OR (DEFINED CONFIG_BOARD_MIMXRT1170_EVKB_CM4)))
1113
message(WARNING "It appears you are using the board definition for "
1214
"the MIMXRT1170-EVK, but targeting a custom board. You may need to "
1315
"update your flash configuration or device configuration data blocks")
1416
endif()
17+
if ((DEFINED CONFIG_BOARD_MIMXRT1170_EVK_CM7)
18+
OR (DEFINED CONFIG_BOARD_MIMXRT1170_EVK_CM4))
19+
set(RT1170_BOARD_NAME "evkmimxrt1170")
20+
elseif((DEFINED CONFIG_BOARD_MIMXRT1170_EVKB_CM7)
21+
OR (DEFINED CONFIG_BOARD_MIMXRT1170_EVKB_CM4))
22+
set(RT1170_BOARD_NAME "evkbmimxrt1170")
23+
endif()
1524
set(RT1170_BOARD_DIR
16-
"${ZEPHYR_HAL_NXP_MODULE_DIR}/mcux/mcux-sdk/boards/evkmimxrt1170")
25+
"${ZEPHYR_HAL_NXP_MODULE_DIR}/mcux/mcux-sdk/boards/${RT1170_BOARD_NAME}")
1726
if(CONFIG_BOOT_FLEXSPI_NOR)
1827
# Include flash configuration block for RT1170 EVK from NXP's HAL.
1928
# This configuration block may need modification if another flash chip is
2029
# used on your custom board. See NXP AN12238 for more information.
2130
zephyr_compile_definitions(XIP_BOOT_HEADER_ENABLE=1)
2231
zephyr_compile_definitions(BOARD_FLASH_SIZE=CONFIG_FLASH_SIZE*1024)
23-
zephyr_library_sources(${RT1170_BOARD_DIR}/xip/evkmimxrt1170_flexspi_nor_config.c)
32+
zephyr_library_sources(${RT1170_BOARD_DIR}/xip/${RT1170_BOARD_NAME}_flexspi_nor_config.c)
2433
zephyr_library_include_directories(${RT1170_BOARD_DIR}/xip)
2534
endif()
2635
if(CONFIG_DEVICE_CONFIGURATION_DATA)

boards/arm/mimxrt1170_evk/Kconfig.board

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2021, NXP
1+
# Copyright 2021,2023 NXP
22
# SPDX-License-Identifier: Apache-2.0
33

44
config BOARD_MIMXRT1170_EVK_CM7
@@ -10,3 +10,13 @@ config BOARD_MIMXRT1170_EVK_CM4
1010
bool "NXP MIMXRT1170-EVK CM4"
1111
depends on SOC_MIMXRT1176_CM4
1212
select SOC_PART_NUMBER_MIMXRT1176DVMAA
13+
14+
config BOARD_MIMXRT1170_EVKB_CM7
15+
bool "NXP MIMXRT1170-EVKB CM7"
16+
depends on SOC_MIMXRT1176_CM7
17+
select SOC_PART_NUMBER_MIMXRT1176DVMAA
18+
19+
config BOARD_MIMXRT1170_EVKB_CM4
20+
bool "NXP MIMXRT1170-EVKB CM4"
21+
depends on SOC_MIMXRT1176_CM4
22+
select SOC_PART_NUMBER_MIMXRT1176DVMAA

boards/arm/mimxrt1170_evk/Kconfig.defconfig

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,22 @@
33
# Copyright 2021,2023 NXP
44
# SPDX-License-Identifier: Apache-2.0
55

6-
if BOARD_MIMXRT1170_EVK_CM7 || BOARD_MIMXRT1170_EVK_CM4
6+
if BOARD_MIMXRT1170_EVK_CM7 || BOARD_MIMXRT1170_EVK_CM4 || \
7+
BOARD_MIMXRT1170_EVKB_CM7 || BOARD_MIMXRT1170_EVKB_CM4
78

89
config BOARD
910
default "mimxrt1170_evk_cm7" if BOARD_MIMXRT1170_EVK_CM7
1011
default "mimxrt1170_evk_cm4" if BOARD_MIMXRT1170_EVK_CM4
12+
default "mimxrt1170_evkb_cm7" if BOARD_MIMXRT1170_EVKB_CM7
13+
default "mimxrt1170_evkb_cm4" if BOARD_MIMXRT1170_EVKB_CM4
1114

1215
choice CODE_LOCATION
13-
default CODE_FLEXSPI if BOARD_MIMXRT1170_EVK_CM7
14-
default CODE_OCRAM if BOARD_MIMXRT1170_EVK_CM4 && SECOND_CORE_MCUX
15-
default CODE_SRAM0 if BOARD_MIMXRT1170_EVK_CM4
16+
default CODE_FLEXSPI if CPU_CORTEX_M7
17+
default CODE_OCRAM if CPU_CORTEX_M4 && SECOND_CORE_MCUX
18+
default CODE_SRAM0 if CPU_CORTEX_M4
1619
endchoice
1720

18-
if SECOND_CORE_MCUX && BOARD_MIMXRT1170_EVK_CM4
21+
if SECOND_CORE_MCUX && CPU_CORTEX_M4
1922

2023
config BUILD_OUTPUT_INFO_HEADER
2124
default y
@@ -106,4 +109,4 @@ endchoice
106109

107110
endif # LVGL
108111

109-
endif # BOARD_MIMXRT1170_EVK_CM7 || BOARD_MIMXRT1170_EVK_CM4
112+
endif

boards/arm/mimxrt1170_evk/doc/index.rst

Lines changed: 57 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
.. _mimxrt1170_evk:
22

3-
NXP MIMXRT1170-EVK
4-
##################
3+
NXP MIMXRT1170-EVK/EVKB
4+
#######################
55

66
Overview
77
********
88

99
The dual core i.MX RT1170 runs on the Cortex-M7 core at 1 GHz and on the Cortex-M4
1010
at 400 MHz. The i.MX RT1170 MCU offers support over a wide temperature range
11-
and is qualified for consumer, industrial and automotive markets.
11+
and is qualified for consumer, industrial and automotive markets. Zephyr
12+
supports the initial revision of this EVK, as well as EVK rev B.
1213

1314
.. image:: mimxrt1170_evk.jpg
1415
:align: center
@@ -86,55 +87,59 @@ Supported Features
8687
NXP considers the MIMXRT1170-EVK as the superset board for the i.MX RT11xx
8788
family of MCUs. This board is a focus for NXP's Full Platform Support for
8889
Zephyr, to better enable the entire RT11xx family. NXP prioritizes enabling
89-
this board with new support for Zephyr features. The mimxrt1170_evk board
90-
configuration supports the following hardware features:
91-
92-
+-----------+------------+-------------------------------------+
93-
| Interface | Controller | Driver/Component |
94-
+===========+============+=====================================+
95-
| NVIC | on-chip | nested vector interrupt controller |
96-
+-----------+------------+-------------------------------------+
97-
| SYSTICK | on-chip | systick |
98-
+-----------+------------+-------------------------------------+
99-
| GPIO | on-chip | gpio |
100-
+-----------+------------+-------------------------------------+
101-
| COUNTER | on-chip | counter |
102-
+-----------+------------+-------------------------------------+
103-
| CAN | on-chip | flexcan |
104-
+-----------+------------+-------------------------------------+
105-
| SPI | on-chip | spi |
106-
+-----------+------------+-------------------------------------+
107-
| I2C | on-chip | i2c |
108-
+-----------+------------+-------------------------------------+
109-
| PWM | on-chip | pwm |
110-
+-----------+------------+-------------------------------------+
111-
| ADC | on-chip | adc |
112-
+-----------+------------+-------------------------------------+
113-
| UART | on-chip | serial port-polling; |
114-
| | | serial port-interrupt |
115-
+-----------+------------+-------------------------------------+
116-
| DMA | on-chip | dma |
117-
+-----------+------------+-------------------------------------+
118-
| GPT | on-chip | gpt |
119-
+-----------+------------+-------------------------------------+
120-
| WATCHDOG | on-chip | watchdog |
121-
+-----------+------------+-------------------------------------+
122-
| ENET | on-chip | ethernet |
123-
+-----------+------------+-------------------------------------+
124-
| SAI | on-chip | i2s |
125-
+-----------+------------+-------------------------------------+
126-
| USB | on-chip | USB Device |
127-
+-----------+------------+-------------------------------------+
128-
| HWINFO | on-chip | Unique device serial number |
129-
+-----------+------------+-------------------------------------+
130-
| DISPLAY | on-chip | display |
131-
+-----------+------------+-------------------------------------+
132-
| ACMP | on-chip | analog comparator |
133-
+-----------+------------+-------------------------------------+
134-
| CAAM RNG | on-chip | entropy |
135-
+-----------+------------+-------------------------------------+
136-
| FLEXSPI | on-chip | flash programming |
137-
+-----------+------------+-------------------------------------+
90+
this board with new support for Zephyr features. Note that this table
91+
covers two boards: the RT1170 EVK (`mimxrt1170_evk_cm7/cm4`), and
92+
RT1170 EVKB (`mimxrt1170_evkb_cm7/cm4`)
93+
94+
+-----------+------------+-------------------------------------+-----------------+-----------------+
95+
| Interface | Controller | Driver/Component | RT1170 EVK | RT1170 EVKB |
96+
+===========+============+=====================================+=================+=================+
97+
| NVIC | on-chip | nested vector interrupt controller | Supported | Supported |
98+
+-----------+------------+-------------------------------------+-----------------+-----------------+
99+
| SYSTICK | on-chip | systick | Supported | Supported |
100+
+-----------+------------+-------------------------------------+-----------------+-----------------+
101+
| GPIO | on-chip | gpio | Supported | Supported |
102+
+-----------+------------+-------------------------------------+-----------------+-----------------+
103+
| COUNTER | on-chip | gpt | Supported | Supported |
104+
+-----------+------------+-------------------------------------+-----------------+-----------------+
105+
| CAN | on-chip | flexcan | Supported (M7) | Supported (M7) |
106+
+-----------+------------+-------------------------------------+-----------------+-----------------+
107+
| SPI | on-chip | spi | Supported (M7) | No support |
108+
+-----------+------------+-------------------------------------+-----------------+-----------------+
109+
| I2C | on-chip | i2c | Supported | No support |
110+
+-----------+------------+-------------------------------------+-----------------+-----------------+
111+
| PWM | on-chip | pwm | Supported | Supported |
112+
+-----------+------------+-------------------------------------+-----------------+-----------------+
113+
| ADC | on-chip | adc | Supported (M7) | No support |
114+
+-----------+------------+-------------------------------------+-----------------+-----------------+
115+
| UART | on-chip | serial port-polling; | Supported | Supported |
116+
| | | serial port-interrupt; | | |
117+
| | | serial port-async | | |
118+
+-----------+------------+-------------------------------------+-----------------+-----------------+
119+
| DMA | on-chip | dma | Supported | No support |
120+
+-----------+------------+-------------------------------------+-----------------+-----------------+
121+
| GPT | on-chip | gpt | Supported | Supported |
122+
+-----------+------------+-------------------------------------+-----------------+-----------------+
123+
| WATCHDOG | on-chip | watchdog | Supported (M7) | Supported (M7) |
124+
+-----------+------------+-------------------------------------+-----------------+-----------------+
125+
| ENET | on-chip | ethernet | Supported (M7) | No support |
126+
+-----------+------------+-------------------------------------+-----------------+-----------------+
127+
| SAI | on-chip | i2s | Supported | No support |
128+
+-----------+------------+-------------------------------------+-----------------+-----------------+
129+
| USB | on-chip | USB Device | Supported (M7) | Supported (M7) |
130+
+-----------+------------+-------------------------------------+-----------------+-----------------+
131+
| HWINFO | on-chip | Unique device serial number | Supported (M7) | Supported (M7) |
132+
+-----------+------------+-------------------------------------+-----------------+-----------------+
133+
| DISPLAY | on-chip | display | Supported (M7) | No support |
134+
+-----------+------------+-------------------------------------+-----------------+-----------------+
135+
| ACMP | on-chip | analog comparator | Supported | No support |
136+
+-----------+------------+-------------------------------------+-----------------+-----------------+
137+
| CAAM RNG | on-chip | entropy | Supported (M7) | No support |
138+
+-----------+------------+-------------------------------------+-----------------+-----------------+
139+
| FLEXSPI | on-chip | flash programming | Supported (M7) | No support |
140+
+-----------+------------+-------------------------------------+-----------------+-----------------+
141+
| SDHC | on-chip | SD host controller | Supported (M7) | Supported (M7) |
142+
+-----------+------------+-------------------------------------+-----------------+-----------------+
138143

139144
The default configuration can be found in the defconfig file:
140145
``boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7_defconfig``

boards/arm/mimxrt1170_evk/mimxrt1170_evk.dtsi

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2021, NXP
2+
* Copyright 2021,2023 NXP
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -14,6 +14,7 @@
1414
magn0 = &fxos8700;
1515
accel0 = &fxos8700;
1616
sdhc0 = &usdhc1;
17+
pwm-led0 = &green_pwm_led;
1718
};
1819

1920
leds {

boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm4.dts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2021, NXP
2+
* Copyright 2021,2023 NXP
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -25,7 +25,7 @@
2525
zephyr,shell-uart = &lpuart1;
2626
zephyr,canbus = &flexcan2;
2727
zephyr,flash-controller = &is25wp128;
28-
zephyr,flash = &is25wp128;
28+
zephyr,flash = &sram0;
2929
nxp,m4-partition = &slot1_partition;
3030
zephyr,ipc = &mailbox_b;
3131
};

boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm4_defconfig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
#
2-
# Copyright (c) 2021, NXP
2+
# Copyright 2021,2023 NXP
33
#
44
# SPDX-License-Identifier: Apache-2.0
55
#
66

7+
CONFIG_BOARD_MIMXRT1170_EVK_CM4=y
78
CONFIG_SOC_MIMXRT1176_CM4=y
89
CONFIG_SOC_SERIES_IMX_RT=y
910
CONFIG_CONSOLE=y

boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7_defconfig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
#
2-
# Copyright (c) 2021, NXP
2+
# Copyright 2021,2023 NXP
33
#
44
# SPDX-License-Identifier: Apache-2.0
55
#
66

7+
CONFIG_BOARD_MIMXRT1170_EVK_CM7=y
78
CONFIG_SOC_MIMXRT1176_CM7=y
89
CONFIG_SOC_SERIES_IMX_RT=y
910
CONFIG_CONSOLE=y
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
/*
2+
* Copyright 2023 NXP
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include "mimxrt1170_evk_cm4.dts"
8+
9+
/ {
10+
chosen {
11+
/delete-property/ zephyr,flash-controller;
12+
/delete-property/ zephyr,code-partition;
13+
};
14+
15+
aliases {
16+
/delete-property/ magn0;
17+
/delete-property/ accel0;
18+
};
19+
};
20+
21+
&flexspi {
22+
/* RT1170 EVKB uses a different QSPI flash chip */
23+
/delete-node/ is25wp128@0;
24+
status = "okay";
25+
reg = <0x400cc000 0x4000>, <0x30000000 DT_SIZE_M(64)>;
26+
w25q512nw:w25q512nw@0 {
27+
/* IS25WP128 flash chip not currently enabled */
28+
compatible = "nxp,imx-flexspi-nor";
29+
size = <DT_SIZE_M(512)>;
30+
reg = <0>;
31+
spi-max-frequency = <133000000>;
32+
status = "okay";
33+
jedec-id = [ef 60 20];
34+
erase-block-size = <4096>;
35+
write-block-size = <1>;
36+
37+
/*
38+
* Partitions are present to support dual core operation.
39+
* as flash write is not supported, MCUBoot is not enabled.
40+
*/
41+
partitions {
42+
compatible = "fixed-partitions";
43+
#address-cells = <1>;
44+
#size-cells = <1>;
45+
46+
boot_partition: partition@0 {
47+
label = "mcuboot";
48+
reg = <0x00000000 DT_SIZE_K(128)>;
49+
};
50+
/* Note slot 0 has one additional sector,
51+
* this is intended for use with the swap move algorithm
52+
*/
53+
slot0_partition: partition@20000 {
54+
label = "image-0";
55+
reg = <0x00020000 0x301000>;
56+
};
57+
slot1_partition: partition@321000 {
58+
label = "image-1";
59+
reg = <0x00321000 0x300000>;
60+
};
61+
scratch_partition: partition@621000 {
62+
label = "image-scratch";
63+
reg = <0x00621000 DT_SIZE_K(128)>;
64+
};
65+
storage_partition: partition@641000 {
66+
label = "storage";
67+
reg = <0x00641000 DT_SIZE_K(1856)>;
68+
};
69+
};
70+
};
71+
};
72+
73+
&lpi2c5 {
74+
/* FXOS accelerometer is not present in this board */
75+
/delete-node/ fxos8700@1f;
76+
};
77+
78+
/* Disable ethernet, as PHY is not supported */
79+
&enet {
80+
status = "disabled";
81+
};
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#
2+
# Copyright 2023 NXP
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
#
6+
7+
identifier: mimxrt1170_evkb_cm4
8+
name: NXP MIMXRT1170-EVKB CM4
9+
type: mcu
10+
arch: arm
11+
toolchain:
12+
- zephyr
13+
- gnuarmemb
14+
- xtools
15+
ram: 128
16+
flash: 128
17+
supported:
18+
- dma
19+
- gpio
20+
- i2c
21+
- pwm

0 commit comments

Comments
 (0)