From de274663f5429fe10c48a40f9fbf0c8aa553905d Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Wed, 10 Jan 2018 13:20:23 +0800 Subject: imx: add sip function Add SiP (Silicon Provider) services function to issue SMC call to Arm Trusted Firmware. More SiP information could be found in https://github.com/ARM-software/arm-trusted-firmware/blob/master/ docs/arm-sip-service.rst Signed-off-by: Peng Fan Reviewed-by: Fabio Estevam Cc: Stefano Babic --- arch/arm/mach-imx/sip.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 arch/arm/mach-imx/sip.c (limited to 'arch/arm/mach-imx/sip.c') diff --git a/arch/arm/mach-imx/sip.c b/arch/arm/mach-imx/sip.c new file mode 100644 index 00000000000..b724330d358 --- /dev/null +++ b/arch/arm/mach-imx/sip.c @@ -0,0 +1,23 @@ +/* + * Copyright 2017 NXP + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include + +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]; +} -- cgit v1.2.3