diff --git a/targets/TARGET_Silicon_Labs/TARGET_EFM32/i2c_api.c b/targets/TARGET_Silicon_Labs/TARGET_EFM32/i2c_api.c index 6e5f8ad1e49..ab85acdb756 100644 --- a/targets/TARGET_Silicon_Labs/TARGET_EFM32/i2c_api.c +++ b/targets/TARGET_Silicon_Labs/TARGET_EFM32/i2c_api.c @@ -62,6 +62,11 @@ static uint8_t i2c_get_index(i2c_t *obj) case I2C_1: index = 1; break; +#endif +#ifdef I2C2 + case I2C_2: + index = 2; + break; #endif default: printf("I2C module not available.. Out of bound access."); @@ -83,6 +88,11 @@ static CMU_Clock_TypeDef i2c_get_clock(i2c_t *obj) case I2C_1: clock = cmuClock_I2C1; break; +#endif +#ifdef I2C2 + case I2C_2: + clock = cmuClock_I2C2; + break; #endif default: printf("I2C module not available.. Out of bound access. (clock)"); @@ -174,6 +184,11 @@ void i2c_enable_interrupt(i2c_t *obj, uint32_t address, uint8_t enable) case 1: irq_number = I2C1_IRQn; break; +#endif +#ifdef I2C2 + case 2: + irq_number = I2C2_IRQn; + break; #endif }