summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2018-05-29 16:16:46 +0200
committerMarek Vasut <marex@denx.de>2018-07-12 09:22:13 +0200
commit887a8b6ec287c20f802d5007081e7f5d615c51db (patch)
treed700d27cd34397d07681650cb9d23db4793963e2 /arch
parentdf78f016e84caede20938fb3e84acbb8ae7fc440 (diff)
downloadu-boot-887a8b6ec287c20f802d5007081e7f5d615c51db.tar.gz
u-boot-887a8b6ec287c20f802d5007081e7f5d615c51db.tar.xz
u-boot-887a8b6ec287c20f802d5007081e7f5d615c51db.zip
ARM: socfpga: Assure correct ACTLR configuration
Make sure the ARM ACTLR register has correct configuration, otherwise the Linux kernel refuses to boot. In particular, the "Write Full Line of Zeroes" bit must be cleared. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Chin Liang See <chin.liang.see@intel.com> Cc: Dinh Nguyen <dinguyen@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-socfpga/board.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/arm/mach-socfpga/board.c b/arch/arm/mach-socfpga/board.c
index 189e12a668..cb6530f7e8 100644
--- a/arch/arm/mach-socfpga/board.c
+++ b/arch/arm/mach-socfpga/board.c
@@ -18,7 +18,18 @@
DECLARE_GLOBAL_DATA_PTR;
-void s_init(void) {}
+void s_init(void) {
+ /*
+ * Preconfigure ACTLR, make sure Write Full Line of Zeroes is disabled.
+ * This is optional on CycloneV / ArriaV.
+ * This is mandatory on Arria10, otherwise Linux refuses to boot.
+ */
+ asm volatile(
+ "mcr p15, 0, %0, c1, c0, 1\n"
+ "isb\n"
+ "dsb\n"
+ ::"r"(0x0));
+}
/*
* Miscellaneous platform dependent initialisations