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

Brian Norris briannorris at chromium.org
Wed Jun 15 10:29:19 PDT 2022


Hi,

Normally the subject should look like "[PATCH v1] ...", not just "[v1]
...".

On Wed, Jun 15, 2022 at 04:51:46AM +0000, Judy Hsiao wrote:
> 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 adjusts the device tree to allow BCLK to switch
> to GPIO func before LRCLK output, and switch back during
> LRCLK is output.

I get how this "allows" switching, but it seems like this would make
more sense in a patch series that implements the switching.

I'm also not certain, but it might be worth adding this to the DT
binding, so we set the 'pinctrl-names' piece (which presumably you need
to use in a driver) in stone.

> --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi

...

> @@ -2225,6 +2226,8 @@ pcfg_input_pull_down: pcfg-input-pull-down {
>  			input-enable;
>  			bias-pull-down;
>  			drive-strength = <2>;
> +		pcfg_pull_none_hiz: pcfg-pull-none-hiz {
> +			bias-disable;
>  		};

This isn't valid syntax. You probably didn't resolve conflicts correctly
when rebasing a patch? You need an extra brace somewhere.

Also, this definition seems like it belongs next to 'pcfg_pull_none'
(around line 2138), or at least somewhere near the other 'pcfg_pull_*'
handles.

Brian

>  
>  		clock {
 



More information about the linux-arm-kernel mailing list