Commit 58872a54 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: sm8650: add ADSP audio codec macros



Add the Low Power Audio SubSystem (LPASS) / ADSP audio codec macros on
Qualcomm SM8650.  The nodes are very similar to SM8550.

Cc: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20231204155746.302323-3-krzysztof.kozlowski@linaro.org


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent 2d6bc133
Loading
Loading
Loading
Loading
+86 −0
Original line number Diff line number Diff line
@@ -2650,6 +2650,92 @@ IPCC_MPROC_SIGNAL_GLINK_QMP
			};
		};

		lpass_wsa2macro: codec@6aa0000 {
			compatible = "qcom,sm8650-lpass-wsa-macro", "qcom,sm8550-lpass-wsa-macro";
			reg = <0 0x06aa0000 0 0x1000>;
			clocks = <&q6prmcc LPASS_CLK_ID_WSA2_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
				 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
				 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
				 <&lpass_vamacro>;
			clock-names = "mclk",
				      "macro",
				      "dcodec",
				      "fsgen";

			#clock-cells = <0>;
			clock-output-names = "wsa2-mclk";
			#sound-dai-cells = <1>;
		};

		lpass_rxmacro: codec@6ac0000 {
			compatible = "qcom,sm8650-lpass-rx-macro", "qcom,sm8550-lpass-rx-macro";
			reg = <0 0x06ac0000 0 0x1000>;
			clocks = <&q6prmcc LPASS_CLK_ID_RX_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
				 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
				 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
				 <&lpass_vamacro>;
			clock-names = "mclk",
				      "macro",
				      "dcodec",
				      "fsgen";

			#clock-cells = <0>;
			clock-output-names = "mclk";
			#sound-dai-cells = <1>;
		};

		lpass_txmacro: codec@6ae0000 {
			compatible = "qcom,sm8650-lpass-tx-macro", "qcom,sm8550-lpass-tx-macro";
			reg = <0 0x06ae0000 0 0x1000>;
			clocks = <&q6prmcc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
				 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
				 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
				 <&lpass_vamacro>;
			clock-names = "mclk",
				      "macro",
				      "dcodec",
				      "fsgen";

			#clock-cells = <0>;
			clock-output-names = "mclk";
			#sound-dai-cells = <1>;
		};

		lpass_wsamacro: codec@6b00000 {
			compatible = "qcom,sm8650-lpass-wsa-macro", "qcom,sm8550-lpass-wsa-macro";
			reg = <0 0x06b00000 0 0x1000>;
			clocks = <&q6prmcc LPASS_CLK_ID_WSA_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
				 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
				 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
				 <&lpass_vamacro>;
			clock-names = "mclk",
				      "macro",
				      "dcodec",
				      "fsgen";

			assigned-clocks = <&q6prmcc LPASS_CLK_ID_WSA_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
			assigned-clock-rates = <19200000>;

			#clock-cells = <0>;
			clock-output-names = "mclk";
			#sound-dai-cells = <1>;
		};

		lpass_vamacro: codec@6d44000 {
			compatible = "qcom,sm8650-lpass-va-macro", "qcom,sm8550-lpass-va-macro";
			reg = <0 0x06d44000 0 0x1000>;
			clocks = <&q6prmcc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
				 <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
				 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
			clock-names = "mclk",
				      "macro",
				      "dcodec";

			#clock-cells = <0>;
			clock-output-names = "fsgen";
			#sound-dai-cells = <1>;
		};

		lpass_tlmm: pinctrl@6e80000 {
			compatible = "qcom,sm8650-lpass-lpi-pinctrl";
			reg = <0 0x06e80000 0 0x20000>;