- 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
-
- 04 Jun, 2021 1 commit
-
-
Vyacheslav Yurkov authored
Added a new STM32MP_EMMC_BOOT option, which is used to look for SSBL in the same eMMC boot partition TF-A booted from at a fixed 256k offset. In case STM32 image header is not found, the boot process rolls back to a GPT partition look-up scheme. Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Change-Id: I85a87dc9ae7f2b915ed8e584be80f4b3588efc48
-
- 03 Jun, 2021 5 commits
-
-
Jan Kiszka authored
Add basic SDEI support, implementing the software event 0 only for now. This already allows hypervisors like Jailhouse to use SDEI for internal signaling while passing the GICC through to the guest (see also IMX8). With SDEI on, we overrun the SRAM and need to stay in DRAM. So keep SDEI off by default. Co-developed-by: Angelo Ruocco <angeloruocco90@gmail.com> Signed-off-by: Angelo Ruocco <angeloruocco90@gmail.com> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Change-Id: Ic0d71b4ef0978c0a34393f4e3530ed1e24a39ca2
-
Yann Gautier authored
The io_dummy code and function calls are only used in case BL32 is TF-A SP_min, and not OP-TEE. This code in bl2_io_storage can then be put under #ifndef AARCH32_SP_OPTEE. Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Change-Id: I52787a775160b335f97547203f653419621f5147
-
Yann Gautier authored
STM32MP1 does not use BL1, the loading of BL2 is done by ROM code. It is then useless to have an entry BL2_IMAGE_ID in the policies. Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Change-Id: I464cedf588114d60522433123f8dbef32ae36818
-
Yann Gautier authored
OPTEE_PAGER defines are renamed OPTEE_CORE. Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Change-Id: I4c28d3b0a6ed843088a3ef06e3e348ce689fabde
-
Olivier Deprez authored
Fix a remainder from early prototyping. OP-TEE as a secure partition does not need specific SMC function id pass through to EL3. Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Change-Id: I2843d1b9a5eb4c966f82790e1655fb569c2de7d4
-
- 02 Jun, 2021 2 commits
-
-
Yann Gautier authored
The UUID strings used in FW_CONFIG DT are not aligned with UUIDs defined in include/tools_share/firmware_image_package.h for BL32_EXTRA1 and TRUSTED_KEY_CERT. Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Change-Id: I517f8f9311585931f2cb931e0588414da449b694
-
Pali Rohár authored
The UART code for the A3K platform assumes that UART parent clock rate is always 25 MHz. This is incorrect, because the xtal clock can also run at 40 MHz (this is board specific). The frequency of the xtal clock is determined by a value on a strapping pin during SOC reset. The code to determine this frequency is already in A3K's comphy driver. Move the get_ref_clk() function from the comphy driver to a separate file and use it for UART parent clock rate determination. Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I8bb18a2d020ef18fe65aa06ffa4ab205c71be92e
-
- 01 Jun, 2021 3 commits
-
-
Pali Rohár authored
Macros PLAT_MARVELL_BOOT_UART* and PLAT_MARVELL_CRASH_UART* are defined to same values. De-duplicate them into PLAT_MARVELL_UART* macros. Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: Iae5daf7cad6a971e6f3dbe561df3d0174106ca7f
-
Pali Rohár authored
Macros PLAT_MARVELL_BL31_RUN_UART* are not used since commit d7c4420c ("plat/marvell: Migrate to multi-console API"). Remove them. Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I5ec959ef4de87dcfb332c017ad2599bf8af6ffc3
-
Manoj Kumar authored
Morello exhibits the behavior similar to Juno wherein CNTBaseN.CNTFRQ can be written but does not reflect the value of the CNTFRQ register in CNTCTLBase frame. This doesn't follow ARM ARM in that the value updated in CNTCTLBase.CNTFRQ is not reflected in CNTBaseN.CNTFRQ. Hence enable the workaround (applied to Juno) for Morello that updates the CNTFRQ register in the Non Secure CNTBaseN frame. Change-Id: Iabe53bf3c25152052107e08321323e4bde5fbef4 Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com>
-
- 31 May, 2021 2 commits
-
-
Jiaxin Yu authored
Forbidden domain D4(DSP) access 0x40000000~0x1FFFF0000. Signed-off-by: Jiaxin Yu <jiaxin.yu@mediatek.com> Change-Id: If409df10cecbcccc493d7958ab2765fd110d9009
-
Venkatesh Yadav Abbarapu authored
Add support for XCK26 silicon which is available on SOM board. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com> Change-Id: Ic98213328702903af8a79f487a2868f3e6d60338
-
- 28 May, 2021 2 commits
-
-
johpow01 authored
This patch renames the Matterhorn, Matterhorn ELP, and Klein CPUs to Cortex A710, Cortex X2, and Cortex A510 respectively. Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I056d3114210db71c2840a24562b51caf2546e195
-
Pali Rohár authored
UART parent clock is by default the platform's xtal clock, which is 25 MHz. The value defined in the driver, though, is 25.8048 MHz. This is a hack for the suboptimal divisor calculation Divisor = UART clock / (16 * baudrate) which does not use rounding division, resulting in a suboptimal value for divisor if the correct parent clock rate was used. Change the code for divisor calculation to Divisor = Round(UART clock / (16 * baudrate)) and change the parent clock rate value to 25 MHz. The final UART divisor for default baudrate 115200 is not affected by this change. (Note that the parent clock rate should not be defined via a macro, since the xtal clock can also be 40 MHz. This is outside of the scope of this fix, though.) Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: Iaa401173df87aec94f2dd1b38a90fb6ed0bf0ec6
-
- 27 May, 2021 7 commits
-
-
Yann Gautier authored
Use the macros that are now defined in include/lib/smccc.h. Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Change-Id: Ibe3c17acd2482b7779318c8a922a138dcace5554
-
Yann Gautier authored
Use the macros that are now defined in include/lib/smccc.h. Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Change-Id: Ie1dbc54569086f6a74206b873fee664b4cdeea36
-
Yann Gautier authored
Use the macros that are now defined in include/lib/smccc.h. Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Change-Id: I688a76277b729672835d51fafb68d1d6205b6ae4
-
Yann Gautier authored
The JEDEC information for STMicroelectronics is: JEDEC_ST_MFID U(0x20) JEDEC_ST_BKID U(0x0) And rely on platform functions to get chip IP and revision. Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Change-Id: I4fa4ac8bb5583b1871b768decc9fe08e8966ff54
-
Yann Gautier authored
Three functions are exported to get SoC version, SoC device ID, and SoC name. Those functions are based on reworked existing static functions. Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Change-Id: I1f3949062bb488286a9e7a38ffcd1457953dac56
-
Pranav Madhu authored
The SGI/RD platforms have been using PSCI state ID format as defined in PSCI version prior to 1.0. This is being changed and the PSCI extended state ID format as defined in PSCI version 1.1 is being adapted. In addition to this, the use of Arm recommended PSCI state ID encoding is enabled as well. Change-Id: I2be8a9820987a96b23f4281563b6fa22db48fa5f Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
-
Hsin-Hsiung Wang authored
Update idle flow in case of last read command timeout. Signed-off-by: Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com> Change-Id: Idb0552d70d59b23822c38269d0fa9fe9ac0d6975
-
- 26 May, 2021 3 commits
-
-
Flora Fu authored
Add APU device apc driver and setup permission. Signed-off-by: Flora Fu <flora.fu@mediatek.com> Change-Id: I2bbdb69d11267e4252b2138b5c5ac8faf752740f
-
Flora Fu authored
Add APU SiP call support for start/stop mcu. Signed-off-by: Flora Fu <flora.fu@mediatek.com> Change-Id: Ibf93d8ccf22c414de3093cee9e13f7668588f69e Signed-off-by: Pi-Cheng Chen <pi-cheng.chen@mediatek.com>
-
Rex-BC Chen authored
MTK display port mute/unmute control registers need to be set in secure world. Signed-off-by: Rex-BC Chen <rex-bc.chen@mediatek.com> Change-Id: Iec73650e937bd20e25c18fa28d55ae29e68b10d3
-
- 25 May, 2021 3 commits
-
-
Rajan Vaja authored
Use proper offset for IPI data based on offset for IPI0 channel. Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Signed-off-by: Abhyuday Godhasara <abhyuday.godhasara@xilinx.com> Change-Id: I3070517944dd353c3733aa595df0da030127751a
-
Flora Fu authored
Add APU iommap settings for reviser, apu_ao and devapc control wrapper. Signed-off-by: Flora Fu <flora.fu@mediatek.com> Change-Id: Ie8e6a197c0f440f9e4ee8101202283a2dbf501a6
-
Flora Fu authored
Setup APU_S_S_4/APU_S_S_5 permission as SEC_RW_ONLY. Signed-off-by: Flora Fu <flora.fu@mediatek.com> Change-Id: I6c50b2913bf34270a1b0ffaf0e0c435fee192a4c
-
- 21 May, 2021 1 commit
-
-
Igor Opaniuk authored
In iMX8MM it is possible to have two copies of bootloader in SD/eMMC and switch between them. The switch is triggered either by the BootROM in case the bootloader image is faulty OR can be enforced by the user. To trigger that switch the PERSIST_SECONDARY_BOOT bit should be set in GPR10 SRC register. As the bit is retained after WARM reset, that permits to control BootROM behavior regarding what boot image it will boot after reset: primary or secondary. This is useful for reliable bootloader A/B updates, as it permits switching between two copies of bootloader at different offsets of the same storage. If the PERSIST_SECONDARY_BOOT is 0, the boot ROM uses address 0x8400 for the primary image. If the PERSIST_SECONDARY_BOOT is 1, the boot ROM reads that secondary image table from address 0x8200 on the boot media and uses the address specified in the table for the secondary image. Secondary Image Table contains the sector of secondary bootloader image, exluding the offset to that image (explained below in the note). To generate the Secondary Image Table, use e.g.: $ printf '\x0\x0\x0\x0\x0\x0\x0\x0\x33\x22\x11' '\x00\x00\x10\x0\x0\x00\x0\x0\x0' > /tmp/sit.bin $ hexdump -vC /tmp/sit.bin 00000000 00 00 00 00 00000004 00 00 00 00 00000008 33 22 11 00 <--- This is the "tag" 0000000c 00 10 00 00 <--- This is the "firstSectorNumber" 00000010 00 00 00 00 You can also use NXP script from [1][2] imx-mkimage tool for SIT generation. Note that the firstSectorNumber is NOT the offset of the IVT, but an offset of the IVT decremented by Image Vector Table offset (Table 6-25. Image Vector Table Offset and Initial Load Region Size for iMX8MM/MQ), so for secondary SPL copy at offset 0x1042 sectors, firstSectorNumber must be 0x1000 (0x42 sectors * 512 = 0x8400 bytes offset). In order to test redundant boot board should be closed and SD/MMC manufacture mode disabled, as secondary boot is not supported in the SD/MMC manufacture mode, which can be disabled by blowing DISABLE_SDMMC_MFG (example for iMX8MM): > fuse prog -y 2 1 0x00800000 For additional details check i.MX 8M Mini Apllication Processor Reference Manual, 6.1.5.4.5 Redundant boot support for expansion device chapter. [1] https://source.codeaurora.org/external/imx/imx-mkimage/ [2] scripts/gen_sit.sh Change-Id: I0a5cea7295a4197f6c89183d74b4011cada52d4c Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
-
- 19 May, 2021 1 commit
-
-
Manish V Badarkhe authored
Added support for HW computed CRC using Arm ACLE intrinsics. These are built-in intrinsics available for ARMv8.1-A, and onwards. These intrinsics are enabled via '-march=armv8-a+crc' compile switch for ARMv8-A (supports CRC instructions optionally). HW CRC support is enabled unconditionally in BL2 for all Arm platforms. HW CRC calculation is verified offline to ensure a similar result as its respective ZLib utility function. HW CRC calculation support will be used in the upcoming firmware update patches. Change-Id: Ia2ae801f62d2003e89a9c3e6d77469b5312614b3 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
-
- 17 May, 2021 1 commit
-
-
Zelalem authored
Disable non-invasive debug of secure state for Juno in release builds. This makes sure that PMU counts only Non-secure events. Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I0d1c3f96f3b4e48360a7211ae55851d65d291025
-
- 10 May, 2021 1 commit
-
-
Davidson K authored
This patch adds support for the crypto and secure storage secure partitions for the Total Compute platform. These secure partitions have to be managed by Hafnium executing at S-EL2 Change-Id: I2df690e3a99bf6bf50e2710994a905914a07026e Signed-off-by: Davidson K <davidson.kumaresan@arm.com>
-
- 03 May, 2021 1 commit
-
-
Pranav Madhu authored
AMU counters are used for monitoring the CPU performance. RD-V1-MC platform has architected AMU available for each core. Enable the use of AMU by non-secure OS for supporting the use of counters for processor performance control (ACPI CPPC). Change-Id: I33be594cee669e7f4031e5e5a371eec7c7451030 Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
-
- 30 Apr, 2021 2 commits
-
-
Jacky Bai authored
on i.MX8MP A1 silicon, the OCRAM space is extended to 512K + 64K, currently, OCRAM @0x960000-0x980000 is reserved for BL31, it will leave the last 64KB in non-continuous space. To provide a continuous 384KB + 64KB space for generic use, so move the BL31 space to 0x970000-0x990000 range. Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I96d572fc0f87f05a60f55e0552a68b6e70f8e7f4
-
Jacky Bai authored
the 'always_on' member should be initialized from 'on'. Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I5746ff40075b4fcda2ac7d04a8d7f1269af17e91
-
- 29 Apr, 2021 2 commits
-
-
Yann Gautier authored
To compare the "okay" string of a property, strncmp is used but with the length given by fdt_getprop. This len value is reported as tainted by Coverity [1]. We just can use strlen("okay") which is a known value to compare the 2 strings. [1] https://scan4.coverity.com/reports.htm#v51972/p11439/fileInstanceId=96515154&defectInstanceId=14219121&mergedDefectId=342997 Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Change-Id: Ic8fb6ccf3126a37df615e433eb028861812015da
-
Manish V Badarkhe authored
Added GPT parser support in BL2 for Arm platforms to get the entry address and length of the FIP in the GPT image. Also, increased BL2 maximum size for FVP platform to successfully compile ROM-enabled build with this change. Verified this change using a patch: https://review.trustedfirmware.org/c/ci/tf-a-ci-scripts/+/9654 Change-Id: Ie8026db054966653b739a82d9ba106d283f534d0 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
-
- 28 Apr, 2021 1 commit
-
-
David Horstmann authored
NOTE: Breaking change to the way UUIDs are stored in the DT Currently, UUIDs are stored in the device tree as sequences of 4 integers. There is a mismatch in endianness between the way UUIDs are represented in memory and the way they are parsed from the device tree. As a result, we must either store the UUIDs in little-endian format in the DT (which means that they do not match up with their string representations) or perform endianness conversion after parsing them. Currently, TF-A chooses the second option, with unwieldy endianness-conversion taking place after reading a UUID. To fix this problem, and to make it convenient to copy and paste UUIDs from other tools, change to store UUIDs in string format, using a new wrapper function to parse them from the device tree. Change-Id: I38bd63c907be14e412f03ef0aab9dcabfba0eaa0 Signed-off-by: David Horstmann <david.horstmann@arm.com>
-