diff options
author | Ye Li <ye.li@nxp.com> | 2017-11-30 01:23:56 -0600 |
---|---|---|
committer | Ye Li <ye.li@nxp.com> | 2017-11-30 03:08:58 -0600 |
commit | abcc95393ac65023f0eb09424aec27d5505818bb (patch) | |
tree | 583e4ac6663d16594a6d78d5eddc145451f429ea | |
parent | 5d48b34348957ac7484b5c60eeebbf4dbeab336f (diff) |
MLK-17044-1 imx-common: Adding new argument for SIP call interface
Need to pass total 5 arguments for SIP HAB call, so update the interface
to add new argument.
Signed-off-by: Ye Li <ye.li@nxp.com>
-rw-r--r-- | arch/arm/cpu/armv8/imx8/cpu.c | 2 | ||||
-rw-r--r-- | arch/arm/cpu/armv8/imx8m/soc.c | 4 | ||||
-rw-r--r-- | arch/arm/imx-common/sip.c | 3 | ||||
-rw-r--r-- | arch/arm/include/asm/imx-common/sys_proto.h | 2 |
4 files changed, 6 insertions, 5 deletions
diff --git a/arch/arm/cpu/armv8/imx8/cpu.c b/arch/arm/cpu/armv8/imx8/cpu.c index cc2d96eca7..586ac6f743 100644 --- a/arch/arm/cpu/armv8/imx8/cpu.c +++ b/arch/arm/cpu/armv8/imx8/cpu.c @@ -688,7 +688,7 @@ static void acquire_buildinfo(void) } /* Get ARM Trusted Firmware commit id */ - atf_commit = call_imx_sip(FSL_SIP_BUILDINFO, FSL_SIP_BUILDINFO_GET_COMMITHASH, 0, 0); + atf_commit = call_imx_sip(FSL_SIP_BUILDINFO, FSL_SIP_BUILDINFO_GET_COMMITHASH, 0, 0, 0); if (atf_commit == 0xffffffff) { debug("ATF does not support build info\n"); atf_commit = 0x30; /* Display 0, 0 ascii is 0x30 */ diff --git a/arch/arm/cpu/armv8/imx8m/soc.c b/arch/arm/cpu/armv8/imx8m/soc.c index 79cf1ead04..5b17b3363c 100644 --- a/arch/arm/cpu/armv8/imx8m/soc.c +++ b/arch/arm/cpu/armv8/imx8m/soc.c @@ -298,14 +298,14 @@ int arch_auxiliary_core_up(u32 core_id, ulong boot_private_data) writel(pc, M4_BOOTROM_BASE_ADDR + 4); /* Enable M4 */ - call_imx_sip(FSL_SIP_SRC, FSL_SIP_SRC_M4_START, 0, 0); + call_imx_sip(FSL_SIP_SRC, FSL_SIP_SRC_M4_START, 0, 0, 0); return 0; } int arch_auxiliary_core_check_up(u32 core_id) { - return call_imx_sip(FSL_SIP_SRC, FSL_SIP_SRC_M4_STARTED, 0, 0); + return call_imx_sip(FSL_SIP_SRC, FSL_SIP_SRC_M4_STARTED, 0, 0, 0); } #endif diff --git a/arch/arm/imx-common/sip.c b/arch/arm/imx-common/sip.c index 72db30cc0a..6c37eddc87 100644 --- a/arch/arm/imx-common/sip.c +++ b/arch/arm/imx-common/sip.c @@ -7,7 +7,7 @@ #include <common.h> #include <asm/arch/sys_proto.h> -unsigned long call_imx_sip(unsigned long id, unsigned long reg0, unsigned long reg1, unsigned long reg2) +unsigned long call_imx_sip(unsigned long id, unsigned long reg0, unsigned long reg1, unsigned long reg2, unsigned long reg3) { struct pt_regs regs; @@ -15,6 +15,7 @@ unsigned long call_imx_sip(unsigned long id, unsigned long reg0, unsigned long r regs.regs[1] = reg0; regs.regs[2] = reg1; regs.regs[3] = reg2; + regs.regs[4] = reg3; smc_call(®s); diff --git a/arch/arm/include/asm/imx-common/sys_proto.h b/arch/arm/include/asm/imx-common/sys_proto.h index c2c1a81227..431e297145 100644 --- a/arch/arm/include/asm/imx-common/sys_proto.h +++ b/arch/arm/include/asm/imx-common/sys_proto.h @@ -87,6 +87,6 @@ int arch_auxiliary_core_up(u32 core_id, ulong boot_private_data); int arch_auxiliary_core_check_up(u32 core_id); #ifdef CONFIG_ARM64 -unsigned long call_imx_sip(unsigned long id, unsigned long reg0, unsigned long reg1, unsigned long reg2); +unsigned long call_imx_sip(unsigned long id, unsigned long reg0, unsigned long reg1, unsigned long reg2, unsigned long reg3); #endif #endif |