]> git.baikalelectronics.ru Git - kernel.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Oct 2023 21:08:58 +0000 (23:08 +0200)
commit df8fdd01c98b99d04915c04f3a5ce73f55456b7c upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/counter/microchip-tcb-capture.c

index e2d1dc6ca6682f4fc9a11cf0120f5b6548e60393..c7af13aca36cfdfd623adb210b4ebd8cdff7a59e 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;