@@ -52,7 +52,8 @@ include $(TOP)/py/py.mk
5252include $(TOP ) /extmod/extmod.mk
5353
5454# Set SDK directory based on MCU_SERIES
55- MCU_DIR = lib/nxp_driver/sdk/devices/$(MCU_SERIES )
55+ MCUX_SDK_DIR = lib/nxp_driver/sdk
56+ MCU_DIR = $(MCUX_SDK_DIR ) /devices/$(MCU_SERIES )
5657
5758# Select linker scripts based on MCU_SERIES
5859LD_FILES = boards/$(MCU_SERIES ) .ld boards/common.ld
@@ -72,8 +73,6 @@ GEN_PINS_SRC = $(BUILD)/pins_gen.c
7273INC += -I$(BOARD_DIR )
7374INC += -I$(BUILD )
7475INC += -I$(TOP )
75- INC += -I$(TOP ) /$(MCU_DIR )
76- INC += -I$(TOP ) /$(MCU_DIR ) /drivers
7776INC += -I$(TOP ) /lib/cmsis/inc
7877INC += -I$(TOP ) /lib/oofatfs
7978INC += -I$(TOP ) /lib/tinyusb/hw
@@ -111,35 +110,38 @@ SRC_TINYUSB_C += \
111110# All settings for Ethernet support are controller by the value of MICROPY_PY_LWIP
112111ifeq ($(MICROPY_PY_LWIP ) ,1)
113112SRC_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
121123endif
122124
123125# NXP SDK sources
124126SRC_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_gpc .c \
132- $(MCU_DIR ) /drivers/fsl_gpio.c \
133- $(MCU_DIR ) /drivers/fsl_gpt.c \
134- $(MCU_DIR ) /drivers/fsl_lpi2c.c \
135- $(MCU_DIR ) /drivers/fsl_lpspi.c \
136- $(MCU_DIR ) /drivers/fsl_lpspi_edma.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_hp.c \
141- $(MCU_DIR ) /drivers/fsl_snvs_lp.c \
142- $(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/pit /fsl_pit.c \
140+ $(MCUX_SDK_DIR ) /drivers/pwm /fsl_pwm.c \
141+ $(MCUX_SDK_DIR ) /drivers/sai /fsl_sai.c \
142+ $(MCUX_SDK_DIR ) /drivers/snvs_hp /fsl_snvs_hp.c \
143+ $(MCUX_SDK_DIR ) /drivers/snvs_lp /fsl_snvs_lp.c \
144+ $(MCUX_SDK_DIR ) /drivers/wdog01 /fsl_wdog.c \
143145 $(MCU_DIR ) /system_$(MCU_SERIES )$(MCU_CORE ) .c \
144146
145147# Use a specific boot header for 1062 so the Teensy loader doesn't erase the filesystem.
@@ -149,18 +151,42 @@ else
149151SRC_HAL_IMX_C += $(MCU_DIR ) /xip/fsl_flexspi_nor_boot.c
150152endif
151153
154+ INC_HAL_IMX += \
155+ -I$(TOP ) /$(MCU_DIR ) \
156+ -I$(TOP ) /$(MCU_DIR ) /drivers \
157+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/common \
158+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/dmamux \
159+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/edma \
160+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/flexram \
161+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/flexspi \
162+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/igpio \
163+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/gpt \
164+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/lpi2c \
165+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/lpspi \
166+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/lpuart \
167+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/pit \
168+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/pwm \
169+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/sai \
170+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/snvs_hp \
171+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/snvs_lp \
172+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/wdog01 \
173+
152174ifeq ($(MICROPY_HW_SDRAM_AVAIL ) ,1)
153- SRC_HAL_IMX_C += $(MCU_DIR ) /drivers/fsl_semc.c
175+ SRC_HAL_IMX_C += $(MCUX_SDK_DIR ) /drivers/semc/fsl_semc.c
176+ INC_HAL_IMX += -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/semc
154177endif
155178
156179ifeq ($(MCU_SERIES ) ,$(filter $(MCU_SERIES ) , MIMXRT1021 MIMXRT1052 MIMXRT1062 MIMXRT1064 MIMXRT1176) )
157- SRC_HAL_IMX_C += $(MCU_DIR ) /drivers/fsl_usdhc.c
180+ SRC_HAL_IMX_C += $(MCUX_SDK_DIR ) /drivers/usdhc/fsl_usdhc.c
181+ INC_HAL_IMX += -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/usdhc
158182endif
159183
160184ifeq ($(MCU_SERIES ) ,$(filter $(MCU_SERIES ) , MIMXRT1015 MIMXRT1021 MIMXRT1052 MIMXRT1062 MIMXRT1064 MIMXRT1176) )
161185SRC_HAL_IMX_C += \
162- $(MCU_DIR ) /drivers/fsl_qtmr.c \
186+ $(MCUX_SDK_DIR ) /drivers/qtmr_1 /fsl_qtmr.c \
163187 $(MCU_DIR ) /drivers/fsl_romapi.c
188+
189+ INC_HAL_IMX += -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/qtmr_1
164190endif
165191
166192# If not empty, then it is 10xx.
@@ -171,24 +197,42 @@ APPLICATION_ADDR := 0x3000C000
171197endif
172198
173199ifeq ($(MCU_SERIES ) , MIMXRT1176)
174- INC += -I$(TOP ) /$(MCU_DIR ) /drivers/cm7
175-
176200SRC_HAL_IMX_C += \
177201 $(MCU_DIR ) /drivers/cm7/fsl_cache.c \
178202 $(MCU_DIR ) /drivers/fsl_dcdc.c \
179203 $(MCU_DIR ) /drivers/fsl_pmu.c \
180- $(MCU_DIR ) /drivers/fsl_common_arm.c \
181204 $(MCU_DIR ) /drivers/fsl_anatop_ai.c \
182- $(MCU_DIR ) /drivers/fsl_caam.c \
183- $(MCU_DIR ) /drivers/fsl_lpadc.c \
184- $(MCU_DIR ) /drivers/fsl_mu.c
205+ $(MCU_DIR ) /drivers/fsl_soc_src.c \
206+ $(MCU_DIR ) /drivers/fsl_gpc.c \
207+ $(MCUX_SDK_DIR ) /drivers/caam/fsl_caam.c \
208+ $(MCUX_SDK_DIR ) /drivers/lpadc/fsl_lpadc.c \
209+ $(MCUX_SDK_DIR ) /drivers/mu/fsl_mu.c
210+
211+ INC_HAL_IMX += \
212+ -I$(TOP ) /$(MCU_DIR ) /drivers/cm7 \
213+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/caam \
214+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/lpadc \
215+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/mu
216+
217+ CFLAGS += -DCACHE_MODE_WRITE_THROUGH=1
185218else
186219SRC_HAL_IMX_C += \
187- $(MCU_DIR ) /drivers/fsl_adc.c \
188- $(MCU_DIR ) /drivers/fsl_cache.c \
189- $(MCU_DIR ) /drivers/fsl_trng.c
220+ $(MCUX_SDK_DIR ) /drivers/adc_12b1msps_sar/fsl_adc.c \
221+ $(MCUX_SDK_DIR ) /drivers/cache/armv7-m7/fsl_cache.c \
222+ $(MCUX_SDK_DIR ) /drivers/gpc_1/fsl_gpc.c \
223+ $(MCUX_SDK_DIR ) /drivers/src/fsl_src.c \
224+ $(MCUX_SDK_DIR ) /drivers/trng/fsl_trng.c
225+
226+ INC_HAL_IMX += \
227+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/adc_12b1msps_sar \
228+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/cache/armv7-m7 \
229+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/gpc_1 \
230+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/src \
231+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/trng
190232endif
191233
234+ INC += $(INC_HAL_IMX )
235+
192236# C source files
193237SRC_C += \
194238 board_init.c \
@@ -369,8 +413,6 @@ CFLAGS += \
369413 -DMICROPY_HW_FLASH_SIZE=$(MICROPY_HW_FLASH_SIZE ) \
370414 -DMICROPY_HW_SDRAM_AVAIL=$(MICROPY_HW_SDRAM_AVAIL ) \
371415 -DMICROPY_HW_SDRAM_SIZE=$(MICROPY_HW_SDRAM_SIZE ) \
372- -DSPI_RETRY_TIMES=1000000 \
373- -DUART_RETRY_TIMES=1000000 \
374416 -DXIP_BOOT_HEADER_ENABLE=1 \
375417 -DXIP_EXTERNAL_FLASH=1 \
376418 -fdata-sections \
0 commit comments