diff --git a/libraries/mbed/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/clocking.h b/libraries/mbed/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/clocking.h index 5693234d81..024d683595 100644 --- a/libraries/mbed/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/clocking.h +++ b/libraries/mbed/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/clocking.h @@ -50,9 +50,4 @@ #define REFERENCE_FREQUENCY 14000000 #endif #endif - -#if ( defined(CMU_CTRL_HFLE) && (REFERENCE_FREQUENCY > 24000000) ) -#define LEUART_REF_FREQ (REFERENCE_FREQUENCY / 4) -#else -#define LEUART_REF_FREQ (REFERENCE_FREQUENCY / 2) -#endif + \ No newline at end of file diff --git a/libraries/mbed/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/serial_api.c b/libraries/mbed/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/serial_api.c index 3aa2d7f355..81b68412b7 100644 --- a/libraries/mbed/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/serial_api.c @@ -131,7 +131,7 @@ static void uart_init(serial_t *obj) init.stopbits = leuartStopbits1; /* Determine the reference clock, because the correct clock is not set up at init time */ - init.refFreq = LEUART_REF_FREQ; + init.refFreq = 0; LEUART_Reset(obj->serial.periph.leuart); LEUART_Init(obj->serial.periph.leuart, &init); } else { @@ -488,7 +488,7 @@ void serial_baud(serial_t *obj, int baudrate) CMU_ClockEnable(cmuClock_LFB, true); CMU_ClockSelectSet(serial_get_clock(obj), cmuSelect_LFXO); } - LEUART_BaudrateSet(obj->serial.periph.leuart, LEUART_REF_FREQ, (uint32_t)baudrate); + LEUART_BaudrateSet(obj->serial.periph.leuart, 0, (uint32_t)baudrate); } else { USART_BaudrateAsyncSet(obj->serial.periph.uart, REFERENCE_FREQUENCY, (uint32_t)baudrate, usartOVS16); }