- 22 Jul, 2021 2 commits
-
-
Abdellatif El Khlifi authored
At this stage of development Non Volatile counters are not implemented in the Diphda platform. This commit disables their use during the Trusted Board Boot by overriding the NV counters get/set functions. Change-Id: I8dcbebe0281cc4d0837c283ff637e20b850988ef Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
-
Abdellatif El Khlifi authored
This commit enables trusted-firmware-a with Trusted Board Boot support for the Diphda 64-bit platform. Diphda uses a FIP image located in the flash. The FIP contains the following components: - BL2 - BL31 - BL32 - BL32 SPMC manifest - BL33 - The TBB certificates The board boot relies on CoT (chain of trust). The trusted-firmware-a BL2 is extracted from the FIP and verified by the Secure Enclave processor. BL2 verification relies on the signature area at the beginning of the BL2 image. This area is needed by the SecureEnclave bootloader. Then, the application processor is released from reset and starts by executing BL2. BL2 performs the actions described in the trusted-firmware-a TBB design document. Signed-off-by: Rui Miguel Silva <rui.silva@arm.com> Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> Change-Id: Iddb1cb9c2a0324a9635e23821c210ac81dfc305d
-
- 21 Jul, 2021 1 commit
-
-
Roger Lu authored
Signed-off-by: Roger Lu <roger.lu@mediatek.com> Change-Id: I6dbf6d4ea6310c3371ca15d1e7cce249a05af2fb
-
- 20 Jul, 2021 1 commit
-
-
Garmin Chang authored
There is a error setting for SPM, so we need to fix this issue. Signed-off-by: Garmin Chang <garmin.chang@mediatek.com> Change-Id: I741a5dc1505a831fe48fd5bc3da9904db14c8a57
-
- 16 Jul, 2021 1 commit
-
-
Pali Rohár authored
INFO() macro for every call prepends "INFO: " string. Therefore current code prints unreadable debug messages: "INFO: set_io_addr_dec 0 result: ctrl(0x3fff3d01) base(0x0)INFO: " "INFO: Set IO decode window successfully, base(0xc000)INFO: win_attr(3d) max_dram_win(2) max_remap(0)INFO: win_offset(8)" Fix it by calling exactly one INFO() call for one line. After this change output is: "INFO: set_io_addr_dec 0 result: ctrl(0x3fff3d01) base(0x0) remap(0x0)" "INFO: Set IO decode window successfully, base(0xc000) win_attr(3d) max_dram_win(2) max_remap(0) win_offset(8)" Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I6084e64c6f4da6c1929e5300588e4ba2608ca745
-
- 11 Jul, 2021 2 commits
-
-
Pali Rohár authored
For UART secure boot it is required also TIMN image, so pack it into uart-images.tgz.bin archive which is created by mrvl_uart target. $(TIMN_IMAGE) and $(TIM_IMAGE) variables are used only for UART images so their content needs to be initialized from $(TIMN_UART_CFG) and $(TIM_UART_CFG) config files. And not from $(TIMN_CFG) and $(TIM_CFG) as it is now because they are not generated during mrvl_uart target. Fix it to allow building mrvl_uart target before mrvl_flash target. To match usage of these variables, rename them to $(TIMN_UART_IMAGE) and $(TIM_UART_IMAGE). To not complicate rule for building uart-images.tgz.bin archive, set list of image files into a new $(UART_IMAGES) variable. Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I83b980abb4047a3afb3ce3026842e1d873c490bf
-
Pali Rohár authored
For TIM config file use TIM name instead of DOIMAGE and use underscores to make variable names more readable. Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I1282ce11f1431c15458a143ae7bfcee85eed2432
-
- 10 Jul, 2021 6 commits
-
-
Pali Rohár authored
Armada 3700 uses external TBB tool for creating images and does not use internal TF-A doimage tool from tools/marvell/doimage/ Therefore set correct name of variable. Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I38a94dca78d483de4c79da597c032e1e5d06d92d
-
Pali Rohár authored
Armada 3700 uses WTP so use WTP variable directly. Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I216b40ffee1f3f8abba4677f050ab376c2224ede
-
Pali Rohár authored
Old Marvell a3700_utils and mv-ddr tarballs do not have to work with latest TF-A code base. Marvell do not provide these old tarballs on Extranet anymore. Public version on github repository contains all patches and is working fine, so for public TF-A builds use only public external dependencies from git. Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: Iee5ac6daa9a1826a5b80a8d54968bdbb8fe72f61
-
Pali Rohár authored
BLE source files depend on external Marvell mv-ddr-marvell tree (specified in $(MV_DDR_PATH) variable) and its header files. Add dependency on $(MV_DDR_LIB) target which checks that variable $(MV_DDR_PATH) is correctly set and ensures that make completes compilation of mv-ddr-marvell tree. Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I73968b24c45d9af1e3500b8db7a24bb4eb2bfa47
-
Pali Rohár authored
Do not set all include directories, including those for external targets in one PLAT_INCLUDES variable. Instead split them into variables: * $(PLAT_INCLUDES) for all TF-A BL images * BLE target specific $(PLAT_INCLUDES) only for Marvell BLE image * $(MV_DDR_INCLUDES) for targets in external Marvell mv-ddr-marvell tree Include directory $(CURDIR)/drivers/marvell is required by TF-A BL images, so move it from ble.mk to a8k_common.mk. Include directory $(MV_DDR_PATH) is needed only by Marvell BLE image, so move it into BLE target specific $(PLAT_INCLUDES) variable. And remaining include directories specified in ble.mk are needed only for building external dependences from Marvell mv-ddr tree, so move them into $(MV_DDR_INCLUDES) variable and correctly use it in $(MV_DDR_LIB) target. Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I331f7de675dca2bc70733d56b768f00d56ae4a67
-
Pali Rohár authored
Target mrvl_flash depends on external mv_ddr source code which is not part of TF-A project. Do not expect that it is pre-downloaded at some specific location and require user to specify correct path to mv_ddr source code via MV_DDR_PATH build option. TF-A code for Armada 37x0 platform also depends on mv_ddr source code and already requires passing correct MV_DDR_PATH build option. So for A8K implement same checks for validity of MV_DDR_PATH option as are already used by TF-A code for Armada 37x0 platform. Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I792f2bfeab0cec89b1b64e88d7b2c456e22de43a
-
- 08 Jul, 2021 2 commits
-
-
Abhyuday Godhasara authored
All API calls except non-blocking should wait for IPI response and read buffer to check return status from firmware. Some of API calls are not reading status from IPI payload data. Use sync method which reads actual return status from IPI payload. Signed-off-by: Abhyuday Godhasara <abhyuday.godhasara@xilinx.com> Change-Id: I6f568b85d0da639c264f507122e3015807d8423d
-
Abhyuday Godhasara authored
All API calls except non-blocking should wait for IPI response and read buffer to check return status from firmware. Some of API calls are not reading status from IPI payload data. Use sync method which reads actual return status from IPI payload. Signed-off-by: Abhyuday Godhasara <abhyuday.godhasara@xilinx.com> Change-Id: I78f9c061a80cee6d524ade4ef124ca88ce1848cf
-
- 06 Jul, 2021 4 commits
-
-
Manish V Badarkhe authored
Used mmio* functions to read/write NVFLAGS registers to avoid possibile reordering of instructions by compiler. Change-Id: Iae50ac30e5413259cf8554f0fff47512ad83b0fd Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
-
Manish V Badarkhe authored
In the FVP platform, BL1 uses flash only for read purpose hence marked this flash region as read-only. Change-Id: I3b57130fd4f3b4df522ac075f66e9799f237ebb7 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
-
Manish V Badarkhe authored
Erasing the FIP TOC header present in a flash is replaced by updating NV flags with an error code on image load/authentication failure. BL1 component uses these NV flags to detect whether a firmware update is needed or not. These NV flags get cleared once the firmware update gets completed. Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: I6232a0db07c89b2373b7b9d28acd37df6203d914
-
Garmin Chang authored
DCM means dynamic clock management, and it can dynamically slow down or gate clocks during CPU or bus idle. 1. Add MCUSYS related DCM drivers. 2. Enable MCUSYS related DCM by default. Change-Id: I3237199bc217bd3682f51d31284db5fd0324b396 Signed-off-by: Garmin Chang <garmin.chang@mediatek.com>
-
- 05 Jul, 2021 1 commit
-
-
Ruchika Gupta authored
In the qemu memory map 1GB and up is RAM. Change the size of NS DRAM to 3GB to support VM's with more memory requirements. Signed-off-by: Ruchika Gupta <ruchika.gupta@linaro.org> Change-Id: If15cf3b9d3e2e7876c40ce888f22e887893fe696
-
- 02 Jul, 2021 5 commits
-
-
Edward-JW Yang authored
Support DRAM/MAINPLL/26M off when system suspend. Signed-off-by: Edward-JW Yang <edward-jw.yang@mediatek.corp-partner.google.com> Change-Id: Ib8502f9b0b4e47aa405e5449f0b6d483bd3f5d77
-
Edward-JW Yang authored
Add drivers to support MCUSYS off when system suspend. Signed-off-by: Edward-JW Yang <edward-jw.yang@mediatek.corp-partner.google.com> Change-Id: I388fd2318f471083158992464ecdf2181fc7d87a
-
Elly Chiang authored
Add PTP3 drivers to protect CPU excessive voltage drop in CPU heavy loading. Change-Id: I7bd37912c32d5328ba0287fccc8409794bd19c1d Signed-off-by: Elly Chiang <elly.chiang@mediatek.com>
-
Tinghan Shen authored
In mt8195 suspend/resume flow, ATF has to communicate with a subsys by read/write the subsys registers. However, the register region of subsys doesn't include in the MMU mapping region. It triggers MMU faults. This patch extends the MMU region 0 size to cover all mt8195 HW modules. This patch also remove MMU region 1 because region 0 covers region 1. Change-Id: I3a186ed71d0d963b59ae55e27a6d27a01fe4f638 Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com>
-
Daniel Boulby authored
The partition layout description JSON file generated by TF-A tests declares a fourth test partition called Ivy demonstrating the implementation of a S-EL0 partition supported by a S-EL1 shim. Change-Id: If8562acfc045d6496dfdb3df0524b3a069357f8e Signed-off-by: Daniel Boulby <daniel.boulby@arm.com> Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
-
- 30 Jun, 2021 2 commits
-
-
Patrick Delaunay authored
Add a generic function to setup the stm32image IO. Change-Id: I0f7cf4a6030605037643f3119b809e0319d926af Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
-
Yann Gautier authored
Add a panic() at the end of stm32mp_io_setup() if the boot interface given in ROM code boot context is not supported. Change-Id: I0d50f21a11231febd21041b6e63108cc3e6f4f0c Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
-
- 29 Jun, 2021 2 commits
-
-
Sandrine Bailleux authored
We don't ever expect to load a binary with an STM32 header on the Arm FVP platform so remove this type of image from the list of measurements. Also remove the GPT image type from the list, as it does not get measured. GPT is a container, just like FIP is. We don't measure the FIP but rather the images inside it. It would seem logical to treat GPT the same way. Besides, only images that get loaded through load_auth_image() get measured right now. GPT processing happens before that and is handled in a different way (see partition_init()). Change-Id: Iac4de75380ed625b228e69ee4564cf9e67e19336 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
-
Manish Pandey authored
For Arm platforms PIE is enabled when RESET_TO_BL31=1 in aarch64 mode on the similar lines enable PIE when RESET_TO_SP_MIN=1 in aarch32 mode. The underlying changes for enabling PIE in aarch32 is submitted in commit 4324a14b Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ib8bb860198b3f97cdc91005503a3184d63e15469
-
- 28 Jun, 2021 2 commits
-
-
Arunachalam Ganapathy authored
Third instance of cactus is a UP SP. Set its vcpu count to 1. Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Change-Id: I34b7feb2915e6d335e690e89dea466e75944ed1b
-
Arunachalam Ganapathy authored
Change OP-TEE, Cactus SPs UUID to string format Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Change-Id: I32dbf40e4c5aa959bb92d3e853072aea63409ddc
-
- 25 Jun, 2021 2 commits
-
-
Jiafei Pan authored
This patch will make BL2_BASE to be hex valaue but not a shell command. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: Iebb86a0b9bc8cab1676bd8e898cf4a1b6d16f472
-
Jiafei Pan authored
Some build variables have already defined in common make helper file, use them directly. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: I7fe6331160bfdf315924d4498d78b0a399eb2e89
-
- 23 Jun, 2021 1 commit
-
-
Patrick Georgi authored
To quote jwerner in T925: "The __sramdata in the declaration is a mistake, the correct target section for that global needs to be .pmusram.data. This used to be in .sram.data once upon a time but then the suspend.c stuff got added and required it to be moved to PMUSRAM. I guess they forgot to update that part in the declaration and since the old GCC seemed to silently prefer the attribute in the definition, nobody noticed." This fixes building with gcc 11. fix #T925 Change-Id: I2b91542277c95cf487eaa1344927294d5d1b8f2b Signed-off-by: Patrick Georgi <pgeorgi@google.com>
-
- 22 Jun, 2021 3 commits
-
-
Yann Gautier authored
In stm32mp1_syscfg_disable_io_compensation(), to disable the IO compensation cell, we have to set the corresponding bit in SYSCFG_CMPENCLRR register, instead of clearing the bit in SETR register. Change-Id: I510a50451f8afb9e98c24e1ea84efbf73a39e6b4 Signed-off-by: Yann Gautier <yann.gautier@st.com>
-
Yann Gautier authored
The dependency on this macro was added by patch [1]. But the macro itself was forgotten in the patch. [1] 128e0b3e ("stm32mp1: update rules for stm32image tool") Change-Id: I49219e1e13828b97b95f404983da33ef4567fe23 Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
-
Nicolas Le Bayon authored
BSEC services should return SMC error codes as other IDs (defined in stm32mp1_smc.h) and not BSEC driver ones. So that non-secure caller is able to treat them correctly. In global SMC handler, unknown ID should also return a value from this definition list, and not the generic one, which seems not well adapted for our needs. Two unsigned values initializations are also changed from 0 to 0U. Change-Id: Ib6fd3866a748cefad1d13d48f7be38241621023e Signed-off-by: Yann Gautier <yann.gautier@st.com> Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
-
- 17 Jun, 2021 2 commits
-
-
Venkatesh Yadav Abbarapu authored
As there is constraint with the space for the release builds, remove some of the legacy code. Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com> Change-Id: I5b8b16f34ed8e480f16ab1aeac80b85cdb391852
-
Igor Opaniuk authored
Add imx_system_reset2 which extends existing SYSTEM_RESET. It provides architectural reset definitions and vendor-specific resets. By default warm reset is triggered. Also refactor existing implementation of wdog reset, add details about each flag used. Change-Id: Ia7348c32c385f1c61f8085776e81dd1e38ddda5c Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
-
- 15 Jun, 2021 1 commit
-
-
Jiafei Pan authored
Add macro of SUPPORTED_BOOT_MODE for board lx2160ardb, lx2160aqds, lx2162aqds. Signed-off-by: Biwen Li <biwen.li@nxp.com> Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: I4451ca030eca79c9bc5fee928eec497a7f0e878c
-