Skip to content
Snippets Groups Projects
Commit bc48fe4f authored by Lionel Debieve's avatar Lionel Debieve Committed by Sebastien Pasdeloup
Browse files

stm32mp1: allow to override MTD base offset


Add an external parameter STM32MP_FORCE_MTD_START_OFFSET that
allows to override the default FIP offset or base offset
used to read the first programmed image. It can be used for NOR,
RAW_NAND or SPI_NAND boot device.

Signed-off-by: default avatarLionel Debieve <lionel.debieve@st.com>
Change-Id: Ibe664aae0e5ee90dd6629e544c9e034d751fffed
Reviewed-on: https://gerrit.st.com/c/mpu/oe/st/tf-a/+/193647


Tested-by: default avatarLionel DEBIEVE <lionel.debieve@foss.st.com>
Reviewed-by: default avatarLionel DEBIEVE <lionel.debieve@foss.st.com>
Reviewed-by: default avatarCITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: default avatarYann GAUTIER <yann.gautier@foss.st.com>
parent ddb0ae7f
No related branches found
No related tags found
No related merge requests found
......@@ -322,6 +322,10 @@ BL2_SOURCES += drivers/mtd/nand/spi_nand.c
endif
ifeq (${STM32MP_SPI_NOR},1)
ifneq (${STM32MP_FORCE_MTD_START_OFFSET},)
$(eval $(call add_define_val,STM32MP_NOR_FIP_OFFSET,${STM32MP_FORCE_MTD_START_OFFSET}))
$(eval $(call add_define_val,STM32MP_NOR_BASE_OFFSET,${STM32MP_FORCE_MTD_START_OFFSET}))
endif
BL2_SOURCES += drivers/mtd/nor/spi_nor.c
endif
......@@ -331,6 +335,10 @@ BL2_SOURCES += drivers/mtd/spi-mem/spi_mem.c \
endif
ifneq ($(filter 1,${STM32MP_RAW_NAND} ${STM32MP_SPI_NAND}),)
ifneq (${STM32MP_FORCE_MTD_START_OFFSET},)
$(eval $(call add_define_val,STM32MP_NAND_FIP_OFFSET,${STM32MP_FORCE_MTD_START_OFFSET}))
$(eval $(call add_define_val,STM32MP_NAND_BASE_OFFSET,${STM32MP_FORCE_MTD_START_OFFSET}))
endif
BL2_SOURCES += drivers/mtd/nand/core.c
endif
......
......@@ -308,22 +308,35 @@ enum ddr_type {
* STM32MP1 RAW partition offset for MTD devices
******************************************************************************/
#if STM32MP_USE_STM32IMAGE
#define STM32MP_NOR_BL33_OFFSET U(0x00080000)
#ifndef STM32MP_NOR_BASE_OFFSET
#define STM32MP_NOR_BASE_OFFSET U(0x00080000)
#endif
#define STM32MP_NOR_BL33_OFFSET STM32MP_NOR_BASE_OFFSET
#ifdef AARCH32_SP_OPTEE
#define STM32MP_NOR_TEEH_OFFSET U(0x00300000)
#define STM32MP_NOR_TEED_OFFSET U(0x00340000)
#define STM32MP_NOR_TEEX_OFFSET U(0x003C0000)
#endif
#define STM32MP_NAND_BL33_OFFSET U(0x00200000)
#ifndef STM32MP_NAND_BASE_OFFSET
#define STM32MP_NAND_BASE_OFFSET U(0x00200000)
#endif
#define STM32MP_NAND_BL33_OFFSET STM32MP_NAND_BASE_OFFSET
#ifdef AARCH32_SP_OPTEE
#define STM32MP_NAND_TEEH_OFFSET U(0x00600000)
#define STM32MP_NAND_TEED_OFFSET U(0x00680000)
#define STM32MP_NAND_TEEX_OFFSET U(0x00700000)
#define STM32MP_NAND_TEEH_OFFSET (STM32MP_NAND_BASE_OFFSET + \
U(0x00400000))
#define STM32MP_NAND_TEED_OFFSET (STM32MP_NAND_BASE_OFFSET + \
U(0x00480000))
#define STM32MP_NAND_TEEX_OFFSET (STM32MP_NAND_BASE_OFFSET + \
U(0x00500000))
#endif
#else /* STM32MP_USE_STM32IMAGE */
#ifndef STM32MP_NOR_FIP_OFFSET
#define STM32MP_NOR_FIP_OFFSET U(0x00080000)
#endif
#ifndef STM32MP_NAND_FIP_OFFSET
#define STM32MP_NAND_FIP_OFFSET U(0x00200000)
#endif
#endif /* STM32MP_USE_STM32IMAGE */
/*******************************************************************************
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment