feat(k3low): add BL1 platform definitions and integration for AM62LAM62L devices use BL1 to configure DDR4/LPDDR4 before the secondarybootloader. This patch wires all prior DDR and board patches i
feat(k3low): add BL1 platform definitions and integration for AM62LAM62L devices use BL1 to configure DDR4/LPDDR4 before the secondarybootloader. This patch wires all prior DDR and board patches into acomplete, buildable bl1.bin:- ti_platform_defs.h: add IMAGE_BL1 conditionals for BL1-specific stack and memory layout definitions.- platform_def.h: add BL1 SRAM base/size and mailbox address definitions used by am62l_bl1_setup.c.- am62l_bl1_setup.c: BL1 platform initialisation — console, DDR init via the Cadence/TI shim, and WFI-based handoff to the secondary bootloader.- platform.mk: add BL1_SOURCES, K3_LPDDR4_SOURCES, update BUILD_PLAT and PLAT_INCLUDES to compile all DDR and BL1 sources.Change-Id: I91e8b9e8e43a5560aa688d58e6805a7b5236de44Signed-off-by: Hari Nagalla <hnagalla@ti.com>
show more ...
fix(cm): deprecate use of NS_TIMER_SWITCHOn AArch64, secure world has it's own EL3 physical timer registersaccessible to secure EL1 in absence of S-EL2. With S-EL2 there isvirtualized view availa
fix(cm): deprecate use of NS_TIMER_SWITCHOn AArch64, secure world has it's own EL3 physical timer registersaccessible to secure EL1 in absence of S-EL2. With S-EL2 there isvirtualized view available for EL1 timer registers. So it isunreasonable for secure world to use non-secure EL1 physical timerregisters. Moreover, the non-secure operating system (Linux in our case)relies heavily on these EL1 physical timer registers for schedulingdecisions. If NS_TIMER_SWITCH is enabled, it simply breaks the preemptionmodel of the non-secure world by disabling non-secure timer interruptsleading to RCU stalls being observed on long running secure world tasks.The only arch timer register which will benefit from context managementis cntkctl_el1: Counter-timer Kernel Control Register. This enables thesecure and non-secure worlds to independently control accesses to EL0for counter-timer registers. This is something that OP-TEE uses toenable ftrace feature for Trusted Applications and SPM_MM uses for EL0access as well.Lets enable context management of cntkctl_el1 by default and deprecateconditional context management of non-secure EL1 physical timerregisters for whom there isn't any upstream user. With that deprecatethis NS_TIMER_SWITCH build option which just adds confusion for theplatform maintainers. It will be eventually dropped followingdeprecation policy of TF-A.Reported-by: Stauffer Thomas MTANA <thomas.stauffer@mt.com>Reported-by: Andrew Davis <afd@ti.com>Change-Id: Ifb3a919dc0bf8c05c38895352de5fe94b4f4387eSigned-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
refactor(ti): move out k3/common to ti/commonThis will allow us to support more platforms that share commonalitieslike the k3_gicv3, console, helpers, etc.With this new common folder location, we
refactor(ti): move out k3/common to ti/commonThis will allow us to support more platforms that share commonalitieslike the k3_gicv3, console, helpers, etc.With this new common folder location, we can move the previouslycreated ti_bl31_setup file into the new location so it can be sharedacross multiple TI SoCs when need comes.With this, also update all copyright dates.Change-Id: Ie4365e32cd3b4b5870fe2cd03843400506e46265Signed-off-by: Dhruva Gole <d-gole@ti.com>