changeset 1849:96dbe76109eb

Make PLL multiplier configurable for the LPC platforms
author jani
date Fri, 19 Nov 2004 13:32:34 +0000
parents 09b23f8491d4
children ab3832848094
files packages/hal/arm/lpc2xxx/mcb2100/current/ChangeLog packages/hal/arm/lpc2xxx/mcb2100/current/cdl/hal_arm_lpc2xxx_mcb2100.cdl packages/hal/arm/lpc2xxx/mcb2100/current/include/hal_platform_setup.h packages/hal/arm/lpc2xxx/p2106/current/ChangeLog packages/hal/arm/lpc2xxx/p2106/current/cdl/hal_arm_lpc2xxx_p2106.cdl packages/hal/arm/lpc2xxx/p2106/current/include/hal_platform_setup.h
diffstat 6 files changed, 46 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/packages/hal/arm/lpc2xxx/mcb2100/current/ChangeLog
+++ b/packages/hal/arm/lpc2xxx/mcb2100/current/ChangeLog
@@ -1,3 +1,9 @@
+2004-11-19  Jani Monoses <jani@iv.ro>
+
+	* cdl/hal_arm_lpc2xxx_mcb2100.cdl: 
+	* include/hal_platform_setup.h: 
+	Make PLL multiplier value configurable.
+	
 2004-11-19  Jani Monoses <jani@iv.ro>
 
 	* include/hal_platform_setup.h: 
--- a/packages/hal/arm/lpc2xxx/mcb2100/current/cdl/hal_arm_lpc2xxx_mcb2100.cdl
+++ b/packages/hal/arm/lpc2xxx/mcb2100/current/cdl/hal_arm_lpc2xxx_mcb2100.cdl
@@ -128,12 +128,23 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_MCB21
      }
     
     # Real-time clock/counter specifics
+    cdl_option CYGNUM_HAL_ARM_LPC2XXX_XTAL_FREQ {
+        display       "CPU clock speed"
+        flavor        data
+        default_value {12000000}
+    }
+
+    cdl_option CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL {
+        display       "CPU clock speed"
+        flavor        data
+        default_value {5}
+    }
+
     cdl_option CYGNUM_HAL_ARM_LPC2XXX_CLOCK_SPEED {
         display       "CPU clock speed"
         flavor        data
-        default_value {60000000}
+        calculated { CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL * CYGNUM_HAL_ARM_LPC2XXX_XTAL_FREQ }
     }
-
  
     cdl_component CYGBLD_GLOBAL_OPTIONS {
         display "Global build options"
--- a/packages/hal/arm/lpc2xxx/mcb2100/current/include/hal_platform_setup.h
+++ b/packages/hal/arm/lpc2xxx/mcb2100/current/include/hal_platform_setup.h
@@ -53,6 +53,7 @@
 //
 //===========================================================================*/
 
+#include <pkgconf/system.h>
 #include <cyg/hal/var_io.h>
 
 //===========================================================================*/
@@ -80,9 +81,8 @@
 	mov r1,#1			                // enable PLL	
 	str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLCON]
 	
-	mov r1,#0x24
-        // set M and P:core runs at 60MHz (5 times 12MHz xtal frequency)
-	str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLCFG]	
+	mov r1,#(0x20 | (CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL - 1))
+	str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLCFG]
 	
 	str r2,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLFEED]	// update PLL registers
 	str r3,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLFEED]
--- a/packages/hal/arm/lpc2xxx/p2106/current/ChangeLog
+++ b/packages/hal/arm/lpc2xxx/p2106/current/ChangeLog
@@ -1,3 +1,9 @@
+2004-11-19  Jani Monoses <jani@iv.ro>
+
+	* cdl/hal_arm_lpc2xxx_p2106.cdl: 
+	* include/hal_platform_setup.h: 
+	Make PLL multiplier value configurable.
+	
 2004-11-15  Jani Monoses <jani@iv.ro>
 
 	* include/hal_platform_setup.h:
--- a/packages/hal/arm/lpc2xxx/p2106/current/cdl/hal_arm_lpc2xxx_p2106.cdl
+++ b/packages/hal/arm/lpc2xxx/p2106/current/cdl/hal_arm_lpc2xxx_p2106.cdl
@@ -123,15 +123,27 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_P2106
          description   "
             This option controls the baud rate used for the GDB connection."
      }
-    
+     
     # Real-time clock/counter specifics
+    cdl_option CYGNUM_HAL_ARM_LPC2XXX_XTAL_FREQ {
+        display       "CPU clock speed"
+        flavor        data
+        default_value {14745600}
+    }
+
+    cdl_option CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL {
+        display       "CPU clock speed"
+        flavor        data
+        default_value {4}
+    }
+ 
     cdl_option CYGNUM_HAL_ARM_LPC2XXX_CLOCK_SPEED {
         display       "CPU clock speed"
         flavor        data
-        default_value {58982400}
+        calculated { CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL * CYGNUM_HAL_ARM_LPC2XXX_XTAL_FREQ }
     }
-
-     cdl_component CYGBLD_GLOBAL_OPTIONS {
+   
+    cdl_component CYGBLD_GLOBAL_OPTIONS {
         display "Global build options"
         flavor  none
         parent  CYGPKG_NONE
--- a/packages/hal/arm/lpc2xxx/p2106/current/include/hal_platform_setup.h
+++ b/packages/hal/arm/lpc2xxx/p2106/current/include/hal_platform_setup.h
@@ -53,6 +53,7 @@
 //
 //===========================================================================*/
 
+#include <pkgconf/system.h>
 #include <cyg/hal/var_io.h>
 
 //===========================================================================*/
@@ -80,9 +81,7 @@
 	mov r1,#1			// enable PLL	
 	str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLCON]
 	
-	mov r1,#0x23
-        // set M and P:core runs at 58.9824MHz (4 times 14.7456MHz
-        // xtal frequency)
+	mov r1,#(0x20 | (CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL - 1))
 	str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLCFG]	
 	
 	str r2,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLFEED]	// update PLL registers