clk: renesas: r9a06g032: Fix UART clkgrp bitsel
authorRalph Siemsen <ralph.siemsen@linaro.org>
Wed, 18 May 2022 18:25:27 +0000 (14:25 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:23:38 +0000 (14:23 +0200)
[ Upstream commit 2dee50ab9e72a3cae75b65e5934c8dd3e9bf01bc ]

There are two UART clock groups, each having a mux to select its
upstream clock source. The register/bit definitions for accessing these
two muxes appear to have been reversed since introduction. Correct them
so as to match the hardware manual.

Fixes: 4c3d88526eba ("clk: renesas: Renesas R9A06G032 clock driver")

Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org>
Reviewed-by: Phil Edworthy <phil.edworthy@renesas.com>
Link: https://lore.kernel.org/r/20220518182527.1693156-1-ralph.siemsen@linaro.org
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/renesas/r9a06g032-clocks.c

index c99942f..abc0891 100644 (file)
@@ -286,8 +286,8 @@ static const struct r9a06g032_clkdesc r9a06g032_clocks[] = {
                .name = "uart_group_012",
                .type = K_BITSEL,
                .source = 1 + R9A06G032_DIV_UART,
-               /* R9A06G032_SYSCTRL_REG_PWRCTRL_PG1_PR2 */
-               .dual.sel = ((0xec / 4) << 5) | 24,
+               /* R9A06G032_SYSCTRL_REG_PWRCTRL_PG0_0 */
+               .dual.sel = ((0x34 / 4) << 5) | 30,
                .dual.group = 0,
        },
        {
@@ -295,8 +295,8 @@ static const struct r9a06g032_clkdesc r9a06g032_clocks[] = {
                .name = "uart_group_34567",
                .type = K_BITSEL,
                .source = 1 + R9A06G032_DIV_P2_PG,
-               /* R9A06G032_SYSCTRL_REG_PWRCTRL_PG0_0 */
-               .dual.sel = ((0x34 / 4) << 5) | 30,
+               /* R9A06G032_SYSCTRL_REG_PWRCTRL_PG1_PR2 */
+               .dual.sel = ((0xec / 4) << 5) | 24,
                .dual.group = 1,
        },
        D_UGATE(CLK_UART0, "clk_uart0", UART_GROUP_012, 0, 0, 0x1b2, 0x1b3, 0x1b4, 0x1b5),