diff options
-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 |