Skip to content

Commit bf32e10

Browse files
committed
ports: mimxrt: Switch to official GitHub SDK
The current nxp_sdk is being replaced with official mcux-sdk in upstream repository(originally used in tinyUSB). Switching to the mcux-sdk only affects mimxrt ports for now however this will make porting other families easier. Signed-off-by: Yilin Sun <imi415@imi.moe>
1 parent bb57fe7 commit bf32e10

File tree

8 files changed

+245
-174
lines changed

8 files changed

+245
-174
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,6 @@
5656
[submodule "lib/micropython-lib"]
5757
path = lib/micropython-lib
5858
url = https://github.com/micropython/micropython-lib.git
59+
[submodule "lib/mcux-sdk"]
60+
path = lib/mcux-sdk
61+
url = https://github.com/nxp-mcuxpresso/mcux-sdk.git

lib/mcux-sdk

Submodule mcux-sdk added at f567baa

ports/mimxrt/Makefile

Lines changed: 69 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ endif
2020
BUILD ?= build-$(BOARD)
2121
PORT ?= /dev/ttyACM0
2222
CROSS_COMPILE ?= arm-none-eabi-
23-
GIT_SUBMODULES += lib/tinyusb lib/nxp_driver
23+
GIT_SUBMODULES += lib/tinyusb lib/mcux-sdk
2424

2525
# MicroPython feature configurations
2626
MICROPY_VFS_LFS2 ?= 1
@@ -51,7 +51,8 @@ include $(TOP)/py/py.mk
5151
include $(TOP)/extmod/extmod.mk
5252

5353
# Set SDK directory based on MCU_SERIES
54-
MCU_DIR = lib/nxp_driver/sdk/devices/$(MCU_SERIES)
54+
MCU_DIR = lib/mcux-sdk/devices/$(MCU_SERIES)
55+
MCUX_SDK_DIR = lib/mcux-sdk
5556

5657
# Select linker scripts based on MCU_SERIES
5758
LD_FILES = boards/$(MCU_SERIES).ld boards/common.ld
@@ -73,8 +74,6 @@ GEN_PINS_SRC = $(BUILD)/pins_gen.c
7374
INC += -I$(BOARD_DIR)
7475
INC += -I$(BUILD)
7576
INC += -I$(TOP)
76-
INC += -I$(TOP)/$(MCU_DIR)
77-
INC += -I$(TOP)/$(MCU_DIR)/drivers
7877
INC += -I$(TOP)/lib/cmsis/inc
7978
INC += -I$(TOP)/lib/oofatfs
8079
INC += -I$(TOP)/lib/tinyusb/hw
@@ -111,69 +110,107 @@ SRC_TINYUSB_C += \
111110
# All settings for Ethernet support are controller by the value of MICROPY_PY_LWIP
112111
ifeq ($(MICROPY_PY_LWIP),1)
113112
SRC_ETH_C += \
114-
$(MCU_DIR)/drivers/fsl_enet.c \
113+
$(MCUX_SDK_DIR)/drivers/enet/fsl_enet.c \
115114
hal/phy/device/phydp83825/fsl_phydp83825.c \
116115
hal/phy/device/phydp83848/fsl_phydp83848.c \
117116
hal/phy/device/phyksz8081/fsl_phyksz8081.c \
118117
hal/phy/device/phylan8720/fsl_phylan8720.c \
119118
hal/phy/device/phyrtl8211f/fsl_phyrtl8211f.c \
120119
hal/phy/mdio/enet/fsl_enet_mdio.c
120+
121+
INC_HAL_IMX += \
122+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/enet
121123
endif
122124

123125
# NXP SDK sources
124126
SRC_HAL_IMX_C += \
125127
$(MCU_DIR)/drivers/fsl_clock.c \
126-
$(MCU_DIR)/drivers/fsl_common.c \
127-
$(MCU_DIR)/drivers/fsl_dmamux.c \
128-
$(MCU_DIR)/drivers/fsl_edma.c \
129-
$(MCU_DIR)/drivers/fsl_flexram.c \
130-
$(MCU_DIR)/drivers/fsl_flexspi.c \
131-
$(MCU_DIR)/drivers/fsl_gpio.c \
132-
$(MCU_DIR)/drivers/fsl_gpt.c \
133-
$(MCU_DIR)/drivers/fsl_lpi2c.c \
134-
$(MCU_DIR)/drivers/fsl_lpspi.c \
135-
$(MCU_DIR)/drivers/fsl_lpspi_edma.c \
136-
$(MCU_DIR)/drivers/fsl_lpuart.c \
137-
$(MCU_DIR)/drivers/fsl_pit.c \
138-
$(MCU_DIR)/drivers/fsl_pwm.c \
139-
$(MCU_DIR)/drivers/fsl_sai.c \
140-
$(MCU_DIR)/drivers/fsl_snvs_lp.c \
141-
$(MCU_DIR)/drivers/fsl_wdog.c \
128+
$(MCUX_SDK_DIR)/drivers/common/fsl_common.c \
129+
$(MCUX_SDK_DIR)/drivers/common/fsl_common_arm.c \
130+
$(MCUX_SDK_DIR)/drivers/dmamux/fsl_dmamux.c \
131+
$(MCUX_SDK_DIR)/drivers/edma/fsl_edma.c \
132+
$(MCUX_SDK_DIR)/drivers/flexram/fsl_flexram.c \
133+
$(MCUX_SDK_DIR)/drivers/flexspi/fsl_flexspi.c \
134+
$(MCUX_SDK_DIR)/drivers/igpio/fsl_gpio.c \
135+
$(MCUX_SDK_DIR)/drivers/gpt/fsl_gpt.c \
136+
$(MCUX_SDK_DIR)/drivers/lpi2c/fsl_lpi2c.c \
137+
$(MCUX_SDK_DIR)/drivers/lpspi/fsl_lpspi.c \
138+
$(MCUX_SDK_DIR)/drivers/lpspi/fsl_lpspi_edma.c \
139+
$(MCUX_SDK_DIR)/drivers/lpuart/fsl_lpuart.c \
140+
$(MCUX_SDK_DIR)/drivers/pit/fsl_pit.c \
141+
$(MCUX_SDK_DIR)/drivers/pwm/fsl_pwm.c \
142+
$(MCUX_SDK_DIR)/drivers/sai/fsl_sai.c \
143+
$(MCUX_SDK_DIR)/drivers/snvs_lp/fsl_snvs_lp.c \
144+
$(MCUX_SDK_DIR)/drivers/wdog01/fsl_wdog.c \
142145
$(MCU_DIR)/system_$(MCU_SERIES)$(MCU_CORE).c \
143146
$(MCU_DIR)/xip/fsl_flexspi_nor_boot.c \
144147

148+
INC_HAL_IMX += \
149+
-I$(TOP)/$(MCU_DIR) \
150+
-I$(TOP)/$(MCU_DIR)/drivers \
151+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/common \
152+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/dmamux \
153+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/edma \
154+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/flexram \
155+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/flexspi \
156+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/igpio \
157+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/gpt \
158+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/lpi2c \
159+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/lpspi \
160+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/lpuart \
161+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/pit \
162+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/pwm \
163+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/sai \
164+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/snvs_lp \
165+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/wdog01 \
166+
145167
ifeq ($(MICROPY_HW_SDRAM_AVAIL),1)
146-
SRC_HAL_IMX_C += $(MCU_DIR)/drivers/fsl_semc.c
168+
SRC_HAL_IMX_C += $(MCUX_SDK_DIR)/drivers/semc/fsl_semc.c
169+
INC_HAL_IMX += -I$(TOP)/$(MCUX_SDK_DIR)/drivers/semc
147170
endif
148171

149172
ifeq ($(MICROPY_PY_MACHINE_SDCARD),1)
150-
SRC_HAL_IMX_C += $(MCU_DIR)/drivers/fsl_usdhc.c
173+
SRC_HAL_IMX_C += $(MCUX_SDK_DIR)/drivers/usdhc/fsl_usdhc.c
174+
INC_HAL_IMX += -I$(TOP)/$(MCUX_SDK_DIR)/drivers/usdhc
151175
endif
152176

153177
ifeq ($(MCU_SERIES),$(filter $(MCU_SERIES), MIMXRT1015 MIMXRT1021 MIMXRT1052 MIMXRT1062 MIMXRT1064 MIMXRT1176))
154178
SRC_HAL_IMX_C += \
155-
$(MCU_DIR)/drivers/fsl_qtmr.c \
179+
$(MCUX_SDK_DIR)/drivers/qtmr_1/fsl_qtmr.c \
156180
$(MCU_DIR)/drivers/fsl_romapi.c
181+
182+
INC_HAL_IMX += -I$(TOP)/$(MCUX_SDK_DIR)/drivers/qtmr_1
157183
endif
158184

159185
ifeq ($(MCU_SERIES), MIMXRT1176)
160-
INC += -I$(TOP)/$(MCU_DIR)/drivers/cm7
161-
162186
SRC_HAL_IMX_C += \
163187
$(MCU_DIR)/drivers/cm7/fsl_cache.c \
164188
$(MCU_DIR)/drivers/fsl_dcdc.c \
165189
$(MCU_DIR)/drivers/fsl_pmu.c \
166-
$(MCU_DIR)/drivers/fsl_common_arm.c \
167190
$(MCU_DIR)/drivers/fsl_anatop_ai.c \
168-
$(MCU_DIR)/drivers/fsl_caam.c \
169-
$(MCU_DIR)/drivers/fsl_lpadc.c
191+
$(MCUX_SDK_DIR)/drivers/caam/fsl_caam.c \
192+
$(MCUX_SDK_DIR)/drivers/lpadc/fsl_lpadc.c
193+
194+
INC_HAL_IMX += \
195+
-I$(TOP)/$(MCU_DIR)/drivers/cm7 \
196+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/caam \
197+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/lpadc
198+
199+
CFLAGS += -DCACHE_MODE_WRITE_THROUGH=1
170200
else
171201
SRC_HAL_IMX_C += \
172-
$(MCU_DIR)/drivers/fsl_adc.c \
173-
$(MCU_DIR)/drivers/fsl_cache.c \
174-
$(MCU_DIR)/drivers/fsl_trng.c
202+
$(MCUX_SDK_DIR)/drivers/adc_12b1msps_sar/fsl_adc.c \
203+
$(MCUX_SDK_DIR)/drivers/cache/armv7-m7/fsl_cache.c \
204+
$(MCUX_SDK_DIR)/drivers/trng/fsl_trng.c
205+
206+
INC_HAL_IMX += \
207+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/adc_12b1msps_sar \
208+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/cache/armv7-m7 \
209+
-I$(TOP)/$(MCUX_SDK_DIR)/drivers/trng
175210
endif
176211

212+
INC += $(INC_HAL_IMX)
213+
177214
# C source files
178215
SRC_C += \
179216
board_init.c \

ports/mimxrt/boards/MIMXRT1050_EVK/mpconfigboard.h

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@
2121
#define MICROPY_HW_UART_INDEX { 1, 3, 2, 6, 8 }
2222

2323
#define IOMUX_TABLE_UART \
24-
{ IOMUXC_GPIO_AD_B0_12_LPUART1_TX }, { IOMUXC_GPIO_AD_B0_13_LPUART1_RX }, \
25-
{ IOMUXC_GPIO_AD_B1_02_LPUART2_TX }, { IOMUXC_GPIO_AD_B1_03_LPUART2_RX }, \
26-
{ IOMUXC_GPIO_AD_B1_06_LPUART3_TX }, { IOMUXC_GPIO_AD_B1_07_LPUART3_RX }, \
24+
{ IOMUXC_GPIO_AD_B0_12_LPUART1_TXD }, { IOMUXC_GPIO_AD_B0_13_LPUART1_RXD }, \
25+
{ IOMUXC_GPIO_AD_B1_02_LPUART2_TXD }, { IOMUXC_GPIO_AD_B1_03_LPUART2_RXD }, \
26+
{ IOMUXC_GPIO_AD_B1_06_LPUART3_TXD }, { IOMUXC_GPIO_AD_B1_07_LPUART3_RXD }, \
2727
{ 0 }, { 0 }, \
2828
{ 0 }, { 0 }, \
29-
{ IOMUXC_GPIO_AD_B0_02_LPUART6_TX }, { IOMUXC_GPIO_AD_B0_03_LPUART6_RX }, \
29+
{ IOMUXC_GPIO_AD_B0_02_LPUART6_TXD }, { IOMUXC_GPIO_AD_B0_03_LPUART6_RXD }, \
3030
{ 0 }, { 0 }, \
31-
{ IOMUXC_GPIO_AD_B1_10_LPUART8_TX }, { IOMUXC_GPIO_AD_B1_11_LPUART8_RX },
31+
{ IOMUXC_GPIO_AD_B1_10_LPUART8_TXD }, { IOMUXC_GPIO_AD_B1_11_LPUART8_RXD },
3232

3333
#define MICROPY_HW_SPI_INDEX { 1 }
3434

@@ -101,22 +101,22 @@
101101
}
102102

103103
// --- SEMC --- //
104-
#define MIMXRT_IOMUXC_SEMC_DATA00 IOMUXC_GPIO_EMC_00_SEMC_DATA00
105-
#define MIMXRT_IOMUXC_SEMC_DATA01 IOMUXC_GPIO_EMC_01_SEMC_DATA01
106-
#define MIMXRT_IOMUXC_SEMC_DATA02 IOMUXC_GPIO_EMC_02_SEMC_DATA02
107-
#define MIMXRT_IOMUXC_SEMC_DATA03 IOMUXC_GPIO_EMC_03_SEMC_DATA03
108-
#define MIMXRT_IOMUXC_SEMC_DATA04 IOMUXC_GPIO_EMC_04_SEMC_DATA04
109-
#define MIMXRT_IOMUXC_SEMC_DATA05 IOMUXC_GPIO_EMC_05_SEMC_DATA05
110-
#define MIMXRT_IOMUXC_SEMC_DATA06 IOMUXC_GPIO_EMC_06_SEMC_DATA06
111-
#define MIMXRT_IOMUXC_SEMC_DATA07 IOMUXC_GPIO_EMC_07_SEMC_DATA07
112-
#define MIMXRT_IOMUXC_SEMC_DATA08 IOMUXC_GPIO_EMC_30_SEMC_DATA08
113-
#define MIMXRT_IOMUXC_SEMC_DATA09 IOMUXC_GPIO_EMC_31_SEMC_DATA09
114-
#define MIMXRT_IOMUXC_SEMC_DATA10 IOMUXC_GPIO_EMC_32_SEMC_DATA10
115-
#define MIMXRT_IOMUXC_SEMC_DATA11 IOMUXC_GPIO_EMC_33_SEMC_DATA11
116-
#define MIMXRT_IOMUXC_SEMC_DATA12 IOMUXC_GPIO_EMC_34_SEMC_DATA12
117-
#define MIMXRT_IOMUXC_SEMC_DATA13 IOMUXC_GPIO_EMC_35_SEMC_DATA13
118-
#define MIMXRT_IOMUXC_SEMC_DATA14 IOMUXC_GPIO_EMC_36_SEMC_DATA14
119-
#define MIMXRT_IOMUXC_SEMC_DATA15 IOMUXC_GPIO_EMC_37_SEMC_DATA15
104+
#define MIMXRT_IOMUXC_SEMC_DATA00 IOMUXC_GPIO_EMC_00_SEMC_DA00
105+
#define MIMXRT_IOMUXC_SEMC_DATA01 IOMUXC_GPIO_EMC_01_SEMC_DA01
106+
#define MIMXRT_IOMUXC_SEMC_DATA02 IOMUXC_GPIO_EMC_02_SEMC_DA02
107+
#define MIMXRT_IOMUXC_SEMC_DATA03 IOMUXC_GPIO_EMC_03_SEMC_DA03
108+
#define MIMXRT_IOMUXC_SEMC_DATA04 IOMUXC_GPIO_EMC_04_SEMC_DA04
109+
#define MIMXRT_IOMUXC_SEMC_DATA05 IOMUXC_GPIO_EMC_05_SEMC_DA05
110+
#define MIMXRT_IOMUXC_SEMC_DATA06 IOMUXC_GPIO_EMC_06_SEMC_DA06
111+
#define MIMXRT_IOMUXC_SEMC_DATA07 IOMUXC_GPIO_EMC_07_SEMC_DA07
112+
#define MIMXRT_IOMUXC_SEMC_DATA08 IOMUXC_GPIO_EMC_30_SEMC_DA08
113+
#define MIMXRT_IOMUXC_SEMC_DATA09 IOMUXC_GPIO_EMC_31_SEMC_DA09
114+
#define MIMXRT_IOMUXC_SEMC_DATA10 IOMUXC_GPIO_EMC_32_SEMC_DA10
115+
#define MIMXRT_IOMUXC_SEMC_DATA11 IOMUXC_GPIO_EMC_33_SEMC_DA11
116+
#define MIMXRT_IOMUXC_SEMC_DATA12 IOMUXC_GPIO_EMC_34_SEMC_DA12
117+
#define MIMXRT_IOMUXC_SEMC_DATA13 IOMUXC_GPIO_EMC_35_SEMC_DA13
118+
#define MIMXRT_IOMUXC_SEMC_DATA14 IOMUXC_GPIO_EMC_36_SEMC_DA14
119+
#define MIMXRT_IOMUXC_SEMC_DATA15 IOMUXC_GPIO_EMC_37_SEMC_DA15
120120

121121
#define MIMXRT_IOMUXC_SEMC_ADDR00 IOMUXC_GPIO_EMC_09_SEMC_ADDR00
122122
#define MIMXRT_IOMUXC_SEMC_ADDR01 IOMUXC_GPIO_EMC_10_SEMC_ADDR01

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy