Message ID | 1452155155-16232-5-git-send-email-wxt@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Caesar, Am Donnerstag, 7. Januar 2016, 16:25:47 schrieb Caesar Wang: > SCLk_I2S_OUT is the noc bus clock for i2s module, this clock is used by > extra codecs. > > Due to it shouldn't belong to any driver, but we need it enabled, > so just mark it as the CLK_IGNORE_UNUSED flag. What makes you think it shouldn't belong to any driver? In most schematics I have, i2s_clkout is going to some clock-input of the audio codec - probably the MCLK input on your rt5616. And while the new rt5616 driver does not seem to do clock handling, it should just handle the clock using the normal APIs. Heiko
Heiko, ? 2016?01?07? 18:05, Heiko Stuebner ??: > Hi Caesar, > > Am Donnerstag, 7. Januar 2016, 16:25:47 schrieb Caesar Wang: >> SCLk_I2S_OUT is the noc bus clock for i2s module, this clock is used by >> extra codecs. >> >> Due to it shouldn't belong to any driver, but we need it enabled, >> so just mark it as the CLK_IGNORE_UNUSED flag. > What makes you think it shouldn't belong to any driver? > > In most schematics I have, i2s_clkout is going to some clock-input of the > audio codec - probably the MCLK input on your rt5616. And while the new > rt5616 driver does not seem to do clock handling, it should just handle the > clock using the normal APIs. You are right, that's seem has to find the root cause. I'm wonder that the codec/i2s is working in kernel v4.1 patch without it. In general, the MLCK will be handled in i2s driver if the cpu side is master. > > > Heiko > > _______________________________________________ > Linux-rockchip mailing list > Linux-rockchip@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-rockchip
Hi Caesar, Am Freitag, 8. Januar 2016, 17:26:18 schrieb Caesar Wang: > ? 2016?01?07? 18:05, Heiko Stuebner ??: > > Am Donnerstag, 7. Januar 2016, 16:25:47 schrieb Caesar Wang: > >> SCLk_I2S_OUT is the noc bus clock for i2s module, this clock is used by > >> extra codecs. > >> > >> Due to it shouldn't belong to any driver, but we need it enabled, > >> so just mark it as the CLK_IGNORE_UNUSED flag. > > > > What makes you think it shouldn't belong to any driver? > > > > In most schematics I have, i2s_clkout is going to some clock-input of > > the > > audio codec - probably the MCLK input on your rt5616. And while the new > > rt5616 driver does not seem to do clock handling, it should just handle > > the clock using the normal APIs. > > You are right, that's seem has to find the root cause. > I'm wonder that the codec/i2s is working in kernel v4.1 patch without it. > > In general, the MLCK will be handled in i2s driver if the cpu side is > master. looking at the rt5616 datasheet, that would be BCLK1 instead I think. This one does differentiate between being master/slave. The master/sysclk (mclk) is also handled in other drivers in all cases. (da7213.c, da7219.c, max98090.c, max98095.c, probably more) Heiko
diff --git a/drivers/clk/rockchip/clk-rk3036.c b/drivers/clk/rockchip/clk-rk3036.c index 34c78f4..c33ed3c 100644 --- a/drivers/clk/rockchip/clk-rk3036.c +++ b/drivers/clk/rockchip/clk-rk3036.c @@ -310,7 +310,7 @@ static struct rockchip_clk_branch rk3036_clk_branches[] __initdata = { RK2928_CLKSEL_CON(7), 0, RK2928_CLKGATE_CON(0), 10, GFLAGS, &rk3036_i2s_fracmux), - COMPOSITE_NODIV(SCLK_I2S_OUT, "i2s_clkout", mux_i2s_clkout_p, 0, + COMPOSITE_NODIV(SCLK_I2S_OUT, "i2s_clkout", mux_i2s_clkout_p, CLK_IGNORE_UNUSED, RK2928_CLKSEL_CON(3), 12, 1, MFLAGS, RK2928_CLKGATE_CON(0), 13, GFLAGS), GATE(SCLK_I2S, "sclk_i2s", "i2s_pre", CLK_SET_RATE_PARENT,
SCLk_I2S_OUT is the noc bus clock for i2s module, this clock is used by extra codecs. Due to it shouldn't belong to any driver, but we need it enabled, so just mark it as the CLK_IGNORE_UNUSED flag. Signed-off-by: Caesar Wang <wxt@rock-chips.com> --- Changes in v2: None drivers/clk/rockchip/clk-rk3036.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)