# HG changeset patch # User jani # Date 1100871154 0 # Node ID 96dbe76109ebc90f0b3ed706c40ee13066696229 # Parent 09b23f8491d4801a7b105ae6a31bd420ae30d4cb Make PLL multiplier configurable for the LPC platforms diff --git a/packages/hal/arm/lpc2xxx/mcb2100/current/ChangeLog b/packages/hal/arm/lpc2xxx/mcb2100/current/ChangeLog --- 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 + + * cdl/hal_arm_lpc2xxx_mcb2100.cdl: + * include/hal_platform_setup.h: + Make PLL multiplier value configurable. + 2004-11-19 Jani Monoses * include/hal_platform_setup.h: diff --git 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 --- 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" diff --git a/packages/hal/arm/lpc2xxx/mcb2100/current/include/hal_platform_setup.h b/packages/hal/arm/lpc2xxx/mcb2100/current/include/hal_platform_setup.h --- 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 #include //===========================================================================*/ @@ -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] diff --git a/packages/hal/arm/lpc2xxx/p2106/current/ChangeLog b/packages/hal/arm/lpc2xxx/p2106/current/ChangeLog --- 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 + + * cdl/hal_arm_lpc2xxx_p2106.cdl: + * include/hal_platform_setup.h: + Make PLL multiplier value configurable. + 2004-11-15 Jani Monoses * include/hal_platform_setup.h: diff --git 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 --- 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 diff --git a/packages/hal/arm/lpc2xxx/p2106/current/include/hal_platform_setup.h b/packages/hal/arm/lpc2xxx/p2106/current/include/hal_platform_setup.h --- 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 #include //===========================================================================*/ @@ -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