Re: [PATCH AUTOSEL 5.15 12/28] ASoC: rockchip: i2s: switch BCLK to GPIO

From: Sasha Levin
Date: Sun Jul 17 2022 - 19:04:10 EST


On Thu, Jul 14, 2022 at 12:29:27PM +0800, Chen-Yu Tsai wrote:
Hi,

On Thu, Jul 14, 2022 at 12:25 PM Sasha Levin <sashal@xxxxxxxxxx> wrote:

From: Judy Hsiao <judyhsiao@xxxxxxxxxxxx>

[ Upstream commit a5450aba737dae3ee1a64b282e609d8375d6700c ]

We discoverd that the state of BCLK on, LRCLK off and SD_MODE on
may cause the speaker melting issue. Removing LRCLK while BCLK
is present can cause unexpected output behavior including a large
DC output voltage as described in the Max98357a datasheet.

In order to:
1. prevent BCLK from turning on by other component.
2. keep BCLK and LRCLK being present at the same time

This patch switches BCLK to GPIO func before LRCLK output, and
configures BCLK func back during LRCLK is output.

Without this fix, BCLK is turned on 11 ms earlier than LRCK by the
da7219.
With this fix, BCLK is turned on only 0.4 ms earlier than LRCK by
the rockchip codec.

Signed-off-by: Judy Hsiao <judyhsiao@xxxxxxxxxxxx>
Link: https://lore.kernel.org/r/20220615045643.3137287-1-judyhsiao@xxxxxxxxxxxx
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

Please drop this one from all stable branches. It caused more problems
than it fixed and will be reverted for 5.19 [1]. The same patch, along
with a proper follow-up fix, are queued up for 5.20.

Now dropped, thanks!

--
Thanks,
Sasha