]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clk: ingenic: jz4770: Modify C1CLK clock to disable CPU clock stop on idle
authorPaul Cercueil <paul@crapouillou.net>
Sun, 20 May 2018 16:31:15 +0000 (16:31 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Aug 2018 05:47:37 +0000 (07:47 +0200)
[ Upstream commit 45ba63a29fd9b8a461110185e3abc5b4c90b806a ]

When the main processor goes idle, by default its clock is stopped.
However, this also stops the clock of the co-processor.

Here, if the C1CLK clock is enabled, we disable this functionality.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/clk/ingenic/jz4770-cgu.c

index c78d369b9403e299bae0167929bb5b177d599aa1..992bb2e146d6554bc1e3f574bf0d7448a883a2ef 100644 (file)
@@ -194,9 +194,10 @@ static const struct ingenic_cgu_clk_info jz4770_cgu_clocks[] = {
                .div = { CGU_REG_CPCCR, 16, 1, 4, 22, -1, -1 },
        },
        [JZ4770_CLK_C1CLK] = {
-               "c1clk", CGU_CLK_DIV,
+               "c1clk", CGU_CLK_DIV | CGU_CLK_GATE,
                .parents = { JZ4770_CLK_PLL0, },
                .div = { CGU_REG_CPCCR, 12, 1, 4, 22, -1, -1 },
+               .gate = { CGU_REG_OPCR, 31, true }, // disable CCLK stop on idle
        },
        [JZ4770_CLK_PCLK] = {
                "pclk", CGU_CLK_DIV,