From ba05c94066b320c62f7c36b9b43cdab717212fd3 Mon Sep 17 00:00:00 2001 From: Armando Visconti Date: Fri, 6 Dec 2019 11:05:02 +0100 Subject: [PATCH 1/6] driver/sensor: lis2dw12: update to use new GPIO API Get rid of all the deprecated functions and definitions replacing them with the new ones. Signed-off-by: Armando Visconti --- drivers/sensor/lis2dw12/lis2dw12.c | 1 + drivers/sensor/lis2dw12/lis2dw12.h | 1 + drivers/sensor/lis2dw12/lis2dw12_trigger.c | 12 +++++++----- dts/bindings/sensor/st,lis2dw12-i2c.yaml | 5 +++++ dts/bindings/sensor/st,lis2dw12-spi.yaml | 5 +++++ 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/drivers/sensor/lis2dw12/lis2dw12.c b/drivers/sensor/lis2dw12/lis2dw12.c index c98d79736e8b5..05628fdcae62d 100644 --- a/drivers/sensor/lis2dw12/lis2dw12.c +++ b/drivers/sensor/lis2dw12/lis2dw12.c @@ -376,6 +376,7 @@ const struct lis2dw12_device_config lis2dw12_cfg = { #ifdef CONFIG_LIS2DW12_TRIGGER .int_gpio_port = DT_INST_0_ST_LIS2DW12_IRQ_GPIOS_CONTROLLER, .int_gpio_pin = DT_INST_0_ST_LIS2DW12_IRQ_GPIOS_PIN, + .int_gpio_flags = DT_INST_0_ST_LIS2DW12_IRQ_GPIOS_FLAGS, #if defined(CONFIG_LIS2DW12_INT_PIN_1) .int_pin = 1, #elif defined(CONFIG_LIS2DW12_INT_PIN_2) diff --git a/drivers/sensor/lis2dw12/lis2dw12.h b/drivers/sensor/lis2dw12/lis2dw12.h index 0b197865e2456..c3d2916bc40cc 100644 --- a/drivers/sensor/lis2dw12/lis2dw12.h +++ b/drivers/sensor/lis2dw12/lis2dw12.h @@ -92,6 +92,7 @@ struct lis2dw12_device_config { #ifdef CONFIG_LIS2DW12_TRIGGER const char *int_gpio_port; u8_t int_gpio_pin; + u8_t int_gpio_flags; u8_t int_pin; #ifdef CONFIG_LIS2DW12_PULSE u8_t pulse_trigger; diff --git a/drivers/sensor/lis2dw12/lis2dw12_trigger.c b/drivers/sensor/lis2dw12/lis2dw12_trigger.c index 885978d2f1837..9b2ba96daa3dc 100644 --- a/drivers/sensor/lis2dw12/lis2dw12_trigger.c +++ b/drivers/sensor/lis2dw12/lis2dw12_trigger.c @@ -183,7 +183,8 @@ static void lis2dw12_handle_interrupt(void *arg) } #endif /* CONFIG_LIS2DW12_PULSE */ - gpio_pin_enable_callback(lis2dw12->gpio, cfg->int_gpio_pin); + gpio_pin_interrupt_configure(lis2dw12->gpio, cfg->int_gpio_pin, + GPIO_INT_EDGE_TO_ACTIVE); } static void lis2dw12_gpio_callback(struct device *dev, @@ -196,7 +197,8 @@ static void lis2dw12_gpio_callback(struct device *dev, return; } - gpio_pin_disable_callback(dev, lis2dw12->gpio_pin); + gpio_pin_interrupt_configure(dev, lis2dw12->gpio_pin, + GPIO_INT_DISABLE); #if defined(CONFIG_LIS2DW12_TRIGGER_OWN_THREAD) k_sem_give(&lis2dw12->gpio_sem); @@ -260,8 +262,7 @@ int lis2dw12_init_interrupt(struct device *dev) lis2dw12->gpio_pin = cfg->int_gpio_pin; ret = gpio_pin_configure(lis2dw12->gpio, cfg->int_gpio_pin, - GPIO_DIR_IN | GPIO_INT | GPIO_INT_EDGE | - GPIO_INT_ACTIVE_HIGH | GPIO_INT_DEBOUNCE); + GPIO_INPUT | cfg->int_gpio_flags); if (ret < 0) { LOG_DBG("Could not configure gpio"); return ret; @@ -281,5 +282,6 @@ int lis2dw12_init_interrupt(struct device *dev) return -EIO; } - return gpio_pin_enable_callback(lis2dw12->gpio, cfg->int_gpio_pin); + return gpio_pin_interrupt_configure(lis2dw12->gpio, cfg->int_gpio_pin, + GPIO_INT_EDGE_TO_ACTIVE); } diff --git a/dts/bindings/sensor/st,lis2dw12-i2c.yaml b/dts/bindings/sensor/st,lis2dw12-i2c.yaml index 73562d6b3560e..4a166536b656f 100644 --- a/dts/bindings/sensor/st,lis2dw12-i2c.yaml +++ b/dts/bindings/sensor/st,lis2dw12-i2c.yaml @@ -14,3 +14,8 @@ properties: irq-gpios: type: phandle-array required: false + description: DRDY pin + + This pin defaults to active high when produced by the sensor. + The property value should ensure the flags properly describe + the signal that is presented to the driver. diff --git a/dts/bindings/sensor/st,lis2dw12-spi.yaml b/dts/bindings/sensor/st,lis2dw12-spi.yaml index db4463cd2c13e..367753174f76a 100644 --- a/dts/bindings/sensor/st,lis2dw12-spi.yaml +++ b/dts/bindings/sensor/st,lis2dw12-spi.yaml @@ -15,3 +15,8 @@ properties: irq-gpios: type: phandle-array required: false + description: DRDY pin + + This pin defaults to active high when produced by the sensor. + The property value should ensure the flags properly describe + the signal that is presented to the driver. From ab1f66ab9c14ce83ce3bef82bdaf2e80b8351a35 Mon Sep 17 00:00:00 2001 From: Armando Visconti Date: Fri, 6 Dec 2019 14:15:37 +0100 Subject: [PATCH 2/6] driver/sensor: lps22hh: update to use new GPIO API Get rid of all the deprecated functions and definitions replacing them with the new ones. Signed-off-by: Armando Visconti --- drivers/sensor/lps22hh/lps22hh.c | 1 + drivers/sensor/lps22hh/lps22hh.h | 1 + drivers/sensor/lps22hh/lps22hh_trigger.c | 17 +++++++---------- dts/bindings/sensor/st,lps22hh-i2c.yaml | 4 ++++ dts/bindings/sensor/st,lps22hh-spi.yaml | 4 ++++ 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/drivers/sensor/lps22hh/lps22hh.c b/drivers/sensor/lps22hh/lps22hh.c index 34a3b802932b7..4144ce1b7fb5f 100644 --- a/drivers/sensor/lps22hh/lps22hh.c +++ b/drivers/sensor/lps22hh/lps22hh.c @@ -203,6 +203,7 @@ static const struct lps22hh_config lps22hh_config = { #ifdef CONFIG_LPS22HH_TRIGGER .drdy_port = DT_INST_0_ST_LPS22HH_DRDY_GPIOS_CONTROLLER, .drdy_pin = DT_INST_0_ST_LPS22HH_DRDY_GPIOS_PIN, + .drdy_flags = DT_INST_0_ST_LPS22HH_DRDY_GPIOS_FLAGS, #endif #if defined(DT_ST_LPS22HH_BUS_SPI) .bus_init = lps22hh_spi_init, diff --git a/drivers/sensor/lps22hh/lps22hh.h b/drivers/sensor/lps22hh/lps22hh.h index f81df74e1ae5f..cd7bc3a20ebd5 100644 --- a/drivers/sensor/lps22hh/lps22hh.h +++ b/drivers/sensor/lps22hh/lps22hh.h @@ -36,6 +36,7 @@ struct lps22hh_config { #ifdef CONFIG_LPS22HH_TRIGGER const char *drdy_port; u8_t drdy_pin; + u8_t drdy_flags; #endif #ifdef DT_ST_LPS22HH_BUS_I2C u16_t i2c_slv_addr; diff --git a/drivers/sensor/lps22hh/lps22hh_trigger.c b/drivers/sensor/lps22hh/lps22hh_trigger.c index 55316563ed606..66f930585e584 100644 --- a/drivers/sensor/lps22hh/lps22hh_trigger.c +++ b/drivers/sensor/lps22hh/lps22hh_trigger.c @@ -78,7 +78,8 @@ static void lps22hh_handle_interrupt(void *arg) lps22hh->handler_drdy(dev, &drdy_trigger); } - gpio_pin_enable_callback(lps22hh->gpio, cfg->drdy_pin); + gpio_pin_interrupt_configure(lps22hh->gpio, cfg->drdy_pin, + GPIO_INT_EDGE_TO_ACTIVE); } static void lps22hh_gpio_callback(struct device *dev, @@ -90,7 +91,8 @@ static void lps22hh_gpio_callback(struct device *dev, ARG_UNUSED(pins); - gpio_pin_disable_callback(dev, cfg->drdy_pin); + gpio_pin_interrupt_configure(lps22hh->gpio, cfg->drdy_pin, + GPIO_INT_DISABLE); #if defined(CONFIG_LPS22HH_TRIGGER_OWN_THREAD) k_sem_give(&lps22hh->gpio_sem); @@ -151,8 +153,7 @@ int lps22hh_init_interrupt(struct device *dev) #endif /* CONFIG_LPS22HH_TRIGGER_OWN_THREAD */ ret = gpio_pin_configure(lps22hh->gpio, cfg->drdy_pin, - GPIO_DIR_IN | GPIO_INT | GPIO_INT_EDGE | - GPIO_INT_ACTIVE_HIGH | GPIO_INT_DEBOUNCE); + GPIO_INPUT | cfg->drdy_flags); if (ret < 0) { LOG_DBG("Could not configure gpio"); return ret; @@ -166,16 +167,12 @@ int lps22hh_init_interrupt(struct device *dev) return -EIO; } - /* configure interrupt active high */ - if (lps22hh_pin_polarity_set(lps22hh->ctx, LPS22HH_ACTIVE_HIGH) < 0) { - return -EIO; - } - /* enable interrupt in pulse mode */ if (lps22hh_int_notification_set(lps22hh->ctx, LPS22HH_INT_PULSED) < 0) { return -EIO; } - return gpio_pin_enable_callback(lps22hh->gpio, cfg->drdy_pin); + return gpio_pin_interrupt_configure(lps22hh->gpio, cfg->drdy_pin, + GPIO_INT_EDGE_TO_ACTIVE); } diff --git a/dts/bindings/sensor/st,lps22hh-i2c.yaml b/dts/bindings/sensor/st,lps22hh-i2c.yaml index 7cd3271339a14..c7e763b678c32 100644 --- a/dts/bindings/sensor/st,lps22hh-i2c.yaml +++ b/dts/bindings/sensor/st,lps22hh-i2c.yaml @@ -16,3 +16,7 @@ properties: type: phandle-array required: false description: DRDY pin + + This pin defaults to active high when produced by the sensor. + The property value should ensure the flags properly describe + the signal that is presented to the driver. diff --git a/dts/bindings/sensor/st,lps22hh-spi.yaml b/dts/bindings/sensor/st,lps22hh-spi.yaml index 4ea61de7d3ccb..2a47f3a80c97d 100644 --- a/dts/bindings/sensor/st,lps22hh-spi.yaml +++ b/dts/bindings/sensor/st,lps22hh-spi.yaml @@ -16,3 +16,7 @@ properties: type: phandle-array required: false description: DRDY pin + + This pin defaults to active high when produced by the sensor. + The property value should ensure the flags properly describe + the signal that is presented to the driver. From 7e7ab49ec7939251bf07c2005a6b0c59b4c92fb5 Mon Sep 17 00:00:00 2001 From: Armando Visconti Date: Fri, 6 Dec 2019 14:16:33 +0100 Subject: [PATCH 3/6] driver/sensor: lsm6dso: update to use new GPIO API Get rid of all the deprecated functions and definitions replacing them with the new ones. Signed-off-by: Armando Visconti --- drivers/sensor/lsm6dso/lsm6dso.c | 1 + drivers/sensor/lsm6dso/lsm6dso.h | 1 + drivers/sensor/lsm6dso/lsm6dso_trigger.c | 12 +++++++----- dts/bindings/sensor/st,lsm6dso-i2c.yaml | 5 +++++ dts/bindings/sensor/st,lsm6dso-spi.yaml | 5 +++++ 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/drivers/sensor/lsm6dso/lsm6dso.c b/drivers/sensor/lsm6dso/lsm6dso.c index 9a5dd5be2f3be..553e6255fc21a 100644 --- a/drivers/sensor/lsm6dso/lsm6dso.c +++ b/drivers/sensor/lsm6dso/lsm6dso.c @@ -774,6 +774,7 @@ static const struct lsm6dso_config lsm6dso_config = { #ifdef CONFIG_LSM6DSO_TRIGGER .int_gpio_port = DT_INST_0_ST_LSM6DSO_IRQ_GPIOS_CONTROLLER, .int_gpio_pin = DT_INST_0_ST_LSM6DSO_IRQ_GPIOS_PIN, + .int_gpio_flags = DT_INST_0_ST_LSM6DSO_IRQ_GPIOS_FLAGS, #if defined(CONFIG_LSM6DSO_INT_PIN_1) .int_pin = 1, #elif defined(CONFIG_LSM6DSO_INT_PIN_2) diff --git a/drivers/sensor/lsm6dso/lsm6dso.h b/drivers/sensor/lsm6dso/lsm6dso.h index d56ddc12276b2..b4108ad2b0200 100644 --- a/drivers/sensor/lsm6dso/lsm6dso.h +++ b/drivers/sensor/lsm6dso/lsm6dso.h @@ -97,6 +97,7 @@ struct lsm6dso_config { #ifdef CONFIG_LSM6DSO_TRIGGER const char *int_gpio_port; u8_t int_gpio_pin; + u8_t int_gpio_flags; u8_t int_pin; #endif /* CONFIG_LSM6DSO_TRIGGER */ #ifdef DT_ST_LSM6DSO_BUS_I2C diff --git a/drivers/sensor/lsm6dso/lsm6dso_trigger.c b/drivers/sensor/lsm6dso/lsm6dso_trigger.c index 3b4e3a5f86576..19392d8907e67 100644 --- a/drivers/sensor/lsm6dso/lsm6dso_trigger.c +++ b/drivers/sensor/lsm6dso/lsm6dso_trigger.c @@ -198,7 +198,8 @@ static void lsm6dso_handle_interrupt(void *arg) #endif } - gpio_pin_enable_callback(lsm6dso->gpio, cfg->int_gpio_pin); + gpio_pin_interrupt_configure(lsm6dso->gpio, cfg->int_gpio_pin, + GPIO_INT_EDGE_TO_ACTIVE); } static void lsm6dso_gpio_callback(struct device *dev, @@ -210,7 +211,8 @@ static void lsm6dso_gpio_callback(struct device *dev, ARG_UNUSED(pins); - gpio_pin_disable_callback(dev, cfg->int_gpio_pin); + gpio_pin_interrupt_configure(lsm6dso->gpio, cfg->int_gpio_pin, + GPIO_INT_DISABLE); #if defined(CONFIG_LSM6DSO_TRIGGER_OWN_THREAD) k_sem_give(&lsm6dso->gpio_sem); @@ -272,8 +274,7 @@ int lsm6dso_init_interrupt(struct device *dev) #endif /* CONFIG_LSM6DSO_TRIGGER_OWN_THREAD */ ret = gpio_pin_configure(lsm6dso->gpio, cfg->int_gpio_pin, - GPIO_DIR_IN | GPIO_INT | GPIO_INT_EDGE | - GPIO_INT_ACTIVE_HIGH | GPIO_INT_DEBOUNCE); + GPIO_INPUT | cfg->int_gpio_flags); if (ret < 0) { LOG_DBG("Could not configure gpio"); return ret; @@ -295,5 +296,6 @@ int lsm6dso_init_interrupt(struct device *dev) return -EIO; } - return gpio_pin_enable_callback(lsm6dso->gpio, cfg->int_gpio_pin); + return gpio_pin_interrupt_configure(lsm6dso->gpio, cfg->int_gpio_pin, + GPIO_INT_EDGE_TO_ACTIVE); } diff --git a/dts/bindings/sensor/st,lsm6dso-i2c.yaml b/dts/bindings/sensor/st,lsm6dso-i2c.yaml index 6f6ec03ceedab..cc289a142cb54 100644 --- a/dts/bindings/sensor/st,lsm6dso-i2c.yaml +++ b/dts/bindings/sensor/st,lsm6dso-i2c.yaml @@ -15,3 +15,8 @@ properties: irq-gpios: type: phandle-array required: false + description: DRDY pin + + This pin defaults to active high when produced by the sensor. + The property value should ensure the flags properly describe + the signal that is presented to the driver. diff --git a/dts/bindings/sensor/st,lsm6dso-spi.yaml b/dts/bindings/sensor/st,lsm6dso-spi.yaml index 1d08b720032f9..f549f8c3baf6e 100644 --- a/dts/bindings/sensor/st,lsm6dso-spi.yaml +++ b/dts/bindings/sensor/st,lsm6dso-spi.yaml @@ -15,3 +15,8 @@ properties: irq-gpios: type: phandle-array required: false + description: DRDY pin + + This pin defaults to active high when produced by the sensor. + The property value should ensure the flags properly describe + the signal that is presented to the driver. From 9870b9ecc70ba9e86d584877b5254774fc18a924 Mon Sep 17 00:00:00 2001 From: Armando Visconti Date: Fri, 6 Dec 2019 14:34:48 +0100 Subject: [PATCH 4/6] driver/sensor: iis3dhhc: update to use new GPIO API Get rid of all the deprecated functions and definitions replacing them with the new ones. Signed-off-by: Armando Visconti --- drivers/sensor/iis3dhhc/iis3dhhc.c | 2 ++ drivers/sensor/iis3dhhc/iis3dhhc.h | 1 + drivers/sensor/iis3dhhc/iis3dhhc_trigger.c | 12 +++++++----- dts/bindings/sensor/st,iis3dhhc-spi.yaml | 4 ++++ tests/drivers/build_all/dts_fixup.h | 2 ++ 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/drivers/sensor/iis3dhhc/iis3dhhc.c b/drivers/sensor/iis3dhhc/iis3dhhc.c index cca8bef6dd0d2..15106a52216eb 100644 --- a/drivers/sensor/iis3dhhc/iis3dhhc.c +++ b/drivers/sensor/iis3dhhc/iis3dhhc.c @@ -223,9 +223,11 @@ static const struct iis3dhhc_config iis3dhhc_config = { #ifdef CONFIG_IIS3DHHC_DRDY_INT1 .int_port = DT_INST_0_ST_IIS3DHHC_IRQ_GPIOS_CONTROLLER_0, .int_pin = DT_INST_0_ST_IIS3DHHC_IRQ_GPIOS_PIN_0, + .int_flags = DT_INST_0_ST_IIS3DHHC_IRQ_GPIOS_FLAGS_0, #else .int_port = DT_INST_0_ST_IIS3DHHC_IRQ_GPIOS_CONTROLLER_1, .int_pin = DT_INST_0_ST_IIS3DHHC_IRQ_GPIOS_PIN_1, + .int_flags = DT_INST_0_ST_IIS3DHHC_IRQ_GPIOS_FLAGS_1, #endif /* CONFIG_IIS3DHHC_DRDY_INT1 */ #endif /* CONFIG_IIS3DHHC_TRIGGER */ #if defined(DT_ST_IIS3DHHC_BUS_SPI) diff --git a/drivers/sensor/iis3dhhc/iis3dhhc.h b/drivers/sensor/iis3dhhc/iis3dhhc.h index f1e746d76479e..a341be73ecf53 100644 --- a/drivers/sensor/iis3dhhc/iis3dhhc.h +++ b/drivers/sensor/iis3dhhc/iis3dhhc.h @@ -30,6 +30,7 @@ struct iis3dhhc_config { #ifdef CONFIG_IIS3DHHC_TRIGGER const char *int_port; u8_t int_pin; + u8_t int_flags; #endif #ifdef DT_ST_IIS3DHHC_BUS_SPI struct spi_config spi_conf; diff --git a/drivers/sensor/iis3dhhc/iis3dhhc_trigger.c b/drivers/sensor/iis3dhhc/iis3dhhc_trigger.c index be6039065de11..2f2b6e39c7565 100644 --- a/drivers/sensor/iis3dhhc/iis3dhhc_trigger.c +++ b/drivers/sensor/iis3dhhc/iis3dhhc_trigger.c @@ -73,7 +73,8 @@ static void iis3dhhc_handle_interrupt(void *arg) iis3dhhc->handler_drdy(dev, &drdy_trigger); } - gpio_pin_enable_callback(iis3dhhc->gpio, cfg->int_pin); + gpio_pin_interrupt_configure(iis3dhhc->gpio, cfg->int_pin, + GPIO_INT_EDGE_TO_ACTIVE); } static void iis3dhhc_gpio_callback(struct device *dev, @@ -85,7 +86,8 @@ static void iis3dhhc_gpio_callback(struct device *dev, ARG_UNUSED(pins); - gpio_pin_disable_callback(dev, cfg->int_pin); + gpio_pin_interrupt_configure(iis3dhhc->gpio, cfg->int_pin, + GPIO_INT_DISABLE); #if defined(CONFIG_IIS3DHHC_TRIGGER_OWN_THREAD) k_sem_give(&iis3dhhc->gpio_sem); @@ -146,8 +148,7 @@ int iis3dhhc_init_interrupt(struct device *dev) #endif /* CONFIG_IIS3DHHC_TRIGGER_OWN_THREAD */ ret = gpio_pin_configure(iis3dhhc->gpio, cfg->int_pin, - GPIO_DIR_IN | GPIO_INT | GPIO_INT_EDGE | - GPIO_INT_ACTIVE_HIGH | GPIO_INT_DEBOUNCE); + GPIO_INPUT | cfg->int_flags); if (ret < 0) { LOG_DBG("Could not configure gpio"); return ret; @@ -167,5 +168,6 @@ int iis3dhhc_init_interrupt(struct device *dev) return -EIO; } - return gpio_pin_enable_callback(iis3dhhc->gpio, cfg->int_pin); + return gpio_pin_interrupt_configure(iis3dhhc->gpio, cfg->int_pin, + GPIO_INT_EDGE_TO_ACTIVE); } diff --git a/dts/bindings/sensor/st,iis3dhhc-spi.yaml b/dts/bindings/sensor/st,iis3dhhc-spi.yaml index bb891ecdb3634..a0fa35294eb14 100644 --- a/dts/bindings/sensor/st,iis3dhhc-spi.yaml +++ b/dts/bindings/sensor/st,iis3dhhc-spi.yaml @@ -16,3 +16,7 @@ properties: type: phandle-array required: false description: DRDY pin + + This pin defaults to active high when produced by the sensor. + The property value should ensure the flags properly describe + the signal that is presented to the driver. diff --git a/tests/drivers/build_all/dts_fixup.h b/tests/drivers/build_all/dts_fixup.h index 2efeb386790bd..791fbb4446d59 100644 --- a/tests/drivers/build_all/dts_fixup.h +++ b/tests/drivers/build_all/dts_fixup.h @@ -434,8 +434,10 @@ #define DT_INST_0_ST_IIS3DHHC_BUS_NAME "" #define DT_INST_0_ST_IIS3DHHC_IRQ_GPIOS_CONTROLLER_0 "" #define DT_INST_0_ST_IIS3DHHC_IRQ_GPIOS_PIN_0 0 +#define DT_INST_0_ST_IIS3DHHC_IRQ_GPIOS_FLAGS_0 0 #define DT_INST_0_ST_IIS3DHHC_IRQ_GPIOS_CONTROLLER_1 "" #define DT_INST_0_ST_IIS3DHHC_IRQ_GPIOS_PIN_1 0 +#define DT_INST_0_ST_IIS3DHHC_IRQ_GPIOS_FLAGS_1 0 #define DT_INST_0_ST_IIS3DHHC_SPI_MAX_FREQUENCY 6400000 #define DT_ST_IIS3DHHC_BUS_SPI 1 #endif From 7779a63f1d886771480275bb1100f71d55634b30 Mon Sep 17 00:00:00 2001 From: Armando Visconti Date: Fri, 22 Nov 2019 16:59:57 +0100 Subject: [PATCH 5/6] sample/board: sensortile_box: update to use new GPIO API Get rid of all the deprecated functions and definitions replacing them with the new ones. Signed-off-by: Armando Visconti --- boards/arm/sensortile_box/sensortile_box.dts | 8 ++++---- samples/boards/sensortile_box/src/main.c | 14 ++++++++------ 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/boards/arm/sensortile_box/sensortile_box.dts b/boards/arm/sensortile_box/sensortile_box.dts index 6c513fc5689ad..2ab95be77820a 100644 --- a/boards/arm/sensortile_box/sensortile_box.dts +++ b/boards/arm/sensortile_box/sensortile_box.dts @@ -62,7 +62,7 @@ compatible = "st,lps22hh"; reg = <0x5d>; label = "LPS22HH"; - drdy-gpios = <&gpiod 15 GPIO_ACTIVE_LOW>; + drdy-gpios = <&gpiod 15 GPIO_ACTIVE_HIGH>; }; }; @@ -87,7 +87,7 @@ compatible = "st,lis2dw12"; spi-max-frequency = <1000000>; reg = <0>; - irq-gpios = <&gpioc 5 0>; + irq-gpios = <&gpioc 5 GPIO_ACTIVE_HIGH>; label = "LIS2DW12"; }; @@ -95,7 +95,7 @@ compatible = "st,lsm6dso"; spi-max-frequency = <1000000>; reg = <1>; - irq-gpios = <&gpioa 2 0>; + irq-gpios = <&gpioa 2 GPIO_ACTIVE_HIGH>; label = "LSM6DSO"; }; @@ -103,7 +103,7 @@ compatible = "st,iis3dhhc"; spi-max-frequency = <1000000>; reg = <2>; - irq-gpios = <&gpioc 13 0>, <&gpioe 6 0>; + irq-gpios = <&gpioc 13 GPIO_ACTIVE_HIGH>, <&gpioe 6 GPIO_ACTIVE_HIGH>; label = "IIS3DHHC"; }; }; diff --git a/samples/boards/sensortile_box/src/main.c b/samples/boards/sensortile_box/src/main.c index 0ce55328c282c..bf6fafd84b81b 100644 --- a/samples/boards/sensortile_box/src/main.c +++ b/samples/boards/sensortile_box/src/main.c @@ -252,20 +252,22 @@ void main(void) int cnt = 1; led0 = device_get_binding(DT_ALIAS_LED0_GPIOS_CONTROLLER); - gpio_pin_configure(led0, DT_ALIAS_LED0_GPIOS_PIN, GPIO_DIR_OUT); + gpio_pin_configure(led0, DT_ALIAS_LED0_GPIOS_PIN, + GPIO_OUTPUT_ACTIVE | DT_ALIAS_LED0_GPIOS_FLAGS); led1 = device_get_binding(DT_ALIAS_LED1_GPIOS_CONTROLLER); - gpio_pin_configure(led1, DT_ALIAS_LED1_GPIOS_PIN, GPIO_DIR_OUT); + gpio_pin_configure(led1, DT_ALIAS_LED1_GPIOS_PIN, + GPIO_OUTPUT_INACTIVE | DT_ALIAS_LED1_GPIOS_FLAGS); for (i = 0; i < 6; i++) { - gpio_pin_write(led0, DT_ALIAS_LED0_GPIOS_PIN, on); - gpio_pin_write(led1, DT_ALIAS_LED1_GPIOS_PIN, !on); + gpio_pin_set(led0, DT_ALIAS_LED0_GPIOS_PIN, on); + gpio_pin_set(led1, DT_ALIAS_LED1_GPIOS_PIN, !on); k_sleep(K_MSEC(100)); on = (on == 1) ? 0 : 1; } - gpio_pin_write(led0, DT_ALIAS_LED0_GPIOS_PIN, 0); - gpio_pin_write(led1, DT_ALIAS_LED1_GPIOS_PIN, 1); + gpio_pin_set(led0, DT_ALIAS_LED0_GPIOS_PIN, 0); + gpio_pin_set(led1, DT_ALIAS_LED1_GPIOS_PIN, 1); printk("SensorTile.box test!!\n"); From b879abc73b5df3abb14268d0980f53a9c8193876 Mon Sep 17 00:00:00 2001 From: Armando Visconti Date: Tue, 10 Dec 2019 11:13:48 +0100 Subject: [PATCH 6/6] board/shields: x-nucleo-iks01a3: fix drdy/irq flags in overlay files Use GPIO_ACTIVE_HIGH instead of '0' for drdy/irq flags in overlay files. Signed-off-by: Armando Visconti --- boards/shields/x_nucleo_iks01a3/x_nucleo_iks01a3.overlay | 6 +++--- .../shields/x_nucleo_iks01a3/x_nucleo_iks01a3_shub.overlay | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/boards/shields/x_nucleo_iks01a3/x_nucleo_iks01a3.overlay b/boards/shields/x_nucleo_iks01a3/x_nucleo_iks01a3.overlay index 85d4a6b0cc86d..b3141d3c4b44a 100644 --- a/boards/shields/x_nucleo_iks01a3/x_nucleo_iks01a3.overlay +++ b/boards/shields/x_nucleo_iks01a3/x_nucleo_iks01a3.overlay @@ -15,7 +15,7 @@ lps22hh@5d { compatible = "st,lps22hh"; reg = <0x5d>; - drdy-gpios = <&arduino_header 12 0>; /* D6 */ + drdy-gpios = <&arduino_header 12 GPIO_ACTIVE_HIGH>; /* D6 */ label = "LPS22HH"; }; @@ -36,14 +36,14 @@ lis2dw12@19 { compatible = "st,lis2dw12"; reg = <0x19>; - irq-gpios = <&arduino_header 3 0>; /* A3 */ + irq-gpios = <&arduino_header 3 GPIO_ACTIVE_HIGH>; /* A3 */ label = "LIS2DW12"; }; lsm6dso@6b { compatible = "st,lsm6dso"; reg = <0x6b>; - irq-gpios = <&arduino_header 10 0>; /* D4 */ + irq-gpios = <&arduino_header 10 GPIO_ACTIVE_HIGH>; /* D4 */ label = "LSM6DSO"; }; }; diff --git a/boards/shields/x_nucleo_iks01a3/x_nucleo_iks01a3_shub.overlay b/boards/shields/x_nucleo_iks01a3/x_nucleo_iks01a3_shub.overlay index 72e04648a654f..de2aedce46177 100644 --- a/boards/shields/x_nucleo_iks01a3/x_nucleo_iks01a3_shub.overlay +++ b/boards/shields/x_nucleo_iks01a3/x_nucleo_iks01a3_shub.overlay @@ -9,14 +9,14 @@ lis2dw12@19 { compatible = "st,lis2dw12"; reg = <0x19>; - irq-gpios = <&arduino_header 3 0>; /* A3 */ + irq-gpios = <&arduino_header 3 GPIO_ACTIVE_HIGH>; /* A3 */ label = "LIS2DW12"; }; lsm6dso@6b { compatible = "st,lsm6dso"; reg = <0x6b>; - irq-gpios = <&arduino_header 10 0>; /* D4 */ + irq-gpios = <&arduino_header 10 GPIO_ACTIVE_HIGH>; /* D4 */ label = "LSM6DSO"; }; };