added prescaler for 16 bit pwm in LPC1347 target
Fork of mbed-dev by
Diff: targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/clocking.h
- Revision:
- 50:a417edff4437
- Parent:
- 0:9b334a45a8ff
- Child:
- 54:2a2065e67ef6
--- a/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/clocking.h Wed Jan 13 12:45:11 2016 +0000 +++ b/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/clocking.h Fri Jan 15 07:45:16 2016 +0000 @@ -32,37 +32,45 @@ #include "device_peripherals.h" #if( CORE_CLOCK_SOURCE == HFXO) -#define REFERENCE_FREQUENCY HFXO_FREQUENCY +# define REFERENCE_FREQUENCY HFXO_FREQUENCY #elif( CORE_CLOCK_SOURCE == HFRCO) -#if( HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_1MHZ) -#define REFERENCE_FREQUENCY 1000000 -#elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_7MHZ) -#define REFERENCE_FREQUENCY 7000000 -#elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_11MHZ) -#define REFERENCE_FREQUENCY 7000000 -#elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_14MHZ) -#define REFERENCE_FREQUENCY 14000000 -#elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_21MHZ) -#define REFERENCE_FREQUENCY 21000000 -#elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_28MHZ) -#define REFERENCE_FREQUENCY 28000000 -#else -#define REFERENCE_FREQUENCY 14000000 -#endif + +# if defined _CMU_HFRCOCTRL_BAND_MASK +# if( HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_1MHZ) +# define REFERENCE_FREQUENCY 1000000 +# elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_7MHZ) +# define REFERENCE_FREQUENCY 7000000 +# elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_11MHZ) +# define REFERENCE_FREQUENCY 7000000 +# elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_14MHZ) +# define REFERENCE_FREQUENCY 14000000 +# elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_21MHZ) +# define REFERENCE_FREQUENCY 21000000 +# elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_28MHZ) +# define REFERENCE_FREQUENCY 28000000 +# else +# define REFERENCE_FREQUENCY 14000000 +# endif +# elif defined _CMU_HFRCOCTRL_FREQRANGE_MASK +# define REFERENCE_FREQUENCY HFRCO_FREQUENCY +# else +# error "HFRCO frequency not defined" +# endif #endif #if ( LOW_ENERGY_CLOCK_SOURCE == LFXO ) -#define LEUART_USING_LFXO -#if ( defined(CMU_CTRL_HFLE) && (REFERENCE_FREQUENCY > 24000000) ) -#define LEUART_HF_REF_FREQ (REFERENCE_FREQUENCY / 4) +# define LEUART_USING_LFXO +# if ( (defined(CMU_CTRL_HFLE) || defined(CMU_CTRL_WSHFLE) ) && (REFERENCE_FREQUENCY > 24000000) ) +# define LEUART_HF_REF_FREQ (REFERENCE_FREQUENCY / 4) +# else +# define LEUART_HF_REF_FREQ (REFERENCE_FREQUENCY / 2) +# endif +# define LEUART_LF_REF_FREQ LFXO_FREQUENCY #else -#define LEUART_HF_REF_FREQ (REFERENCE_FREQUENCY / 2) +# if ( (defined(CMU_CTRL_HFLE) || defined(CMU_CTRL_WSHFLE) ) && (REFERENCE_FREQUENCY > 24000000) ) +# define LEUART_REF_FREQ (REFERENCE_FREQUENCY / 4) +# else +# define LEUART_REF_FREQ (REFERENCE_FREQUENCY / 2) +# endif #endif -#define LEUART_LF_REF_FREQ LFXO_FREQUENCY -#else -#if ( defined(CMU_CTRL_HFLE) && (REFERENCE_FREQUENCY > 24000000) ) -#define LEUART_REF_FREQ (REFERENCE_FREQUENCY / 4) -#else -#define LEUART_REF_FREQ (REFERENCE_FREQUENCY / 2) -#endif -#endif +