From: Michal Simek <michal.simek@xilinx.com>
Date: Wed, 12 Jul 2017 08:32:18 +0000 (+0200)
Subject: arm64: zynqmp: Do not setup time if already setup
X-Git-Tag: v2025.01-rc5-pxa1908~6171^2~6
X-Git-Url: http://git.dujemihanovic.xyz/browse.php?a=commitdiff_plain;h=90a35db410ae5b6123ebdb2f6233a1f9ce8d0412;p=u-boot.git

arm64: zynqmp: Do not setup time if already setup

Newer psu_init_gpl.c/h contain clock setup. Detect if
reference clock is active. If yes, skip timer setup.

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

diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index ecdae5e261..a67473f344 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -155,7 +155,10 @@ int board_early_init_r(void)
 {
 	u32 val;
 
-	if (current_el() == 3) {
+	val = readl(&crlapb_base->timestamp_ref_ctrl);
+	val &= ZYNQMP_CRL_APB_TIMESTAMP_REF_CTRL_CLKACT;
+
+	if (current_el() == 3 && !val) {
 		val = readl(&crlapb_base->timestamp_ref_ctrl);
 		val |= ZYNQMP_CRL_APB_TIMESTAMP_REF_CTRL_CLKACT;
 		writel(val, &crlapb_base->timestamp_ref_ctrl);