diff options
| author | Marek Vasut <[email protected]> | 2018-05-29 16:16:46 +0200 |
|---|---|---|
| committer | Marek Vasut <[email protected]> | 2018-07-12 09:22:13 +0200 |
| commit | 887a8b6ec287c20f802d5007081e7f5d615c51db (patch) | |
| tree | d700d27cd34397d07681650cb9d23db4793963e2 | |
| parent | df78f016e84caede20938fb3e84acbb8ae7fc440 (diff) | |
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 <[email protected]>
Cc: Chin Liang See <[email protected]>
Cc: Dinh Nguyen <[email protected]>
| -rw-r--r-- | arch/arm/mach-socfpga/board.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/arm/mach-socfpga/board.c b/arch/arm/mach-socfpga/board.c index 189e12a6683..cb6530f7e8f 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 |
