| #
d5a84eea |
| 13-Jul-2021 |
Yann Gautier <yann.gautier@foss.st.com> |
feat(plat/st): manage io_policies with FCONF
Introduced IO policies management through the trusted boot firmware config device tree for UUID references.
Change-Id: Ibeeabede51b0514ebba26dbbdae58736
feat(plat/st): manage io_policies with FCONF
Introduced IO policies management through the trusted boot firmware config device tree for UUID references.
Change-Id: Ibeeabede51b0514ebba26dbbdae587363b2aa0a7 Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
show more ...
|
| #
29332bcd |
| 06-Jul-2021 |
Yann Gautier <yann.gautier@foss.st.com> |
feat(plat/st): use FCONF to configure platform
Add required code to support FCONF on STM32MP1 platform. The new FW_CONFIG DT file will be inside the FIP, and loaded by BL2. It will be used to config
feat(plat/st): use FCONF to configure platform
Add required code to support FCONF on STM32MP1 platform. The new FW_CONFIG DT file will be inside the FIP, and loaded by BL2. It will be used to configure the addresses where to load other binaries. BL2 should be agnostic of which BL32 is in the FIP (OP-TEE or SP_min), so optee_utils.c is always compiled, and some OP-TEE flags are removed.
Change-Id: Id957b49b0117864136250bfc416664f815043ada Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
show more ...
|
| #
18b415be |
| 18-Jun-2021 |
Yann Gautier <yann.gautier@foss.st.com> |
feat(plat/st): improve FIP image loading from MMC
Instead of using a scratch buffer of 512 bytes, we can directly use the image address and max size. The mmc_block_dev_spec struct info is then overw
feat(plat/st): improve FIP image loading from MMC
Instead of using a scratch buffer of 512 bytes, we can directly use the image address and max size. The mmc_block_dev_spec struct info is then overwritten for each image with this info, except FW_CONFIG and GPT table which will still use the scratch buffer. This allows using multiple blocks read on MMC, and so improves the boot time. A cache invalidate is required for the remaining data not used from the first and last blocks read. It is not required for FW_CONFIG_ID, as it is in scratch buffer in SYSRAM, and also because bl_mem_params struct is overwritten in this case. This should also not be done if the image is not found (OP-TEE extra binaries when using SP_min).
Change-Id: If3ecfdfe35bb9db66284036ca49c4bd1be4fd121 Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
show more ...
|
| #
1d204ee4 |
| 19-May-2021 |
Yann Gautier <yann.gautier@foss.st.com> |
feat(plat/st): use FIP to load images
BL2 still uses the STM32 header binary format to be loaded from ROM code. BL32 and BL33 and their respective device tree files are now put together in a FIP fil
feat(plat/st): use FIP to load images
BL2 still uses the STM32 header binary format to be loaded from ROM code. BL32 and BL33 and their respective device tree files are now put together in a FIP file. One DTB is created for each BL. To reduce their sizes, 2 new dtsi file are in charge of removing useless nodes for a given BL. This is done because BL2 and BL32 share the same device tree files base.
The previous way of booting is still available, the compilation flag STM32MP_USE_STM32IMAGE has to be set to 1 in the make command. Some files are duplicated and their names modified with _stm32_ to avoid too much switches in the code.
Change-Id: I1ffada0af58486d4cf6044511b51e56b52269817 Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
show more ...
|
| #
84090d2c |
| 13-Jul-2021 |
Yann Gautier <yann.gautier@foss.st.com> |
refactor(plat/st): updates for OP-TEE
Protect BL32 (SP_min) with MMU if OP-TEE is not used. Validate OP-TEE header with optee_header_is_valid(). Use default values in bl2_mem_params_descs[]. They wi
refactor(plat/st): updates for OP-TEE
Protect BL32 (SP_min) with MMU if OP-TEE is not used. Validate OP-TEE header with optee_header_is_valid(). Use default values in bl2_mem_params_descs[]. They will be overwritten in bl2_plat_handle_post_image_load() if OP-TEE is used.
Change-Id: I8614f3a17caa827561614d0f25f30ee90c4ec3fe Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
show more ...
|
| #
15405fcc |
| 20-Aug-2021 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(plat/st): apply security at the end of BL2" into integration
|
| #
99080bd1 |
| 16-Aug-2021 |
Yann Gautier <yann.gautier@foss.st.com> |
fix(plat/st): apply security at the end of BL2
Now that the DDR is mapped secured, the security settings (TZC400 firewall) have to be applied at the end of BL2 for the OP-TEE case. This is required
fix(plat/st): apply security at the end of BL2
Now that the DDR is mapped secured, the security settings (TZC400 firewall) have to be applied at the end of BL2 for the OP-TEE case. This is required to avoid checskum computation error on U-Boot binary, for which MMU and TZC400 would not be aligned.
Change-Id: I4a364f7117960e8fae1b579f341b9f140b766ea6 Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
show more ...
|
| #
e528bc22 |
| 12-Aug-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "st_fip_fconf" into integration
* changes: feat(io_mtd): offset management for FIP usage feat(nand): count bad blocks before a given offset feat(plat/st): add helper t
Merge changes from topic "st_fip_fconf" into integration
* changes: feat(io_mtd): offset management for FIP usage feat(nand): count bad blocks before a given offset feat(plat/st): add helper to save boot interface fix(plat/st): improve DDR get size function refactor(plat/st): map DDR secure at boot refactor(plat/st): rework TZC400 configuration
show more ...
|
| #
c1ad41fb |
| 04-Sep-2020 |
Yann Gautier <yann.gautier@st.com> |
refactor(plat/st): map DDR secure at boot
In BL2, the DDR can be mapped as secured in MMU, as no other SW has access to it during its execution. The TZC400 configuration is also updated to reflect t
refactor(plat/st): map DDR secure at boot
In BL2, the DDR can be mapped as secured in MMU, as no other SW has access to it during its execution. The TZC400 configuration is also updated to reflect this. When using OP-TEE, the TZC400 is reconfigured at the end of BL2, to match OP-TEE mapping. Else, SP_min will be in charge to reconfigure TZC400 to set DDR non-secure.
Change-Id: Ic5ec614b218f733796feeab1cdc425d28cc7c103 Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| #
5d582ff9 |
| 16-Jun-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor(plat/st): avoid fixed DT address" into integration
|
| #
c20b0606 |
| 24-Aug-2020 |
Yann Gautier <yann.gautier@st.com> |
refactor(plat/st): avoid fixed DT address
Device Tree address is now a parameter for dt_open_and_check() function. This will allow better flexibility when introducing PIE and FIP. The fdt pointer is
refactor(plat/st): avoid fixed DT address
Device Tree address is now a parameter for dt_open_and_check() function. This will allow better flexibility when introducing PIE and FIP. The fdt pointer is now only assigned if the given address holds a valid device tree file. This allows removing the fdt_checked variable, as we now check fdt is not null.
Change-Id: I04cbb2fc05c9c711ae1c77d56368dbeb6dd4b01a Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| #
08e7cc53 |
| 29-Apr-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes I15e7cc43,Id7411bd5,I92bafe70,I8f1c0658 into integration
* changes: stm32mp1: enable PIE for BL32 stm32mp1: set BL sizes regardless of flags Add PIE support for AARCH32 Avoid t
Merge changes I15e7cc43,Id7411bd5,I92bafe70,I8f1c0658 into integration
* changes: stm32mp1: enable PIE for BL32 stm32mp1: set BL sizes regardless of flags Add PIE support for AARCH32 Avoid the use of linker *_SIZE__ macros
show more ...
|
| #
62fbb315 |
| 10-Feb-2021 |
Yann Gautier <yann.gautier@foss.st.com> |
stm32mp1: enable PIE for BL32
In order to prepare future support of FIP, BL32 (SP_min) is compiled as Position Independent Executable.
Change-Id: I15e7cc433fb03e1833002f4fe2eaecb6ed42eb47 Signed-of
stm32mp1: enable PIE for BL32
In order to prepare future support of FIP, BL32 (SP_min) is compiled as Position Independent Executable.
Change-Id: I15e7cc433fb03e1833002f4fe2eaecb6ed42eb47 Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
show more ...
|
| #
ec29ce67 |
| 01-Jun-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "drivers: stm32_reset adapt interface to timeout argument" into integration
|
| #
45c70e68 |
| 08-Dec-2019 |
Etienne Carriere <etienne.carriere@st.com> |
drivers: stm32_reset adapt interface to timeout argument
Changes stm32mp1 reset driver to API to add a timeout argument to stm32mp_reset_assert() and stm32mp_reset_deassert() and a return value.
Wi
drivers: stm32_reset adapt interface to timeout argument
Changes stm32mp1 reset driver to API to add a timeout argument to stm32mp_reset_assert() and stm32mp_reset_deassert() and a return value.
With a supplied timeout, the functions wait the target reset state is reached before returning. With a timeout of zero, the functions simply load target reset state in SoC interface and return without waiting.
Helper functions stm32mp_reset_set() and stm32mp_reset_release() use a zero timeout and return without a return code.
This change updates few stm32 drivers and plat/stm32mp1 blé_plat_setup.c accordingly without any functional change. functional change.
Change-Id: Ia1a73a15125d3055fd8739c125b70bcb9562c27f Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
show more ...
|
| #
de8f9cd4 |
| 30-Mar-2020 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "ddr_map" into integration
* changes: stm32mp1: use stm32mp_get_ddr_ns_size() function stm32mp1: set XN attribute for some areas in BL2 stm32mp1: dynamically map DDR l
Merge changes from topic "ddr_map" into integration
* changes: stm32mp1: use stm32mp_get_ddr_ns_size() function stm32mp1: set XN attribute for some areas in BL2 stm32mp1: dynamically map DDR later and non-cacheable during its test stm32mp1: add a function to get non-secure DDR size
show more ...
|
| #
5813e6ed |
| 26-Feb-2020 |
Yann Gautier <yann.gautier@st.com> |
stm32mp1: use stm32mp_get_ddr_ns_size() function
Instead of using dt_get_ddr_size() and withdrawing the secure and shared memory areas, use stm32mp_get_ddr_ns_size() function.
Change-Id: I5608fd787
stm32mp1: use stm32mp_get_ddr_ns_size() function
Instead of using dt_get_ddr_size() and withdrawing the secure and shared memory areas, use stm32mp_get_ddr_ns_size() function.
Change-Id: I5608fd7873589ea0e1262ba7d2ee3e52b53d9a7d Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| #
9c52e69f |
| 17-Dec-2019 |
Yann Gautier <yann.gautier@st.com> |
stm32mp1: set XN attribute for some areas in BL2
DTB and BL32 area should not be set as executable in MMU during BL2 execution, hence set those areas as MT_RO_DATA.
Change-Id: I87c47a1e7fda761e541e
stm32mp1: set XN attribute for some areas in BL2
DTB and BL32 area should not be set as executable in MMU during BL2 execution, hence set those areas as MT_RO_DATA.
Change-Id: I87c47a1e7fda761e541ec98a5b294588384d31db Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| #
84686ba3 |
| 10-Jan-2020 |
Yann Gautier <yann.gautier@st.com> |
stm32mp1: dynamically map DDR later and non-cacheable during its test
A speculative accesses to DDR could be done whereas it was not reachable and could lead to bus stall. To correct this the dynami
stm32mp1: dynamically map DDR later and non-cacheable during its test
A speculative accesses to DDR could be done whereas it was not reachable and could lead to bus stall. To correct this the dynamic mapping in MMU is used. A first mapping is done for DDR tests with MT_NON_CACHEABLE attribute, once DDR access is setup. It is then unmapped and a new mapping DDR is done with cacheable attribute (through MT_MEMORY) to speed-up BL33 (or OP-TEE) load.
The disabling of cache during DDR tests is also removed, as now useless. A call to new functions stm32mp_{,un}map_ddr_non_cacheable() is done instead.
PLAT_XLAT_TABLES_DYNAMIC is activated globally as used in BL2 and BL32.
BL33 max size is also updated to take into account the secure and shared memory areas. Those are used in OP-TEE case.
Change-Id: I22c48b4a48255ee264991c34ecbb15bfe87e67c3 Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| #
896d684d |
| 25-Feb-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge changes from topic "console_t_cleanup" into integration
* changes: marvell: Consolidate console register calls uniphier: Use generic console_t data structure spe: Use generic console_t d
Merge changes from topic "console_t_cleanup" into integration
* changes: marvell: Consolidate console register calls uniphier: Use generic console_t data structure spe: Use generic console_t data structure LS 16550: Use generic console_t data structure stm32: Use generic console_t data structure rcar: Use generic console_t data structure a3700: Use generic console_t data structure 16550: Use generic console_t data structure imx: Use generic console_t data structure
show more ...
|
| #
c10db6de |
| 25-Jan-2020 |
Andre Przywara <andre.przywara@arm.com> |
stm32: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data stru
stm32: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data structure at all.
Change-Id: Iea6ca26ff4903c33f0fad27fec96fdbabd4e0a91 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| #
ace23683 |
| 27-Sep-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "ld/stm32-authentication" into integration
* changes: stm32mp1: add authentication support for stm32image bsec: move bsec_mode_is_closed_device() service to platform c
Merge changes from topic "ld/stm32-authentication" into integration
* changes: stm32mp1: add authentication support for stm32image bsec: move bsec_mode_is_closed_device() service to platform crypto: stm32_hash: Add HASH driver
show more ...
|
| #
4bdb1a7a |
| 03-Sep-2019 |
Lionel Debieve <lionel.debieve@st.com> |
stm32mp1: add authentication support for stm32image
This commit adds authentication binary support for STM32MP1. It prints the bootrom authentication result if signed image is used and authenticates
stm32mp1: add authentication support for stm32image
This commit adds authentication binary support for STM32MP1. It prints the bootrom authentication result if signed image is used and authenticates the next loaded STM32 images. It also enables the dynamic translation table support (PLAT_XLAT_TABLES_DYNAMIC) to use bootrom services.
Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Change-Id: Iba706519e0dc6b6fae1f3dd498383351f0f75f51
show more ...
|
| #
42cdeb93 |
| 13-Sep-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge "stm32mp1: manage CONSOLE_FLAG_TRANSLATE_CRLF and cleanup driver" into integration
|
| #
ebf851ed |
| 04-Sep-2019 |
Yann Gautier <yann.gautier@st.com> |
stm32mp1: manage CONSOLE_FLAG_TRANSLATE_CRLF and cleanup driver
The STM32 console driver was pre-pending '\r' before '\n'. It is now managed by the framework with the flag: CONSOLE_FLAG_TRANSLATE_CR
stm32mp1: manage CONSOLE_FLAG_TRANSLATE_CRLF and cleanup driver
The STM32 console driver was pre-pending '\r' before '\n'. It is now managed by the framework with the flag: CONSOLE_FLAG_TRANSLATE_CRLF. Remove the code in driver, and add the flag for STM32MP1.
Change-Id: I5d0d5d5c4abee0b7dc11c2f8707b1b5cf10149ab Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|