[rtems commit] bsp/mpc55xx: New BSP variants for RSM6

Sebastian Huber sebh at rtems.org
Mon Dec 3 12:14:54 UTC 2012


Module:    rtems
Branch:    master
Commit:    2858aeb9b38caf5bcbd2b80fdf5979e23ec5e128
Changeset: http://git.rtems.org/rtems/commit/?id=2858aeb9b38caf5bcbd2b80fdf5979e23ec5e128

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri Nov 23 17:25:54 2012 +0100

bsp/mpc55xx: New BSP variants for RSM6

---

 c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am    |    5 +
 c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac   |   16 ++++-
 .../make/custom/mpc5674f_rsm6_koma_app.cfg         |    3 +
 .../make/custom/mpc5674f_rsm6_koma_boot.cfg        |    3 +
 .../make/custom/mpc5674f_rsm6_moma_app.cfg         |    3 +
 .../make/custom/mpc5674f_rsm6_moma_boot.cfg        |    3 +
 c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am  |   20 +++++
 .../mpc55xxevb/startup/linkcmds.mpc5674f_rsm6      |   28 ++++++
 .../startup/linkcmds.mpc5674f_rsm6_koma_app        |    8 ++
 .../startup/linkcmds.mpc5674f_rsm6_koma_boot       |    6 ++
 .../startup/linkcmds.mpc5674f_rsm6_moma_app        |    8 ++
 .../startup/linkcmds.mpc5674f_rsm6_moma_boot       |    6 ++
 .../mpc55xxevb/startup/start-config-clock.c        |    2 +-
 .../mpc55xxevb/startup/start-config-ebi-cs-cal.c   |   87 ++++++++++++++++++++
 .../powerpc/mpc55xxevb/startup/start-config-ebi.c  |    3 +-
 .../mpc55xxevb/startup/start-config-mmu-early.c    |    5 +-
 .../powerpc/mpc55xxevb/startup/start-config-mmu.c  |   34 ++++++++-
 .../mpc55xxevb/startup/start-config-siu-pcr.c      |   16 ++++
 18 files changed, 250 insertions(+), 6 deletions(-)

diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
index a03a99b..01977fc 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
@@ -33,6 +33,11 @@ dist_project_lib_DATA += startup/linkcmds.phycore_mpc5554
 dist_project_lib_DATA += startup/linkcmds.mpc5674f_ecu508
 dist_project_lib_DATA += startup/linkcmds.mpc5674f_ecu508_boot
 dist_project_lib_DATA += startup/linkcmds.mpc5674f_ecu508_app
+dist_project_lib_DATA += startup/linkcmds.mpc5674f_rsm6
+dist_project_lib_DATA += startup/linkcmds.mpc5674f_rsm6_koma_boot
+dist_project_lib_DATA += startup/linkcmds.mpc5674f_rsm6_koma_app
+dist_project_lib_DATA += startup/linkcmds.mpc5674f_rsm6_moma_boot
+dist_project_lib_DATA += startup/linkcmds.mpc5674f_rsm6_moma_app
 
 noinst_LIBRARIES += libbsp.a
 libbsp_a_SOURCES =
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac b/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac
index 00b80a4..e691b36 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac
@@ -86,6 +86,11 @@ RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_MFD],[*]     ,[12])
 RTEMS_BSPOPTS_HELP([MPC55XX_FMPLL_MFD],
 [Must be defined to be the PLL multiplication factor for clock generation])
 
+RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_ESYNCR1_CLKCFG],[mpc5674f_rsm6*],[6])
+RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_ESYNCR1_CLKCFG],[*],[7])
+RTEMS_BSPOPTS_HELP([MPC55XX_FMPLL_ESYNCR1_CLKCFG],
+[the FMPLL ESYNCR1[CLKCFG] value])
+
 RTEMS_BSPOPTS_SET([MPC55XX_SYSTEM_CLOCK_DIVIDER],[mpc5674f*],[2])
 RTEMS_BSPOPTS_SET([MPC55XX_SYSTEM_CLOCK_DIVIDER],[*],[1])
 RTEMS_BSPOPTS_HELP([MPC55XX_SYSTEM_CLOCK_DIVIDER],
@@ -179,6 +184,15 @@ RTEMS_BSPOPTS_HELP([MPC55XX_BOARD_GWLCFM],[if defined, use custom settings for G
 RTEMS_BSPOPTS_SET([MPC55XX_BOARD_MPC5674F_ECU508],[mpc5674f_ecu508*],[1])
 RTEMS_BSPOPTS_HELP([MPC55XX_BOARD_MPC5674F_ECU508],[if defined, use custom settings for ECU508 board])
 
+RTEMS_BSPOPTS_SET([MPC55XX_BOARD_MPC5674F_RSM6],[mpc5674f_rsm6*],[1])
+RTEMS_BSPOPTS_HELP([MPC55XX_BOARD_MPC5674F_RSM6],[if defined, use custom settings for RSM6 board])
+
+RTEMS_BSPOPTS_SET([MPC55XX_BOARD_MPC5674F_RSM6_KOMA],[mpc5674f_rsm6_koma*],[1])
+RTEMS_BSPOPTS_HELP([MPC55XX_BOARD_MPC5674F_RSM6_KOMA],[if defined, use custom settings for RSM6 board KoMa controller])
+
+RTEMS_BSPOPTS_SET([MPC55XX_BOARD_MPC5674F_RSM6_MOMA],[mpc5674f_rsm6_moma*],[1])
+RTEMS_BSPOPTS_HELP([MPC55XX_BOARD_MPC5674F_RSM6_MOMA],[if defined, use custom settings for RSM6 board MoMa controller])
+
 RTEMS_BSPOPTS_SET([MPC55XX_BOARD_PHYCORE_MPC5554],[phycore_mpc5554],[1])
 RTEMS_BSPOPTS_HELP([MPC55XX_BOARD_PHYCORE_MPC5554],[if defined, use custom settings for phyCORE MPC5554 board])
 
@@ -187,7 +201,7 @@ RTEMS_BSPOPTS_HELP([RTEMS_BSP_I2C_EEPROM_DEVICE_NAME],[EEPROM name for LibI2C])
 RTEMS_BSPOPTS_SET([RTEMS_BSP_I2C_EEPROM_DEVICE_PATH],[gwlcfm],['"/dev/i2c1.eeprom"'])
 RTEMS_BSPOPTS_HELP([RTEMS_BSP_I2C_EEPROM_DEVICE_PATH],[EEPROM device file path])
 
-RTEMS_BSPOPTS_SET([MPC55XX_NEEDS_LOW_LEVEL_INIT],[mpc5674f_ecu508_app],[])
+RTEMS_BSPOPTS_SET([MPC55XX_NEEDS_LOW_LEVEL_INIT],[mpc5674f_*app],[])
 RTEMS_BSPOPTS_SET([MPC55XX_NEEDS_LOW_LEVEL_INIT],[*],[1])
 RTEMS_BSPOPTS_HELP([MPC55XX_NEEDS_LOW_LEVEL_INIT],[if defined, do low level initialization])
 
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_koma_app.cfg b/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_koma_app.cfg
new file mode 100644
index 0000000..28cf413
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_koma_app.cfg
@@ -0,0 +1,3 @@
+CPU_CFLAGS_FLOAT ?= -mspe
+
+include $(RTEMS_ROOT)/make/custom/mpc55xx.inc
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_koma_boot.cfg b/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_koma_boot.cfg
new file mode 100644
index 0000000..28cf413
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_koma_boot.cfg
@@ -0,0 +1,3 @@
+CPU_CFLAGS_FLOAT ?= -mspe
+
+include $(RTEMS_ROOT)/make/custom/mpc55xx.inc
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_moma_app.cfg b/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_moma_app.cfg
new file mode 100644
index 0000000..28cf413
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_moma_app.cfg
@@ -0,0 +1,3 @@
+CPU_CFLAGS_FLOAT ?= -mspe
+
+include $(RTEMS_ROOT)/make/custom/mpc55xx.inc
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_moma_boot.cfg b/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_moma_boot.cfg
new file mode 100644
index 0000000..28cf413
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_moma_boot.cfg
@@ -0,0 +1,3 @@
+CPU_CFLAGS_FLOAT ?= -mspe
+
+include $(RTEMS_ROOT)/make/custom/mpc55xx.inc
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am b/c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am
index bfaaa12..f45e5f9 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am
@@ -105,6 +105,26 @@ $(PROJECT_LIB)/linkcmds.mpc5674f_ecu508_app: startup/linkcmds.mpc5674f_ecu508_ap
 	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.mpc5674f_ecu508_app
 PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.mpc5674f_ecu508_app
 
+$(PROJECT_LIB)/linkcmds.mpc5674f_rsm6: startup/linkcmds.mpc5674f_rsm6 $(PROJECT_LIB)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.mpc5674f_rsm6
+PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.mpc5674f_rsm6
+
+$(PROJECT_LIB)/linkcmds.mpc5674f_rsm6_koma_boot: startup/linkcmds.mpc5674f_rsm6_koma_boot $(PROJECT_LIB)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.mpc5674f_rsm6_koma_boot
+PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.mpc5674f_rsm6_koma_boot
+
+$(PROJECT_LIB)/linkcmds.mpc5674f_rsm6_koma_app: startup/linkcmds.mpc5674f_rsm6_koma_app $(PROJECT_LIB)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.mpc5674f_rsm6_koma_app
+PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.mpc5674f_rsm6_koma_app
+
+$(PROJECT_LIB)/linkcmds.mpc5674f_rsm6_moma_boot: startup/linkcmds.mpc5674f_rsm6_moma_boot $(PROJECT_LIB)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.mpc5674f_rsm6_moma_boot
+PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.mpc5674f_rsm6_moma_boot
+
+$(PROJECT_LIB)/linkcmds.mpc5674f_rsm6_moma_app: startup/linkcmds.mpc5674f_rsm6_moma_app $(PROJECT_LIB)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.mpc5674f_rsm6_moma_app
+PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.mpc5674f_rsm6_moma_app
+
 $(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6 b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6
new file mode 100644
index 0000000..8f6a403
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6
@@ -0,0 +1,28 @@
+MEMORY {
+	RAM : ORIGIN = 0x40000000, LENGTH = 240k
+	NOCACHE : ORIGIN = 0x4003c000, LENGTH = 16k
+	MRAM : ORIGIN = 0x20000000, LENGTH = 4M
+}
+
+REGION_ALIAS ("RAM_EXT", RAM);
+
+REGION_ALIAS ("REGION_START", STARTROM);
+REGION_ALIAS ("REGION_FAST_TEXT", RAM);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM);
+REGION_ALIAS ("REGION_TEXT", ROM);
+REGION_ALIAS ("REGION_TEXT_LOAD", ROM);
+REGION_ALIAS ("REGION_RODATA", ROM);
+REGION_ALIAS ("REGION_RODATA_LOAD", ROM);
+REGION_ALIAS ("REGION_FAST_DATA", RAM);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", ROM);
+REGION_ALIAS ("REGION_DATA", RAM);
+REGION_ALIAS ("REGION_DATA_LOAD", ROM);
+REGION_ALIAS ("REGION_BSS", RAM);
+REGION_ALIAS ("REGION_RWEXTRA", RAM);
+REGION_ALIAS ("REGION_WORK", RAM);
+REGION_ALIAS ("REGION_STACK", RAM);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
+REGION_ALIAS ("REGION_NOCACHE_LOAD", ROM);
+REGION_ALIAS ("REGION_NVRAM", MRAM);
+
+INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_koma_app b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_koma_app
new file mode 100644
index 0000000..51e1404
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_koma_app
@@ -0,0 +1,8 @@
+MEMORY {
+	/* Let space for the binary image library header */
+	ROM : ORIGIN = 0x00100000, LENGTH = 3068k
+}
+
+REGION_ALIAS ("STARTROM", ROM);
+
+INCLUDE linkcmds.mpc5674f_rsm6
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_koma_boot b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_koma_boot
new file mode 100644
index 0000000..7b97282
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_koma_boot
@@ -0,0 +1,6 @@
+MEMORY {
+	STARTROM : ORIGIN = 0x0, LENGTH = 32k
+	ROM : ORIGIN = 0x40000, LENGTH = 768k
+}
+
+INCLUDE linkcmds.mpc5674f_rsm6
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_moma_app b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_moma_app
new file mode 100644
index 0000000..51e1404
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_moma_app
@@ -0,0 +1,8 @@
+MEMORY {
+	/* Let space for the binary image library header */
+	ROM : ORIGIN = 0x00100000, LENGTH = 3068k
+}
+
+REGION_ALIAS ("STARTROM", ROM);
+
+INCLUDE linkcmds.mpc5674f_rsm6
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_moma_boot b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_moma_boot
new file mode 100644
index 0000000..7b97282
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_moma_boot
@@ -0,0 +1,6 @@
+MEMORY {
+	STARTROM : ORIGIN = 0x0, LENGTH = 32k
+	ROM : ORIGIN = 0x40000, LENGTH = 768k
+}
+
+INCLUDE linkcmds.mpc5674f_rsm6
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-clock.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-clock.c
index 366e590..9e0f98a 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-clock.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-clock.c
@@ -79,7 +79,7 @@ const mpc55xx_clock_config mpc55xx_start_config_clock [1] = { {
     },
     .esyncr1_final = {
       .B = {
-        .CLKCFG = 7,
+        .CLKCFG = MPC55XX_FMPLL_ESYNCR1_CLKCFG,
         .EPREDIV = EPREDIV_VAL,
         .EMFD = EMFD_VAL
       }
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi-cs-cal.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi-cs-cal.c
index 00ac019..e9ed8c5 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi-cs-cal.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi-cs-cal.c
@@ -169,6 +169,93 @@ const struct EBI_CAL_CS_tag mpc55xx_start_config_ebi_cal_cs [] = {
       }
     }
   }
+#elif defined(MPC55XX_BOARD_MPC5674F_RSM6) \
+  && defined(MPC55XX_NEEDS_LOW_LEVEL_INIT)
+  /* D_CS0 for MRAM */
+  {
+    .BR = {
+      .B = {
+        .BA = 0x20000000 >> 15,
+        .PS = 0,
+        .AD_MUX = 1,
+        .BL = 0,
+        .WEBS = 1,
+        .TBDIP = 0,
+        .SETA = 0,
+        .BI = 1,
+        .V = 1
+      }
+    },
+    .OR = {
+      .B = {
+        .AM = 0xffc00000 >> 15,
+        .SCY = 4,
+        .BSCY = 0
+      }
+    }
+  },
+
+  /* D_CS1 for FPGA */
+  {
+    .BR = {
+      .B = {
+        .BA = 0x21000000 >> 15,
+        .PS = 0,
+        .AD_MUX = 1,
+        .BL = 0,
+        .WEBS = 0,
+        .TBDIP = 0,
+        .SETA = 0,
+        .BI = 1,
+        .V = 1
+      }
+    },
+    .OR = {
+      .B = {
+        .AM = 0xff800000 >> 15,
+        .SCY = 0,
+        .BSCY = 0
+      }
+    }
+  },
+
+  /* D_CS2 unused */
+  {
+    .BR = { .R = 0x20000002 },
+    .OR = { .R = 0xe0000000 }
+  },
+
+  #if defined(MPC55XX_BOARD_MPC5674F_RSM6_KOMA)
+    /* D_CS3 for Ethernet Controller */
+    {
+      .BR = {
+        .B = {
+          .BA = 0x23000000 >> 15,
+          .PS = 1,
+          .AD_MUX = 1,
+          .BL = 0,
+          .WEBS = 1,
+          .TBDIP = 0,
+          .SETA = 0,
+          .BI = 1,
+          .V = 1
+      }
+    },
+      .OR = {
+        .B = {
+          .AM = 0xfff80000 >> 15,
+          .SCY = 8,
+          .BSCY = 0
+        }
+      }
+    }
+  #else
+    /* D_CS3 unused */
+    {
+      .BR = { .R = 0x20000002 },
+      .OR = { .R = 0xe0000000 }
+    }
+  #endif
 #endif
 };
 
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi.c
index d2b2182..aa0f6a7 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi.c
@@ -37,7 +37,8 @@ const mpc55xx_ebi_config mpc55xx_start_config_ebi [] = {
       .siu_eccr_ebdf = 4 - 1 /* use CLK/4 as bus clock */
     }
   #elif (defined(MPC55XX_BOARD_MPC5674FEVB) \
-    || defined(MPC55XX_BOARD_MPC5674F_ECU508)) \
+    || defined(MPC55XX_BOARD_MPC5674F_ECU508) \
+    || defined(MPC55XX_BOARD_MPC5674F_RSM6)) \
       && defined(MPC55XX_NEEDS_LOW_LEVEL_INIT)
     {
       .ebi_mcr = {
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu-early.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu-early.c
index dd8131d..5eb5330 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu-early.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu-early.c
@@ -23,8 +23,9 @@
 #include <bsp/mpc55xx-config.h>
 
 const struct MMU_tag mpc55xx_start_config_mmu_early [] = {
-#if defined(MPC55XX_BOARD_MPC5674F_ECU508) \
-  && !defined(MPC55XX_NEEDS_LOW_LEVEL_INIT)
+#if (defined(MPC55XX_BOARD_MPC5674F_ECU508) \
+  || defined(MPC55XX_BOARD_MPC5674F_RSM6)) \
+    && !defined(MPC55XX_NEEDS_LOW_LEVEL_INIT)
   /* Used as cache-inhibited area later (ADC, DSPI queues) */
   MPC55XX_MMU_TAG_INITIALIZER(14, 0x4003c000, MPC55XX_MMU_16K, 0, 1, 1, 0)
 #elif MPC55XX_CHIP_FAMILY == 555
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 beb027a..f1b3212 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
@@ -76,7 +76,7 @@ const struct MMU_tag mpc55xx_start_config_mmu [] = {
     /* Arguments macro:       idx,  addr,       size,             x, w, r, io */
 
     /* Internal flash 4M */
-    /* First 64k unused, to detect null-pointer access */
+    /* First 64k unused, to detect NULL pointer access */
     MPC55XX_MMU_TAG_INITIALIZER(1,  0x00000000, MPC55XX_MMU_64K,  1, 0, 1, 0),
     MPC55XX_MMU_TAG_INITIALIZER(5,  0x00010000, MPC55XX_MMU_64K,  1, 0, 1, 0),
     MPC55XX_MMU_TAG_INITIALIZER(6,  0x00020000, MPC55XX_MMU_128K, 1, 0, 1, 0),
@@ -105,6 +105,38 @@ const struct MMU_tag mpc55xx_start_config_mmu [] = {
     /* Used as cache-inhibited area (ADC, DSPI queues) */
     MPC55XX_MMU_TAG_INITIALIZER(14, 0x4003c000, MPC55XX_MMU_16K,  0, 1, 1, 1),
   #endif
+#elif defined(MPC55XX_BOARD_MPC5674F_RSM6)
+  #if defined(MPC55XX_NEEDS_LOW_LEVEL_INIT)
+    /* Arguments macro:       idx,  addr,       size,             x, w, r, io */
+
+    /* Internal flash 4M */
+    /* First 64k unused, to detect NULL pointer access */
+    MPC55XX_MMU_TAG_INITIALIZER(1,  0x00000000, MPC55XX_MMU_64K,  1, 0, 1, 0),
+    MPC55XX_MMU_TAG_INITIALIZER(5,  0x00010000, MPC55XX_MMU_64K,  1, 0, 1, 0),
+    MPC55XX_MMU_TAG_INITIALIZER(6,  0x00020000, MPC55XX_MMU_128K, 1, 0, 1, 0),
+    MPC55XX_MMU_TAG_INITIALIZER(7,  0x00040000, MPC55XX_MMU_256K, 1, 0, 1, 0),
+    MPC55XX_MMU_TAG_INITIALIZER(8,  0x00080000, MPC55XX_MMU_512K, 1, 0, 1, 0),
+    MPC55XX_MMU_TAG_INITIALIZER(9,  0x00100000, MPC55XX_MMU_1M,   1, 0, 1, 0),
+    MPC55XX_MMU_TAG_INITIALIZER(10, 0x00200000, MPC55XX_MMU_2M,   1, 0, 1, 0),
+    /* Internal SRAM 256k */
+    MPC55XX_MMU_TAG_INITIALIZER(3,  0x40000000, MPC55XX_MMU_256K, 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),
+    /* Used as cache-inhibited area (ADC, DSPI queues) */
+    MPC55XX_MMU_TAG_INITIALIZER(14, 0x4003c000, MPC55XX_MMU_16K,  0, 1, 1, 1),
+    /* External MRAM 4M */
+    MPC55XX_MMU_TAG_INITIALIZER(15, 0x20000000, MPC55XX_MMU_4M,   0, 1, 1, 0),
+    /* External FPGA */
+    MPC55XX_MMU_TAG_INITIALIZER(16, 0x21000000, MPC55XX_MMU_8M,   0, 1, 1, 1),
+    #if defined(MPC55XX_BOARD_MPC5674F_RSM6_KOMA)
+      /* External Ethernet controller */
+      MPC55XX_MMU_TAG_INITIALIZER(18, 0x23000000, MPC55XX_MMU_1K,   0, 1, 1, 1),
+    #endif
+  #else
+    /* Used as cache-inhibited area (ADC, DSPI queues) */
+    MPC55XX_MMU_TAG_INITIALIZER(14, 0x4003c000, MPC55XX_MMU_16K,  0, 1, 1, 1),
+  #endif
 #elif MPC55XX_CHIP_FAMILY == 564
   /* Internal flash 1M */
   MPC55XX_MMU_TAG_INITIALIZER(0, 0x00000000, MPC55XX_MMU_1M, 1, 0, 1, 0),
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-siu-pcr.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-siu-pcr.c
index 320c02f..3980450 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-siu-pcr.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-siu-pcr.c
@@ -127,6 +127,22 @@ const mpc55xx_siu_pcr_config mpc55xx_start_config_siu_pcr [] = {
   { 305,  3, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_ADD9 .. D_ADD11 */
   { 432,  1, 1, { .B = { .PA = 0, .OBE = 1, .WPE = 0 } } }, /* EMIOS26 (HBR34_RST) */
   { 433,  1, 0, { .B = { .PA = 0, .OBE = 1, .WPE = 0 } } } /* EMIOS27 (\ETH_RST) */
+#elif defined(MPC55XX_BOARD_MPC5674F_RSM6) \
+  && defined(MPC55XX_NEEDS_LOW_LEVEL_INIT)
+  {  89,  1, 0, { .B = { .PA = 1, .OBE = 1, .IBE = 1, .WPE = 1, .WPS = 1 } } }, /* TXD_A (ESCI_A)*/
+  {  90,  1, 0, { .B = { .PA = 1, .OBE = 0, .IBE = 1, .WPE = 1, .WPS = 1 } } }, /* RXD_A (ESCI_A)*/
+  { 256,  1, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_CS0 */
+  { 257,  1, 0, { .B = { .PA = 2, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_ADD_DAT31 */
+  #if defined(MPC55XX_BOARD_MPC5674F_RSM6_KOMA)
+    { 258,  1, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_CS3 */
+  #endif
+  { 259,  4, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_ADD12 .. D_ADD15 */
+  { 263, 15, 0, { .B = { .PA = 2, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_ADD_DAT16 .. D_ADD_DAT30 */
+  { 278, 16, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_ADD_DAT0 .. D_ADD_DAT15 */
+  { 294,  6, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_RD_WR, D_WE0, D_WE1, D_OE, D_TS, D_ALE */
+  { 301,  1, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_CS1 */
+  { 302,  3, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_BDIP, D_WE2, D_WE3 */
+  { 305,  3, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }  /* D_ADD9 .. D_ADD11 */
 #endif
 };
 




More information about the vc mailing list