| 95e4908e | 19-May-2022 |
Ahmad Fatoum <a.fatoum@pengutronix.de> |
feat(stm32mp1): extend STM32MP_EMMC_BOOT support to FIP format
STM32MP_EMMC_BOOT allowed placing SSBL into the eMMC boot partition along with FSBL. This allows atomic update of both FSBL and SSBL at
feat(stm32mp1): extend STM32MP_EMMC_BOOT support to FIP format
STM32MP_EMMC_BOOT allowed placing SSBL into the eMMC boot partition along with FSBL. This allows atomic update of both FSBL and SSBL at the same time. Previously, this was only possible for the FSBL, as the eMMC layout expected by TF-A had a single SSBL GPT partition in the eMMC user area. TEE binaries remained in dedicated GPT partitions whether STM32MP_EMMC_BOOT was on or off.
The new FIP format collects SSBL and TEE partitions into a single binary placed into a GPT partition. Extend STM32MP_EMMC_BOOT, so eMMC-booted TF-A first uses a FIP image placed at offset 256K into the active eMMC boot partition. If no FIP magic is detected at that offset or if STM32MP_EMMC_BOOT is disabled, the GPT on the eMMC user area will be consulted as before.
This allows power fail-safe update of all firmware using the built-in eMMC boot selector mechanism, provided it fits into the boot partition - SZ_256K. SZ_256K was chosen because it's the same offset used with the legacy format and because it's the size of the on-chip SRAM, where the STM32MP15x BootROM loads TF-A into. As such, TF-A may not exceed this size limit for existing SoCs.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Change-Id: Id7bec45652b3a289ca632d38d4b51316c5efdf8d
show more ...
|
| f41a85e9 | 10-May-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(st): add missing header include" into integration |
| b1391b29 | 06-May-2022 |
Yann Gautier <yann.gautier@st.com> |
fix(st): add missing header include
This issue is triggered when enabling -Wmissing-prototypes: plat/st/common/bl2_io_storage.c:114:5: warning: no previous prototype for 'open_fip' [-Wmissing-proto
fix(st): add missing header include
This issue is triggered when enabling -Wmissing-prototypes: plat/st/common/bl2_io_storage.c:114:5: warning: no previous prototype for 'open_fip' [-Wmissing-prototypes] 114 | int open_fip(const uintptr_t spec) | ^~~~~~~~ plat/st/common/bl2_io_storage.c:119:5: warning: no previous prototype for 'open_storage' [-Wmissing-prototypes] 119 | int open_storage(const uintptr_t spec) | ^~~~~~~~~~~~
Add missing stm32mp_io_storage.h header include, where those functions prototypes are defined.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I2af69fadfc4780553f41b338cd93b731210672a6
show more ...
|
| 2deff904 | 06-May-2022 |
Yann Gautier <yann.gautier@st.com> |
fix(st): fix NULL pointer dereference issues
The get_bl_mem_params_node() function could return NULL. Add asserts to check the return value is not NULL. This corrects coverity issues: pager_mem_par
fix(st): fix NULL pointer dereference issues
The get_bl_mem_params_node() function could return NULL. Add asserts to check the return value is not NULL. This corrects coverity issues: pager_mem_params = get_bl_mem_params_node(BL32_EXTRA1_IMAGE_ID); >>> CID 378360: (NULL_RETURNS) >>> Dereferencing "pager_mem_params", which is known to be "NULL".
paged_mem_params = get_bl_mem_params_node(BL32_EXTRA2_IMAGE_ID); >>> CID 378360: (NULL_RETURNS) >>> Dereferencing "paged_mem_params", which is known to be "NULL".
tos_fw_mem_params = get_bl_mem_params_node(TOS_FW_CONFIG_ID); >>> CID 378360: (NULL_RETURNS) >>> Dereferencing "tos_fw_mem_params", which is known to be "NULL".
Do the same for other occurrences of get_bl_mem_params_node() return not checked, in the functions plat_get_bl_image_load_info() and bl2_plat_handle_pre_image_load().
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I79165b1628fcee3da330f2db4ee5e1dafcb1b21f
show more ...
|
| 5b44657a | 25-Apr-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "st_fwu_bkp_reg" into integration
* changes: feat(stm32mp1): retry 3 times FWU trial boot refactor(stm32mp1): update backup reg for FWU |
| f87de907 | 07-Feb-2022 |
Nicolas Toromanoff <nicolas.toromanoff@foss.st.com> |
feat(stm32mp1): retry 3 times FWU trial boot
If we reboot 3 times in trial mode, BL2 will select previous boot image.
Signed-off-by: Nicolas Toromanoff <nicolas.toromanoff@foss.st.com> Change-Id: I
feat(stm32mp1): retry 3 times FWU trial boot
If we reboot 3 times in trial mode, BL2 will select previous boot image.
Signed-off-by: Nicolas Toromanoff <nicolas.toromanoff@foss.st.com> Change-Id: I82b423cc84f0471fdb6fa7c393fc5fe411d25c06
show more ...
|
| c5bf1b09 | 01-Mar-2022 |
Patrick Delaunay <patrick.delaunay@foss.st.com> |
refactor(stm32mp1): drop the "st,stm32-nvmem-layout" node
Simplify the DT parsing by removing the parsing of the nvmem layout node with "st,stm32-nvmem-layout" compatible.
The expected OTP NAME can
refactor(stm32mp1): drop the "st,stm32-nvmem-layout" node
Simplify the DT parsing by removing the parsing of the nvmem layout node with "st,stm32-nvmem-layout" compatible.
The expected OTP NAME can directly be found in a sub-node named NAME@ADDRESS of the BSEC node, the NVMEM provider node.
This patch also removes this specific binding introduced for TF-A.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Change-Id: Ic703385fad1bec5bef1cee583fbe9fbbf6aea216
show more ...
|
| b9a6dbc1 | 21-Mar-2022 |
Yann Gautier <yann.gautier@st.com> |
refactor(st): remove useless includes
The stm32mp_dt.c file does not need anything from DDR header files.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: Ibfe23204d68ee2e863cd2eda3d725
refactor(st): remove useless includes
The stm32mp_dt.c file does not need anything from DDR header files.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: Ibfe23204d68ee2e863cd2eda3d725baa830b729a
show more ...
|
| 9492b391 | 10-Mar-2022 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
fix(st): don't try to read boot partition on SD cards
When trying to boot from an SD card with STM32MP_EMMC_BOOT enabled, booting fails with:
ERROR: Got unexpected value for active boot partitio
fix(st): don't try to read boot partition on SD cards
When trying to boot from an SD card with STM32MP_EMMC_BOOT enabled, booting fails with:
ERROR: Got unexpected value for active boot partition, 0 ASSERT: plat/st/common/bl2_stm32_io_storage.c:285
because SD cards don't provide a boot partition. So only try reading from such a partition when booting from eMMC.
Fixes: 214c8a8d08b2 ("feat(plat/st): add STM32MP_EMMC_BOOT option") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Change-Id: I354b737a3ae3ea577e83dfeb7096df22275d852d
show more ...
|
| 99887cb9 | 02-Mar-2022 |
Yann Gautier <yann.gautier@foss.st.com> |
refactor(st): configure UART baudrate
Add the possibility to configure console UART baudrate, it can be passed as a command line parameter with STM32MP_UART_BAUDRATE. The default value remains 11520
refactor(st): configure UART baudrate
Add the possibility to configure console UART baudrate, it can be passed as a command line parameter with STM32MP_UART_BAUDRATE. The default value remains 115200.
Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Change-Id: I000df70c10b2b4dac1449556596f9820c36cf243
show more ...
|
| c768b2b2 | 18-Oct-2021 |
Yann Gautier <yann.gautier@st.com> |
feat(st): add early console in BL2
Add an early UART console to ease debug before UART is fully configured. This is done under flag STM32MP_EARLY_CONSOLE in the first STM32MP1 platform function call
feat(st): add early console in BL2
Add an early UART console to ease debug before UART is fully configured. This is done under flag STM32MP_EARLY_CONSOLE in the first STM32MP1 platform function called (bl2_el3_early_platform_setup()). It uses the parameters defined for crash console: STM32MP_DEBUG_USART* macros.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: Id6be62368723a0499e97bbf56fb52c166fcbdfad
show more ...
|
| 99026cff | 02-Feb-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "st-security-update" into integration
* changes: feat(stm32mp1): warn when debug enabled on secure chip fix(stm32mp1): rework switch/case for MISRA feat(st): disable a
Merge changes from topic "st-security-update" into integration
* changes: feat(stm32mp1): warn when debug enabled on secure chip fix(stm32mp1): rework switch/case for MISRA feat(st): disable authentication based on part_number
show more ...
|
| d0f2cf3b | 21-Sep-2021 |
Fabien Dessenne <fabien.dessenne@foss.st.com> |
feat(st): get pin_count from the gpio-ranges property
The "ngpios" property is deprecated and may be removed. Use the "gpio-ranges" property where the last parameter of that property is the number o
feat(st): get pin_count from the gpio-ranges property
The "ngpios" property is deprecated and may be removed. Use the "gpio-ranges" property where the last parameter of that property is the number of available pins within that range.
Signed-off-by: Fabien Dessenne <fabien.dessenne@foss.st.com> Change-Id: I28295412c7cb1246fc753cff0d447b6fdcdc4c0f
show more ...
|
| 49abdfd8 | 06-Dec-2019 |
Lionel Debieve <lionel.debieve@st.com> |
feat(st): disable authentication based on part_number
STM32MP15xA and STM32MP15xD chip part numbers don't support the secure boot. All functions linked to secure boot must not be used and signed bin
feat(st): disable authentication based on part_number
STM32MP15xA and STM32MP15xD chip part numbers don't support the secure boot. All functions linked to secure boot must not be used and signed binaries are not allowed on such chip.
Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Change-Id: I5b85f322f5eb3b64415e1819bd00fb2c99f20695
show more ...
|
| ae3ce8b2 | 04-Nov-2019 |
Lionel Debieve <lionel.debieve@st.com> |
feat(stm32mp1): new way to access platform OTP
Use dt_find_otp_name() to retrieve platform OTP information from device tree, directly or through stm32_get_otp_index() and stm32_get_otp_value() platf
feat(stm32mp1): new way to access platform OTP
Use dt_find_otp_name() to retrieve platform OTP information from device tree, directly or through stm32_get_otp_index() and stm32_get_otp_value() platform services. String definitions replace hard-coded values, they are used to call this new function.
Change-Id: I81213e4a9ad08fddadc2c97b064ae057a4c79561 Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| e1bfbf8a | 19-Jan-2022 |
Yann Gautier <yann.gautier@st.com> |
refactor(stm32mp1): remove unused refcount helper functions
Remove stm32mp_incr_shrefcnt(), stm32mp_decr_shrefcnt(), stm32mp_incr_refcnt() and stm32mp_decr_refcnt() that are unused. The file is then
refactor(stm32mp1): remove unused refcount helper functions
Remove stm32mp_incr_shrefcnt(), stm32mp_decr_shrefcnt(), stm32mp_incr_refcnt() and stm32mp_decr_refcnt() that are unused. The file is then just removed.
Change-Id: I09ee23c02317df5d8f71cbc355d3ed4a67ce2749 Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| ba02add9 | 01-Dec-2021 |
Sughosh Ganu <sughosh.ganu@linaro.org> |
feat(stm32mp1): add logic to pass the boot index to the Update Agent
With the FWU Multi Bank update feature, the platform can boot from one of multiple banks(partitions). Pass the value of bank from
feat(stm32mp1): add logic to pass the boot index to the Update Agent
With the FWU Multi Bank update feature, the platform can boot from one of multiple banks(partitions). Pass the value of bank from which the platform has booted as boot index to the Update Agent. The Update Agent will match this boot index value against the active_index field in the metadata, and update the metadata if there is a mismatch.
Fow now, the mechanism to pass the boot index is platform specific. On the STM32MP1 platform, the boot index value is passed through a memorey mapped TAMP register on the SoC.
Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Change-Id: I0aa665ff9c1db95be8ae19ed8de6d866587d6850
show more ...
|
| 0ca180f6 | 01-Dec-2021 |
Sughosh Ganu <sughosh.ganu@linaro.org> |
feat(stm32mp1): add support for reading the metadata partition
Add support for reading the FWU metadata partition. The metadata partition stores information on the current active bank along with inf
feat(stm32mp1): add support for reading the metadata partition
Add support for reading the FWU metadata partition. The metadata partition stores information on the current active bank along with information on all the FWU updatable images on the platform. This information is then used to identify the image to be booted.
Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Change-Id: I66bc5ac718c21a49c504e698b5b1f5c4daed2d08
show more ...
|
| 8dd75531 | 01-Dec-2021 |
Sughosh Ganu <sughosh.ganu@linaro.org> |
feat(stm32mp1): add logic to select the images to be booted
With the FWU multi bank boot feature enabled, the platform can boot from one of the multiple banks(partitions) containing the firmware ima
feat(stm32mp1): add logic to select the images to be booted
With the FWU multi bank boot feature enabled, the platform can boot from one of the multiple banks(partitions) containing the firmware images. The bank whose firmware components are to be booted is read from the FWU metadata structure -- the image to be booted is thus derived by reading the metadata.
Read the metadata and set the image spec of the corresponding image type to point to the partition from which the image is to be booted.
Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Change-Id: I3dfdc7e9202859e917ec4e1f7d1855aad42c6b70
show more ...
|
| 41bd8b9e | 10-Nov-2021 |
Sughosh Ganu <sughosh.ganu@linaro.org> |
feat(stm32mp1): add GUID's for identifying firmware images to be booted
Add GUID's for identifying the firmware image type. With the FWU multi bank boot feature enabled, these GUID values are used t
feat(stm32mp1): add GUID's for identifying firmware images to be booted
Add GUID's for identifying the firmware image type. With the FWU multi bank boot feature enabled, these GUID values are used to identify the firmware image to be booted. This is done by matching GUID values of images in the io policy table with the Image GUID value that is read from the FWU metadata structure.
Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Change-Id: Id9751f02f95fc48ef68e4e3f9f0ddbf6d6319d3c
show more ...
|
| 8d6b4764 | 02-Jul-2021 |
Sughosh Ganu <sughosh.ganu@linaro.org> |
feat(stm32mp1): add GUID values for updatable images
With the FWU multi bank feature enabled, the identification of firmware image type is done using the image type GUID instead of binary_type field
feat(stm32mp1): add GUID values for updatable images
With the FWU multi bank feature enabled, the identification of firmware image type is done using the image type GUID instead of binary_type field.
Add GUID values for the FIP image which can be updated through the FWU firmware update feature. The GUID values are used in identifying the firmware images.
Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Change-Id: If7d9356aa8d2bb3fbcbc87100e6972f1a1862921
show more ...
|
| 1697ad8c | 15-Sep-2021 |
Yann Gautier <yann.gautier@foss.st.com> |
feat(st): map 2MB for ROM code
This allows reducing MMU tables, and as there is nothing after ROM code in memory mapping, this has no impact.
Change-Id: If51facb96a523770465cb06eb1ab400f75d26db3 Si
feat(st): map 2MB for ROM code
This allows reducing MMU tables, and as there is nothing after ROM code in memory mapping, this has no impact.
Change-Id: If51facb96a523770465cb06eb1ab400f75d26db3 Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
show more ...
|
| 9e52d45f | 05-Jan-2022 |
Yann Gautier <yann.gautier@foss.st.com> |
fix(st): manage UART clock and reset only in BL2
As the UART is already initialized, no need to check for UART clock or reset in next BL. An issue can appear if the next BL device tree (e.g HW_CONFI
fix(st): manage UART clock and reset only in BL2
As the UART is already initialized, no need to check for UART clock or reset in next BL. An issue can appear if the next BL device tree (e.g HW_CONFIG) doesn't use the same clocks or resets (like SCMI ones).
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I044ef2386abe2d3dba5a53c3685440d64ca50a4f
show more ...
|
| 93b153b5 | 23-Dec-2021 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "st_regulator" into integration
* changes: feat(st-sdmmc2): manage cards power cycle feat(stm32mp1): register fixed regulator feat(st-drivers): introduce fixed regulat
Merge changes from topic "st_regulator" into integration
* changes: feat(st-sdmmc2): manage cards power cycle feat(stm32mp1): register fixed regulator feat(st-drivers): introduce fixed regulator driver refactor(st): update CPU and VDD voltage get refactor(stm32mp1-fdts): update regulator description refactor(st-pmic): use regulator framework for DDR init feat(st-pmic): register the PMIC to regulator framework refactor(st-pmic): split initialize_pmic() feat(stm32mp1): add regulator framework compilation feat(regulator): add a regulator framework feat(stpmic1): add new services feat(stpmic1): add USB OTG regulators refactor(st-pmic): improve driver usage refactor(stpmic1): set stpmic1_is_regulator_enabled() as boolean refactor(stm32mp1): re-order drivers init
show more ...
|
| c39c658e | 17-Sep-2021 |
Yann Gautier <yann.gautier@foss.st.com> |
refactor(st): update CPU and VDD voltage get
Use regulator framework to get CPU and VDD power supplies.
Change-Id: Ice745fb21ff10e71ef811e747165499c2e19253e Signed-off-by: Pascal Paillet <p.paillet
refactor(st): update CPU and VDD voltage get
Use regulator framework to get CPU and VDD power supplies.
Change-Id: Ice745fb21ff10e71ef811e747165499c2e19253e Signed-off-by: Pascal Paillet <p.paillet@st.com> Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
show more ...
|