- 26 Aug, 2020 1 commit
-
-
Julius Werner authored
With an open source SPMI driver we can now remove qtiseclib involvement in reset and shutdown handling by setting the required registers directly. Change-Id: I6bf1db15734048df583daa2a4ee98701c6ece621 Signed-off-by: Julius Werner <jwerner@chromium.org>
-
- 25 Aug, 2020 5 commits
-
-
Julius Werner authored
This patch adds a very rudimentary driver for the SPMI arbitrator used to access the PMIC. It doesn't support all the controller's actual arbitration features, so it should probably not be used concurrently with a running kernel (and it's also not optimized for performance). But it can be used to set a few registers during boot or on shutdown to control reset handling, which is all we need it for. Change-Id: I8631c34a2a89ac71aa1ec9b8266e818c922fe34a Signed-off-by: Julius Werner <jwerner@chromium.org>
-
Julius Werner authored
The patch adding platform support for sc7180 landed around roughly the same time as the patch that changed GICV3_IMPL to GICV3_SUPPORT_GIC600. Thus the sc7180 Makefile is still using the old variable name which now no longer does anything, and it hangs on boot due to the lacking GIC-600 support. This patch fixes the issue. Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: Id76ada1445c3c5ac9a5a3697b4e749088b89d796
-
Varun Wadekar authored
This patch introduces the following changes to enable compilation for `SPD=spmd` command line option. * compile plat_spmd_manifest.c * compile libfdt source files Verified with the `SPD=spmd` command line option for Tegra194 platforms. Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: I7f57aa4f1756b19f78d87415bb80794417174bc8
-
Varun Wadekar authored
This patch includes the following files from libc to compile libfdt: * memchr.c * memcmp.c * strrchr.c The BUILD_PLAT macro is evaluated earlier to allow libfdt installation to the right directory. Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: Ie43fcf701dc051670e6372e21b3a84a6416c1735
-
Varun Wadekar authored
libfdt does not support the -Wsign-compare compiler option and the right patch will eventually be pushed upstream. This patch disables the -Wsign-compare compiler option to allow libfdt compilation for Tegra platforms until the actual issue is fixed. Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: Ib7a93946cad1ea9ec1b46751edb79a74c08ed0ac
-
- 24 Aug, 2020 9 commits
-
-
Varun Wadekar authored
This patch includes the bl_common.h from plat_spmd_manifest.c to fix the following compilation errors <snip> plat/common/plat_spmd_manifest.c: In function 'plat_spm_core_manifest_load': plat/common/plat_spmd_manifest.c:130:18: error: implicit declaration of function 'page_align' [-Werror=implicit-function-declaration] 130 | pm_base_align = page_align(pm_base, UP); | ^~~~~~~~~~ plat/common/plat_spmd_manifest.c:130:38: error: 'UP' undeclared (first use in this function); did you mean 'UL'? 130 | pm_base_align = page_align(pm_base, UP); | ^~ | UL plat/common/plat_spmd_manifest.c:130:38: note: each undeclared identifier is reported only once for each function it appears in plat/common/plat_spmd_manifest.c:146:38: error: 'DOWN' undeclared (first use in this function) 146 | pm_base_align = page_align(pm_base, DOWN); | ^~~~ cc1: all warnings being treated as errors <snip> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: Ib8edb36c6a80a23df2462e708c513c966aab1fef
-
Varun Wadekar authored
This patch removes the unused interrupt mapping for AON_WDT for all Tegra194 platforms. Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: I475a1e83f809c740e62464b5b4e93cb0a2e33d6b
-
Varun Wadekar authored
The SMMU configuration can get corrupted or updated by external clients during boot without our knowledge. This patch introduces a "verify" function for the SMMU driver, to check that the boot configuration settings are intact. Usually, this function should be called at the end of the boot cycle. This function only calls panic() on silicon platforms. Change-Id: I2ab45a7f228781e71c73ba1f4ffc49353effe146 Signed-off-by: George Bauernschmidt <georgeb@nvidia.com>
-
Varun Wadekar authored
TZDRAM setup is not required for all Tegra SoCs. The previous bootloader can enable the TZDRAM fence due to architectural improvements in the newer chips. This patch moves the TZDRAM setup to early_boot handlers for SoCs to handle this scenario. Change-Id: I6481b4f848a4dadc20cb83852cd8e19a242b3a34 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
This patch removes the deprecated 'plat_core_pos_by_mpidr' function from the Tegra platform port. Change-Id: I32e06cb7269e4fbfaf9ad6c26d0722201f982f9e Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
The GICC interface exists only on the interrupt controllers following the GICv2 specification. This patch prints the GICC register contents from the platform's macro, plat_crash_print_regs' only when TEGRA_GICC_BASE is defined. This allows platforms using future versions of the GIC specification to still use this macro. Change-Id: Ia5762d0a1ae28c832664d69362a7776e46a22ad1 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Varun Wadekar authored
SPE no longer requires the flush bit to be set to start transmitting characters over the physical uart. Therefore, the flush bit is no longer required when calling console_core_putc. However, flushing the console still requires the flush bit. This patch removes the flush bit from the mailbox messages in console_core_putc to improve ACK latency. Original change by: Mustafa Bilgen <mbilgen@nvidia.com> Change-Id: I5b7d1f3ea69ea2ce308566dbaae222b04e4c373d Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
kalyanic authored
This patch verifies that the binary image is compatible with chip ID of the platform. Change-Id: I28db221b4442aa8827a092faadf32f110d7c5cb4 Signed-off-by: kalyanic <kalyanic@nvidia.com>
-
Sayanta Pattanayak authored
Allocated 512-959 SPI numbers for remote n1sdp chip and same has been referenced for GIC routing table. Change-Id: Id79ea493fd665ed93fe9644a59e363ec10441098 Signed-off-by: Sayanta Pattanayak <sayanta.pattanayak@arm.com>
-
- 21 Aug, 2020 1 commit
-
-
Mark Dykes authored
This reverts commit e7d344de. This reverts the patch https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/5313 due to a timing issue with the merge. The merge occurred at the same time as the additional comments and thusly were were not seen until the merge was done. This reverts the change and additional patches from Alexei will follow to address the concerns expressed in the orignal patch. Change-Id: Iae5f6403c93ac13ceeda29463883fcd4c437f2b7
-
- 20 Aug, 2020 2 commits
-
-
Olivier Deprez authored
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com> Change-Id: Icf90c2ccce75257908ba3d4703926041d64b1dd3
-
Jacky Bai authored
CPU hotplug & cpuidle have some race condition when doing CPU hotplug stress test. different CPU cores have the chance to access the same GPC register(A53_AD), so lock is necessary to do exlusive access. Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I1296592e05fa78429c3f0fac066951521db755e3
-
- 19 Aug, 2020 4 commits
-
-
Alexei Fedorov authored
Trace analysis of FVP_Base_AEMv8A model running in Aarch32 mode with the build options listed below: TRUSTED_BOARD_BOOT=1 GENERATE_COT=1 ARM_ROTPK_LOCATION=devel_ecdsa KEY_ALG=ecdsa ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_ecdsa.pem shows that when auth_signature() gets called 71.84% of CPU execution time is spent in memset() function written in C using single byte write operations, see lib\libc\memset.c. This patch replaces C memset() implementation with assembler version giving the following results: - for Aarch32 in auth_signature() call memset() CPU time reduced to 24.84%. - Number of CPU instructions executed during TF-A boot stage before start of BL33 in RELEASE builds: ---------------------------------------------- | Arch | C | assembler | % | ---------------------------------------------- | Aarch32 | 2073275460 | 1487400003 | -28.25 | | Aarch64 | 2056807158 | 1244898303 | -39.47 | ---------------------------------------------- The patch also replaces memset.c with aarch64/memset.S in plat\nvidia\tegra\platform.mk. Change-Id: Ifbf085a2f577a25491e2d28446ee95a4ac891597 Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
-
Ruari Phipps authored
Add information about the third partition so it can be loaded into SPM when running the tests Signed-off-by: Ruari Phipps <ruari.phipps@arm.com> Change-Id: I5544e88df391ef294ddf6b5750d468d3e74892b1
-
Jacky Bai authored
The number of gpc imr mask reg & the offset is different on some SOC, so correct it & replace the magic number with macro define. Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: Ic701675cdd92e043dcd7f06722f2e871068aec74
-
Jacky Bai authored
Keep A53 PLAT(SCU) power domain on in wait mode(ret). RBC count only need to be set in PLAT OFF mode, so change it accordingly. Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: Ie55e25c8210d298506fc4dca7a9653583db45e0c
-
- 18 Aug, 2020 8 commits
-
-
David Pu authored
This patch adds tegra_chipid_is_t194() function to check if it is a Tegra 194 chip. Change-Id: I6da6d3a2c9676b748931e42fde1b174cbcb4fd40 Signed-off-by: David Pu <dpu@nvidia.com>
-
David Pu authored
This patch makes Tegra platform psci ops routines to static. These routines are called by PSCI framework and no external linkage is necessary. This patch also fixes MISRA C-2012 Rule 8.6 violations. Change-Id: Idd2381809f76dc0fd578c1c92c0f8eea124f2e88 Signed-off-by: David Pu <dpu@nvidia.com>
-
Masahisa Kojima authored
Enable the spm_mm framework for the qemu_sbsa platform. Memory layout required for spm_mm is created in secure SRAM. Co-developed-by: Fu Wei <fu.wei@linaro.org> Signed-off-by: Fu Wei <fu.wei@linaro.org> Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Change-Id: I104a623e8bc1e44d035b95f014a13b3f8b33a62a
-
Manish V Badarkhe authored
In case of AT speculative workaround applied, page table walk is disabled for lower ELs (EL1 and EL0) in EL3. Hence added a wrapper function which temporarily enables page table walk to execute AT instruction for lower ELs and then disables page table walk. Execute AT instructions directly for lower ELs (EL1 and EL0) assuming page table walk is enabled always when AT speculative workaround is not applied. Change-Id: I4ad4c0bcbb761448af257e9f72ae979473c0dde8 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
-
Manish V Badarkhe authored
Implemented platform functions to retrieve the soc-id information for juno platform Change-Id: Ie677120710b45e202a2d63a954459ece8a64b353 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
-
Manish V Badarkhe authored
Implemented platform functions to retrieve the soc-id information for FVP platform. Change-Id: Id3df02ab290a210310e8d34ec9d706a59d817517 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
-
Manish V Badarkhe authored
Removed common code for soc-id feature which is applicable for all arm platforms. In subsequent patches, added a platform based functions for FVP and Juno to retrieve the soc-id information. Change-Id: Idb632a935758a6caff2ca03a6eab8f663da8a93a Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
-
Manish V Badarkhe authored
Fixed build failure due to the commit:905f93c7 by removing the inclusion of non-existent 'stdinit.h' file. Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: I8e3ca69c016b7a2354c58c4d384a492631c36286
-
- 17 Aug, 2020 2 commits
-
-
Madhukar Pappireddy authored
SP804 TIMER is not platform specific, and current code base adds multiple defines to use this driver. Like FVP_USE_SP804_TIMER and FVP_VE_USE_SP804_TIMER. This patch removes platform specific build flag and adds generic flag `USE_SP804_TIMER` to be set to 1 by platform if needed. Change-Id: I5ab792c189885fd1b98ddd187f3a38ebdd0baba2 Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
-
Andre Przywara authored
Compiling BL31 for the Allwinner platform now produces a message about the deprecation of gic_common.c. Follow the advice and use include gicv2.mk instead. Collect all includes at the beginning of the file on the way. Change-Id: Iee46e21a630bfa831d28059f09aa7b049eb554bb Signed-off-by: Andre Przywara <andre.przywara@arm.com>
-
- 14 Aug, 2020 5 commits
-
-
Yann Gautier authored
Include the GICv2 makefile in STM32MP1 SP_min makefile, and use ${GICV2_SOURCES} instead of taking drivers/arm/gic files directly. Change-Id: Ibcaed5b0bd17f6d8cf200e208c11cc10cd6d2ee5 Signed-off-by: Yann Gautier <yann.gautier@st.com>
-
Ruari Phipps authored
For supporting dualroot CoT for Secure Partitions a new optional field "owner" is introduced which will be used to sign the SP with corresponding signing domain. To demonstrate its usage, this patch adds owners to cactus Secure Partitions. Signed-off-by: Ruari Phipps <ruari.phipps@arm.com> Change-Id: I7b760580355fc92edf5402cecc38c38125dc1cae
-
Manish Pandey authored
For Arm platforms SPs are loaded by parsing tb_fw_config.dts and adding them to SP structure sequentially, which in-turn is appended to loadable image list. With recently introduced dualroot CoT for SPs where they are owned either by SiP or by Platform. SiP owned SPs index starts at SP_PKG1_ID and Plat owned SPs index starts at SP_PKG5_ID. As the start index of SP depends on the owner, there should be a mechanism to parse owner of a SP and put it at the correct index in SP structure. This patch adds support for parsing a new optional field "owner" and based on it put SP details(UUID & Load-address) at the correct index in SP structure. Change-Id: Ibd255b60d5c45023cc7fdb10971bef6626cb560b Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
-
Jimmy Brisson authored
This resolves MISRA defects such as: plat/common/plat_bl1_common.c:63:[MISRA C-2012 Rule 14.4 (required)] The condition expression "1" does not have an essentially boolean type. Change-Id: I679411980ad661191fbc834a44a5eca5494fd0e2 Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
-
Jimmy Brisson authored
There was a collision between the name of the typedef in the CASSERT and something else, so we make the name of the typedef unique to the invocation of DEFFINE_SVC_UUID2 by appending the name that's passed into the macro. This eliminates the following MISRA violation: bl1/bl1_main.c:233:[MISRA C-2012 Rule 5.6 (required)] Identifier "invalid_svc_uuid" is already used to represent a typedef. This also resolves MISRA rule 5.9. These renamings are as follows: * tzram -> secram. This matches the function call name as it has sec_mem in it's name * fw_config_base -> config_base. This file does not mess with hw_conig, so there's little chance of confusion Change-Id: I8734ba0956140c8e29b89d0596d10d61a6ef351e Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
-
- 13 Aug, 2020 1 commit
-
-
Saurabh Gorecha authored
This patch adds RNG driver and use it to generate random number for stack protection. Change-Id: I73d79e68d08b5aa902dc7fad48e17a03f996178d Signed-off-by: Saurabh Gorecha <sgorecha@codeaurora.org>
-
- 10 Aug, 2020 2 commits
-
-
Alexei Fedorov authored
BL31 binary size is aligned to 4KB because of the code in include\plat\arm\common\arm_reclaim_init.ld.S: __INIT_CODE_UNALIGNED__ = .; . = ALIGN(PAGE_SIZE); __INIT_CODE_END__ = .; with all the zero data after the last instruction of BL31 code to the end of the page. This causes increase in size of BL31 binary stored in FIP and its loading time by BL2. This patch reduces the size of BL31 image by moving page alignment from __INIT_CODE_END__ to __STACKS_END__ which also increases the stack size for secondary CPUs. Change-Id: Ie2ec503fc774c22c12ec506d74fd3ef2b0b183a9 Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
-
Saurabh Gorecha authored
Adding support for QTI CHIP SC7180 on ATF Change-Id: I0d82d3a378036003fbd0bc4784f61464bb76ea82 Signed-off-by: Saurabh Gorecha <sgorecha@codeaurora.org> Co-authored-by: Maulik Shah <mkshah@codeaurora.org>
-