Skip to content

Commit b91fc21

Browse files
author
Jamie Smith
authored
MIMXRT1060_EVK and Teensy 4.0 support (ARMmbed#113)
* Initial attempt at Teensy 4.0 support * Hide internal target * Fix some targets.json issues, add boot code for the MIMXRT1060_EVK. It boots but tests aren't able to run properly yet. * Disable LPTICKER on MIMXRT1060, fix pin names for newer dev kits * Enable MIMXRT106x ethernet
1 parent 280d40c commit b91fc21

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1484
-73
lines changed

connectivity/drivers/emac/TARGET_NXP_EMAC/TARGET_IMX/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Copyright (c) 2020 ARM Limited. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
if("MIMXRT1050_EVK" IN_LIST MBED_TARGET_LABELS)
5-
add_subdirectory(TARGET_MIMXRT1050_EVK)
4+
if("MIMXRT1050_EVK" IN_LIST MBED_TARGET_LABELS OR "MIMXRT1060_EVK" IN_LIST MBED_TARGET_LABELS)
5+
add_subdirectory(TARGET_MIMXRT10x0_EVK)
66
endif()
77

88
target_include_directories(mbed-emac

connectivity/lwipstack/mbed_lib.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@
219219
"pbuf-pool-size": 14,
220220
"mem-size": 65536
221221
},
222-
"MIMXRT1050_EVK": {
222+
"MIMXRT105X": {
223223
"mem-size": 36560
224224
},
225225
"PORTENTA_H7": {

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/CMakeLists.txt

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
# Copyright (c) 2020-2021 ARM Limited. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
add_subdirectory(TARGET_EVK EXCLUDE_FROM_ALL)
5-
64
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
75
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MIMXRT1052.S)
86
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MIMXRT1052xxxxx.sct)
@@ -11,19 +9,31 @@ elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
119
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MIMXRT1052xxxxx.ld)
1210
endif()
1311

14-
add_library(mbed-mimxrt1050-evk INTERFACE)
12+
# Target for MIMXRT106x/106x common code.
13+
add_library(mbed-mimxrt105x INTERFACE)
1514

16-
target_include_directories(mbed-mimxrt1050-evk
15+
target_include_directories(mbed-mimxrt105x
1716
INTERFACE
1817
.
1918
device
2019
drivers
2120
)
2221

23-
target_sources(mbed-mimxrt1050-evk
22+
target_sources(mbed-mimxrt105x
2423
INTERFACE
2524
usb_device_ch9.c
2625
usb_device_class.c
26+
analogin_api.c
27+
serial_api.c
28+
sleep.c
29+
trng_api.c
30+
us_ticker.c
31+
fsl_clock_config.c
32+
PeripheralPins.c
33+
pinmap.c
34+
specific.c
35+
lpm.c
36+
mbed_overrides.c
2737

2838
device/system_MIMXRT1052.c
2939

@@ -60,7 +70,6 @@ target_sources(mbed-mimxrt1050-evk
6070
drivers/fsl_flexio_uart_edma.c
6171
drivers/fsl_flexram.c
6272
drivers/fsl_flexspi.c
63-
drivers/fsl_flexspi_nor_boot.c
6473
drivers/fsl_gpc.c
6574
drivers/fsl_gpio.c
6675
drivers/fsl_gpt.c
@@ -97,12 +106,14 @@ target_sources(mbed-mimxrt1050-evk
97106
${STARTUP_FILE}
98107
)
99108

100-
target_link_libraries(mbed-mimxrt1050-evk
109+
target_link_libraries(mbed-mimxrt105x
101110
INTERFACE
102111
mbed-mcuxpresso-mcus
103-
mbed-evk
104112
mbed-imx
105113
mbed-nxp-usb
106114
)
107115

108-
mbed_set_linker_script(mbed-mimxrt1050-evk ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
116+
mbed_set_linker_script(mbed-mimxrt105x ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
117+
118+
add_subdirectory(TARGET_EVK EXCLUDE_FROM_ALL)
119+
add_subdirectory(TARGET_TEENSY_4X)

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/TARGET_EVK/PeripheralNames.h renamed to targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/PeripheralNames.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ typedef enum {
3232
UART_2 = 2,
3333
UART_3 = 3,
3434
UART_4 = 4,
35+
UART_5 = 5,
36+
UART_6 = 6,
37+
UART_7 = 7,
38+
UART_8 = 8
3539
} UARTName;
3640

3741
#if defined(MBED_CONF_TARGET_STDIO_UART_TX)

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/TARGET_EVK/PeripheralPins.c renamed to targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/PeripheralPins.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,24 +41,36 @@ const PinMap PinMap_DAC[] = {
4141
/************I2C***************/
4242
const PinMap PinMap_I2C_SDA[] = {
4343
{GPIO_AD_B1_01, I2C_1, ((1U << DAISY_REG_VALUE_SHIFT) | (0x4D0 << DAISY_REG_SHIFT) | (1U << SION_BIT_SHIFT) | 3)},
44+
45+
// I2C3 is ALT1 of GPIO_AD_B1_06
46+
// GPIO_AD_B1_06 is daisy chain input 3 of I2C3 per the IOMUXC_LPI2C3_SDA_SELECT_INPUT register description
47+
{GPIO_AD_B1_06, I2C_3, ((3U << DAISY_REG_VALUE_SHIFT) | (0x4E0 << DAISY_REG_SHIFT) | (1U << SION_BIT_SHIFT) | 1)},
48+
4449
{NC , NC , 0}
4550
};
4651

4752
const PinMap PinMap_I2C_SCL[] = {
4853
{GPIO_AD_B1_00, I2C_1, ((1U << DAISY_REG_VALUE_SHIFT) | (0x4CC << DAISY_REG_SHIFT) | (1U << SION_BIT_SHIFT) | 3)},
54+
55+
// I2C3 is ALT1 of GPIO_AD_B1_07
56+
// GPIO_AD_B1_07 is daisy chain input 3 of I2C3 per the IOMUXC_LPI2C3_SCL_SELECT_INPUT register description
57+
{GPIO_AD_B1_07, I2C_3, ((3U << DAISY_REG_VALUE_SHIFT) | (0x4DC << DAISY_REG_SHIFT) | (1U << SION_BIT_SHIFT) | 1)},
58+
4959
{NC , NC , 0}
5060
};
5161

5262
/************UART***************/
5363
const PinMap PinMap_UART_TX[] = {
5464
{GPIO_AD_B0_12, UART_1, 2},
5565
{GPIO_AD_B1_06, UART_3, 2},
66+
{GPIO_AD_B0_02, UART_6, 2},
5667
{NC , NC , 0}
5768
};
5869

5970
const PinMap PinMap_UART_RX[] = {
6071
{GPIO_AD_B0_13, UART_1, 2},
6172
{GPIO_AD_B1_07, UART_3, 2},
73+
{GPIO_AD_B0_03, UART_6, 2},
6274
{NC , NC , 0}
6375
};
6476

Lines changed: 37 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,48 @@
11
# Copyright (c) 2021 ARM Limited. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
add_library(mbed-evk INTERFACE)
4+
# MIMXRT1050_EVK
5+
add_library(mbed-mimxrt1050-evk INTERFACE)
56

6-
target_include_directories(mbed-evk
7+
target_include_directories(mbed-mimxrt1050-evk
78
INTERFACE
89
.
9-
xip
1010
)
1111

12-
target_sources(mbed-evk
12+
target_sources(mbed-mimxrt1050-evk
1313
INTERFACE
14-
analogin_api.c
15-
flash_api.c
16-
fsl_clock_config.c
1714
fsl_phy.c
18-
lpm.c
19-
mbed_overrides.c
20-
PeripheralPins.c
21-
pinmap.c
22-
serial_api.c
23-
sleep.c
24-
specific.c
25-
trng_api.c
26-
us_ticker.c
27-
28-
xip/evkbimxrt1050_flexspi_nor_config.c
29-
xip/evkbimxrt1050_sdram_ini_dcd.c
15+
fsl_flexspi_nor_boot.c
16+
17+
TARGET_1050_EVK/flash_api.c
18+
19+
TARGET_1050_EVK/xip/evkbimxrt1050_flexspi_nor_config.c
20+
TARGET_1050_EVK/xip/evkbimxrt1050_sdram_ini_dcd.c
21+
)
22+
23+
target_link_libraries(mbed-mimxrt1050-evk
24+
INTERFACE
25+
mbed-mimxrt105x
3026
)
27+
28+
# MIMXRT1060_EVK
29+
add_library(mbed-mimxrt1060-evk INTERFACE)
30+
31+
target_include_directories(mbed-mimxrt1060-evk
32+
INTERFACE
33+
.
34+
)
35+
36+
target_sources(mbed-mimxrt1060-evk
37+
INTERFACE
38+
fsl_phy.c
39+
fsl_flexspi_nor_boot.c
40+
41+
TARGET_1060_EVK/xip/evkbmimxrt1060_flexspi_nor_config.c
42+
TARGET_1060_EVK/xip/dcd.c
43+
)
44+
45+
target_link_libraries(mbed-mimxrt1060-evk
46+
INTERFACE
47+
mbed-mimxrt105x
48+
)

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/TARGET_EVK/PinNames.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,11 @@ typedef enum {
189189
ARDUINO_UNO_D11 = GPIO_SD_B0_02,
190190
ARDUINO_UNO_D12 = GPIO_SD_B0_03,
191191
ARDUINO_UNO_D13 = GPIO_SD_B0_00,
192-
ARDUINO_UNO_D14 = GPIO_AD_B0_01,
193-
ARDUINO_UNO_D15 = GPIO_AD_B0_00,
192+
193+
// Note: MIMXRT1050 EVKB Rev A connected D15 and D15 to AD_B0_01 and AD_B0_00 instead, but this did not comply
194+
// with the standard as these pins do not have an I2C instance on them, so it was changed in Rev B.
195+
ARDUINO_UNO_D14 = GPIO_AD_B1_01,
196+
ARDUINO_UNO_D15 = GPIO_AD_B1_00,
194197

195198
ARDUINO_UNO_A0 = GPIO_AD_B1_10,
196199
ARDUINO_UNO_A1 = GPIO_AD_B1_11,

0 commit comments

Comments
 (0)