From: Michal Simek Date: Mon, 23 Mar 2020 13:42:34 +0000 (+0100) Subject: firmware: zynqmp: Enable IPI code calling also in EL3 X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=73319eee878c3321a90ae0cc8e0ca8e6ebf0f1fd;p=u-boot.git firmware: zynqmp: Enable IPI code calling also in EL3 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 --- diff --git a/drivers/firmware/firmware-zynqmp.c b/drivers/firmware/firmware-zynqmp.c index 2a2aa2f4f1..c37642569d 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);