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 { + 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 { 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; + }; }; &uart3 { -- 2.45.2