[U-Boot] [PATCH v2 3/3] sysreset: psci: support system reset in a generic way with PSCI
Masahiro Yamada
yamada.masahiro at socionext.com
Mon Apr 17 02:26:54 UTC 2017
Hi Simon,
2017-04-17 4:31 GMT+09:00 Simon Glass <sjg at chromium.org>:
> Hi Masahiro,
>
> On 12 April 2017 at 20:39, Masahiro Yamada
> <yamada.masahiro at socionext.com> wrote:
>> 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 at socionext.com>
>> ---
>>
>> Changes in v2: None
>>
>> arch/arm/Kconfig | 1 +
>> 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 | 10 ++++
>> drivers/sysreset/Makefile | 1 +
>> drivers/sysreset/sysreset_psci.c | 41 +++++++++++++++++
>> include/dm/uclass-id.h | 1 +
>> include/linux/psci.h | 13 ++++++
>> 12 files changed, 185 insertions(+), 2 deletions(-)
>> 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
>
> Reviewed-by: Simon Glass <sjg at chromium.org>
>
> It is not clear what the firmware uclass is for. Also there are no
> operations. How about adding a header file with at least a comment in
> it?
Actually, the firmware uclass does not provide
any generalized operation, but in the DM framework,
a driver must belong to some uclass.
I thought about this a bit, then
another idea is perhaps to re-use UCLASS_MISC
instead of adding a new opaque uclass.
We can use misc_ioctl() for PSCI call.
--
Best Regards
Masahiro Yamada
More information about the U-Boot
mailing list