drivers: sensor: bmi160: convert to new GPIO API

Document interrupt signal and replace legacy calls with new API.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
This commit is contained in:
Peter Bigot 2019-12-23 08:54:27 -06:00 committed by Carles Cufí
commit 6dd1f66a3c
4 changed files with 10 additions and 4 deletions

View file

@ -901,6 +901,7 @@ const struct bmi160_device_config bmi160_config = {
#if defined(CONFIG_BMI160_TRIGGER) #if defined(CONFIG_BMI160_TRIGGER)
.gpio_port = DT_INST_0_BOSCH_BMI160_INT_GPIOS_CONTROLLER, .gpio_port = DT_INST_0_BOSCH_BMI160_INT_GPIOS_CONTROLLER,
.int_pin = DT_INST_0_BOSCH_BMI160_INT_GPIOS_PIN, .int_pin = DT_INST_0_BOSCH_BMI160_INT_GPIOS_PIN,
.int_flags = DT_INST_0_BOSCH_BMI160_INT_GPIOS_FLAGS,
#endif #endif
}; };

View file

@ -386,7 +386,8 @@ struct bmi160_range {
struct bmi160_device_config { struct bmi160_device_config {
#if defined(CONFIG_BMI160_TRIGGER) #if defined(CONFIG_BMI160_TRIGGER)
const char *gpio_port; const char *gpio_port;
u8_t int_pin; gpio_pin_t int_pin;
gpio_devicetree_flags_t int_flags;
#endif #endif
}; };

View file

@ -301,15 +301,15 @@ int bmi160_trigger_mode_init(struct device *dev)
} }
gpio_pin_configure(bmi160->gpio, cfg->int_pin, gpio_pin_configure(bmi160->gpio, cfg->int_pin,
GPIO_DIR_IN | GPIO_INT | GPIO_INT_EDGE | GPIO_INPUT | cfg->int_flags);
GPIO_INT_ACTIVE_LOW | GPIO_INT_DEBOUNCE);
gpio_init_callback(&bmi160->gpio_cb, gpio_init_callback(&bmi160->gpio_cb,
bmi160_gpio_callback, bmi160_gpio_callback,
BIT(cfg->int_pin)); BIT(cfg->int_pin));
gpio_add_callback(bmi160->gpio, &bmi160->gpio_cb); gpio_add_callback(bmi160->gpio, &bmi160->gpio_cb);
gpio_pin_enable_callback(bmi160->gpio, cfg->int_pin); gpio_pin_interrupt_configure(bmi160->gpio, cfg->int_pin,
GPIO_INT_EDGE_TO_ACTIVE);
return bmi160_byte_write(dev, BMI160_REG_INT_OUT_CTRL, return bmi160_byte_write(dev, BMI160_REG_INT_OUT_CTRL,
BMI160_INT1_OUT_EN | BMI160_INT1_EDGE_CTRL); BMI160_INT1_OUT_EN | BMI160_INT1_EDGE_CTRL);

View file

@ -11,3 +11,7 @@ properties:
int-gpios: int-gpios:
type: phandle-array type: phandle-array
required: false required: false
description: |
This property specifies the connection for INT1, because the
Zephyr driver maps all interrupts to INT1. The signal defaults
to output low when produced by the sensor.