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

