mbed library sources. Supersedes mbed-src. GR-PEACH runs on RAM.
Fork of mbed-dev by
Revision 54:2a2065e67ef6, committed 2016-01-28
- Comitter:
- mbed_official
- Date:
- Thu Jan 28 18:15:10 2016 +0000
- Parent:
- 53:340b9a9997b2
- Child:
- 55:814265bf5462
- Commit message:
- Synchronized with git revision b5816d872d02a7420c05be91bea5f898b88d2e56
Full URL: https://github.com/mbedmicro/mbed/commit/b5816d872d02a7420c05be91bea5f898b88d2e56/
[Silicon Labs] Fix support for the RC oscillator
Changed in this revision
--- a/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32GG_STK3700/device_peripherals.h Wed Jan 20 08:15:10 2016 +0000 +++ b/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32GG_STK3700/device_peripherals.h Thu Jan 28 18:15:10 2016 +0000 @@ -71,14 +71,14 @@ /** HFRCO frequency band * Options: - * * CMU_HFRCOCTRL_BAND_28MHZ - * * CMU_HFRCOCTRL_BAND_21MHZ - * * CMU_HFRCOCTRL_BAND_14MHZ - * * CMU_HFRCOCTRL_BAND_11MHZ - * * CMU_HFRCOCTRL_BAND_7MHZ - * * CMU_HFRCOCTRL_BAND_1MHZ + * * _CMU_HFRCOCTRL_BAND_28MHZ + * * _CMU_HFRCOCTRL_BAND_21MHZ + * * _CMU_HFRCOCTRL_BAND_14MHZ + * * _CMU_HFRCOCTRL_BAND_11MHZ + * * _CMU_HFRCOCTRL_BAND_7MHZ + * * _CMU_HFRCOCTRL_BAND_1MHZ */ -#define HFRCO_FREQUENCY CMU_HFRCOCTRL_BAND_14MHZ +#define HFRCO_FREQUENCY _CMU_HFRCOCTRL_BAND_21MHZ #define LFXO_FREQUENCY 32768 #define HFXO_FREQUENCY 48000000
--- a/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32HG_STK3400/device_peripherals.h Wed Jan 20 08:15:10 2016 +0000 +++ b/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32HG_STK3400/device_peripherals.h Thu Jan 28 18:15:10 2016 +0000 @@ -71,14 +71,13 @@ /** HFRCO frequency band * Options: - * * CMU_HFRCOCTRL_BAND_28MHZ - * * CMU_HFRCOCTRL_BAND_21MHZ - * * CMU_HFRCOCTRL_BAND_14MHZ - * * CMU_HFRCOCTRL_BAND_11MHZ - * * CMU_HFRCOCTRL_BAND_7MHZ - * * CMU_HFRCOCTRL_BAND_1MHZ + * * _CMU_HFRCOCTRL_BAND_21MHZ + * * _CMU_HFRCOCTRL_BAND_14MHZ + * * _CMU_HFRCOCTRL_BAND_11MHZ + * * _CMU_HFRCOCTRL_BAND_7MHZ + * * _CMU_HFRCOCTRL_BAND_1MHZ */ -#define HFRCO_FREQUENCY CMU_HFRCOCTRL_BAND_14MHZ +#define HFRCO_FREQUENCY _CMU_HFRCOCTRL_BAND_21MHZ #define LFXO_FREQUENCY 32768 #define HFXO_FREQUENCY 24000000
--- a/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32LG_STK3600/device_peripherals.h Wed Jan 20 08:15:10 2016 +0000 +++ b/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32LG_STK3600/device_peripherals.h Thu Jan 28 18:15:10 2016 +0000 @@ -71,14 +71,14 @@ /** HFRCO frequency band * Options: - * * CMU_HFRCOCTRL_BAND_28MHZ - * * CMU_HFRCOCTRL_BAND_21MHZ - * * CMU_HFRCOCTRL_BAND_14MHZ - * * CMU_HFRCOCTRL_BAND_11MHZ - * * CMU_HFRCOCTRL_BAND_7MHZ - * * CMU_HFRCOCTRL_BAND_1MHZ + * * _CMU_HFRCOCTRL_BAND_28MHZ + * * _CMU_HFRCOCTRL_BAND_21MHZ + * * _CMU_HFRCOCTRL_BAND_14MHZ + * * _CMU_HFRCOCTRL_BAND_11MHZ + * * _CMU_HFRCOCTRL_BAND_7MHZ + * * _CMU_HFRCOCTRL_BAND_1MHZ */ -#define HFRCO_FREQUENCY CMU_HFRCOCTRL_BAND_14MHZ +#define HFRCO_FREQUENCY _CMU_HFRCOCTRL_BAND_21MHZ #define LFXO_FREQUENCY 32768 #define HFXO_FREQUENCY 48000000
--- a/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32PG_STK3401/device_peripherals.h Wed Jan 20 08:15:10 2016 +0000 +++ b/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32PG_STK3401/device_peripherals.h Thu Jan 28 18:15:10 2016 +0000 @@ -32,7 +32,7 @@ /* us ticker */ #define US_TICKER_TIMER TIMER0 -#define US_TICKER_TIMER_CLOCK cmuClock_TIMER0 +#define US_TICKER_TIMER_CLOCK cmuClock_TIMER0 #define US_TICKER_TIMER_IRQ TIMER0_IRQn /* PWM */ @@ -52,31 +52,48 @@ /* Low Energy peripheral clock source. * Options: - * * LFXO: external crystal, please define frequency. - * * LFRCO: internal RC oscillator (32.768kHz) - * * ULFRCO: internal ultra-low power RC oscillator (available down to EM3) (1kHz) + * * LFXO: external crystal, please define frequency. + * * LFRCO: internal RC oscillator (32.768kHz) + * * ULFRCO: internal ultra-low power RC oscillator (available down to EM3) (1kHz) */ -#define LOW_ENERGY_CLOCK_SOURCE LFXO +#define LOW_ENERGY_CLOCK_SOURCE LFXO /** Core clock source. * Options: - * * HFXO: external crystal, please define frequency. - * * HFRCO: High-frequency internal RC oscillator. Please select frequency as well. + * * HFXO: external crystal, please define frequency. + * * HFRCO: High-frequency internal RC oscillator. Please select frequency as well. */ -#define CORE_CLOCK_SOURCE HFXO +#define CORE_CLOCK_SOURCE HFXO -#define HFRCO_FREQUENCY_ENUM cmuHFRCOFreq_19M0Hz -#define HFRCO_FREQUENCY 19000000 +/** HFRCO frequency selection + * Options: + * ** HFRCO_FREQUENCY_ENUM ** HFRCO_FREQUENCY ** + * * cmuHFRCOFreq_1M0Hz == 1000000 * + * * cmuHFRCOFreq_2M0Hz == 2000000 * + * * cmuHFRCOFreq_4M0Hz == 4000000 * + * * cmuHFRCOFreq_7M0Hz == 7000000 * + * * cmuHFRCOFreq_13M0Hz == 13000000 * + * * cmuHFRCOFreq_16M0Hz == 16000000 * + * * cmuHFRCOFreq_19M0Hz == 19000000 * + * * cmuHFRCOFreq_26M0Hz == 26000000 * + * * cmuHFRCOFreq_32M0Hz == 32000000 * + * * cmuHFRCOFreq_38M0Hz == 38000000 * + * ********************************************* + */ + +/* Make sure the settings of HFRCO_FREQUENCY and HFRCO_FREQUENCY_ENUM match, or timings will be faulty! */ +#define HFRCO_FREQUENCY_ENUM cmuHFRCOFreq_19M0Hz +#define HFRCO_FREQUENCY 19000000 -#define LFXO_FREQUENCY 32768 -#define HFXO_FREQUENCY 40000000 +#define LFXO_FREQUENCY 32768 +#define HFXO_FREQUENCY 40000000 #if (LOW_ENERGY_CLOCK_SOURCE == LFXO) -#define LOW_ENERGY_CLOCK_FREQUENCY LFXO_FREQUENCY +#define LOW_ENERGY_CLOCK_FREQUENCY LFXO_FREQUENCY #elif (LOW_ENERGY_CLOCK_SOURCE == LFRCO) -#define LOW_ENERGY_CLOCK_FREQUENCY 32768 +#define LOW_ENERGY_CLOCK_FREQUENCY 32768 #elif (LOW_ENERGY_CLOCK_SOURCE == ULFRCO) -#define LOW_ENERGY_CLOCK_FREQUENCY 1000 +#define LOW_ENERGY_CLOCK_FREQUENCY 1000 #else #error "Unknown Low Energy Clock selection" #endif
--- a/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32WG_STK3800/device_peripherals.h Wed Jan 20 08:15:10 2016 +0000 +++ b/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32WG_STK3800/device_peripherals.h Thu Jan 28 18:15:10 2016 +0000 @@ -71,14 +71,14 @@ /** HFRCO frequency band * Options: - * * CMU_HFRCOCTRL_BAND_28MHZ - * * CMU_HFRCOCTRL_BAND_21MHZ - * * CMU_HFRCOCTRL_BAND_14MHZ - * * CMU_HFRCOCTRL_BAND_11MHZ - * * CMU_HFRCOCTRL_BAND_7MHZ - * * CMU_HFRCOCTRL_BAND_1MHZ + * * _CMU_HFRCOCTRL_BAND_28MHZ + * * _CMU_HFRCOCTRL_BAND_21MHZ + * * _CMU_HFRCOCTRL_BAND_14MHZ + * * _CMU_HFRCOCTRL_BAND_11MHZ + * * _CMU_HFRCOCTRL_BAND_7MHZ + * * _CMU_HFRCOCTRL_BAND_1MHZ */ -#define HFRCO_FREQUENCY CMU_HFRCOCTRL_BAND_14MHZ +#define HFRCO_FREQUENCY _CMU_HFRCOCTRL_BAND_21MHZ #define LFXO_FREQUENCY 32768 #define HFXO_FREQUENCY 48000000
--- a/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32ZG_STK3200/device_peripherals.h Wed Jan 20 08:15:10 2016 +0000 +++ b/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32ZG_STK3200/device_peripherals.h Thu Jan 28 18:15:10 2016 +0000 @@ -68,14 +68,13 @@ /** HFRCO frequency band * Options: - * * CMU_HFRCOCTRL_BAND_28MHZ - * * CMU_HFRCOCTRL_BAND_21MHZ - * * CMU_HFRCOCTRL_BAND_14MHZ - * * CMU_HFRCOCTRL_BAND_11MHZ - * * CMU_HFRCOCTRL_BAND_7MHZ - * * CMU_HFRCOCTRL_BAND_1MHZ + * * _CMU_HFRCOCTRL_BAND_21MHZ + * * _CMU_HFRCOCTRL_BAND_14MHZ + * * _CMU_HFRCOCTRL_BAND_11MHZ + * * _CMU_HFRCOCTRL_BAND_7MHZ + * * _CMU_HFRCOCTRL_BAND_1MHZ */ -#define HFRCO_FREQUENCY CMU_HFRCOCTRL_BAND_14MHZ +#define HFRCO_FREQUENCY _CMU_HFRCOCTRL_BAND_21MHZ #define LFXO_FREQUENCY 32768 #define HFXO_FREQUENCY 24000000
--- a/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/clocking.h Wed Jan 20 08:15:10 2016 +0000 +++ b/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/clocking.h Thu Jan 28 18:15:10 2016 +0000 @@ -36,17 +36,17 @@ #elif( CORE_CLOCK_SOURCE == HFRCO) # if defined _CMU_HFRCOCTRL_BAND_MASK -# if( HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_1MHZ) +# if( HFRCO_FREQUENCY == _CMU_HFRCOCTRL_BAND_1MHZ) # define REFERENCE_FREQUENCY 1000000 -# elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_7MHZ) +# elif(HFRCO_FREQUENCY == _CMU_HFRCOCTRL_BAND_7MHZ) # define REFERENCE_FREQUENCY 7000000 -# elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_11MHZ) +# elif(HFRCO_FREQUENCY == _CMU_HFRCOCTRL_BAND_11MHZ) # define REFERENCE_FREQUENCY 7000000 -# elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_14MHZ) +# elif(HFRCO_FREQUENCY == _CMU_HFRCOCTRL_BAND_14MHZ) # define REFERENCE_FREQUENCY 14000000 -# elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_21MHZ) +# elif(HFRCO_FREQUENCY == _CMU_HFRCOCTRL_BAND_21MHZ) # define REFERENCE_FREQUENCY 21000000 -# elif(HFRCO_FREQUENCY == CMU_HFRCOCTRL_BAND_28MHZ) +# elif(HFRCO_FREQUENCY == _CMU_HFRCOCTRL_BAND_28MHZ) # define REFERENCE_FREQUENCY 28000000 # else # define REFERENCE_FREQUENCY 14000000
--- a/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/spi_api.c Wed Jan 20 08:15:10 2016 +0000 +++ b/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/spi_api.c Thu Jan 28 18:15:10 2016 +0000 @@ -213,12 +213,12 @@ if (miso != NC) { route |= USART_ROUTEPEN_RXPEN; obj->spi.spi->ROUTELOC0 &= ~_USART_ROUTELOC0_RXLOC_MASK; - obj->spi.spi->ROUTELOC0 |= pin_location(mosi, PinMap_SPI_MOSI)<<_USART_ROUTELOC0_RXLOC_SHIFT; + obj->spi.spi->ROUTELOC0 |= pin_location(miso, PinMap_SPI_MOSI)<<_USART_ROUTELOC0_RXLOC_SHIFT; } if (!obj->spi.master) { route |= USART_ROUTEPEN_CSPEN; obj->spi.spi->ROUTELOC0 &= ~_USART_ROUTELOC0_CSLOC_MASK; - obj->spi.spi->ROUTELOC0 |= pin_location(mosi, PinMap_SPI_MOSI)<<_USART_ROUTELOC0_CSLOC_SHIFT; + obj->spi.spi->ROUTELOC0 |= pin_location(cs, PinMap_SPI_MOSI)<<_USART_ROUTELOC0_CSLOC_SHIFT; } obj->spi.spi->ROUTEPEN = route; }