]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: Replace test for CONFIG_ARMV7 with CONFIG_CPU_V7
authorMarek Vasut <marex@denx.de>
Tue, 29 Dec 2015 18:44:01 +0000 (19:44 +0100)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sun, 31 Jan 2016 15:32:56 +0000 (16:32 +0100)
The arch/arm/lib/cache-cp15.c checks for CONFIG_ARMV7 and if this macro is
set, it configures TTBR0 register. This register must be configured for the
cache on ARMv7 to operate correctly.

The problem is that noone actually sets the CONFIG_ARMV7 macro and thus the
TTBR0 is not configured at all. On SoCFPGA, this produces all sorts of minor
issues which are hard to replicate, for example certain USB sticks are not
detected or QSPI NOR sometimes fails to write pages completely.

The solution is to replace CONFIG_ARMV7 test with CONFIG_CPU_V7 one. This is
correct because the code which added the test(s) for CONFIG_ARMV7 was added
shortly after CONFIG_ARMV7 was replaced by CONFIG_CPU_V7 and this code was
not adjusted correctly to reflect that change.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Tom Rini <trini@konsulko.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Simon Glass <sjg@chromium.org>
arch/arm/include/asm/system.h
arch/arm/lib/cache-cp15.c

index 67cbbc261066e1e5547ac05a080a4a5f49ff3969..ab73821f6ce5b9cdfc9711bdb0e394ec1b3f4b8c 100644 (file)
@@ -259,7 +259,7 @@ static inline void set_dacr(unsigned int val)
        isb();
 }
 
-#ifdef CONFIG_ARMV7
+#ifdef CONFIG_CPU_V7
 /* Short-Descriptor Translation Table Level 1 Bits */
 #define TTB_SECT_NS_MASK       (1 << 19)
 #define TTB_SECT_NG_MASK       (1 << 17)
@@ -296,7 +296,7 @@ enum {
        MMU_SECTION_SIZE        = 1 << MMU_SECTION_SHIFT,
 };
 
-#ifdef CONFIG_ARMV7
+#ifdef CONFIG_CPU_V7
 /* TTBR0 bits */
 #define TTBR0_BASE_ADDR_MASK   0xFFFFC000
 #define TTBR0_RGN_NC                   (0 << 3)
index c65e068857a2737f58d3ec70535dbb156af3d468..8e185383a5bc3fb522ec8c885ac9effd32a3a7ef 100644 (file)
@@ -96,7 +96,7 @@ static inline void mmu_setup(void)
                dram_bank_mmu_setup(i);
        }
 
-#ifdef CONFIG_ARMV7
+#ifdef CONFIG_CPU_V7
        /* Set TTBR0 */
        reg = gd->arch.tlb_addr & TTBR0_BASE_ADDR_MASK;
 #if defined(CONFIG_SYS_ARM_CACHE_WRITETHROUGH)