arm: am57xx: cl-som-am57x: remove board support
[oweals/u-boot.git] / arch / arm / mach-socfpga / board.c
index 6e0b4b3c4e6c4834f8019ff8c3841a9b371cded4..7c8c05cc3194a61f2fbf1efe07f7459eb446d39b 100644 (file)
@@ -10,6 +10,7 @@
 #include <fdtdec.h>
 #include <asm/arch/reset_manager.h>
 #include <asm/arch/clock_manager.h>
+#include <asm/arch/misc.h>
 #include <asm/io.h>
 
 #include <usb.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
-void s_init(void) {}
+void s_init(void) {
+#ifndef CONFIG_ARM64
+       /*
+        * Preconfigure ACTLR and CPACR, make sure Write Full Line of Zeroes
+        * is disabled in ACTLR.
+        * 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"
+               "mcr p15, 0, %0, c1, c0, 2\n"
+               "isb\n"
+               "dsb\n"
+       ::"r"(0x0));
+#endif
+}
 
 /*
  * Miscellaneous platform dependent initialisations
@@ -27,11 +43,6 @@ int board_init(void)
        /* Address of boot parameters for ATAG (if ATAG is used) */
        gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
 
-#if defined(CONFIG_TARGET_SOCFPGA_ARRIA10)
-       /* configuring the clock based on handoff */
-       cm_basic_init(gd->fdt_blob);
-#endif
-
        return 0;
 }