Mercurial > flash_v2
changeset 653:646a29ef8e22
Move hal_if_init() to platform initialization
| author | gthomas |
|---|---|
| date | Fri, 21 Feb 2003 18:02:27 +0000 |
| parents | 41d813de1ffc |
| children | 89b77368d45c |
| files | packages/hal/arm/xscale/mpc50/current/ChangeLog packages/hal/arm/xscale/mpc50/current/src/mpc50_misc.c packages/hal/arm/xscale/pxa2x0/current/ChangeLog packages/hal/arm/xscale/pxa2x0/current/src/pxa2x0_misc.c |
| diffstat | 4 files changed, 35 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/hal/arm/xscale/mpc50/current/ChangeLog +++ b/packages/hal/arm/xscale/mpc50/current/ChangeLog @@ -1,3 +1,8 @@ +2003-02-20 Gary Thomas <gary@mind.be> + + * src/mpc50_misc.c (plf_hardware_init): Platform needs to call + hal_if_init(). + 2003-02-05 Nick Garnett <nickg@calivar.com> * cdl/hal_arm_xscale_mpc50.cdl: Changed compiler prefix to arm-elf
--- a/packages/hal/arm/xscale/mpc50/current/src/mpc50_misc.c +++ b/packages/hal/arm/xscale/mpc50/current/src/mpc50_misc.c @@ -133,6 +133,8 @@ void plf_hardware_init(void) gpioValue = gpioValue | (unsigned long)0x40 ; *PXA2X0_CKEN = gpioValue ; + hal_if_init(); // Set up eCos/ROM interfaces + mpc50_user_hardware_init(); return ;
--- a/packages/hal/arm/xscale/pxa2x0/current/ChangeLog +++ b/packages/hal/arm/xscale/pxa2x0/current/ChangeLog @@ -1,3 +1,9 @@ +2003-02-20 Gary Thomas <gary@mlbassoc.com> + + * src/pxa2x0_misc.c (hal_hardware_init): Move call to hal_if_init() + into platform code (so it can do I/O). Also, support common CDL + for CACHE startup enables. + 2003-01-24 Knud Woehler <knud.woehler@microplex.de> 2003-01-24 Mark Salter <msalter@redhat.com>
--- a/packages/hal/arm/xscale/pxa2x0/current/src/pxa2x0_misc.c +++ b/packages/hal/arm/xscale/pxa2x0/current/src/pxa2x0_misc.c @@ -70,33 +70,35 @@ externC void plf_hardware_init(void); void hal_hardware_init(void) { - hal_xscale_core_init(); + hal_xscale_core_init(); - *PXA2X0_ICMR = 0; // IRQ Mask - *PXA2X0_ICLR = 0; // Route interrupts to IRQ + *PXA2X0_ICMR = 0; // IRQ Mask + *PXA2X0_ICLR = 0; // Route interrupts to IRQ *PXA2X0_ICCR = 1; - *PXA2X0_GRER0 = 0; // Disable rising edge detect - *PXA2X0_GRER1 = 0; - *PXA2X0_GRER2 = 0; + *PXA2X0_GRER0 = 0; // Disable rising edge detect + *PXA2X0_GRER1 = 0; + *PXA2X0_GRER2 = 0; - *PXA2X0_GFER0 = 0; // Disable falling edge detect - *PXA2X0_GFER1 = 0; - *PXA2X0_GFER2 = 0; + *PXA2X0_GFER0 = 0; // Disable falling edge detect + *PXA2X0_GFER1 = 0; + *PXA2X0_GFER2 = 0; + + *PXA2X0_GEDR0 = 0xffffffff; // Clear edge detect status + *PXA2X0_GEDR1 = 0xffffffff; + *PXA2X0_GEDR2 = 0x0001ffff; - *PXA2X0_GEDR0 = 0xffffffff; // Clear edge detect status - *PXA2X0_GEDR1 = 0xffffffff; - *PXA2X0_GEDR2 = 0x0001ffff; + plf_hardware_init(); // Perform any platform specific initializations - plf_hardware_init(); // Perform any platform specific initializations + *PXA2X0_OSCR = 0; // Let the "OS" counter run + *PXA2X0_OSMR0 = 0; - *PXA2X0_OSCR = 0; // Let the "OS" counter run - *PXA2X0_OSMR0 = 0; - - hal_if_init(); // Set up eCos/ROM interfaces - - HAL_DCACHE_ENABLE(); // Enable caches - HAL_ICACHE_ENABLE(); +#ifdef CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP + HAL_DCACHE_ENABLE(); // Enable caches +#endif +#ifdef CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP + HAL_ICACHE_ENABLE(); +#endif } // Initialize the clock
