Commit 61b00638 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: sm8550: add Soundwire controllers



Add nodes for LPASS Soundwire v2.0.0 controllers.  Use labels with
indices matching downstream DTS, to make any comparisons easier.

Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230405061129.143553-1-krzysztof.kozlowski@linaro.org
parent 2a50d1a0
Loading
Loading
Loading
Loading
+109 −0
Original line number Diff line number Diff line
@@ -2011,6 +2011,33 @@
			#sound-dai-cells = <1>;
		};

		swr3: soundwire-controller@6ab0000 {
			compatible = "qcom,soundwire-v2.0.0";
			reg = <0 0x06ab0000 0 0x10000>;
			interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&lpass_wsa2macro>;
			clock-names = "iface";
			label = "WSA2";

			qcom,din-ports = <4>;
			qcom,dout-ports = <9>;

			qcom,ports-sinterval =		<0x07 0x1f 0x3f 0x07 0x1f 0x3f 0x18f 0xff 0xff 0x0f 0x0f 0xff 0x31f>;
			qcom,ports-offset1 =		/bits/ 8 <0x01 0x03 0x05 0x02 0x04 0x15 0x00 0xff 0xff 0x06 0x0d 0xff 0x00>;
			qcom,ports-offset2 =		/bits/ 8 <0xff 0x07 0x1f 0xff 0x07 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
			qcom,ports-hstart =		/bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>;
			qcom,ports-hstop =		/bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>;
			qcom,ports-word-length =	/bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x18>;
			qcom,ports-block-pack-mode =	/bits/ 8 <0x00 0x01 0x01 0x00 0x01 0x01 0x00 0x00 0x00 0x01 0x01 0x00 0x00>;
			qcom,ports-block-group-count =	/bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
			qcom,ports-lane-control =	/bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;

			#address-cells = <2>;
			#size-cells = <0>;
			#sound-dai-cells = <1>;
			status = "disabled";
		};

		lpass_rxmacro: codec@6ac0000 {
			compatible = "qcom,sm8550-lpass-rx-macro";
			reg = <0 0x06ac0000 0 0x1000>;
@@ -2030,6 +2057,33 @@
			#sound-dai-cells = <1>;
		};

		swr1: soundwire-controller@6ad0000 {
			compatible = "qcom,soundwire-v2.0.0";
			reg = <0 0x06ad0000 0 0x10000>;
			interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&lpass_rxmacro>;
			clock-names = "iface";
			label = "RX";

			qcom,din-ports = <0>;
			qcom,dout-ports = <10>;

			qcom,ports-sinterval =		<0x03 0x3f 0x1f 0x07 0x00 0x18f 0xff 0xff 0xff 0xff>;
			qcom,ports-offset1 =		/bits/ 8 <0x00 0x00 0x0b 0x01 0x00 0x00 0xff 0xff 0xff 0xff>;
			qcom,ports-offset2 =		/bits/ 8 <0x00 0x00 0x0b 0x00 0x00 0x00 0xff 0xff 0xff 0xff>;
			qcom,ports-hstart =		/bits/ 8 <0xff 0x03 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff>;
			qcom,ports-hstop =		/bits/ 8 <0xff 0x06 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff>;
			qcom,ports-word-length =	/bits/ 8 <0x01 0x07 0x04 0xff 0xff 0x0f 0xff 0xff 0xff 0xff>;
			qcom,ports-block-pack-mode =	/bits/ 8 <0xff 0x00 0x01 0xff 0xff 0x00 0xff 0xff 0xff 0xff>;
			qcom,ports-block-group-count =	/bits/ 8 <0xff 0xff 0xff 0xff 0x00 0x00 0xff 0xff 0xff 0xff>;
			qcom,ports-lane-control =	/bits/ 8 <0x01 0x00 0x00 0x00 0x00 0x00 0xff 0xff 0xff 0xff>;

			#address-cells = <2>;
			#size-cells = <0>;
			#sound-dai-cells = <1>;
			status = "disabled";
		};

		lpass_txmacro: codec@6ae0000 {
			compatible = "qcom,sm8550-lpass-tx-macro";
			reg = <0 0x06ae0000 0 0x1000>;
@@ -2068,6 +2122,61 @@
			#sound-dai-cells = <1>;
		};

		swr0: soundwire-controller@6b10000 {
			compatible = "qcom,soundwire-v2.0.0";
			reg = <0 0x06b10000 0 0x10000>;
			interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&lpass_wsamacro>;
			clock-names = "iface";
			label = "WSA";

			qcom,din-ports = <4>;
			qcom,dout-ports = <9>;

			qcom,ports-sinterval =		<0x07 0x1f 0x3f 0x07 0x1f 0x3f 0x18f 0xff 0xff 0x0f 0x0f 0xff 0x31f>;
			qcom,ports-offset1 =		/bits/ 8 <0x01 0x03 0x05 0x02 0x04 0x15 0x00 0xff 0xff 0x06 0x0d 0xff 0x00>;
			qcom,ports-offset2 =		/bits/ 8 <0xff 0x07 0x1f 0xff 0x07 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
			qcom,ports-hstart =		/bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>;
			qcom,ports-hstop =		/bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>;
			qcom,ports-word-length =	/bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x18>;
			qcom,ports-block-pack-mode =	/bits/ 8 <0x00 0x01 0x01 0x00 0x01 0x01 0x00 0x00 0x00 0x01 0x01 0x00 0x00>;
			qcom,ports-block-group-count =	/bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
			qcom,ports-lane-control =	/bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;

			#address-cells = <2>;
			#size-cells = <0>;
			#sound-dai-cells = <1>;
			status = "disabled";
		};

		swr2: soundwire-controller@6d30000 {
			compatible = "qcom,soundwire-v2.0.0";
			reg = <0 0x06d30000 0 0x10000>;
			interrupts = <GIC_SPI 496 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 520 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names = "core", "wakeup";
			clocks = <&lpass_vamacro>;
			clock-names = "iface";
			label = "TX";

			qcom,din-ports = <4>;
			qcom,dout-ports = <0>;
			qcom,ports-sinterval-low =	/bits/ 8 <0x01 0x01 0x03 0x03>;
			qcom,ports-offset1 =		/bits/ 8 <0x00 0x00 0x01 0x01>;
			qcom,ports-offset2 =		/bits/ 8 <0x00 0x00 0x00 0x00>;
			qcom,ports-hstart =		/bits/ 8 <0xff 0xff 0xff 0xff>;
			qcom,ports-hstop =		/bits/ 8 <0xff 0xff 0xff 0xff>;
			qcom,ports-word-length =	/bits/ 8 <0xff 0xff 0xff 0xff>;
			qcom,ports-block-pack-mode =	/bits/ 8 <0xff 0xff 0xff 0xff>;
			qcom,ports-block-group-count =	/bits/ 8 <0xff 0xff 0xff 0xff>;
			qcom,ports-lane-control =	/bits/ 8 <0x01 0x02 0x00 0x00>;

			#address-cells = <2>;
			#size-cells = <0>;
			#sound-dai-cells = <1>;
			status = "disabled";
		};

		lpass_vamacro: codec@6d44000 {
			compatible = "qcom,sm8550-lpass-va-macro";
			reg = <0 0x06d44000 0 0x1000>;