From 2858aeb9b38caf5bcbd2b80fdf5979e23ec5e128 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 23 Nov 2012 17:25:54 +0100 Subject: 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(-) create mode 100644 c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_koma_app.cfg create mode 100644 c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_koma_boot.cfg create mode 100644 c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_moma_app.cfg create mode 100644 c/src/lib/libbsp/powerpc/mpc55xxevb/make/custom/mpc5674f_rsm6_moma_boot.cfg create mode 100644 c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6 create mode 100644 c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_koma_app create mode 100644 c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_koma_boot create mode 100644 c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_moma_app create mode 100644 c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_moma_boot (limited to 'c/src/lib/libbsp/powerpc/mpc55xxevb') diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am index a03a99bcb6..01977fc67f 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 00b80a4650..e691b364d8 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 0000000000..28cf413a1e --- /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 0000000000..28cf413a1e --- /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 0000000000..28cf413a1e --- /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 0000000000..28cf413a1e --- /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 bfaaa121c7..f45e5f9555 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 0000000000..8f6a403ca8 --- /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 0000000000..51e1404256 --- /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 0000000000..7b97282fa1 --- /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 0000000000..51e1404256 --- /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 0000000000..7b97282fa1 --- /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 366e590d35..9e0f98a301 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 00ac019147..e9ed8c5c0d 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 d2b218230b..aa0f6a7f74 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 dd8131dc08..5eb5330d88 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 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 beb027a454..f1b321221e 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 320c02f11a..3980450894 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 }; -- cgit v1.2.3