@@ -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 {
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(+)