On Fri, Nov 01, 2024 at 05:31:52AM +0000, Alexey Klimov wrote: > One WSA881X amplifier is connected on QRB4210 RB2 board > hence only mono speaker is supported. This amplifier is set > to work in analog mode only. Also add required powerdown > pins/gpios. > > Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> > Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> > --- > arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 45 ++++++++++++++++++++++++ > 1 file changed, 45 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts > index fc71f5930688..76b9ae1b0ebc 100644 > --- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts > +++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts > @@ -63,6 +63,16 @@ hdmi_con: endpoint { > }; > }; > > + i2c0_gpio: i2c0 { Is 0 name on the schematics or datasheet? If yes, then i2c-0. If not, then i2c-1 > + compatible = "i2c-gpio"; > + > + sda-gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>; > + scl-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; > + #address-cells = <1>; > + #size-cells = <0>; > + status = "disabled"; > + }; > + > i2c2_gpio: i2c { i2c-(x+1) > compatible = "i2c-gpio"; > > @@ -272,6 +282,25 @@ zap-shader { > }; > }; > > +&i2c0_gpio { > + clock-frequency = <400000>; > + status = "okay"; > + > + wsa881x: codec@f { > + compatible = "qcom,qrb4210-wsa881x-i2c-codec"; > + reg = <0x0f>; > + pinctrl-0 = <&wsa_en_active>; > + pinctrl-1 = <&wsa_en_sleep>; > + pinctrl-names = "default", "sleep"; > + clocks = <&q6afecc LPASS_CLK_ID_MCLK_2 LPASS_CLK_ATTRIBUTE_COUPLE_NO>; > + clock-names = "wsa_mclk"; > + powerdown-gpios = <&lpass_tlmm 16 GPIO_ACTIVE_LOW>; > + mclk-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_HIGH>; > + sound-name-prefix = "SpkrMono"; > + #sound-dai-cells = <0>; > + }; > +}; > + > &i2c2_gpio { > clock-frequency = <400000>; > status = "okay"; > @@ -746,6 +775,22 @@ wcd_reset_n_sleep: wcd-reset-n-sleep-state { > bias-disable; > output-low; > }; > + > + wsa_en_active: wsa-en-active-state { > + pins = "gpio106"; > + function = "gpio"; > + drive-strength = <16>; > + bias-disable; > + output-high; > + }; > + > + wsa_en_sleep: wsa-en-sleep-state { > + pins = "gpio106"; > + function = "gpio"; > + drive-strength = <2>; > + bias-pull-down; > + input-enable; Are you sure this passes dtbs_check? I think this was not allowed since 1.5 years. Best regards, Krzysztof