[rtems commit] bsp/mpc55xx: New ECU508 BSPs

Sebastian Huber sebh at rtems.org
Wed Jul 18 07:44:03 UTC 2012


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

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Jul 17 17:00:16 2012 +0200

bsp/mpc55xx: New ECU508 BSPs

---

 c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am    |    2 +
 c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac   |   15 ++-
 .../libbsp/powerpc/mpc55xxevb/include/bspopts.h.in |    3 +
 .../mpc55xxevb/make/custom/mpc5674f_ecu508_app.cfg |    3 +
 .../make/custom/mpc5674f_ecu508_boot.cfg           |    3 +
 c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am  |    8 ++
 .../startup/linkcmds.mpc5674f_ecu508_app           |   28 ++++++
 .../startup/linkcmds.mpc5674f_ecu508_boot          |   26 ++++++
 .../mpc55xxevb/startup/start-config-ebi-cs-cal.c   |   96 ++++++++++++++++++++
 .../powerpc/mpc55xxevb/startup/start-config-mmu.c  |   26 ++++++
 .../mpc55xxevb/startup/start-config-siu-pcr.c      |   17 ++++
 .../powerpc/mpc55xxevb/startup/start-early.c       |    2 +-
 12 files changed, 223 insertions(+), 6 deletions(-)

diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
index 1a9259e..a805452 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
@@ -30,6 +30,8 @@ dist_project_lib_DATA += startup/linkcmds.mpc5643l_dpu
 dist_project_lib_DATA += startup/linkcmds.mpc5674fevb
 dist_project_lib_DATA += startup/linkcmds.mpc5674fevb_spe
 dist_project_lib_DATA += startup/linkcmds.phycore_mpc5554
+dist_project_lib_DATA += startup/linkcmds.mpc5674f_ecu508_boot
+dist_project_lib_DATA += startup/linkcmds.mpc5674f_ecu508_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 6b1926e..d6c0b9f 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac
@@ -39,6 +39,7 @@ RTEMS_BSPOPTS_SET([BSP_INTERRUPT_HANDLER_TABLE_SIZE],[*],[63])
 RTEMS_BSPOPTS_HELP([BSP_INTERRUPT_HANDLER_TABLE_SIZE],
 [defines the maximum number of interrupt handlers])
 
+RTEMS_BSPOPTS_SET([MPC55XX_ESCI_CONSOLE_MINOR],[mpc5674f_ecu508*],[2])
 RTEMS_BSPOPTS_SET([MPC55XX_ESCI_CONSOLE_MINOR],[*],[0])
 RTEMS_BSPOPTS_HELP([MPC55XX_ESCI_CONSOLE_MINOR],
 [determines which eSCI device will be registered as /dev/console])
@@ -49,26 +50,26 @@ RTEMS_BSPOPTS_HELP([MPC55XX_ESCI_USE_INTERRUPTS],
 
 RTEMS_BSPOPTS_SET([MPC55XX_REFERENCE_CLOCK],[gwlcfm],[40000000])
 RTEMS_BSPOPTS_SET([MPC55XX_REFERENCE_CLOCK],[mpc5643l_evb*],[40000000])
-RTEMS_BSPOPTS_SET([MPC55XX_REFERENCE_CLOCK],[mpc5674fevb*],[40000000])
+RTEMS_BSPOPTS_SET([MPC55XX_REFERENCE_CLOCK],[mpc5674f*],[40000000])
 RTEMS_BSPOPTS_SET([MPC55XX_REFERENCE_CLOCK],[*],[8000000])
 RTEMS_BSPOPTS_HELP([MPC55XX_REFERENCE_CLOCK],
 [Must be defined to be the external reference clock (in Hz) 
  for clock generation])
 
 RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_CLK_OUT],[gwlcfm],[66000000])
-RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_CLK_OUT],[mpc5674fevb*],[264000000])
+RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_CLK_OUT],[mpc5674f*],[264000000])
 RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_CLK_OUT],[*]     ,[128000000])
 RTEMS_BSPOPTS_HELP([MPC55XX_FMPLL_CLK_OUT],
 [Must be defined to be the PLL output clock (in Hz) for clock generation])
 
 RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_PREDIV],[gwlcfm],[10])
-RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_PREDIV],[mpc5674fevb*],[5])
+RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_PREDIV],[mpc5674f*],[5])
 RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_PREDIV],[*]     ,[1])
 RTEMS_BSPOPTS_HELP([MPC55XX_FMPLL_PREDIV],
 [Must be defined to be the PLL predivider factor for clock generation])
 
 RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_MFD],[gwlcfm],[99])
-RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_MFD],[mpc5674fevb*],[66])
+RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_MFD],[mpc5674f*],[66])
 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])
@@ -106,7 +107,7 @@ RTEMS_BSPOPTS_HELP([SMSC9218I_EDMA_TX_CHANNEL],
 [transmit eDMA channel for SMSC9218I network interface])
 
 RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_EMIOS_CHANNEL],[mpc5643l*],[])
-RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_EMIOS_CHANNEL],[mpc5674fevb*],[31])
+RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_EMIOS_CHANNEL],[mpc5674f*],[31])
 RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_EMIOS_CHANNEL],[*],[23])
 RTEMS_BSPOPTS_HELP([MPC55XX_CLOCK_EMIOS_CHANNEL],
 [selects the eMIOS channel for the RTEMS system tick (the default is the last channel)])
@@ -141,6 +142,9 @@ RTEMS_BSPOPTS_HELP([MPC55XX_BOARD_MPC5566EVB],[if defined, use custom settings f
 RTEMS_BSPOPTS_SET([MPC55XX_BOARD_GWLCFM],[gwlcfm],[1])
 RTEMS_BSPOPTS_HELP([MPC55XX_BOARD_GWLCFM],[if defined, use custom settings for GWLCFM board])
 
+RTEMS_BSPOPTS_SET([MPC55XX_BOARD_MPC5674F_ECU508],[mpc5674f_ecu508_boot],[1])
+RTEMS_BSPOPTS_HELP([MPC55XX_BOARD_MPC5674F_ECU508],[if defined, use custom settings for ECU508 board])
+
 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])
 
@@ -149,6 +153,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],[*],[1])
 RTEMS_BSPOPTS_HELP([MPC55XX_NEEDS_LOW_LEVEL_INIT],[if defined, do low level initialization])
 
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/include/bspopts.h.in b/c/src/lib/libbsp/powerpc/mpc55xxevb/include/bspopts.h.in
index 25f9e3b..d1b84bb 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/include/bspopts.h.in
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/include/bspopts.h.in
@@ -33,6 +33,9 @@
 /* if defined, use custom settings for MPC5674FEVB board */
 #undef MPC55XX_BOARD_MPC5674FEVB
 
+/* if defined, use custom settings for ECU508 board */
+#undef MPC55XX_BOARD_MPC5674F_ECU508
+
 /* if defined, use custom settings for phyCORE MPC5554 board */
 #undef MPC55XX_BOARD_PHYCORE_MPC5554
 
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_ecu508_app.cfg b/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_ecu508_app.cfg
new file mode 100644
index 0000000..28cf413
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_ecu508_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_ecu508_boot.cfg b/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_ecu508_boot.cfg
new file mode 100644
index 0000000..28cf413
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_ecu508_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 8ec4b8e..884598e 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am
@@ -93,6 +93,14 @@ $(PROJECT_LIB)/linkcmds.phycore_mpc5554: startup/linkcmds.phycore_mpc5554 $(PROJ
 	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.phycore_mpc5554
 PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.phycore_mpc5554
 
+$(PROJECT_LIB)/linkcmds.mpc5674f_ecu508_boot: startup/linkcmds.mpc5674f_ecu508_boot $(PROJECT_LIB)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.mpc5674f_ecu508_boot
+PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.mpc5674f_ecu508_boot
+
+$(PROJECT_LIB)/linkcmds.mpc5674f_ecu508_app: startup/linkcmds.mpc5674f_ecu508_app $(PROJECT_LIB)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.mpc5674f_ecu508_app
+PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.mpc5674f_ecu508_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_ecu508_app b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_app
new file mode 100644
index 0000000..662eeef
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_app
@@ -0,0 +1,28 @@
+MEMORY {
+	/* Let space for the binary image library header */
+	ROM : ORIGIN = 0x00100000, LENGTH = 3M - 4k
+
+	RAM : ORIGIN = 0x40000000, LENGTH = 256K - 16k
+	RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
+	NOCACHE : ORIGIN = 0x4003c000, LENGTH = 16k
+}
+
+REGION_ALIAS ("REGION_START", ROM);
+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_EXT);
+REGION_ALIAS ("REGION_WORK", RAM_EXT);
+REGION_ALIAS ("REGION_STACK", RAM);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
+REGION_ALIAS ("REGION_NOCACHE_LOAD", ROM);
+
+INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_boot b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_boot
new file mode 100644
index 0000000..7fbcb2f
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_boot
@@ -0,0 +1,26 @@
+MEMORY {
+	ROM : ORIGIN = 0x0, LENGTH = 1M
+	RAM : ORIGIN = 0x40000000, LENGTH = 256K - 16k
+	RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
+	NOCACHE : ORIGIN = 0x4003c000, LENGTH = 16k
+}
+
+REGION_ALIAS ("REGION_START", ROM);
+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_EXT);
+REGION_ALIAS ("REGION_WORK", RAM_EXT);
+REGION_ALIAS ("REGION_STACK", RAM);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
+REGION_ALIAS ("REGION_NOCACHE_LOAD", ROM);
+
+INCLUDE linkcmds.mpc55xx
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 479d2fd..6f34745 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
@@ -75,6 +75,102 @@ BSP_START_TEXT_SECTION const struct EBI_CAL_CS_tag
       }
     }
   }
+#elif defined(MPC55XX_BOARD_MPC5674F_ECU508)
+  /* D_CS0 for external SRAM */
+  {
+    .BR = {
+      .B = {
+        .BA = 0x20000000 >> 15,
+        .PS = 0,
+        .AD_MUX = 1,
+        .BL = 1,
+        .WEBS = 0,
+        .TBDIP = 1,
+        .SETA = 0,
+        .BI = 0,
+        .V = 1
+      }
+    },
+    .OR = {
+      .B = {
+        .AM = 0xffe00000 >> 15,
+        .SCY = 0,
+        .BSCY = 0
+      }
+    }
+  },
+
+  /* D_CS1 for Ethernet Controller */
+  {
+    .BR = {
+      .B = {
+        .BA = 0x3fff8000 >> 15,
+        .PS = 0,
+        .AD_MUX = 1,
+        .BL = 0,
+        .WEBS = 0,
+        .TBDIP = 0,
+        .SETA = 0,
+        .BI = 1,
+        .V = 1
+      }
+    },
+    .OR = {
+      .B = {
+        .AM = 0xffff8000 >> 15,
+        .SCY = 0,
+        .BSCY = 0
+      }
+    }
+  },
+
+  /* D_CS2 unused */
+  {
+    .BR = {
+      .B = {
+        .BA = 0x20000000 >> 15,
+        .PS = 0,
+        .AD_MUX = 1,
+        .BL = 0,
+        .WEBS = 0,
+        .TBDIP = 0,
+        .SETA = 0,
+        .BI = 1,
+        .V = 0
+      }
+    },
+    .OR = {
+      .B = {
+        .AM = 0xfff80000 >> 15,
+        .SCY = 0,
+        .BSCY = 0
+      }
+    }
+  },
+
+  /* D_CS3 for MRAM, ARCNET */
+  {
+    .BR = {
+      .B = {
+        .BA = 0x3ff80000 >> 15,
+        .PS = 1,
+        .AD_MUX = 1,
+        .BL = 0,
+        .WEBS = 1,
+        .TBDIP = 0,
+        .SETA = 0,
+        .BI = 1,
+        .V = 1
+    }
+  },
+    .OR = {
+      .B = {
+        .AM = 0xfff80000 >> 15,
+        .SCY = 1,
+        .BSCY = 0
+      }
+    }
+  }
 #endif
 };
 
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 4849167..cc73577 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
@@ -121,6 +121,32 @@ BSP_START_TEXT_SECTION const struct MMU_tag
   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 defined(MPC55XX_BOARD_MPC5674F_ECU508)
+  /* Arguments macro:       idx,  addr,                     size,             x, w, r, io */
+  /* Internal flash 4M */
+  MPC55XX_MMU_TAG_INITIALIZER(1,  0x00000000,               MPC55XX_MMU_64K,  1, 0, 1, 0),  /* first 64k unused, to detect null-pointer access */
+  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),
+  /* External SRAM 2M */
+  MPC55XX_MMU_TAG_INITIALIZER(2,  0x20000000,               MPC55XX_MMU_2M,   0, 1, 1, 0),
+  /* Internal SRAM 256k */
+  MPC55XX_MMU_TAG_INITIALIZER(3,  0x40000000 +   0 * 1024,  MPC55XX_MMU_256K, 0, 1, 1, 0),
+  MPC55XX_MMU_TAG_INITIALIZER(11, 0x40000000 + 128 * 1024,  MPC55XX_MMU_64K,  0, 1, 1, 0),
+  MPC55XX_MMU_TAG_INITIALIZER(12, 0x40000000 + 192 * 1024,  MPC55XX_MMU_32K,  0, 1, 1, 0),
+  MPC55XX_MMU_TAG_INITIALIZER(13, 0x40000000 + 224 * 1024,  MPC55XX_MMU_16K,  0, 1, 1, 0),
+  MPC55XX_MMU_TAG_INITIALIZER(14, 0x40000000 + 240 * 1024,  MPC55XX_MMU_16K,  0, 1, 1, 1),  // used as cache-inhibited area (ADC, DSPI queues)
+  /* External Ethernet controller */
+  MPC55XX_MMU_TAG_INITIALIZER(15, 0x3fff8000,               MPC55XX_MMU_1K,   0, 1, 1, 1),
+  /* External MRAM 128k */
+  MPC55XX_MMU_TAG_INITIALIZER(16, 0x3ffa0000,               MPC55XX_MMU_128K, 0, 1, 1, 0),
+  /* External ARCNET controller */
+  MPC55XX_MMU_TAG_INITIALIZER(17, 0x3ffc0000,               MPC55XX_MMU_1K,   0, 1, 1, 1)
+  /* Peripheral Bridge A-Registers on MMU-table pos 4 */
+  /* Peripheral Bridge B-Registers on MMU-table pos 0 */
 #elif MPC55XX_CHIP_TYPE / 10 == 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 73f6dbc..fe4033c 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
@@ -112,6 +112,23 @@ BSP_START_TEXT_SECTION const mpc55xx_siu_pcr_config
   { 294,  6, 0, { .B = { .PA = 1, .DSC = 1 } } }, /* D_RD_WR, D_WE0, D_WE1, D_OE, D_TS, D_ALE */
   { 301,  1, 0, { .B = { .PA = 1, .DSC = 1 } } }, /* D_CS1 */
   { 302,  6, 0, { .B = { .PA = 1, .DSC = 1 } } } /* D_BDIP, D_WE2, D_WE3, D_ADD9 .. D_ADD11 */
+#elif defined(MPC55XX_BOARD_MPC5674F_ECU508)
+  { 196,  2, 0, { .B = { .PA = 0, .OBE = 1, .WPE = 0 } } }, /* EMIOS17 .. EMIOS18 (5VS_EN, 80V_EN) */
+  { 200,  4, 0, { .B = { .PA = 0, .OBE = 1, .WPE = 0 } } }, /* EMIOS21 .. EMIOS24 (\KS_RST, \LS_RST, \IGNINJ_RST, \INJDI_RST) */
+  { 204,  1, 1, { .B = { .PA = 0, .OBE = 1, .WPE = 0 } } }, /* EMIOS25 (HBR12_RST) */
+  { 244,  2, 0, { .B = { .PA = 1 } } }, /* ESCI_C */
+  { 256,  1, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_CS0 */
+  { 257,  1, 0, { .B = { .PA = 2, .DSC = 1 } } }, /* D_ADD_DAT31 */
+  { 258,  1, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_CS3 */
+  { 259,  4, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_ADD12 .. D_ADD15 */
+  { 263, 15, 0, { .B = { .PA = 2, .DSC = 1 } } }, /* D_ADD_DAT16 .. D_ADD_DAT30 */
+  { 278, 16, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_ADD_DAT0 .. D_ADD_DAT15 */
+  { 294,  6, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_RD_WR, D_WE0, D_WE1, D_OE, D_TS, D_ALE */
+  { 301,  1, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_CS1 */
+  { 302,  3, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_BDIP, D_WE2, D_WE3 */
+  { 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) */
 #endif
 };
 
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c
index 6f168a7..1ace8ee 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c
@@ -174,7 +174,7 @@ static BSP_START_TEXT_SECTION void mpc55xx_start_ebi(void)
       EBI.MCR.B.D16_31 = 1; /* use lower AD bus    */
 
       SIU.ECCR.B.EBDF = 3;  /* use CLK/4 as bus clock */
-    #elif defined(MPC55XX_BOARD_MPC5674FEVB)
+    #elif defined(MPC55XX_BOARD_MPC5674FEVB) || defined(MPC55XX_BOARD_MPC5674F_ECU508)
       struct EBI_tag ebi = {
 	.MCR = {
 	  .B = {




More information about the vc mailing list