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