diff --git a/drivers/sensor/stts751/stts751.c b/drivers/sensor/stts751/stts751.c
index a0282ea..65fb15b 100644
--- a/drivers/sensor/stts751/stts751.c
+++ b/drivers/sensor/stts751/stts751.c
@@ -202,9 +202,7 @@
 static const struct stts751_config stts751_config = {
 	COND_CODE_1(DT_INST_ON_BUS(0, i2c), (.i2c = I2C_DT_SPEC_INST_GET(0),), ())
 #ifdef CONFIG_STTS751_TRIGGER
-	.event_port	= DT_INST_GPIO_LABEL(0, drdy_gpios),
-	.event_pin	= DT_INST_GPIO_PIN(0, drdy_gpios),
-	.int_flags	= DT_INST_GPIO_FLAGS(0, drdy_gpios),
+	.int_gpio = GPIO_DT_SPEC_INST_GET(0, drdy_gpios),
 #endif
 #if DT_ANY_INST_ON_BUS_STATUS_OKAY(i2c)
 	.bus_init = stts751_i2c_init,
diff --git a/drivers/sensor/stts751/stts751.h b/drivers/sensor/stts751/stts751.h
index e6a3084..e311b09 100644
--- a/drivers/sensor/stts751/stts751.h
+++ b/drivers/sensor/stts751/stts751.h
@@ -25,9 +25,7 @@
 #endif
 	int (*bus_init)(const struct device *dev);
 #ifdef CONFIG_STTS751_TRIGGER
-	const char *event_port;
-	uint8_t event_pin;
-	uint8_t int_flags;
+	struct gpio_dt_spec int_gpio;
 #endif
 };
 
@@ -42,8 +40,6 @@
 #endif
 
 #ifdef CONFIG_STTS751_TRIGGER
-	const struct device *gpio;
-	uint32_t pin;
 	struct gpio_callback gpio_cb;
 
 	struct sensor_trigger data_ready_trigger;
diff --git a/drivers/sensor/stts751/stts751_trigger.c b/drivers/sensor/stts751/stts751_trigger.c
index 0adbaaa..0bf0f73 100644
--- a/drivers/sensor/stts751/stts751_trigger.c
+++ b/drivers/sensor/stts751/stts751_trigger.c
@@ -71,8 +71,7 @@
 		stts751->thsld_handler(dev, &thsld_trigger);
 	}
 
-	gpio_pin_interrupt_configure(stts751->gpio, cfg->event_pin,
-				     GPIO_INT_EDGE_TO_ACTIVE);
+	gpio_pin_interrupt_configure_dt(&cfg->int_gpio, GPIO_INT_EDGE_TO_ACTIVE);
 }
 
 static void stts751_gpio_callback(const struct device *dev,
@@ -84,7 +83,7 @@
 
 	ARG_UNUSED(pins);
 
-	gpio_pin_interrupt_configure(dev, cfg->event_pin, GPIO_INT_DISABLE);
+	gpio_pin_interrupt_configure_dt(&cfg->int_gpio, GPIO_INT_DISABLE);
 
 #if defined(CONFIG_STTS751_TRIGGER_OWN_THREAD)
 	k_sem_give(&stts751->gpio_sem);
@@ -119,11 +118,9 @@
 	const struct stts751_config *cfg = dev->config;
 	int ret;
 
-	/* setup data ready gpio interrupt */
-	stts751->gpio = device_get_binding(cfg->event_port);
-	if (stts751->gpio == NULL) {
-		LOG_DBG("Cannot get pointer to %s device", cfg->event_port);
-		return -EINVAL;
+	if (!device_is_ready(cfg->int_gpio.port)) {
+		LOG_ERR("GPIO device not ready");
+		return -ENODEV;
 	}
 
 #if defined(CONFIG_STTS751_TRIGGER_OWN_THREAD)
@@ -138,17 +135,15 @@
 	stts751->work.handler = stts751_work_cb;
 #endif /* CONFIG_STTS751_TRIGGER_OWN_THREAD */
 
-	ret = gpio_pin_configure(stts751->gpio, cfg->event_pin,
-				 GPIO_INPUT | cfg->int_flags);
+	ret = gpio_pin_configure_dt(&cfg->int_gpio, GPIO_INPUT);
 	if (ret < 0) {
 		LOG_DBG("Could not configure gpio");
 		return ret;
 	}
 
-	gpio_init_callback(&stts751->gpio_cb, stts751_gpio_callback,
-			   BIT(cfg->event_pin));
+	gpio_init_callback(&stts751->gpio_cb, stts751_gpio_callback, BIT(cfg->int_gpio.pin));
 
-	if (gpio_add_callback(stts751->gpio, &stts751->gpio_cb) < 0) {
+	if (gpio_add_callback(cfg->int_gpio.port, &stts751->gpio_cb) < 0) {
 		LOG_DBG("Could not set gpio callback");
 		return -EIO;
 	}
@@ -163,6 +158,5 @@
 	stts751_low_temperature_threshold_set(stts751->ctx,
 					stts751_from_celsius_to_lsb(temp_lo));
 
-	return gpio_pin_interrupt_configure(stts751->gpio, cfg->event_pin,
-					    GPIO_INT_EDGE_TO_ACTIVE);
+	return gpio_pin_interrupt_configure_dt(&cfg->int_gpio, GPIO_INT_EDGE_TO_ACTIVE);
 }
