From 30a2326d0b72cf8ae02fa538651d74d218d44891 Mon Sep 17 00:00:00 2001 From: Jeppe Odgaard Date: Thu, 13 Jul 2023 14:42:52 +0200 Subject: [PATCH] drivers: sensor: qdec_mcux: update phase bit in register Update single phase bit in register when changing data->qdec_config. Otherwise the changed settings has no effect. Signed-off-by: Jeppe Odgaard --- drivers/sensor/qdec_mcux/qdec_mcux.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/sensor/qdec_mcux/qdec_mcux.c b/drivers/sensor/qdec_mcux/qdec_mcux.c index 467fec4bcb7..ac95a4d0a7f 100644 --- a/drivers/sensor/qdec_mcux/qdec_mcux.c +++ b/drivers/sensor/qdec_mcux/qdec_mcux.c @@ -42,6 +42,7 @@ static enc_decoder_work_mode_t int_to_work_mode(int32_t val) static int qdec_mcux_attr_set(const struct device *dev, enum sensor_channel ch, enum sensor_attribute attr, const struct sensor_value *val) { + const struct qdec_mcux_config *config = dev->config; struct qdec_mcux_data *data = dev->data; if (ch != SENSOR_CHAN_ROTATION) { @@ -59,6 +60,8 @@ static int qdec_mcux_attr_set(const struct device *dev, enum sensor_channel ch, case SENSOR_ATTR_QDEC_ENABLE_SINGLE_PHASE: data->qdec_config.decoderWorkMode = int_to_work_mode(val->val1); + + WRITE_BIT(config->base->CTRL, ENC_CTRL_PH1_SHIFT, val->val1); return 0; default: return -ENOTSUP;