mimxrt: Allow for board-specific flash driver files.

If in a board's mkconfigboard.mk the following symbol is set:

MICROPY_HW_BOARD_FLASH_FILES = 1

then the files:

($BOARD)_flexspi_flash_config.h  and
qspi_nor_flash_config.c  and/or
qspi_hyper_flash_config.c

are expected in the board directory. Otherwise the common files from
the hal directory are used.
pull/8215/head
robert-hh 2021-12-17 16:29:26 +01:00 zatwierdzone przez Damien George
rodzic 2dd3d88409
commit 84b76e4fbf
5 zmienionych plików z 24 dodań i 6 usunięć

Wyświetl plik

@ -95,6 +95,8 @@ ifeq ($(MICROPY_HW_FLASH_TYPE), qspi_nor)
CFLAGS += -DBOARD_FLASH_OPS_HEADER_H=\"hal/flexspi_nor_flash.h\"
else ifeq ($(MICROPY_HW_FLASH_TYPE), hyperflash)
CFLAGS += -DBOARD_FLASH_OPS_HEADER_H=\"hal/flexspi_hyper_flash.h\"
else
$(error Error: Unknown board flash type $(MICROPY_HW_FLASH_TYPE))
endif
ifeq ($(MICROPY_PY_MACHINE_SDCARD),1)
@ -272,6 +274,22 @@ SRC_C += \
$(SRC_HAL_IMX_C) \
$(SRC_ETH_C) \
ifeq ($(MICROPY_HW_BOARD_FLASH_FILES), 1)
CFLAGS += -DBOARD_FLASH_CONFIG_HEADER_H=\"$(BOARD)_flexspi_flash_config.h\"
ifeq ($(MICROPY_HW_FLASH_TYPE), qspi_nor)
SRC_C += \
hal/flexspi_nor_flash.c \
$(BOARD_DIR)/qspi_nor_flash_config.c
else ifeq ($(MICROPY_HW_FLASH_TYPE), hyperflash)
SRC_C += \
hal/flexspi_hyper_flash.c \
$(BOARD_DIR)/qspi_hyper_flash_config.c
endif
else
CFLAGS += -DBOARD_FLASH_CONFIG_HEADER_H=\"hal/flexspi_flash_config.h\"
ifeq ($(MICROPY_HW_FLASH_TYPE), qspi_nor)
SRC_C += \
@ -281,8 +299,8 @@ else ifeq ($(MICROPY_HW_FLASH_TYPE), hyperflash)
SRC_C += \
hal/flexspi_hyper_flash.c \
hal/qspi_hyper_flash_config.c
else
$(error Error: Unknown board flash type $(MICROPY_HW_FLASH_TYPE))
endif
endif
ifeq ($(MICROPY_FLOAT_IMPL),double)

Wyświetl plik

@ -28,7 +28,7 @@
#include "fsl_flexspi.h"
#include "mpconfigboard.h"
#include "flexspi_flash_config.h"
#include BOARD_FLASH_CONFIG_HEADER_H
// Defined in boards flash_config.c
extern flexspi_nor_config_t qspiflash_config;

Wyświetl plik

@ -28,7 +28,7 @@
#include "fsl_flexspi.h"
#include "mpconfigboard.h"
#include "flexspi_flash_config.h"
#include BOARD_FLASH_CONFIG_HEADER_H
// Defined in boards flash_config.c
extern flexspi_nor_config_t qspiflash_config;

Wyświetl plik

@ -5,7 +5,7 @@
* SPDX-License-Identifier: BSD-3-Clause
*/
#include "flexspi_flash_config.h"
#include BOARD_FLASH_CONFIG_HEADER_H
/* Component ID definition, used by tools. */
#ifndef FSL_COMPONENT_ID

Wyświetl plik

@ -7,7 +7,7 @@
// Based on tinyusb/hw/bsp/teensy_40/evkmimxrt1010_flexspi_nor_config.c
#include "flexspi_flash_config.h"
#include BOARD_FLASH_CONFIG_HEADER_H
/* Component ID definition, used by tools. */
#ifndef FSL_COMPONENT_ID