counter: microchip-tcb-capture: Fix the use of internal GCLK logic
authorDharma Balasubiramani <dharma.b@microchip.com>
Tue, 5 Sep 2023 10:08:35 +0000 (15:38 +0530)
committerWilliam Breathitt Gray <william.gray@linaro.org>
Tue, 5 Sep 2023 16:25:14 +0000 (12:25 -0400)
As per the datasheet, the clock selection Bits 2:0 – TCCLKS[2:0] should
be set to 0 while using the internal GCLK (TIMER_CLOCK1).

Fixes: 106b104137fd ("counter: Add microchip TCB capture counter")
Signed-off-by: Dharma Balasubiramani <dharma.b@microchip.com>
Link: https://lore.kernel.org/r/20230905100835.315024-1-dharma.b@microchip.com
Signed-off-by: William Breathitt Gray <william.gray@linaro.org>
drivers/counter/microchip-tcb-capture.c

index e2d1dc6..c7af13a 100644 (file)
@@ -98,7 +98,7 @@ static int mchp_tc_count_function_write(struct counter_device *counter,
                priv->qdec_mode = 0;
                /* Set highest rate based on whether soc has gclk or not */
                bmr &= ~(ATMEL_TC_QDEN | ATMEL_TC_POSEN);
-               if (priv->tc_cfg->has_gclk)
+               if (!priv->tc_cfg->has_gclk)
                        cmr |= ATMEL_TC_TIMER_CLOCK2;
                else
                        cmr |= ATMEL_TC_TIMER_CLOCK1;