diff options
author | Peng Fan <peng.fan@nxp.com> | 2020-05-11 15:15:21 +0800 |
---|---|---|
committer | Peng Fan <peng.fan@nxp.com> | 2020-07-14 15:23:46 +0800 |
commit | bf26b9421eb78c7ff3ecf42a8b5bcde0315343b5 (patch) | |
tree | a6e3a8867c5511888965545fb9e9f68768395baf /arch | |
parent | a2f143eaacb35621725c2d2e4c861cab651feafc (diff) |
imx: bootaux: use arm_smccc_smc
Use arm_smccc_smc to replace call_imx_sip
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-imx/imx_bootaux.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/imx_bootaux.c b/arch/arm/mach-imx/imx_bootaux.c index 868633cf8a..e1fc4b3e19 100644 --- a/arch/arm/mach-imx/imx_bootaux.c +++ b/arch/arm/mach-imx/imx_bootaux.c @@ -10,6 +10,7 @@ #include <command.h> #include <elf.h> #include <imx_sip.h> +#include <linux/arm-smccc.h> #include <linux/compiler.h> #include <cpu_func.h> @@ -55,7 +56,8 @@ int arch_auxiliary_core_up(u32 core_id, ulong addr) /* Enable M4 */ #ifdef CONFIG_IMX8M - call_imx_sip(IMX_SIP_SRC, IMX_SIP_SRC_M4_START, 0, 0, 0); + arm_smccc_smc(IMX_SIP_SRC, IMX_SIP_SRC_M4_START, 0, 0, + 0, 0, 0, 0, NULL); #else clrsetbits_le32(SRC_BASE_ADDR + SRC_M4_REG_OFFSET, SRC_M4C_NON_SCLR_RST_MASK, SRC_M4_ENABLE_MASK); @@ -67,7 +69,12 @@ int arch_auxiliary_core_up(u32 core_id, ulong addr) int arch_auxiliary_core_check_up(u32 core_id) { #ifdef CONFIG_IMX8M - return call_imx_sip(IMX_SIP_SRC, IMX_SIP_SRC_M4_STARTED, 0, 0, 0); + struct arm_smccc_res res; + + arm_smccc_smc(IMX_SIP_SRC, IMX_SIP_SRC_M4_STARTED, 0, 0, + 0, 0, 0, 0, &res); + + return res.a0; #else unsigned int val; |