clk: at91: sam9x60: Don't use audio PLL
authorCodrin Ciubotariu <codrin.ciubotariu@microchip.com>
Fri, 31 Jan 2020 11:58:16 +0000 (13:58 +0200)
committerStephen Boyd <sboyd@kernel.org>
Wed, 12 Feb 2020 23:30:00 +0000 (15:30 -0800)
On sam9x60, there is not audio PLL and so I2S and classD have to use one
of the best matching parents for their generated clock.

Fixes: 01e2113de9a5 ("clk: at91: add sam9x60 pmc driver")
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Link: https://lkml.kernel.org/r/20200131115816.12483-1-codrin.ciubotariu@microchip.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/at91/sam9x60.c

index 77398aefeb6db45396f23db2ecdf16c13c6f0769..bacb32c15b26ec0e038f269be844d837a652a33f 100644 (file)
@@ -124,7 +124,6 @@ static const struct {
        char *n;
        u8 id;
        struct clk_range r;
-       bool pll;
 } sam9x60_gck[] = {
        { .n = "flex0_gclk",  .id = 5, },
        { .n = "flex1_gclk",  .id = 6, },
@@ -144,11 +143,9 @@ static const struct {
        { .n = "sdmmc1_gclk", .id = 26, .r = { .min = 0, .max = 105000000 }, },
        { .n = "flex11_gclk", .id = 32, },
        { .n = "flex12_gclk", .id = 33, },
-       { .n = "i2s_gclk",    .id = 34, .r = { .min = 0, .max = 105000000 },
-               .pll = true, },
+       { .n = "i2s_gclk",    .id = 34, .r = { .min = 0, .max = 105000000 }, },
        { .n = "pit64b_gclk", .id = 37, },
-       { .n = "classd_gclk", .id = 42, .r = { .min = 0, .max = 100000000 },
-               .pll = true, },
+       { .n = "classd_gclk", .id = 42, .r = { .min = 0, .max = 100000000 }, },
        { .n = "tcb1_gclk",   .id = 45, },
        { .n = "dbgu_gclk",   .id = 47, },
 };
@@ -290,7 +287,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np)
                                                 sam9x60_gck[i].n,
                                                 parent_names, 6,
                                                 sam9x60_gck[i].id,
-                                                sam9x60_gck[i].pll,
+                                                false,
                                                 &sam9x60_gck[i].r);
                if (IS_ERR(hw))
                        goto err_free;