Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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;
}
