summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-11-26 17:02:44 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-12-03 13:17:13 +0100
commite1e248f6af9bbc891285a070f78d90a3369fc396 (patch)
tree1a0fb4897852fab8f12abdafd4013bfec865ac43 /c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c
parentbsp/mpc55xx: Use RTEMS_ARRAY_SIZE() (diff)
downloadrtems-e1e248f6af9bbc891285a070f78d90a3369fc396.tar.bz2
bsp/mpc55xx: Add optional EBI configuration
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c49
1 files changed, 15 insertions, 34 deletions
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 c1b4a80f26..e756e4c706 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c
@@ -145,47 +145,28 @@ static BSP_START_TEXT_SECTION void mpc55xx_start_siu(void)
static BSP_START_TEXT_SECTION void mpc55xx_start_ebi_chip_select(void)
{
- #ifdef MPC55XX_NEEDS_LOW_LEVEL_INIT
- #ifdef MPC55XX_HAS_EBI
- size_t i = 0;
+ #ifdef MPC55XX_HAS_EBI
+ size_t i = 0;
- for (i = 0; i < mpc55xx_start_config_ebi_cs_count [0]; ++i) {
- EBI.CS [i] = mpc55xx_start_config_ebi_cs [i];
- }
+ for (i = 0; i < mpc55xx_start_config_ebi_cs_count [0]; ++i) {
+ EBI.CS [i] = mpc55xx_start_config_ebi_cs [i];
+ }
- for (i = 0; i < mpc55xx_start_config_ebi_cal_cs_count [0]; ++i) {
- EBI.CAL_CS [i] = mpc55xx_start_config_ebi_cal_cs [i];
- }
- #endif
+ for (i = 0; i < mpc55xx_start_config_ebi_cal_cs_count [0]; ++i) {
+ EBI.CAL_CS [i] = mpc55xx_start_config_ebi_cal_cs [i];
+ }
#endif
}
static BSP_START_TEXT_SECTION void mpc55xx_start_ebi(void)
{
- #ifdef MPC55XX_NEEDS_LOW_LEVEL_INIT
- #if defined(MPC55XX_BOARD_GWLCFM)
- /*
- * init EBI for Muxed AD bus
- */
- EBI.MCR.B.DBM = 1;
- EBI.MCR.B.AD_MUX = 1; /* use multiplexed bus */
- 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) \
- || defined(MPC55XX_BOARD_MPC5674F_ECU508)
- union EBI_MCR_tag mcr = {
- .B = {
- .ACGE = 0,
- .MDIS = 0,
- .D16_31 = 1,
- .AD_MUX = 0,
- .DBM = 0
- }
- };
-
- EBI.MCR.R = mcr.R;
- #endif
+ #ifdef MPC55XX_HAS_EBI
+ size_t i = 0;
+
+ for (i = 0; i < mpc55xx_start_config_ebi_count [0]; ++i) {
+ SIU.ECCR.B.EBDF = mpc55xx_start_config_ebi [i].siu_eccr_ebdf;
+ EBI.MCR.R = mpc55xx_start_config_ebi [i].ebi_mcr.R;
+ }
#endif
}