diff mbox series

[2/4] xilinx: zynqmp: use zynqmp_mmio_read() in multi_boot()

Message ID b26461aa51d7e88f1dfd2821aa7ba672bc459162.1627469480.git.michal.simek@xilinx.com
State Superseded
Delegated to: Michal Simek
Headers show
Series xilinx: zynqmp: Add support for dfu_alt_info setup at runtime | expand

Commit Message

Michal Simek July 28, 2021, 10:51 a.m. UTC
When U-Boot runs in EL2 there is no access to csu_base registers that's why
this has to be done via firmware interface to find out multi boot register
value. Till now this function is called only from SPL in EL3.

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

 board/xilinx/zynqmp/zynqmp.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index eb67116d5b44..1b0356c84c5c 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -346,9 +346,12 @@  int board_early_init_f(void)
 
 static int multi_boot(void)
 {
-	u32 multiboot;
+	u32 multiboot = 0;
+	int ret;
 
-	multiboot = readl(&csu_base->multi_boot);
+	ret = zynqmp_mmio_read((ulong)&csu_base->multi_boot, &multiboot);
+	if (ret)
+		return -EINVAL;
 
 	return multiboot;
 }