- 23 Dec, 2020 4 commits
-
-
Nishanth Menon authored
ARM's generic timer[1] picks up it's graycode from GTC. However, the frequency of the GTC is supposed to be programmed in CNTFID0[2] register. In K3, architecture, GTC provides a central time to many parts of the SoC including graycode to the generic timer in the ARMv8 subsystem. However, due to the central nature and the need to enable the counter early in the boot process, the R5 based bootloader enables GTC and programs it's frequency based on central needs of the system. This may not be a constant 200MHz based on the system. The bootloader is supposed to program the FID0 register with the correct frequency it has sourced for GTC from the central system controller, and TF-A is supposed to use that as the frequency for it's local timer. A mismatch in programmed frequency and what we program for generic timer will, as we can imagine, all kind of weird mayhem. So, check the CNTFID0 register, if it is 0, warn and use the default frequency to continue the boot process. While at it, we can also check CNTCR register to provide some basic diagnostics to make sure that we don't have OS folks scratch their heads. Even though this is used during cpu online operations, the cost of this additional check is minimal enough for us not to use #ifdeffery with DEBUG flags. [1] https://developer.arm.com/documentation/100095/0002/generic-timer/generic-timer-register-summary/aarch64-generic-timer-register-summary [2] https://developer.arm.com/docs/ddi0595/h/external-system-registers/cntfid0 [3] https://developer.arm.com/docs/ddi0595/h/external-system-registers/cntcr Signed-off-by: Nishanth Menon <nm@ti.com> Change-Id: Ib03e06788580f3540dcb1a11677d0d6d398b2c9f
-
Nishanth Menon authored
The CatB erratum ARM_ERRATA_A72_1319367 applies to all TI A72 platforms as well. See the following for further information: https://developer.arm.com/documentation/epm012079/11/ Signed-off-by: Nishanth Menon <nm@ti.com> Change-Id: I80c6262b9cdadcb12f6dfd5a21272989ba257719
-
Nishanth Menon authored
The CatB erratum ARM_ERRATA_A53_1530924 applies to all TI A53 platforms as well. See the following for further information: https://developer.arm.com/documentation/epm048406/2100 Signed-off-by: Nishanth Menon <nm@ti.com> Change-Id: Ic095424ce510139e060b38cfb84509d2cc573cad
-
Nishanth Menon authored
Andrew is no longer with TI unfortunately, so stepping up to provide maintainer for supported TI platforms. Signed-off-by: Nishanth Menon <nm@ti.com> Change-Id: Ia1be294631421913bcbc3d346947195cb442d437
-
- 22 Dec, 2020 8 commits
-
-
Madhukar Pappireddy authored
* changes: zynqmp: pm: Reimplement pinctrl get/set config parameter EEMI API calls zynqmp: pm: Reimplement pinctrl set/get function EEMI API zynqmp: pm: Implement pinctrl request/release EEMI API zynqmp: pm: Update return type in query functions
-
Madhukar Pappireddy authored
-
Madhukar Pappireddy authored
* changes: mediatek: mt8192: add rtc power off sequence mediatek: mt8192: Fix non-MISRA compliant code mediatek: mt8192: Fix non-MISRA compliant code mediatek: mt8192: Add MPU support
-
André Przywara authored
* changes: allwinner: Add SPC security setup for H6 allwinner: Add R_PRCM security setup for H6
-
André Przywara authored
-
André Przywara authored
-
André Przywara authored
* changes: allwinner: Use RSB for the PMIC connection on H6 allwinner: Return the PMIC to I2C mode after use allwinner: Always use a 3MHz RSB bus clock
-
Graeme Gregory authored
In psci_setup.c psci_init_pwr_domain_node() takes an unsigned char as node_idx which limits it to initialising only the first 256 CPUs. As the calling function does not check for a limit of 256 I think this is a bug so change the unsigned char to uint16_t and change the cast from the calling site in populate_power_domain_tree(). Also update the non_cpu_pwr_domain_node structure lock_index to uint16_t and update the function signature for psci_lock_init() appropriately. Finally add a define PSCI_MAX_CPUS_INDEX to psci_private.h and add a CASSERT to psci_setup.c to make sure PLATFORM_CORE_COUNT cannot exceed the index value. Signed-off-by: Graeme Gregory <graeme@nuviainc.com> Change-Id: I9e26842277db7483fd698b46bbac62aa86e71b45
-
- 21 Dec, 2020 1 commit
-
-
Madhukar Pappireddy authored
* changes: fdts: tc0: Add reserved-memory node for OP-TEE plat: tc0: OP-TEE as S-EL1 SP with SPMC at S-EL2 docs: arm: Add OPTEE_SP_FW_CONFIG plat: tc0: enable opteed support plat: arm: Increase SP max size
-
- 18 Dec, 2020 2 commits
-
-
bipin.ravi authored
-
johpow01 authored
Cortex A76 erratum 1946160 is a Cat B erratum, present in some revisions of the A76 processor core. The workaround is to insert a DMB ST before acquire atomic instructions without release semantics. This issue is present in revisions r0p0 - r4p1 but this workaround only applies to revisions r3p0 - r4p1, there is no workaround for older versions. SDEN can be found here: https://documentation-service.arm.com/static/5fbb77d7d77dd807b9a80cc1 Signed-off-by: John Powell <john.powell@arm.com> Change-Id: Ief33779ee76a89ce2649812ae5214b86a139e327
-
- 16 Dec, 2020 6 commits
-
-
Madhukar Pappireddy authored
-
Yuchen Huang authored
add mt6359p rtc power off sequence and enable k_eosc mode Signed-off-by: Yuchen Huang <yuchen.huang@mediatek.com> Change-Id: I65450c63c44ccb5082541dbbe28b8aa0a95ecc56
-
Yidi Lin authored
CID 364146: Control flow issues (DEADCODE) Since the value of PSTATE_PWR_LVL_MASK and the value the of PLAT_MAX_PWR_LVL are equal on mt8192, the following equation never hold. if (aff_lvl > PLAT_MAX_PWR_LVL) { return PSCI_E_INVALID_PARAMS; } Remove the deadcode to comply with MISRA standard. Signed-off-by: Yidi Lin <yidi.lin@mediatek.com> Change-Id: I71d0aa826eded8c3b5af961e733167ae40699398
-
Yidi Lin authored
CID 364144: Integer handling issues (NO_EFFECT) The unsigned value is always greater-than-or-equal-to-zero. Remove such check. Change-Id: Ia395eb32f55a7098d2581ce7f548b7e1112beaa0 Signed-off-by: Yidi Lin <yidi.lin@mediatek.com>
-
Xi Chen authored
1 Add Domain1(PCIe device) protect address: 0x80000000~0x83FF0000. 2 Add Domain2(SSPM/SPM/DPM/MCUPM) protect address: 0x40000000~0x1FFFF0000. Signed-off-by: Xi Chen <xixi.chen@mediatek.com> Change-Id: I4aaed37150076ae5943484c4adadac999a3d1762
-
Vijayenthiran Subramaniam authored
RD-N2 platform has been updated to use six GIC ITS blocks. This results in change in base address of the GIC Redistributor to accomodate two new GIC ITS blocks. Update the base address of GICR to reflect the same. Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com> Change-Id: I740a547328fb9a9f25d7a09c08e61bdbc8bf781c
-
- 15 Dec, 2020 5 commits
-
-
Mark Dykes authored
-
Mirela Simonovic authored
Functions are reimplemented to issue system-level pinctrl EEMI calls to the PMU-FW rather than using MMIO read/write. Macros and functions that appear to be unused after the change is made are removed. Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com> Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Change-Id: I51f2285a79f202cb2ca9f031044002e16dd1e92f
-
Mirela Simonovic authored
Functions are reimplemented to issue system-level pinctrl EEMI calls to the PMU-FW rather than using MMIO read/write. Macros and functions that appear to be unused after the change is made are removed. Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com> Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Change-Id: I21b8fda855aa69090b85d6aaf411e19560201cb5
-
Mirela Simonovic authored
The calls are just passed through to the PMU-FW. Before issuing other pinctrl functions the pin should be successfully requested. Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com> Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Change-Id: Ibce280edebedf779b3962009c274d0b3d928e0e4
-
Rajan Vaja authored
In pm_query_data() function return type is stored in response so there is no use of return type. Update return type of function pm_query_data() from enum pm_ret_status to void. Similarly update return type of pm_api_clock_get_name() and pm_api_pinctrl_get_function_name() functions. Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Change-Id: Id811926f0b4ebcc472480bb94f3b88109eb036cd
-
- 14 Dec, 2020 12 commits
-
-
Arunachalam Ganapathy authored
Add reserved-memory region for OP-TEE and mark as no-map. This memory region is used by OP-TEE as non-secure shared RAM. Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Change-Id: I5a22999a8c5550024d0f47e848d35924017df245
-
Arunachalam Ganapathy authored
This patch adds support to enable OP-TEE as S-EL1 SP with SPMC at S-EL2 - create SPMC manifest file with OP-TEE as SP - add support for ARM_SPMC_MANIFEST_DTS build option - add optee entry with ffa as method in tc0.dts Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Change-Id: Ia9b5c22c6f605d3886914bbac8ac45e8365671cb
-
Arunachalam Ganapathy authored
This adds documentation for device tree build flag OPTEE_SP_FW_CONFIG. Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Change-Id: Ie45f075cf04182701007f87aa0c8912cd567157a
-
Arunachalam Ganapathy authored
Enable SPD=opteed support for tc0 platform. Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Change-Id: Ieb038d645c68fbe6b5a211c7279569e21b476fc3
-
Arunachalam Ganapathy authored
Increase SP max size for latest OP-TEE build with debug and stats enabled. Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Change-Id: I4593884e0deb39ada10009f6876d815136f8ee65
-
Samuel Holland authored
RSB is faster and more efficient, and it has a simpler driver. As long as the PMIC is returned to I2C mode after use, the rich OS can later use either bus. Change-Id: I0c5f32e88a090c8c5cccb81bd24596b301ab9da7 Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
This gives the rich OS the flexibility to choose between I2C and RSB communication. Since a runtime address can only be assigned once after entering RSB mode, it also lets the rich OS choose any runtime address. Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Id49c124c5e925985fc31c0ba38c7fb6c941aafa8
-
Samuel Holland authored
None of the other drivers (Linux, U-Boot, Crust) need to lower the bus clock frequency to switch the PMIC to RSB mode. That logic is not needed here, either. The hardware takes care of running this transaction at the correct bus frequency. Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Idcfe933df4da75d5fd5a4f3e362da40ac26bdad1
-
Samuel Holland authored
BL31 reports the following warning during boot: WARNING: BL31: cortex_a53: CPU workaround for 1530924 was missing! Resolve this by enabling the workaround on the affected platforms. Change-Id: Ia1d5075370be5ae67b7bece96ec0069d9692b14c Signed-off-by: Samuel Holland <samuel@sholland.org>
-
Samuel Holland authored
While the Allwinner platform code nominally supported a custom PRELOADED_BL33_BASE, some references to the BL33 load address used another constant: PLAT_SUNXI_NS_IMAGE_OFFSET. To allow the DTB search code to work if a U-Boot BL33 is loaded to a custom address, consistently use PRELOADED_BL33_BASE. And to avoid this confusion in the future, remove the other constant. Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Ie6b97ae1fdec95d784676aef39200bef161471b0
-
Samuel Holland authored
The H6 has a "secure port controller" similar to the A64/H5, but with more ports and a different register layout. Split the platform-specific parts out into a header, and add the missing MMIO base address. Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: I3703868bc595459ecf9568b9d1605cb1be014bf5
-
Samuel Holland authored
H6 has a reorganized R_PRCM compared to A64/H5, with the security switch at a different offset. Until now, we did not notice, because the switch has no effect unless the secure mode e-fuse is blown. Since we are adding more platform-specific CCU registers, move them to their own header, and out of the memory map (where they do not belong). Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Ie77476db0515080954eaa2e32bf6c3de657cda86
-
- 11 Dec, 2020 2 commits
-
-
Manish Pandey authored
-
Madhukar Pappireddy authored
* changes: doc: Update list of supported FVP platforms board/rdn2: add board support for rdn2 platform plat/arm/sgi: adapt to changes in memory map plat/arm/sgi: add platform id value for rdn2 platform plat/arm/sgi: platform definitions for upcoming platforms plat/arm/sgi: refactor header file inclusions plat/arm/sgi: refactor the inclusion of memory mapping
-