[rtems commit] bsp/csb336: Memory map update to support i. MX1 based PiMX1 as well.

Sebastian Huber sebh at rtems.org
Mon Aug 19 12:19:58 UTC 2013


Module:    rtems
Branch:    4.10
Commit:    356b8c7baa9ce291b4353d919bf60f3c3635c1a8
Changeset: http://git.rtems.org/rtems/commit/?id=356b8c7baa9ce291b4353d919bf60f3c3635c1a8

Author:    Pavel Pisa <pi at baree.pikron.com>
Date:      Mon Aug 19 14:22:26 2013 +0200

bsp/csb336: Memory map update to support i.MX1 based PiMX1 as well.

CSB336 i.MX1/i.MXS memory map organization

 - SDRAM starts at address 0x08000000 but 2 MB are reserved
   for boot-block/loader (or other use) before RTEMS image
   origin/load address (that is kept from previous setup)

 - Caching of 30 MB of SDRAM used for RTEMS (start at 0x08200000)
   is changed to writeback mode which provides higher throughput.

 - The first 1 MB of RTEMS dedicated SDRAM is remapped to address 0
   to provide area for ARM CPU exceptions table.

 - Internal registers and rest of the Flash (above 1 MB) are mapped
   one to one. Registers region is extended to 2 MB to cover
   eSRAM found on i.MX1 chip variant.

 - The first two megabytes of SDRAM unused by RTEMS are mapped
   with attributes to allow specific purposes.

   - the first MB (at address 0x08000000) is nocached to allow
     directly set some values read by booot-block after warm reset

   - the second MB (at address 0x08100000) is set for write-through
     caching.  That allows to use memory for LCD frame-buffer without
     need to flush cache after each redraw.

Signed-off-by: Pavel Pisa <pi at baree.pikron.com>

---

 c/src/lib/libbsp/arm/csb336/startup/memmap.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/c/src/lib/libbsp/arm/csb336/startup/memmap.c b/c/src/lib/libbsp/arm/csb336/startup/memmap.c
index 356bea7..3d5b98a 100644
--- a/c/src/lib/libbsp/arm/csb336/startup/memmap.c
+++ b/c/src/lib/libbsp/arm/csb336/startup/memmap.c
@@ -19,10 +19,14 @@
  */
 mmu_sect_map_t mem_map[] = {
 /*  <phys addr>  <virt addr> <size> <flags> */
-    {0x08200000, 0x00000000,   1,    MMU_CACHE_NONE},     /* Mirror of SDRAM */
+    {0x08200000, 0x00000000,   1,    MMU_CACHE_WBACK},    /* Mirror of SDRAM */
     {0x00100000, 0x00100000,   1,    MMU_CACHE_NONE},     /* Bootstrap ROM */
-    {0x00200000, 0x00200000,   1,    MMU_CACHE_NONE},     /* Internal Regs */
-    {0x08000000, 0x08000000,  32,    MMU_CACHE_WTHROUGH}, /* SDRAM */
+    {0x00200000, 0x00200000,   2,    MMU_CACHE_NONE},     /* Internal Regs + eSRAM */
+
+    {0x08000000, 0x08000000,   1,    MMU_CACHE_NONE},     /* SDRAM */
+    {0x08100000, 0x08100000,   1,    MMU_CACHE_WTHROUGH}, /* SDRAM */
+    {0x08200000, 0x08200000,  30,    MMU_CACHE_WBACK},    /* SDRAM */
+
     {0x10000000, 0x10000000,   8,    MMU_CACHE_NONE},     /* CS0 - Flash */
     {0x12000000, 0x12000000,   1,    MMU_CACHE_NONE},     /* CS1 - enet */
     {0x13000000, 0x13000000,   1,    MMU_CACHE_NONE},     /* CS2 - */




More information about the vc mailing list