@@ -52,7 +52,8 @@ include $(TOP)/py/py.mk
52
52
include $(TOP ) /extmod/extmod.mk
53
53
54
54
# 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 )
56
57
57
58
# Select linker scripts based on MCU_SERIES
58
59
LD_FILES = boards/$(MCU_SERIES ) .ld boards/common.ld
@@ -72,8 +73,6 @@ GEN_PINS_SRC = $(BUILD)/pins_gen.c
72
73
INC += -I$(BOARD_DIR )
73
74
INC += -I$(BUILD )
74
75
INC += -I$(TOP )
75
- INC += -I$(TOP ) /$(MCU_DIR )
76
- INC += -I$(TOP ) /$(MCU_DIR ) /drivers
77
76
INC += -I$(TOP ) /lib/cmsis/inc
78
77
INC += -I$(TOP ) /lib/oofatfs
79
78
INC += -I$(TOP ) /lib/tinyusb/hw
@@ -111,35 +110,38 @@ SRC_TINYUSB_C += \
111
110
# All settings for Ethernet support are controller by the value of MICROPY_PY_LWIP
112
111
ifeq ($(MICROPY_PY_LWIP ) ,1)
113
112
SRC_ETH_C += \
114
- $(MCU_DIR ) /drivers/fsl_enet.c \
113
+ $(MCUX_SDK_DIR ) /drivers/enet /fsl_enet.c \
115
114
hal/phy/device/phydp83825/fsl_phydp83825.c \
116
115
hal/phy/device/phydp83848/fsl_phydp83848.c \
117
116
hal/phy/device/phyksz8081/fsl_phyksz8081.c \
118
117
hal/phy/device/phylan8720/fsl_phylan8720.c \
119
118
hal/phy/device/phyrtl8211f/fsl_phyrtl8211f.c \
120
119
hal/phy/mdio/enet/fsl_enet_mdio.c
120
+
121
+ INC_HAL_IMX += \
122
+ -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/enet
121
123
endif
122
124
123
125
# NXP SDK sources
124
126
SRC_HAL_IMX_C += \
125
127
$(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 \
143
145
$(MCU_DIR ) /system_$(MCU_SERIES )$(MCU_CORE ) .c \
144
146
145
147
# Use a specific boot header for 1062 so the Teensy loader doesn't erase the filesystem.
@@ -149,18 +151,42 @@ else
149
151
SRC_HAL_IMX_C += $(MCU_DIR ) /xip/fsl_flexspi_nor_boot.c
150
152
endif
151
153
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
+
152
174
ifeq ($(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
154
177
endif
155
178
156
179
ifeq ($(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
158
182
endif
159
183
160
184
ifeq ($(MCU_SERIES ) ,$(filter $(MCU_SERIES ) , MIMXRT1015 MIMXRT1021 MIMXRT1052 MIMXRT1062 MIMXRT1064 MIMXRT1176) )
161
185
SRC_HAL_IMX_C += \
162
- $(MCU_DIR ) /drivers/fsl_qtmr.c \
186
+ $(MCUX_SDK_DIR ) /drivers/qtmr_1 /fsl_qtmr.c \
163
187
$(MCU_DIR ) /drivers/fsl_romapi.c
188
+
189
+ INC_HAL_IMX += -I$(TOP ) /$(MCUX_SDK_DIR ) /drivers/qtmr_1
164
190
endif
165
191
166
192
# If not empty, then it is 10xx.
@@ -171,24 +197,42 @@ APPLICATION_ADDR := 0x3000C000
171
197
endif
172
198
173
199
ifeq ($(MCU_SERIES ) , MIMXRT1176)
174
- INC += -I$(TOP ) /$(MCU_DIR ) /drivers/cm7
175
-
176
200
SRC_HAL_IMX_C += \
177
201
$(MCU_DIR ) /drivers/cm7/fsl_cache.c \
178
202
$(MCU_DIR ) /drivers/fsl_dcdc.c \
179
203
$(MCU_DIR ) /drivers/fsl_pmu.c \
180
- $(MCU_DIR ) /drivers/fsl_common_arm.c \
181
204
$(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
185
218
else
186
219
SRC_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
190
232
endif
191
233
234
+ INC += $(INC_HAL_IMX )
235
+
192
236
# C source files
193
237
SRC_C += \
194
238
board_init.c \
@@ -371,8 +415,6 @@ CFLAGS += \
371
415
-DMICROPY_HW_FLASH_SIZE=$(MICROPY_HW_FLASH_SIZE ) \
372
416
-DMICROPY_HW_SDRAM_AVAIL=$(MICROPY_HW_SDRAM_AVAIL ) \
373
417
-DMICROPY_HW_SDRAM_SIZE=$(MICROPY_HW_SDRAM_SIZE ) \
374
- -DSPI_RETRY_TIMES=1000000 \
375
- -DUART_RETRY_TIMES=1000000 \
376
418
-DXIP_BOOT_HEADER_ENABLE=1 \
377
419
-DXIP_EXTERNAL_FLASH=1 \
378
420
-fdata-sections \
0 commit comments