arm-trusted-firmware/plat/allwinner/common
Andre Przywara 7db0c96023 allwinner: Use the arisc to turn off ARM cores
PSCI requires a core to turn itself off, which we can't do properly by
just executing an algorithm on that very core. As a consequence we just
put a core into WFI on CPU_OFF right now.
To fix this let's task the "arisc" management processor (an OpenRISC
core) with that task of asserting reset and turning off the core's power
domain. We use a handcrafted sequence of OpenRISC instructions to
achieve this, and hand this data over to the new sunxi_execute_arisc_code()
routine.
The commented source code for this routine is provided in a separate file,
but the ATF code contains the already encoded instructions as data.
The H6 uses the same algorithm, but differs in the MMIO addresses, so
provide a SoC (family) specific copy of that code.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2018-10-20 16:23:59 +01:00
..
include allwinner: Prepare for executing code on the management processor 2018-10-20 16:23:59 +01:00
allwinner-common.mk allwinner: Find DTB in BL33 image 2018-10-20 16:23:59 +01:00
arisc_off.S allwinner: Use the arisc to turn off ARM cores 2018-10-20 16:23:59 +01:00
plat_helpers.S allwinner: Introduce basic platform support 2018-06-15 11:45:24 +01:00
sunxi_bl31_setup.c allwinner: Pass FDT address to sunxi_pmic_setup() 2018-10-20 16:23:59 +01:00
sunxi_common.c allwinner: Prepare for executing code on the management processor 2018-10-20 16:23:59 +01:00
sunxi_cpu_ops.c allwinner: Use the arisc to turn off ARM cores 2018-10-20 16:23:59 +01:00
sunxi_pm.c allwinner: Use the arisc to turn off ARM cores 2018-10-20 16:23:59 +01:00
sunxi_security.c allwinner: Export sunxi_private.h 2018-10-20 16:23:59 +01:00
sunxi_topology.c allwinner: Introduce basic platform support 2018-06-15 11:45:24 +01:00