Message ID | 1472126621-12929-1-git-send-email-yamada.masahiro@socionext.com |
---|---|
State | Accepted |
Commit | 928f3248b3e81a9fdaa818cf3aa02e5daef7015d |
Headers | show |
2016-08-25 21:03 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>: > This supports the system reset via PSCI for ARMv7 SoCs. > > Because the system reset is not supported on PSCI 0.1, let's define > CONFIG_ARMV7_PSCI_1_0. (it is supported since PSCI 0.2, but there > is no CONFIG to enable it in U-Boot for now.) > > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> > --- > > arch/arm/mach-uniphier/arm32/psci.c | 5 +++++ > arch/arm/mach-uniphier/reset.c | 10 +++++++++- > include/configs/uniphier.h | 1 + > 3 files changed, 15 insertions(+), 1 deletion(-) > Applied to u-boot-uniphier/master. -- Best Regards Masahiro Yamada _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
diff --git a/arch/arm/mach-uniphier/arm32/psci.c b/arch/arm/mach-uniphier/arm32/psci.c index 633a3e0..e668265 100644 --- a/arch/arm/mach-uniphier/arm32/psci.c +++ b/arch/arm/mach-uniphier/arm32/psci.c @@ -151,3 +151,8 @@ int __secure psci_cpu_on(u32 function_id, u32 cpuid, u32 entry_point) return PSCI_RET_SUCCESS; } + +void __secure psci_system_reset(u32 function_id) +{ + reset_cpu(0); +} diff --git a/arch/arm/mach-uniphier/reset.c b/arch/arm/mach-uniphier/reset.c index b5825bc..af5ad14 100644 --- a/arch/arm/mach-uniphier/reset.c +++ b/arch/arm/mach-uniphier/reset.c @@ -6,10 +6,18 @@ #include <common.h> #include <linux/io.h> +#include <asm/secure.h> #include "sc-regs.h" -void reset_cpu(unsigned long ignored) +/* If PSCI is enabled, this is used for SYSTEM_RESET function */ +#ifdef CONFIG_ARMV7_PSCI +#define __SECURE __secure +#else +#define __SECURE +#endif + +void __SECURE reset_cpu(unsigned long ignored) { u32 tmp; diff --git a/include/configs/uniphier.h b/include/configs/uniphier.h index 0f5b20f..184704b 100644 --- a/include/configs/uniphier.h +++ b/include/configs/uniphier.h @@ -12,6 +12,7 @@ #define __CONFIG_UNIPHIER_COMMON_H__ #define CONFIG_ARMV7_PSCI +#define CONFIG_ARMV7_PSCI_1_0 #define CONFIG_ARMV7_PSCI_NR_CPUS 4 #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10
This supports the system reset via PSCI for ARMv7 SoCs. Because the system reset is not supported on PSCI 0.1, let's define CONFIG_ARMV7_PSCI_1_0. (it is supported since PSCI 0.2, but there is no CONFIG to enable it in U-Boot for now.) Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> --- arch/arm/mach-uniphier/arm32/psci.c | 5 +++++ arch/arm/mach-uniphier/reset.c | 10 +++++++++- include/configs/uniphier.h | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) -- 1.9.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot