OSDN Git Service

clk: sunxi-ng: h6: Allow I2S to change parent rate
authorJernej Skrabec <jernej.skrabec@siol.net>
Wed, 14 Aug 2019 06:08:48 +0000 (08:08 +0200)
committerChen-Yu Tsai <wens@csie.org>
Wed, 21 Aug 2019 09:20:31 +0000 (17:20 +0800)
I2S doesn't work if parent rate couldn't be change. Difference between
wanted and actual rate is too big.

Fix this by adding CLK_SET_RATE_PARENT flag to I2S clocks.

Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
drivers/clk/sunxi-ng/ccu-sun50i-h6.c

index aebef4a..d89353a 100644 (file)
@@ -505,7 +505,7 @@ static struct ccu_div i2s3_clk = {
                .hw.init        = CLK_HW_INIT_PARENTS("i2s3",
                                                      audio_parents,
                                                      &ccu_div_ops,
-                                                     0),
+                                                     CLK_SET_RATE_PARENT),
        },
 };
 
@@ -518,7 +518,7 @@ static struct ccu_div i2s0_clk = {
                .hw.init        = CLK_HW_INIT_PARENTS("i2s0",
                                                      audio_parents,
                                                      &ccu_div_ops,
-                                                     0),
+                                                     CLK_SET_RATE_PARENT),
        },
 };
 
@@ -531,7 +531,7 @@ static struct ccu_div i2s1_clk = {
                .hw.init        = CLK_HW_INIT_PARENTS("i2s1",
                                                      audio_parents,
                                                      &ccu_div_ops,
-                                                     0),
+                                                     CLK_SET_RATE_PARENT),
        },
 };
 
@@ -544,7 +544,7 @@ static struct ccu_div i2s2_clk = {
                .hw.init        = CLK_HW_INIT_PARENTS("i2s2",
                                                      audio_parents,
                                                      &ccu_div_ops,
-                                                     0),
+                                                     CLK_SET_RATE_PARENT),
        },
 };