ARM: socfpga: Assure correct ACTLR configuration
authorMarek Vasut <marex@denx.de>
Tue, 29 May 2018 14:16:46 +0000 (16:16 +0200)
committerMarek Vasut <marex@denx.de>
Thu, 12 Jul 2018 07:22:13 +0000 (09:22 +0200)
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>
arch/arm/mach-socfpga/board.c

index 189e12a668398c02de8380dbad7558b63e05d18e..cb6530f7e8feea57215940756b0a113ea6b5941c 100644 (file)
 
 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