]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: sdm845-starqltechn: add initial sound support
authorDzmitry Sankouski <dsankouski@gmail.com>
Tue, 25 Feb 2025 16:39:01 +0000 (19:39 +0300)
committerBjorn Andersson <andersson@kernel.org>
Mon, 19 May 2025 20:33:48 +0000 (15:33 -0500)
Add support for sound (headphones and mics only)
Also redefine slpi reserved memory, because adsp_mem overlaps with
slpi_mem inherited from sdm845.dtsi.

Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
Link: https://lore.kernel.org/r/20250225-starqltechn_integration_upstream-v9-10-a5d80375cb66@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts

index 320add4697bfed0865d5fa7c9ea9b2be6a5919fd..762182331dc52c98493925d9538fe6f615c38e90 100644 (file)
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/leds/common.h>
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include <dt-bindings/sound/qcom,q6afe.h>
+#include <dt-bindings/sound/qcom,q6asm.h>
+#include <dt-bindings/sound/qcom,wcd934x.h>
+
 #include "sdm845.dtsi"
 #include "pm8998.dtsi"
+#include "sdm845-wcd9340.dtsi"
+
+/delete-node/ &adsp_mem;
+/delete-node/ &slpi_mem;
 
 / {
        chassis-type = "handset";
                        ftrace-size = <0x40000>;
                        pmsg-size = <0x40000>;
                };
+
+               slpi_mem: slpi@96700000 {
+                       reg = <0 0x96700000 0 0xf00000>;
+                       no-map;
+               };
+
+               adsp_mem: memory@97800000 {
+                       reg = <0 0x97800000 0 0x2000000>;
+                       no-map;
+               };
        };
 
        i2c21 {
        };
 };
 
+&adsp_pas {
+       firmware-name = "qcom/sdm845/starqltechn/adsp.mbn";
+       status = "okay";
+};
+
+&lpasscc {
+       status = "okay";
+};
+
+&sound {
+       compatible = "qcom,sdm845-sndcard";
+       model = "Samsung Galaxy S9";
+       pinctrl-0 = <&quat_mi2s_active &quat_mi2s_sd0_active &quat_mi2s_sd1_active>;
+       pinctrl-names = "default";
+       status = "okay";
+
+       audio-routing = "RX_BIAS", "MCLK",
+                       "AMIC2", "MIC BIAS2",   /* Headset Mic */
+                       "AMIC3", "MIC BIAS2",   /* FM radio left Tx */
+                       "AMIC4", "MIC BIAS2",   /* FM radio right Tx */
+                       "DMIC0", "MCLK",        /* Bottom Mic */
+                       "DMIC0", "MIC BIAS1",
+                       "DMIC2", "MCLK",        /* Top Mic */
+                       "DMIC2", "MIC BIAS3";
+
+       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>;
+               };
+       };
+
+       mm4-dai-link {
+               link-name = "MultiMedia4";
+
+               cpu {
+                       sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>;
+               };
+       };
+
+       mm5-dai-link {
+               link-name = "MultiMedia5";
+
+               cpu {
+                       sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA5>;
+               };
+       };
+
+       mm6-dai-link {
+               link-name = "MultiMedia6";
+
+               cpu {
+                       sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA6>;
+               };
+       };
+
+       slim-dai-link {
+               link-name = "SLIM Playback 1";
+
+               codec {
+                       sound-dai = <&wcd9340 AIF1_PB>;
+               };
+
+               cpu {
+                       sound-dai = <&q6afedai SLIMBUS_0_RX>;
+               };
+
+               platform {
+                       sound-dai = <&q6routing>;
+               };
+       };
+
+       slimcap-dai-link {
+               link-name = "SLIM Capture 1";
+
+               codec {
+                       sound-dai = <&wcd9340 AIF1_CAP>;
+               };
+
+               cpu {
+                       sound-dai = <&q6afedai SLIMBUS_0_TX>;
+               };
+
+               platform {
+                       sound-dai = <&q6routing>;
+               };
+       };
+
+       slim2-dai-link {
+               link-name = "SLIM Playback 2";
+
+               codec {
+                       sound-dai = <&wcd9340 AIF2_PB>;
+               };
+
+               cpu {
+                       sound-dai = <&q6afedai SLIMBUS_1_RX>;
+               };
+
+               platform {
+                       sound-dai = <&q6routing>;
+               };
+       };
+
+       slimcap2-dai-link {
+               link-name = "SLIM Capture 2";
+
+               codec {
+                       sound-dai = <&wcd9340 AIF2_CAP>;
+               };
+
+               cpu {
+                       sound-dai = <&q6afedai SLIMBUS_1_TX>;
+               };
+
+               platform {
+                       sound-dai = <&q6routing>;
+               };
+       };
+
+       slimcap3-dai-link {
+               link-name = "SLIM Capture 3";
+
+               codec {
+                       sound-dai = <&wcd9340 AIF3_CAP>;
+               };
+
+               cpu {
+                       sound-dai = <&q6afedai SLIMBUS_2_TX>;
+               };
+
+               platform {
+                       sound-dai = <&q6routing>;
+               };
+       };
+};
+
+&q6afedai {
+       dai@22 {
+               reg = <22>;
+               qcom,sd-lines = <1>;
+       };
+
+       dai@23 {
+               reg = <23>;
+               qcom,sd-lines = <0>;
+       };
+};
+
+&q6asmdai {
+       dai@0 {
+               reg = <0>;
+       };
+
+       dai@1 {
+               reg = <1>;
+       };
+
+       dai@2 {
+               reg = <2>;
+       };
+
+       dai@3 {
+               reg = <3>;
+       };
+
+       dai@4 {
+               reg = <4>;
+       };
+
+       dai@5 {
+               reg = <5>;
+       };
+};
+
+&wcd9340 {
+       reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
+       vdd-buck-supply = <&vreg_s4a_1p8>;
+       vdd-buck-sido-supply = <&vreg_s4a_1p8>;
+       vdd-tx-supply = <&vreg_s4a_1p8>;
+       vdd-rx-supply = <&vreg_s4a_1p8>;
+       vdd-io-supply = <&vreg_s4a_1p8>;
+       qcom,micbias1-microvolt = <1800000>;
+       qcom,micbias2-microvolt = <2700000>;
+       qcom,micbias3-microvolt = <1800000>;
+       qcom,micbias4-microvolt = <1800000>;
+};
+
 &usb_1 {
        status = "okay";
 };