diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2011-08-31 16:03:10 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2011-08-31 16:03:10 +0000 |
commit | 9e7758b2774cd3410d3f2477181e8a62a89399ce (patch) | |
tree | ada101a509e3178e33cbaa17c469699b4e7d4b89 /c/src/lib/libbsp/powerpc/mpc55xxevb/clock/clock-config.c | |
parent | 2011-08-31 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-9e7758b2774cd3410d3f2477181e8a62a89399ce.tar.bz2 |
2011-08-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
* startup/bspgetworkarea.c, startup/linkcmds.base: Removed files.
* include/mpc55xx-config.h, make/custom/mpc5674fevb.cfg,
startup/early-init.c, startup/ebi-cal-cs-config.c,
startup/ebi-cs-config.c, startup/exc-vector-base.S,
startup/fmpll-syncr-vals.c, startup/linkcmds.mpc5674fevb,
startup/mmu-config.c, startup/siu-pcr-config.c: New files.
* Makefile.am, preinstall.am: Reflect changes above.
* startup/linkcmds.gwlcfm, startup/linkcmds.mpc5566evb,
startup/linkcmds.phycore_mpc5554: Use linker command base file.
* configure.ac: Support MPC5674F. Changed eSCI options.
* clock/clock-config.c: Support MPC5674F.
* i2c/i2c_init.c, network/smsc9218i.c, startup/sd-card-init.c: Update
due to API changes.
* include/bsp.h: Define BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN.
* network/if_smc.c: Use HAS_SMC91111.
* startup/start.S, startup/bspstart.c: Moved low-level initialization
into new files. Overall cleanup.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mpc55xxevb/clock/clock-config.c | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/clock/clock-config.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/clock/clock-config.c index b3dc3bddab..0d1561880f 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/clock/clock-config.c +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/clock/clock-config.c @@ -49,7 +49,7 @@ static void mpc55xx_clock_handler_install( rtems_isr_entry isr, rtems_status_code sc = RTEMS_SUCCESSFUL; sc = mpc55xx_interrupt_handler_install( - MPC55XX_IRQ_EMIOS_GET_REQUEST( MPC55XX_CLOCK_EMIOS_CHANNEL), + MPC55XX_IRQ_EMIOS( MPC55XX_CLOCK_EMIOS_CHANNEL), "clock", RTEMS_INTERRUPT_UNIQUE, MPC55XX_INTC_MIN_PRIORITY, @@ -96,26 +96,17 @@ static void mpc55xx_clock_initialize( void) csr.B.FLAG = 1; regs->CSR.R = csr.R; + /* Set internal counter start value */ + regs->CCNTR.R = 1; + /* Set timer period */ regs->CADR.R = (uint32_t) interval - 1; - /* Set unused registers */ - regs->CBDR.R = 0; - regs->CCNTR.R = 0; -#if MPC55XX_CHIP_TYPE != 5554 - /* This is reserved on the MPC5554. - */ - regs->ALTCADR.R = 0; -#endif - /* Set control register */ - /* The mode change, made by Thomas for GW_LCFM support, breaks interrupts - * on the MPC5554. - */ -#if MPC55XX_CHIP_TYPE == 5554 - ccr.B.MODE = MPC55XX_EMIOS_MODE_MC_UP_INT_CLK; -#else +#if MPC55XX_CHIP_TYPE / 10 == 551 ccr.B.MODE = MPC55XX_EMIOS_MODE_MCB_UP_INT_CLK; +#else + ccr.B.MODE = MPC55XX_EMIOS_MODE_MC_UP_INT_CLK; #endif ccr.B.UCPREN = 1; ccr.B.FEN = 1; @@ -135,7 +126,7 @@ static void mpc55xx_clock_cleanup( void) /* Remove interrupt handler */ sc = rtems_interrupt_handler_remove( - MPC55XX_IRQ_EMIOS_GET_REQUEST( MPC55XX_CLOCK_EMIOS_CHANNEL), + MPC55XX_IRQ_EMIOS( MPC55XX_CLOCK_EMIOS_CHANNEL), (rtems_interrupt_handler) Clock_isr, NULL ); |