Skip to content

Commit

Permalink
fixup! cpu/sam0_common: i2c: implement the periph_i2c_reconfigure fea…
Browse files Browse the repository at this point in the history
…ture
  • Loading branch information
benpicco committed Apr 21, 2020
1 parent 8f47d53 commit 1cd1fd2
Showing 1 changed file with 13 additions and 15 deletions.
28 changes: 13 additions & 15 deletions cpu/sam0_common/periph/i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,20 +80,6 @@ void i2c_init(i2c_t dev)

assert(dev < I2C_NUMOF);

/* i2c_deinit() has been called - restore config */
if (IS_ACTIVE(MODULE_PERIPH_I2C_RECONFIGURE) &&
mutex_trylock(&locks[dev]) == 0) {
DEBUG("I2C re-init");

_i2c_poweron(dev);

gpio_init_mux(i2c_config[dev].scl_pin, i2c_config[dev].mux);
gpio_init_mux(i2c_config[dev].sda_pin, i2c_config[dev].mux);

mutex_unlock(&locks[dev]);
return;
}

/* Initialize mutex */
mutex_init(&locks[dev]);
/* DISABLE I2C MASTER */
Expand Down Expand Up @@ -187,7 +173,19 @@ void i2c_release(i2c_t dev)
}

#ifdef MODULE_PERIPH_I2C_RECONFIGURE
void i2c_deinit(i2c_t dev)
void i2c_init_pins(i2c_t dev)
{
assert(dev < I2C_NUMOF);

_i2c_poweron(dev);

gpio_init_mux(i2c_config[dev].scl_pin, i2c_config[dev].mux);
gpio_init_mux(i2c_config[dev].sda_pin, i2c_config[dev].mux);

mutex_unlock(&locks[dev]);
}

void i2c_deinit_pins(i2c_t dev)
{
assert(dev < I2C_NUMOF);

Expand Down

0 comments on commit 1cd1fd2

Please sign in to comment.