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@linaro.org>
> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
> ---
> 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