mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 19:11:53 +00:00
sysreset: psci: support system reset in a generic way with PSCI
If the system is running PSCI firmware, the System Reset function (func ID: 0x80000009) is supposed to be handled by PSCI, that is, the SoC/board specific reset implementation should be moved to PSCI. U-Boot should call the PSCI service according to the arm-smccc manner. The arm-smccc is supported on ARMv7 or later. Especially, ARMv8 generation SoCs are likely to run ARM Trusted Firmware BL31. In this case, U-Boot is a non-secure world boot loader, so it should not be able to reset the system directly. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
parent
c54bcf6805
commit
573a3811ed
12 changed files with 185 additions and 2 deletions
|
@ -87,4 +87,17 @@
|
|||
#define PSCI_RET_NOT_PRESENT -7
|
||||
#define PSCI_RET_DISABLED -8
|
||||
|
||||
#ifdef CONFIG_ARM_PSCI_FW
|
||||
typedef unsigned long (psci_fn)(unsigned long, unsigned long,
|
||||
unsigned long, unsigned long);
|
||||
|
||||
extern psci_fn *invoke_psci_fn;
|
||||
#else
|
||||
unsigned long invoke_psci_fn(unsigned long a0, unsigned long a1,
|
||||
unsigned long a2, unsigned long a3)
|
||||
{
|
||||
return PSCI_RET_DISABLED;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _UAPI_LINUX_PSCI_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue