Unverified Commit 2a7a3797 authored by Rohit kumar's avatar Rohit kumar Committed by Mark Brown
Browse files

ASoC: Add sc7180 lpass cpu node



Add dt-bindings to support "qcom,lpass-cpu-sc7180" node.

Signed-off-by: default avatarRohit kumar <rohitkr@codeaurora.org>
Link: https://lore.kernel.org/r/1597402388-14112-8-git-send-email-rohitkr@codeaurora.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent b05372c8
Loading
Loading
Loading
Loading
+53 −2
Original line number Diff line number Diff line
@@ -4,7 +4,8 @@ This node models the Qualcomm Technologies Low-Power Audio SubSystem (LPASS).

Required properties:

- compatible		: "qcom,lpass-cpu" or "qcom,apq8016-lpass-cpu"
- compatible		: "qcom,lpass-cpu" or "qcom,apq8016-lpass-cpu" or
			  "qcom,sc7180-lpass-cpu"
- clocks		: Must contain an entry for each entry in clock-names.
- clock-names		: A list which must include the following entries:
				* "ahbix-clk"
@@ -18,6 +19,13 @@ Required properties:
				* "mi2s-bit-clk3"
				* "pcnoc-mport-clk"
				* "pcnoc-sway-clk"
			: required clocks for "qcom,lpass-cpu-sc7180"
				* "audio-core"
				* "mclk0"
				* "mi2s-bit-clk0"
				* "mi2s-bit-clk1"
				* "pcnoc-sway-clk"
				* "pcnoc-mport-clk"

- interrupts		: Must contain an entry for each entry in
			  interrupt-names.
@@ -53,7 +61,8 @@ Required properties for each DAI (represented by a subnode):
Note that adding a subnode changes the default to "no lines configured",
so both playback and capture lines should be configured when a subnode is added.

Example:
Examples:
1)

lpass@28100000 {
	compatible = "qcom,lpass-cpu";
@@ -77,3 +86,45 @@ lpass@28100000 {
		qcom,playback-sd-lines = <0 1>;
	};
};

2)

#include <dt-bindings/sound/sc7180-lpass.h>

lpass_cpu: lpass {
	compatible = "qcom,sc7180-lpass-cpu";

	reg = <0 0x62F00000 0 0x29000>;

	iommus = <&apps_smmu 0x1020 0>;

	power-domains = <&lpass_hm LPASS_CORE_HM_GDSCR>;
	clocks = <&gcc GCC_LPASS_CFG_NOC_SWAY_CLK>,
		<&lpasscorecc LPASS_AUDIO_CORE_CORE_CLK>,
		<&lpasscorecc LPASS_AUDIO_CORE_EXT_MCLK0_CLK>,
		<&lpasscorecc LPASS_AUDIO_CORE_SYSNOC_MPORT_CORE_CLK>,
		<&lpasscorecc LPASS_AUDIO_CORE_LPAIF_PRI_IBIT_CLK>,
		<&lpasscorecc LPASS_AUDIO_CORE_LPAIF_SEC_IBIT_CLK>;
	clock-names = "pcnoc-sway-clk", "audio-core",
			"mclk0", "pcnoc-mport-clk",
			"mi2s-bit-clk0", "mi2s-bit-clk1";
	interrupts = <0 160 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-names = "lpass-irq-lpaif";


	#sound-dai-cells = <1>;

	#address-cells = <1>;
	#size-cells = <0>;

	mi2s-primary@0 {
		reg = <MI2S_PRIMARY>;
		qcom,playback-sd-lines = <1>;
		qcom,capture-sd-lines = <0>;
	};

	mi2s-secondary@1 {
		reg = <MI2S_SECONDARY>;
		qcom,playback-sd-lines = <0>;
	};
};