From: chee.hong.ang at intel.com <chee.hong.ang@intel.com>
To: u-boot@lists.denx.de
Subject: [PATCH v4 08/21] arm: socfpga: Add SMC helper function for Intel SOCFPGA (64bits)
Date: Mon, 9 Mar 2020 02:07:09 -0700 [thread overview]
Message-ID: <1583744842-24632-9-git-send-email-chee.hong.ang@intel.com> (raw)
In-Reply-To: <1583744842-24632-1-git-send-email-chee.hong.ang@intel.com>
From: Chee Hong Ang <chee.hong.ang@intel.com>
Allow U-Boot proper running in non-secure mode (EL2) to invoke
SMC call to ATF's PSCI runtime services such as System Manager's
registers access, 2nd phase bitstream FPGA reconfiguration,
Remote System Update (RSU) and etc.
Signed-off-by: Chee Hong Ang <chee.hong.ang@intel.com>
---
arch/arm/mach-socfpga/include/mach/misc.h | 3 +++
arch/arm/mach-socfpga/misc_s10.c | 20 ++++++++++++++++++++
2 files changed, 23 insertions(+)
diff --git a/arch/arm/mach-socfpga/include/mach/misc.h b/arch/arm/mach-socfpga/include/mach/misc.h
index f6de1cc..b5625e1 100644
--- a/arch/arm/mach-socfpga/include/mach/misc.h
+++ b/arch/arm/mach-socfpga/include/mach/misc.h
@@ -43,4 +43,7 @@ void do_bridge_reset(int enable, unsigned int mask);
void socfpga_pl310_clear(void);
void socfpga_get_managers_addr(void);
+#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_ATF)
+int invoke_smc(u32 func_id, u64 *args, int arg_len, u64 *ret_arg, int ret_len);
+#endif
#endif /* _SOCFPGA_MISC_H_ */
diff --git a/arch/arm/mach-socfpga/misc_s10.c b/arch/arm/mach-socfpga/misc_s10.c
index a3f5b43..adfff82 100644
--- a/arch/arm/mach-socfpga/misc_s10.c
+++ b/arch/arm/mach-socfpga/misc_s10.c
@@ -164,3 +164,23 @@ void do_bridge_reset(int enable, unsigned int mask)
socfpga_bridges_reset(enable);
}
+
+#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_ATF)
+int invoke_smc(u32 func_id, u64 *args, int arg_len, u64 *ret_arg, int ret_len)
+{
+ struct pt_regs regs;
+
+ memset(®s, 0, sizeof(regs));
+ regs.regs[0] = func_id;
+
+ if (args)
+ memcpy(®s.regs[1], &args[0], arg_len * sizeof(u64));
+
+ smc_call(®s);
+
+ if (ret_arg)
+ memcpy(&ret_arg[0], ®s.regs[1], ret_len * sizeof(u64));
+
+ return regs.regs[0];
+}
+#endif
--
2.7.4
next prev parent reply other threads:[~2020-03-09 9:07 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-09 9:07 [PATCH v4 00/21] Enable ARM Trusted Firmware for U-Boot chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 01/21] configs: agilex: Remove CONFIG_OF_EMBED chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 02/21] arm: socfpga: add fit source file for pack itb with ATF chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 03/21] arm: socfpga: Add function for checking description from FIT image chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 04/21] arm: socfpga: Load FIT image with ATF support chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 05/21] arm: socfpga: Override 'lowlevel_init' to support ATF chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 06/21] configs: socfpga: Enable FIT image loading with ATF support chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 07/21] arm: socfpga: Disable "spin-table" method for booting Linux chee.hong.ang at intel.com
2020-03-09 9:07 ` chee.hong.ang at intel.com [this message]
2020-03-09 9:07 ` [PATCH v4 09/21] arm: socfpga: Define SMC function identifiers for PSCI SiP services chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 10/21] arm: socfpga: soc64: Remove PHY interface setup from misc arch init chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 11/21] misc: altera_sysmgr: Add Altera System Manager driver chee.hong.ang at intel.com
2020-03-10 16:17 ` Simon Goldschmidt
2020-03-10 16:42 ` Ang, Chee Hong
2020-03-10 16:57 ` Simon Goldschmidt
2020-03-10 20:14 ` Simon Goldschmidt
2020-03-11 6:35 ` Ang, Chee Hong
2020-03-11 6:37 ` Marek Vasut
2020-03-11 7:03 ` Ang, Chee Hong
2020-03-11 7:06 ` Marek Vasut
2020-03-11 8:13 ` Ang, Chee Hong
2020-03-09 9:07 ` [PATCH v4 12/21] arch: arm: socfpga: Enable driver model for misc drivers chee.hong.ang at intel.com
2020-03-10 17:03 ` Simon Goldschmidt
2020-03-11 6:13 ` Ang, Chee Hong
2020-03-09 9:07 ` [PATCH v4 13/21] mmc: dwmmc: socfpga: MMC driver access System Manager via 'altera_sysmgr' chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 14/21] arch: arm: socfpga: Add 'altr, sysmgr-syscon' for MMC node in device tree chee.hong.ang at intel.com
2020-03-10 17:05 ` Simon Goldschmidt
2020-03-11 7:06 ` Ang, Chee Hong
2020-03-11 7:14 ` Marek Vasut
2020-03-09 9:07 ` [PATCH v4 15/21] net: designware: socfpga: MAC driver access System Manager via 'altera_sysmgr' chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 16/21] arm: socfpga: Add ATF support for Reset Manager driver chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 17/21] arm: socfpga: stratix10: Initialize timer in SPL chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 18/21] arm: socfpga: Add ATF support to query FPGA configuration status chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 19/21] arm: socfpga: stratix10: Add ATF support for FPGA reconfig driver chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 20/21] arm: socfpga: mailbox: Add 'SYSTEM_RESET' PSCI support to mbox_reset_cold() chee.hong.ang at intel.com
2020-03-09 9:07 ` [PATCH v4 21/21] configs: socfpga: Add defconfig for Agilex and Stratix 10 without ATF support chee.hong.ang at intel.com
2020-03-10 17:01 ` [PATCH v4 00/21] Enable ARM Trusted Firmware for U-Boot Simon Goldschmidt
2020-03-11 6:11 ` Ang, Chee Hong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1583744842-24632-9-git-send-email-chee.hong.ang@intel.com \
--to=chee.hong.ang@intel.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.