aboutsummaryrefslogtreecommitdiff
path: root/plat
diff options
context:
space:
mode:
authorIcenowy Zheng <icenowy@sipeed.com>2021-07-22 09:32:57 +0800
committerIcenowy Zheng <icenowy@aosc.io>2021-08-25 00:15:27 +0800
commit86a7429e477786dad6fab002538aef825f4ca35a (patch)
tree894dd3226d13487400be81558d070d6d42b22733 /plat
parent9fcefe38d54bdfd86648248854944d95bb99a92a (diff)
downloadtrusted-firmware-a-86a7429e477786dad6fab002538aef825f4ca35a.tar.gz
fix(plat/allwinner): delay after enabling CPU power
Adds a 1us delay after enabling power to a CPU core, to prevent inrush-caused CPU crash before it's up. Change-Id: I8f4c1b0dc0d1d976b31ddc30efe7a77a1619b1b3 Signed-off-by: Icenowy Zheng <icenowy@sipeed.com>
Diffstat (limited to 'plat')
-rw-r--r--plat/allwinner/common/sunxi_cpu_ops.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/plat/allwinner/common/sunxi_cpu_ops.c b/plat/allwinner/common/sunxi_cpu_ops.c
index 420b507abe..8a29dbbd58 100644
--- a/plat/allwinner/common/sunxi_cpu_ops.c
+++ b/plat/allwinner/common/sunxi_cpu_ops.c
@@ -42,6 +42,7 @@ static void sunxi_cpu_enable_power(unsigned int cluster, unsigned int core)
mmio_write_32(SUNXI_CPU_POWER_CLAMP_REG(cluster, core), 0xe0);
mmio_write_32(SUNXI_CPU_POWER_CLAMP_REG(cluster, core), 0x80);
mmio_write_32(SUNXI_CPU_POWER_CLAMP_REG(cluster, core), 0x00);
+ udelay(1);
}
/* We can't turn ourself off like this, but it works for other cores. */