On Tue, Nov 28, 2017 at 07:16:52PM +0100, Stefano Babic wrote: >On 28/11/2017 13:31, Peng Fan wrote: >> Add SIP function to issue SMC call to Arm Trusted Firmware. > >I admit I do not know what is a SIP function. Patch simply adds a >wrapper, can you add a commit message with a more detailed explanation >for this ?
ok. I'll add. This is just like psci call. Regards, Peng. > >> >> Signed-off-by: Peng Fan <peng....@nxp.com> >> --- >> arch/arm/include/asm/mach-imx/sys_proto.h | 3 +++ >> arch/arm/mach-imx/Makefile | 2 ++ >> arch/arm/mach-imx/sip.c | 23 +++++++++++++++++++++++ >> 3 files changed, 28 insertions(+) >> create mode 100644 arch/arm/mach-imx/sip.c >> >> diff --git a/arch/arm/include/asm/mach-imx/sys_proto.h >> b/arch/arm/include/asm/mach-imx/sys_proto.h >> index a80a392a73..2d8afed406 100644 >> --- a/arch/arm/include/asm/mach-imx/sys_proto.h >> +++ b/arch/arm/include/asm/mach-imx/sys_proto.h >> @@ -122,4 +122,7 @@ void lcdif_power_down(void); >> int mxs_reset_block(struct mxs_register_32 *reg); >> int mxs_wait_mask_set(struct mxs_register_32 *reg, u32 mask, u32 timeout); >> int mxs_wait_mask_clr(struct mxs_register_32 *reg, u32 mask, u32 timeout); >> + >> +unsigned long call_imx_sip(unsigned long id, unsigned long reg0, >> + unsigned long reg1, unsigned long reg2); >> #endif >> diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile >> index d77c10e176..c807174363 100644 >> --- a/arch/arm/mach-imx/Makefile >> +++ b/arch/arm/mach-imx/Makefile >> @@ -121,6 +121,8 @@ spl/u-boot-nand-spl.imx: SPL FORCE >> >> targets += $(addprefix ../../../,$(IMX_CONFIG) SPL u-boot.uim >> spl/u-boot-nand-spl.imx) >> >> +obj-$(CONFIG_ARM64) += sip.o >> + >> obj-$(CONFIG_MX5) += mx5/ >> obj-$(CONFIG_MX6) += mx6/ >> obj-$(CONFIG_MX7) += mx7/ >> diff --git a/arch/arm/mach-imx/sip.c b/arch/arm/mach-imx/sip.c >> new file mode 100644 >> index 0000000000..b724330d35 >> --- /dev/null >> +++ b/arch/arm/mach-imx/sip.c >> @@ -0,0 +1,23 @@ >> +/* >> + * Copyright 2017 NXP >> + * >> + * SPDX-License-Identifier: GPL-2.0+ >> + */ >> + >> +#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) >> +{ >> + struct pt_regs regs; >> + >> + regs.regs[0] = id; >> + regs.regs[1] = reg0; >> + regs.regs[2] = reg1; >> + regs.regs[3] = reg2; >> + >> + smc_call(®s); >> + >> + return regs.regs[0]; >> +} >> > >Best regards, >Stefano > >-- >===================================================================== >DENX Software Engineering GmbH, Managing Director: Wolfgang Denk >HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany >Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de >===================================================================== -- _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot