
Hi, Peng
Best Regards! Anson Huang
-----Original Message----- From: Peng Fan Sent: 2018-01-04 5:48 PM To: Anson Huang anson.huang@nxp.com; sbabic@denx.de; Fabio Estevam fabio.estevam@nxp.com; albert.u.boot@aribaud.net; christian.gmeiner@gmail.com; u-boot@lists.denx.de Subject: RE: [PATCH V2] imx: mx7: psci: add system reset support
Hi Anson,
-----Original Message----- From: Anson Huang [mailto:Anson.Huang@nxp.com] Sent: Thursday, January 04, 2018 5:04 PM To: sbabic@denx.de; Fabio Estevam fabio.estevam@nxp.com; albert.u.boot@aribaud.net; christian.gmeiner@gmail.com; Peng Fan peng.fan@nxp.com; u-boot@lists.denx.de Subject: [PATCH V2] imx: mx7: psci: add system reset support
Add i.MX7 PSCI system reset support, linux kernel now can use "reboot" command to reset system.
Signed-off-by: Anson Huang Anson.Huang@nxp.com
changes since V1: write WDOG register directly instead of calling reset_cpu which is NOT safe since it is NOT in secure section. arch/arm/mach-imx/mx7/psci-mx7.c | 5 +++++ arch/arm/mach-imx/mx7/psci.S | 7 +++++++ 2 files changed, 12 insertions(+)
diff --git a/arch/arm/mach-imx/mx7/psci-mx7.c b/arch/arm/mach- imx/mx7/psci-mx7.c index 7f429b0..66f6db6 100644 --- a/arch/arm/mach-imx/mx7/psci-mx7.c +++ b/arch/arm/mach-imx/mx7/psci-mx7.c @@ -74,3 +74,8 @@ __secure int imx_cpu_off(int cpu) writel(0, SRC_BASE_ADDR + cpu * 8 + SRC_GPR1_MX7D + 4); return 0; }
+__secure void imx_system_reset(void) +{
- writew(1 << 2, WDOG1_BASE_ADDR);
I think this should be "writew((WCR_WDE | WCR_SRS), WDOG1_BASE_ADDR);"?
I use SRS reset which will assert reset signal immediately, no need to wait Wdog timeout.
Anson.
Regards, Peng.
+} diff --git a/arch/arm/mach-imx/mx7/psci.S b/arch/arm/mach-imx/mx7/psci.S index fc5eb34..59f98cd 100644 --- a/arch/arm/mach-imx/mx7/psci.S +++ b/arch/arm/mach-imx/mx7/psci.S @@ -43,4 +43,11 @@ psci_cpu_off: 1: wfi b 1b
+.globl psci_system_reset +psci_system_reset:
- b imx_system_reset
+2: wfi
- b 2b
- .popsection
-- 1.9.1