Skip to content

ARM: support System Reset via PSCI

Lukasz Majewski u-boot 1 version New

Get series with b4
b4 am 20170410111647.5d769e7e@jawa

Versions newest first

  1. v1 Latest0 of 2 patches 0 repliesNew

Patches in v1 No applies recorded yet

None of the 2 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

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

Hi Masahiro,

Quoted 10 lines

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.

Quoted 5 lines

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.

I'm just wondering if it would be possible to:

1. Provide the exact Linux files (with SHA1) from main line

2. On top of this patch add u-boot adjustments

3. Add u-boot specific support for PSCI

In this way we would have exact info about the source of porting (or was it ported exactly from v4.11-rc6 tag?)

Best regards,
�ukasz Majewski

Quoted 36 lines

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

Quoted 5 lines
 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

Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de