WSL2-Linux-Kernel/sound/soc/rockchip
Judy Hsiao a5450aba73
ASoC: rockchip: i2s: switch BCLK to GPIO
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@chromium.org>
Link: https://lore.kernel.org/r/20220615045643.3137287-1-judyhsiao@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-24 16:21:52 +01:00
..
Kconfig ASoC: rockchip: add support for i2s-tdm controller 2021-10-07 16:58:16 +01:00
Makefile Merge branch 'asoc-5.15' into asoc-5.16 2021-10-21 14:41:32 +01:00
rk3288_hdmi_analog.c ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
rk3399_gru_sound.c ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
rockchip_i2s.c ASoC: rockchip: i2s: switch BCLK to GPIO 2022-06-24 16:21:52 +01:00
rockchip_i2s.h ASoC: rockchip: i2s: Add support for frame inversion 2021-08-26 13:59:40 +01:00
rockchip_i2s_tdm.c ASoC: rockchip: i2s_tdm: Fixup config for SND_SOC_DAIFMT_DSP_A/B 2022-03-23 12:17:52 +00:00
rockchip_i2s_tdm.h ASoC: rockchip: add support for i2s-tdm controller 2021-10-07 16:58:16 +01:00
rockchip_max98090.c ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
rockchip_pdm.c ASoC: rockchip: pdm: Add support for path map 2021-09-13 01:44:10 +01:00
rockchip_pdm.h ASoC: rockchip: pdm: Add support for path map 2021-09-13 01:44:10 +01:00
rockchip_rt5645.c ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
rockchip_spdif.c ASoC: rockchip: spdif: Add support for rk3568 spdif 2021-08-26 13:56:56 +01:00
rockchip_spdif.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00