summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-04-28 10:19:54 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-09 13:06:49 +0200
commitc70f9d19ee6dabe8f5373ec8bf0e36d25bd2429f (patch)
tree9782c349e2956a3d24ef97a9f52787f62c2ad6c0
parentsonic.c: Fix warning on gcc 6 (diff)
downloadrtems-c70f9d19ee6dabe8f5373ec8bf0e36d25bd2429f.tar.bz2
bsp/qoriq: Set M and G bits in ENTRY_DEV_CACHED()
Set M and G MMU attribute bits in ENTRY_DEV_CACHED().
-rw-r--r--c/src/lib/libbsp/powerpc/qoriq/startup/mmu-config.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/mmu-config.c b/c/src/lib/libbsp/powerpc/qoriq/startup/mmu-config.c
index ceb64a6193..414bcb47c4 100644
--- a/c/src/lib/libbsp/powerpc/qoriq/startup/mmu-config.c
+++ b/c/src/lib/libbsp/powerpc/qoriq/startup/mmu-config.c
@@ -78,10 +78,19 @@ typedef struct {
.mas7 = QORIQ_MMU_DEVICE_MAS7 \
}
+/*
+ * MMU entry for BMan and QMan software portals.
+ *
+ * The M bit must be set if stashing is used, see 3.3.8.6 DQRR Entry Stashing
+ * and 3.3.8 Software Portals in T4240DPAARM.
+ *
+ * The G bit must be set, otherwise ECC errors in the QMan software portals
+ * will occur. No documentation reference for this is available.
+ */
#define ENTRY_DEV_CACHED(b, s) { \
.begin = (uint32_t) b, \
.size = (uint32_t) s, \
- .mas2 = 0, \
+ .mas2 = FSL_EIS_MAS2_M | FSL_EIS_MAS2_G, \
.mas3 = FSL_EIS_MAS3_SR | FSL_EIS_MAS3_SW, \
.mas7 = QORIQ_MMU_DEVICE_MAS7 \
}