diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-11-26 17:02:44 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-12-03 13:17:13 +0100 |
commit | e1e248f6af9bbc891285a070f78d90a3369fc396 (patch) | |
tree | 1a0fb4897852fab8f12abdafd4013bfec865ac43 /c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c | |
parent | bsp/mpc55xx: Use RTEMS_ARRAY_SIZE() (diff) | |
download | rtems-e1e248f6af9bbc891285a070f78d90a3369fc396.tar.bz2 |
bsp/mpc55xx: Add optional EBI configuration
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c | 49 |
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 } |