summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2007-09-10 22:23:08 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2007-09-10 22:23:08 +0000
commit39ee40db4ff520325b432b1e9ba270de5b151b02 (patch)
tree6a9e6c756328b215a4f279128f7c8894bebaa23d /c
parent2007-09-10 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-39ee40db4ff520325b432b1e9ba270de5b151b02.tar.bz2
2007-09-10 Alain Schaefer <alani@easc.ch>
* preinstall.am, startup/bspstart.c, startup/linkcmds: Complete earlier patch. * include/cplb.h: New file.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/bfin/eZKit533/ChangeLog6
-rw-r--r--c/src/lib/libbsp/bfin/eZKit533/include/cplb.h34
-rw-r--r--c/src/lib/libbsp/bfin/eZKit533/preinstall.am4
-rw-r--r--c/src/lib/libbsp/bfin/eZKit533/startup/bspstart.c62
-rw-r--r--c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds2
5 files changed, 77 insertions, 31 deletions
diff --git a/c/src/lib/libbsp/bfin/eZKit533/ChangeLog b/c/src/lib/libbsp/bfin/eZKit533/ChangeLog
index 57e6499186..7ed9dc6774 100644
--- a/c/src/lib/libbsp/bfin/eZKit533/ChangeLog
+++ b/c/src/lib/libbsp/bfin/eZKit533/ChangeLog
@@ -1,5 +1,11 @@
2007-09-10 Alain Schaefer <alani@easc.ch>
+ * preinstall.am, startup/bspstart.c, startup/linkcmds: Complete earlier
+ patch.
+ * include/cplb.h: New file.
+
+2007-09-10 Alain Schaefer <alani@easc.ch>
+
* startup/bspstart.c: Add a useful routine to program memory protection
in bfin. It is not used but a user of ezKit533 can customize its bsp
and use this function.
diff --git a/c/src/lib/libbsp/bfin/eZKit533/include/cplb.h b/c/src/lib/libbsp/bfin/eZKit533/include/cplb.h
new file mode 100644
index 0000000000..2cac1a48e6
--- /dev/null
+++ b/c/src/lib/libbsp/bfin/eZKit533/include/cplb.h
@@ -0,0 +1,34 @@
+/* cplb.h
+ *
+ * Copyright (c) 2006 by Atos Automacao Industrial Ltda.
+ * written by Alain Schaefer <alain.schaefer@easc.ch>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+#ifndef _CPLB_H
+#define _CPLB_H
+
+/* CPLB configurations */
+#define CPLB_DEF_CACHE_WT CPLB_L1_CHBL | CPLB_WT
+#define CPLB_DEF_CACHE_WB CPLB_L1_CHBL
+#define CPLB_CACHE_ENABLED CPLB_L1_CHBL | CPLB_DIRTY
+
+#define CPLB_DEF_CACHE CPLB_L1_CHBL | CPLB_WT
+#define CPLB_ALL_ACCESS CPLB_SUPV_WR | CPLB_USER_RD | CPLB_USER_WR
+
+#define CPLB_I_PAGE_MGMT CPLB_LOCK | CPLB_VALID
+#define CPLB_D_PAGE_MGMT CPLB_LOCK | CPLB_ALL_ACCESS | CPLB_VALID
+
+#define CPLB_DNOCACHE CPLB_ALL_ACCESS | CPLB_VALID
+#define CPLB_DDOCACHE CPLB_DNOCACHE | CPLB_DEF_CACHE
+#define CPLB_INOCACHE CPLB_USER_RD | CPLB_VALID
+#define CPLB_IDOCACHE CPLB_INOCACHE | CPLB_L1_CHBL
+
+#define CPLB_DDOCACHE_WT CPLB_DNOCACHE | CPLB_DEF_CACHE_WT
+#define CPLB_DDOCACHE_WB CPLB_DNOCACHE | CPLB_DEF_CACHE_WB
+
+#endif /* _CPLB_H */
diff --git a/c/src/lib/libbsp/bfin/eZKit533/preinstall.am b/c/src/lib/libbsp/bfin/eZKit533/preinstall.am
index 605316427f..d955cf2ae1 100644
--- a/c/src/lib/libbsp/bfin/eZKit533/preinstall.am
+++ b/c/src/lib/libbsp/bfin/eZKit533/preinstall.am
@@ -36,6 +36,10 @@ $(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h
+$(PROJECT_INCLUDE)/cplb.h: include/cplb.h $(PROJECT_INCLUDE)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/cplb.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/cplb.h
+
$(PROJECT_INCLUDE)/tm27.h: include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
diff --git a/c/src/lib/libbsp/bfin/eZKit533/startup/bspstart.c b/c/src/lib/libbsp/bfin/eZKit533/startup/bspstart.c
index 8bf752fdfb..a8c6eb1428 100644
--- a/c/src/lib/libbsp/bfin/eZKit533/startup/bspstart.c
+++ b/c/src/lib/libbsp/bfin/eZKit533/startup/bspstart.c
@@ -20,6 +20,7 @@
#include <string.h>
#include <bsp.h>
+#include <cplb.h>
#include <rtems/libio.h>
#include <rtems/libcsupport.h>
@@ -38,47 +39,48 @@ rtems_cpu_table Cpu_table;
char *rtems_progname;
-const unsigned int dcplbs_table[][] = {
+const unsigned int dcplbs_table[16][2] = {
+ { 0xFFA00000, (PAGE_SIZE_1MB | CPLB_D_PAGE_MGMT | CPLB_WT) },
+ { 0xFF900000, (PAGE_SIZE_1MB | CPLB_D_PAGE_MGMT | CPLB_WT) }, /* L1 Data B */
+ { 0xFF800000, (PAGE_SIZE_1MB | CPLB_D_PAGE_MGMT | CPLB_WT) }, /* L1 Data A */
+ { 0xFFB00000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) },
- { 0xFF900000, (PAGE_SIZE_1MB | CPLB_D_PAGE_MGMT | CPLB_WT) }, // L1 Data B
- { 0xFF800000, (PAGE_SIZE_1MB | CPLB_D_PAGE_MGMT | CPLB_WT) }, // L1 Data A
+ { 0x20300000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, /* Async Memory Bank 3 */
+ { 0x20200000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, /* Async Memory Bank 2 (Secnd) */
+ { 0x20100000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, /* Async Memory Bank 1 (Prim B) */
+ { 0x20000000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, /* Async Memory Bank 0 (Prim A) */
- { 0x20300000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, // Async Memory Bank 3
- { 0x20200000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, // Async Memory Bank 2 (Secnd)
- { 0x20100000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, // Async Memory Bank 1 (Prim B)
- { 0x20000000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, // Async Memory Bank 0 (Prim A)
+ { 0x02400000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) },
+ { 0x02000000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) },
+ { 0x00C00000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) },
+ { 0x00800000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) },
+ { 0x00400000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) },
+ { 0x00000000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) },
- { 0x02400000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, //
- { 0x02000000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, //
- { 0x00C00000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, //
- { 0x00800000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, //
- { 0x00400000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, //
- { 0x00000000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, //
-
- { 0xffffffff, 0xffffffff } // end of section - termination
+ { 0xffffffff, 0xffffffff } /* end of section - termination */
}
;
-const unsigned int _icplbs_table[][] = {
- { 0xFFA00000, (PAGE_SIZE_1MB | CPLB_I_PAGE_MGMT) }, // L1 Code
-
- { 0xEF000000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, // AREA DE BOOT
+const unsigned int _icplbs_table[16][2] = {
+ { 0xFFA00000, (PAGE_SIZE_1MB | CPLB_I_PAGE_MGMT | CPLB_I_PAGE_MGMT | 0x4) }, /* L1 Code */
+ { 0xEF000000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, /* AREA DE BOOT */
+ { 0xFFB00000, (PAGE_SIZE_1MB | CPLB_INOCACHE) },
- { 0x20300000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, // Async Memory Bank 3
- { 0x20200000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, // Async Memory Bank 2 (Secnd)
- { 0x20100000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, // Async Memory Bank 1 (Prim B)
- { 0x20000000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, // Async Memory Bank 0 (Prim A)
+ { 0x20300000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, /* Async Memory Bank 3 */
+ { 0x20200000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, /* Async Memory Bank 2 (Secnd) */
+ { 0x20100000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, /* Async Memory Bank 1 (Prim B) */
+ { 0x20000000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, /* Async Memory Bank 0 (Prim A) */
- { 0x02400000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, //
- { 0x02000000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, //
- { 0x00C00000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, //
- { 0x00800000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, //
- { 0x00400000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, //
- { 0x00000000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, //
+ { 0x02400000, (PAGE_SIZE_4MB | CPLB_INOCACHE) },
+ { 0x02000000, (PAGE_SIZE_4MB | CPLB_INOCACHE) },
+ { 0x00C00000, (PAGE_SIZE_4MB | CPLB_INOCACHE) },
+ { 0x00800000, (PAGE_SIZE_4MB | CPLB_INOCACHE) },
+ { 0x00400000, (PAGE_SIZE_4MB | CPLB_INOCACHE) },
+ { 0x00000000, (PAGE_SIZE_4MB | CPLB_INOCACHE) },
- { 0xffffffff, 0xffffffff } // end of section - termination
+ { 0xffffffff, 0xffffffff } /* end of section - termination */
}
;
diff --git a/c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds b/c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds
index 4da0a235bc..4871e82106 100644
--- a/c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds
+++ b/c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds
@@ -14,9 +14,9 @@ _StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
MEMORY
{
+ sdram(rwx) : ORIGIN = 0x00001000, LENGTH = 0x01000000
l1code(rwx) : ORIGIN = 0xffa08000, LENGTH = 0x00008000
l1data(rwx) : ORIGIN = 0xff804000, LENGTH = 0x00004000
- sdram(rwx) : ORIGIN = 0x00001000, LENGTH = 0x01000000
}
SECTIONS