Enable the sndcard node with three MultiMedia frontends, a USB offload
RX link, and two Awinic AW88261 speaker amps on senary MI2S.

While here, use the correct compatible for audiocc for this phone,
and remove references to power-domains from a 'reserved' node.

Signed-off-by: Val Packett <[email protected]>
---
 .../qcom/sm7325-motorola-dubai-common.dtsi    | 119 ++++++++++++++++++
 1 file changed, 119 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm7325-motorola-dubai-common.dtsi 
b/arch/arm64/boot/dts/qcom/sm7325-motorola-dubai-common.dtsi
index 3860ab8508a0..1e1c195de1af 100644
--- a/arch/arm64/boot/dts/qcom/sm7325-motorola-dubai-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm7325-motorola-dubai-common.dtsi
@@ -16,6 +16,8 @@
 #include <dt-bindings/leds/common.h>
 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include <dt-bindings/sound/qcom,q6afe.h>
+#include <dt-bindings/sound/qcom,q6asm.h>
 
 #include "sm7325.dtsi"
 #include "pm7325.dtsi"
@@ -699,6 +701,40 @@ &gpu_zap_shader {
        firmware-name = "qcom/sm7325/motorola/dubai/a660_zap.mbn";
 };
 
+&i2c1 {
+       clock-frequency = <100000>;
+
+       status = "okay";
+
+       /* Bottom speaker */
+       aw88261_r: audio-codec@34 {
+               compatible = "awinic,aw88261";
+               reg = <0x34>;
+
+               dvdd-supply = <&vreg_l18b_1p8>;
+               sound-name-prefix = "Amplifier R";
+               firmware-name = "qcom/sm7325/motorola/dubai/aw88261_acf.bin";
+
+               awinic,audio-channel = <0>;
+
+               #sound-dai-cells = <0>;
+       };
+
+       /* Top speaker / ear speaker */
+       aw88261_l: audio-codec@35 {
+               compatible = "awinic,aw88261";
+               reg = <0x35>;
+
+               dvdd-supply = <&vreg_l18b_1p8>;
+               sound-name-prefix = "Amplifier L";
+               firmware-name = "qcom/sm7325/motorola/dubai/aw88261_acf.bin";
+
+               awinic,audio-channel = <1>;
+
+               #sound-dai-cells = <0>;
+       };
+};
+
 &i2c4 {
        clock-frequency = <100000>;
 
@@ -732,6 +768,11 @@ &ipa {
        status = "okay";
 };
 
+&lpass_audiocc {
+       compatible = "qcom,qcm6490-lpassaudiocc";
+       /delete-property/ power-domains;
+};
+
 &pm7250b_adc {
        channel@4e {
                reg = <ADC5_AMUX_THM2_100K_PU>;
@@ -972,10 +1013,22 @@ &pon_resin {
        status = "okay";
 };
 
+&q6afedai {
+       dai@147 {
+               reg = <SENARY_MI2S_RX>;
+               qcom,sd-lines = <0>;
+       };
+};
+
 &qfprom {
        vcc-supply = <&vdd_qfprom>;
 };
 
+&qup_i2c1_data_clk {
+       drive-strength = <2>;
+       bias-pull-up;
+};
+
 &qup_spi13_cs {
        drive-strength = <6>;
        bias-pull-down;
@@ -1066,6 +1119,72 @@ &rmtfs_mem {
                    <QCOM_SCM_VMID_NAV>;
 };
 
+&sound {
+       compatible = "motorola,dubai-sndcard";
+       model = "Motorola-dubai";
+
+       pinctrl-0 = <&lpass_i2s2_active>;
+       pinctrl-1 = <&lpass_i2s2_sleep>;
+       pinctrl-names = "default",
+                       "sleep";
+
+       mm1-dai-link {
+               link-name = "MultiMedia1";
+
+               cpu {
+                       sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
+               };
+       };
+
+       mm2-dai-link {
+               link-name = "MultiMedia2";
+
+               cpu {
+                       sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
+               };
+       };
+
+       mm3-dai-link {
+               link-name = "MultiMedia3";
+
+               cpu {
+                       sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
+               };
+       };
+
+       i2s-dai-link {
+               link-name = "Senary MI2S Playback";
+
+               codec {
+                       sound-dai = <&aw88261_l>, <&aw88261_r>;
+               };
+
+               cpu {
+                       sound-dai = <&q6afedai SENARY_MI2S_RX>;
+               };
+
+               platform {
+                       sound-dai = <&q6routing>;
+               };
+       };
+
+       usb-dai-link {
+               link-name = "USB Playback";
+
+               codec {
+                       sound-dai = <&q6usbdai USB_RX>;
+               };
+
+               cpu {
+                       sound-dai = <&q6afedai USB_RX>;
+               };
+
+               platform {
+                       sound-dai = <&q6routing>;
+               };
+       };
+};
+
 &spi13 {
        status = "okay";
 
-- 
2.55.0


Reply via email to