summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/mpc55xxevb/startup
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-04-24 13:34:03 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-04-24 14:35:16 +0200
commitd101853478993e435d4da854071863ad656a123c (patch)
tree00d2a199bb3a4cbcf46b88d81b72574c16beab66 /c/src/lib/libbsp/powerpc/mpc55xxevb/startup
parentbsp/mpc55xxevb: Change early MMU settings (diff)
downloadrtems-d101853478993e435d4da854071863ad656a123c.tar.bz2
bsps/powerpc: Add no cache section
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mpc55xxevb/startup')
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm27
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb27
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx13
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb27
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.phycore_mpc555429
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.xkt564levb13
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c6
7 files changed, 55 insertions, 87 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm
index 2bdf5041d2..4dc5613ec3 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm
@@ -1,23 +1,11 @@
-MEMORY
-{
- ROM (RX) : ORIGIN = 0x0, LENGTH = 1536K
- RAM (AIW) : ORIGIN = 0x40000000, LENGTH = 80K
- RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
- NIRVANA : ORIGIN = 0x0, LENGTH = 0
+MEMORY {
+ ROM : ORIGIN = 0x0, LENGTH = 1536K
+ RAM : ORIGIN = 0x40000000, LENGTH = 80K
+ RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
+ NOCACHE : ORIGIN = 0x0, LENGTH = 0
+ NIRVANA : ORIGIN = 0x0, LENGTH = 0
}
-bsp_ram_start = ORIGIN (RAM);
-bsp_ram_end = ORIGIN (RAM) + LENGTH (RAM);
-bsp_ram_size = LENGTH (RAM);
-
-bsp_rom_start = ORIGIN (ROM);
-bsp_rom_end = ORIGIN (ROM) + LENGTH (ROM);
-bsp_rom_size = LENGTH (ROM);
-
-bsp_external_ram_start = ORIGIN (RAM_EXT);
-bsp_external_ram_end = ORIGIN (RAM_EXT) + LENGTH (RAM_EXT);
-bsp_external_ram_size = LENGTH (RAM_EXT);
-
REGION_ALIAS ("REGION_START", ROM);
REGION_ALIAS ("REGION_FAST_TEXT", RAM);
REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM);
@@ -33,5 +21,6 @@ REGION_ALIAS ("REGION_BSS", RAM_EXT);
REGION_ALIAS ("REGION_RWEXTRA", RAM_EXT);
REGION_ALIAS ("REGION_WORK", RAM_EXT);
REGION_ALIAS ("REGION_STACK", RAM_EXT);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
-INCLUDE linkcmds.base
+INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb
index a8d94784e9..f148ca66ec 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb
@@ -1,23 +1,11 @@
-MEMORY
-{
- ROM (RX) : ORIGIN = 0x0, LENGTH = 3M
- RAM (AIW) : ORIGIN = 0x40000000, LENGTH = 128K
- RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
- NIRVANA : ORIGIN = 0x0, LENGTH = 0
+MEMORY {
+ ROM : ORIGIN = 0x0, LENGTH = 3M
+ RAM : ORIGIN = 0x40000000, LENGTH = 128K
+ RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
+ NOCACHE : ORIGIN = 0x0, LENGTH = 0
+ NIRVANA : ORIGIN = 0x0, LENGTH = 0
}
-bsp_ram_start = ORIGIN (RAM);
-bsp_ram_end = ORIGIN (RAM) + LENGTH (RAM);
-bsp_ram_size = LENGTH (RAM);
-
-bsp_rom_start = ORIGIN (ROM);
-bsp_rom_end = ORIGIN (ROM) + LENGTH (ROM);
-bsp_rom_size = LENGTH (ROM);
-
-bsp_external_ram_start = ORIGIN (RAM_EXT);
-bsp_external_ram_end = ORIGIN (RAM_EXT) + LENGTH (RAM_EXT);
-bsp_external_ram_size = LENGTH (RAM_EXT);
-
REGION_ALIAS ("REGION_START", ROM);
REGION_ALIAS ("REGION_FAST_TEXT", RAM);
REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM);
@@ -33,5 +21,6 @@ REGION_ALIAS ("REGION_BSS", RAM_EXT);
REGION_ALIAS ("REGION_RWEXTRA", RAM_EXT);
REGION_ALIAS ("REGION_WORK", RAM_EXT);
REGION_ALIAS ("REGION_STACK", RAM_EXT);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
-INCLUDE linkcmds.base
+INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx
new file mode 100644
index 0000000000..1bfe8444ae
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx
@@ -0,0 +1,13 @@
+bsp_ram_start = ORIGIN (RAM);
+bsp_ram_size = LENGTH (RAM) + LENGTH (NOCACHE);
+bsp_ram_end = bsp_ram_start + bsp_ram_size;
+
+bsp_rom_start = ORIGIN (ROM);
+bsp_rom_size = LENGTH (ROM);
+bsp_rom_end = bsp_rom_start + bsp_rom_size;
+
+bsp_external_ram_start = ORIGIN (RAM_EXT);
+bsp_external_ram_size = LENGTH (RAM_EXT);
+bsp_external_ram_end = bsp_external_ram_start + bsp_external_ram_size;
+
+INCLUDE linkcmds.base
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb
index aa4e1db16b..0126bdc93d 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb
@@ -1,23 +1,11 @@
-MEMORY
-{
- ROM (RX) : ORIGIN = 0x0, LENGTH = 4M
- RAM (AIW) : ORIGIN = 0x40000000, LENGTH = 256K
- RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
- NIRVANA : ORIGIN = 0x0, LENGTH = 0
+MEMORY {
+ ROM : ORIGIN = 0x0, LENGTH = 4M
+ RAM : ORIGIN = 0x40000000, LENGTH = 256K - 16k
+ RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
+ NOCACHE : ORIGIN = 0x4003c000, LENGTH = 16k
+ NIRVANA : ORIGIN = 0x0, LENGTH = 0
}
-bsp_ram_start = ORIGIN (RAM);
-bsp_ram_end = ORIGIN (RAM) + LENGTH (RAM);
-bsp_ram_size = LENGTH (RAM);
-
-bsp_rom_start = ORIGIN (ROM);
-bsp_rom_end = ORIGIN (ROM) + LENGTH (ROM);
-bsp_rom_size = LENGTH (ROM);
-
-bsp_external_ram_start = ORIGIN (RAM_EXT);
-bsp_external_ram_end = ORIGIN (RAM_EXT) + LENGTH (RAM_EXT);
-bsp_external_ram_size = LENGTH (RAM_EXT);
-
REGION_ALIAS ("REGION_START", ROM);
REGION_ALIAS ("REGION_FAST_TEXT", RAM);
REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM);
@@ -33,5 +21,6 @@ REGION_ALIAS ("REGION_BSS", RAM);
REGION_ALIAS ("REGION_RWEXTRA", RAM_EXT);
REGION_ALIAS ("REGION_WORK", RAM_EXT);
REGION_ALIAS ("REGION_STACK", RAM_EXT);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
-INCLUDE linkcmds.base
+INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.phycore_mpc5554 b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.phycore_mpc5554
index 4b6112e2b3..1e7337cf4e 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.phycore_mpc5554
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.phycore_mpc5554
@@ -2,27 +2,15 @@
* Debug RAM is the top 4MB of external RAM and is swapped with the
* FLASH for development.
*/
-MEMORY
-{
- ROM (RX) : ORIGIN = 0x00000000, LENGTH = 2M
- RAM (AIW) : ORIGIN = 0x40000000, LENGTH = 64K
- RAM_EXT (AIW) : ORIGIN = 0x21000000, LENGTH = 4M
- DEBUG_RAM (AIW): ORIGIN = 0x21400000, LENGTH = 4M
- NIRVANA : ORIGIN = 0x00000000, LENGTH = 0
+MEMORY {
+ ROM : ORIGIN = 0x00000000, LENGTH = 2M
+ RAM : ORIGIN = 0x40000000, LENGTH = 64K
+ RAM_EXT : ORIGIN = 0x21000000, LENGTH = 4M
+ DEBUG_RAM : ORIGIN = 0x21400000, LENGTH = 4M
+ NOCACHE : ORIGIN = 0x0, LENGTH = 0
+ NIRVANA : ORIGIN = 0x00000000, LENGTH = 0
}
-bsp_ram_start = ORIGIN (RAM);
-bsp_ram_end = ORIGIN (RAM) + LENGTH (RAM);
-bsp_ram_size = LENGTH (RAM);
-
-bsp_rom_start = ORIGIN (ROM);
-bsp_rom_end = ORIGIN (ROM) + LENGTH (ROM);
-bsp_rom_size = LENGTH (ROM);
-
-bsp_external_ram_start = ORIGIN (RAM_EXT);
-bsp_external_ram_end = ORIGIN (RAM_EXT) + LENGTH (RAM_EXT);
-bsp_external_ram_size = LENGTH (RAM_EXT);
-
bsp_debug_ram_start = ORIGIN (DEBUG_RAM);
bsp_debug_ram_end = ORIGIN (DEBUG_RAM) + LENGTH (DEBUG_RAM);
bsp_debug_ram_size = LENGTH (DEBUG_RAM);
@@ -42,5 +30,6 @@ REGION_ALIAS ("REGION_BSS", RAM_EXT);
REGION_ALIAS ("REGION_RWEXTRA", RAM_EXT);
REGION_ALIAS ("REGION_WORK", RAM_EXT);
REGION_ALIAS ("REGION_STACK", RAM_EXT);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
-INCLUDE linkcmds.base
+INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.xkt564levb b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.xkt564levb
index 503f52a887..72d3762da3 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.xkt564levb
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.xkt564levb
@@ -2,21 +2,15 @@ MEMORY {
ROM : ORIGIN = 0x0, LENGTH = 1M
RAM_0 : ORIGIN = 0x40000000, LENGTH = 64K
RAM_1 : ORIGIN = 0x50000000, LENGTH = 64K
+ RAM_EXT : ORIGIN = 0x0, LENGTH = 0
+ NOCACHE : ORIGIN = 0x0, LENGTH = 0
NIRVANA : ORIGIN = 0x0, LENGTH = 0
}
-bsp_ram_start = ORIGIN (RAM_0);
-bsp_ram_size = LENGTH (RAM_0);
-bsp_ram_end = bsp_ram_start + bsp_ram_size;
-
bsp_ram_1_start = ORIGIN (RAM_1);
bsp_ram_1_size = LENGTH (RAM_1);
bsp_ram_1_end = bsp_ram_1_start + bsp_ram_1_size;
-bsp_rom_start = ORIGIN (ROM);
-bsp_rom_size = LENGTH (ROM);
-bsp_rom_end = bsp_rom_start + bsp_rom_size;
-
REGION_ALIAS ("REGION_START", ROM);
REGION_ALIAS ("REGION_FAST_TEXT", RAM_0);
REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM);
@@ -32,5 +26,6 @@ REGION_ALIAS ("REGION_BSS", RAM_0);
REGION_ALIAS ("REGION_RWEXTRA", RAM_0);
REGION_ALIAS ("REGION_WORK", RAM_1);
REGION_ALIAS ("REGION_STACK", RAM_1);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
-INCLUDE linkcmds.base
+INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c
index dd79366455..4849167b41 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c
@@ -114,7 +114,11 @@ BSP_START_TEXT_SECTION const struct MMU_tag
/* External SRAM 512k */
MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_512K, 0, 1, 1, 0),
/* Internal SRAM 256k */
- MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_256K, 0, 1, 1, 0),
+ MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_128K, 0, 1, 1, 0),
+ MPC55XX_MMU_TAG_INITIALIZER(11, 0x40020000, MPC55XX_MMU_64K, 0, 1, 1, 0),
+ MPC55XX_MMU_TAG_INITIALIZER(12, 0x40030000, MPC55XX_MMU_32K, 0, 1, 1, 0),
+ MPC55XX_MMU_TAG_INITIALIZER(13, 0x40038000, MPC55XX_MMU_16K, 0, 1, 1, 0),
+ MPC55XX_MMU_TAG_INITIALIZER(14, 0x4003c000, MPC55XX_MMU_16K, 0, 1, 1, 1),
/* External Ethernet controller */
MPC55XX_MMU_TAG_INITIALIZER(15, 0x3fff8000, MPC55XX_MMU_64K, 0, 1, 1, 1)
#elif MPC55XX_CHIP_TYPE / 10 == 564