[U-Boot] [PATCH 0/2] ARM: support System Reset via PSCI

Masahiro Yamada
2017-04-10T08:41:17Z

For ARMv8, the secure firmware (ex. ARM Trusted Firmware BL31) is
often implemented, making U-Boot a non-secure world boot loader.

The secure firmware generally includes PSCI. The power management
operations, including System Reset, are supposed to be handled by
PSCI. In this case, U-Boot should not touch the system reset directly.
Instead, U-Boot should call PSCI service to reset the system.

In order to implement this, arm-smccc code is needed. The code
has been copied from Linux. (1/2)

2/2 implements a generic sysreset driver based on the PSCI
specification.

Masahiro Yamada (2):
ARM: import arm-smccc from Linux 4.11-rc6
sysreset: psci: support system reset in a generic way with PSCI

arch/arm/Kconfig | 9 ++
arch/arm/cpu/armv7/Makefile | 1 +
arch/arm/cpu/armv7/smccc-call.S | 56 +++++++++
arch/arm/cpu/armv8/Makefile | 2 +
arch/arm/cpu/armv8/smccc-call.S | 44 +++++++
arch/arm/include/asm/opcodes-sec.h | 17 +++
arch/arm/include/asm/opcodes-virt.h | 27 +++++
arch/arm/include/asm/opcodes.h | 229 ++++++++++++++++++++++++++++++++++++
arch/arm/lib/asm-offsets.c | 8 ++
drivers/Kconfig | 2 +
drivers/Makefile | 5 +-
drivers/firmware/Kconfig | 6 +
drivers/firmware/Makefile | 2 +
drivers/firmware/firmware-uclass.c | 11 ++
drivers/firmware/psci.c | 94 +++++++++++++++
drivers/sysreset/Kconfig | 11 ++
drivers/sysreset/Makefile | 1 +
drivers/sysreset/sysreset_psci.c | 41 +++++++
include/dm/uclass-id.h | 1 +
include/linux/arm-smccc.h | 126 ++++++++++++++++++++
include/linux/psci.h | 13 ++
21 files changed, 704 insertions(+), 2 deletions(-)
create mode 100644 arch/arm/cpu/armv7/smccc-call.S
create mode 100644 arch/arm/cpu/armv8/smccc-call.S
create mode 100644 arch/arm/include/asm/opcodes-sec.h
create mode 100644 arch/arm/include/asm/opcodes-virt.h
create mode 100644 arch/arm/include/asm/opcodes.h
create mode 100644 drivers/firmware/Kconfig
create mode 100644 drivers/firmware/Makefile
create mode 100644 drivers/firmware/firmware-uclass.c
create mode 100644 drivers/firmware/psci.c
create mode 100644 drivers/sysreset/sysreset_psci.c
create mode 100644 include/linux/arm-smccc.h

--
2.7.4