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 ? > > 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