diff mbox series

[1/3] firmware: zynqmp: Enable IPI code calling also in EL3

Message ID 0d1ffc4839bef7223c575b2948a01faf2bd36bff.1584971878.git.michal.simek@xilinx.com
State Accepted
Commit 73319eee878c3321a90ae0cc8e0ca8e6ebf0f1fd
Headers show
Series arm64: zynqmp: Add support for running U-Boot in EL3 again | expand

Commit Message

Michal Simek March 23, 2020, 1:57 p.m. UTC
U-Boot proper can still run in EL3 without using firmware interface wired
via ATF. For supporting this use case there is a need to check EL level
where U-Boot runs and based on that choose the way how to talk to firmware.

Signed-off-by: Michal Simek <michal.simek at xilinx.com>
---

 drivers/firmware/firmware-zynqmp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/drivers/firmware/firmware-zynqmp.c b/drivers/firmware/firmware-zynqmp.c
index 2a2aa2f4f169..c37642569dda 100644
--- a/drivers/firmware/firmware-zynqmp.c
+++ b/drivers/firmware/firmware-zynqmp.c
@@ -51,7 +51,7 @@  static int ipi_req(const u32 *req, size_t req_len, u32 *res, size_t res_maxlen)
 
 static int send_req(const u32 *req, size_t req_len, u32 *res, size_t res_maxlen)
 {
-	if (IS_ENABLED(CONFIG_SPL_BUILD))
+	if (IS_ENABLED(CONFIG_SPL_BUILD) || current_el() == 3)
 		return ipi_req(req, req_len, res, res_maxlen);
 
 	return xilinx_pm_request(req[0], 0, 0, 0, 0, res);