[PATCH v1] arm64: dts: rk3399: i2s: switch BCLK to GPIO

Brian Norris briannorris at chromium.org
Thu Jul 14 11:14:37 PDT 2022


On Fri, Jul 8, 2022 at 1:07 AM Judy Hsiao <judyhsiao at chromium.org> wrote:
>
> We discoverd that the state of BCLK on, LRCLK off and SD_MODE on

super-nit: s/discoverd/discovered/

(If this is the only issue, perhaps Heiko can fix that when applying.)

> 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 adjusts the device tree to allow BCLK to switch
> to GPIO func before LRCLK output, and switch back during
> LRCLK is output.
>
> Signed-off-by: Judy Hsiao <judyhsiao at chromium.org>

IIUC, it's not guaranteed everyone is using max98357a on this I2S
channel, but I suppose this change is still safe anyway? Or if this is
expected only for Gru-related boards, we could override the i2s node
settings in rk3399-gru.dtsi or similar.

Anyway, I think this is right:

Reviewed-by: Brian Norris <briannorris at chromium.org>



More information about the Linux-rockchip mailing list