soc: samsung: usi: prevent wrong bits inversion during unconfiguring
authorIvaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Sun, 13 Apr 2025 16:37:55 +0000 (19:37 +0300)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Mon, 14 Apr 2025 06:51:18 +0000 (08:51 +0200)
Instead of setting bit 1 (USI_OPTION_CLKSTOP_ON) during USI unconfiguring,
all the other bits in the USI_OPTION register get inverted, which
should not happen as that means the clock will keep getting provided
to the USI IP. Remove the unnecessary tilde.

Fixes: 11e77776b58a ("soc: samsung: usi: add a routine for unconfiguring the ip")
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Link: https://lore.kernel.org/r/20250413163755.788907-1-ivo.ivanov.ivanov1@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
drivers/soc/samsung/exynos-usi.c

index c5661ac..5f7bdf3 100644 (file)
@@ -233,7 +233,7 @@ static void exynos_usi_unconfigure(void *data)
        /* Make sure that we've stopped providing the clock to USI IP */
        val = readl(usi->regs + USI_OPTION);
        val &= ~USI_OPTION_CLKREQ_ON;
-       val |= ~USI_OPTION_CLKSTOP_ON;
+       val |= USI_OPTION_CLKSTOP_ON;
        writel(val, usi->regs + USI_OPTION);
 
        /* Set USI block state to reset */