diff options
author | York Sun <york.sun@nxp.com> | 2017-12-05 21:57:54 +0300 |
---|---|---|
committer | York Sun <york.sun@nxp.com> | 2017-12-07 01:54:12 +0300 |
commit | 316f0d0f8f3cbeeefda043e69f3e4e6aa57f7f1d (patch) | |
tree | e4201de6e106653a02a04c13f21cf3685bc878ee /board/sbc8548 | |
parent | 0f2296bab1417faa5973e6d6690c8be0f83ecd08 (diff) | |
download | u-boot-316f0d0f8f3cbeeefda043e69f3e4e6aa57f7f1d.tar.xz |
powerpc: mpc85xx: Fix static TLB table for SDRAM
Most predefined TLB tables don't have memory coherence bit set for
SDRAM. This wasn't an issue before invalidate_dcache_range() function
was enabled. Without the coherence bit, dcache invalidation doesn't
automatically flush the cache. The coherence bit is already set when
dynamic TLB table is used. For some boards with different SPL boot
method, or with legacy fixed setting, this bit needs to be set in
TLB files.
Signed-off-by: York Sun <york.sun@nxp.com>
Diffstat (limited to 'board/sbc8548')
-rw-r--r-- | board/sbc8548/tlb.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/board/sbc8548/tlb.c b/board/sbc8548/tlb.c index 2f7e4c5364..d2bf3049f1 100644 --- a/board/sbc8548/tlb.c +++ b/board/sbc8548/tlb.c @@ -66,7 +66,7 @@ struct fsl_e_tlb_entry tlb_table[] = { * 0xf0000000 64M LBC SDRAM First half */ SET_TLB_ENTRY(1, CONFIG_SYS_LBC_SDRAM_BASE, CONFIG_SYS_LBC_SDRAM_BASE, - MAS3_SX|MAS3_SW|MAS3_SR, 0, + MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M, 0, 3, BOOKE_PAGESZ_64M, 1), /* @@ -75,7 +75,7 @@ struct fsl_e_tlb_entry tlb_table[] = { */ SET_TLB_ENTRY(1, CONFIG_SYS_LBC_SDRAM_BASE + 0x4000000, CONFIG_SYS_LBC_SDRAM_BASE + 0x4000000, - MAS3_SX|MAS3_SW|MAS3_SR, 0, + MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M, 0, 4, BOOKE_PAGESZ_64M, 1), #endif |