* [PATCH v2 0/5] arm64: dts: qcom: sdm845: add audio support
@ 2020-03-12 14:30 Srinivas Kandagatla
2020-03-12 14:30 ` [PATCH v2 1/5] arm64: dts: qcom: sdm845: add slimbus nodes Srinivas Kandagatla
` (6 more replies)
0 siblings, 7 replies; 10+ messages in thread
From: Srinivas Kandagatla @ 2020-03-12 14:30 UTC (permalink / raw)
To: bjorn.andersson, agross
Cc: linux-arm-msm, devicetree, robh+dt, linux-kernel, Srinivas Kandagatla
This patchset adds analog audio support for sdm845 based boards.
Changes since v1:
- various trival cleanups done as suggested by Bjorn
- added compressed audio dai for db845c
Srinivas Kandagatla (5):
arm64: dts: qcom: sdm845: add slimbus nodes
arm64: dts: qcom: sdm845: add apr nodes
arm64: dts: qcom: c630: Enable audio support
arm64: dts: qcom: sdm845: add pinctrl nodes for quat i2s
arm64: dts: qcom: db845c: add analog audio support
arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 159 ++++++++++
arch/arm64/boot/dts/qcom/sdm845.dtsi | 281 ++++++++++++++++++
.../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 113 +++++++
3 files changed, 553 insertions(+)
--
2.21.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/5] arm64: dts: qcom: sdm845: add slimbus nodes
2020-03-12 14:30 [PATCH v2 0/5] arm64: dts: qcom: sdm845: add audio support Srinivas Kandagatla
@ 2020-03-12 14:30 ` Srinivas Kandagatla
2020-03-12 14:30 ` [PATCH v2 2/5] arm64: dts: qcom: sdm845: add apr nodes Srinivas Kandagatla
` (5 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Srinivas Kandagatla @ 2020-03-12 14:30 UTC (permalink / raw)
To: bjorn.andersson, agross
Cc: linux-arm-msm, devicetree, robh+dt, linux-kernel, Srinivas Kandagatla
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
arch/arm64/boot/dts/qcom/sdm845.dtsi | 93 ++++++++++++++++++++++++++++
1 file changed, 93 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index 8798df6a1a7c..3f9fb719bfaa 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -2653,6 +2653,87 @@
status = "disabled";
};
+ slim: slim@171c0000 {
+ compatible = "qcom,slim-ngd-v2.1.0";
+ reg = <0 0x171c0000 0 0x2c000>;
+ interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
+
+ qcom,apps-ch-pipes = <0x780000>;
+ qcom,ea-pc = <0x270>;
+ status = "okay";
+ dmas = <&slimbam 3>, <&slimbam 4>,
+ <&slimbam 5>, <&slimbam 6>;
+ dma-names = "rx", "tx", "tx2", "rx2";
+
+ iommus = <&apps_smmu 0x1806 0x0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ngd@1 {
+ reg = <1>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ wcd9340_ifd: ifd@0{
+ compatible = "slim217,250";
+ reg = <0 0>;
+ };
+
+ wcd9340: codec@1{
+ compatible = "slim217,250";
+ reg = <1 0>;
+ slim-ifc-dev = <&wcd9340_ifd>;
+
+ #sound-dai-cells = <1>;
+
+ interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+
+ #clock-cells = <0>;
+ clock-frequency = <9600000>;
+ clock-output-names = "mclk";
+ qcom,micbias1-millivolt = <1800>;
+ qcom,micbias2-millivolt = <1800>;
+ qcom,micbias3-millivolt = <1800>;
+ qcom,micbias4-millivolt = <1800>;
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ wcdgpio: gpio-controller@42 {
+ compatible = "qcom,wcd9340-gpio";
+ gpio-controller;
+ #gpio-cells = <2>;
+ reg = <0x42 0x2>;
+ };
+
+ swm: swm@c85 {
+ compatible = "qcom,soundwire-v1.3.0";
+ reg = <0xc85 0x40>;
+ interrupts-extended = <&wcd9340 20>;
+
+ qcom,dout-ports = <6>;
+ qcom,din-ports = <2>;
+ qcom,ports-sinterval-low =/bits/ 8 <0x07 0x1F 0x3F 0x7 0x1F 0x3F 0x0F 0x0F>;
+ qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0C 0x6 0x12 0x0D 0x07 0x0A >;
+ qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1F 0x00 0x00 0x1F 0x00 0x00>;
+
+ #sound-dai-cells = <1>;
+ clocks = <&wcd9340>;
+ clock-names = "iface";
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+
+ };
+ };
+ };
+ };
+
+ sound: sound {
+ };
+
usb_1_hsphy: phy@88e2000 {
compatible = "qcom,sdm845-qusb2-phy";
reg = <0 0x088e2000 0 0x400>;
@@ -3497,6 +3578,18 @@
};
};
+ slimbam: dma@17184000 {
+ compatible = "qcom,bam-v1.7.0";
+ qcom,controlled-remotely;
+ reg = <0 0x17184000 0 0x2a000>;
+ num-channels = <31>;
+ interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
+ #dma-cells = <1>;
+ qcom,ee = <1>;
+ qcom,num-ees = <2>;
+ iommus = <&apps_smmu 0x1806 0x0>;
+ };
+
timer@17c90000 {
#address-cells = <2>;
#size-cells = <2>;
--
2.21.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 2/5] arm64: dts: qcom: sdm845: add apr nodes
2020-03-12 14:30 [PATCH v2 0/5] arm64: dts: qcom: sdm845: add audio support Srinivas Kandagatla
2020-03-12 14:30 ` [PATCH v2 1/5] arm64: dts: qcom: sdm845: add slimbus nodes Srinivas Kandagatla
@ 2020-03-12 14:30 ` Srinivas Kandagatla
2020-03-12 14:30 ` [PATCH v2 3/5] arm64: dts: qcom: c630: Enable audio support Srinivas Kandagatla
` (4 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Srinivas Kandagatla @ 2020-03-12 14:30 UTC (permalink / raw)
To: bjorn.andersson, agross
Cc: linux-arm-msm, devicetree, robh+dt, linux-kernel, Srinivas Kandagatla
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
arch/arm64/boot/dts/qcom/sdm845.dtsi | 52 ++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index 3f9fb719bfaa..5b7626f2a27b 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -17,6 +17,7 @@
#include <dt-bindings/power/qcom-rpmpd.h>
#include <dt-bindings/reset/qcom,sdm845-aoss.h>
#include <dt-bindings/reset/qcom,sdm845-pdc.h>
+#include <dt-bindings/soc/qcom,apr.h>
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
#include <dt-bindings/clock/qcom,gcc-sdm845.h>
#include <dt-bindings/thermal/thermal.h>
@@ -491,6 +492,57 @@
label = "lpass";
qcom,remote-pid = <2>;
mboxes = <&apss_shared 8>;
+
+ apr {
+ compatible = "qcom,apr-v2";
+ qcom,glink-channels = "apr_audio_svc";
+ qcom,apr-domain = <APR_DOMAIN_ADSP>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ qcom,intents = <512 20>;
+
+ apr-service@3 {
+ reg = <APR_SVC_ADSP_CORE>;
+ compatible = "qcom,q6core";
+ qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
+ };
+
+ q6afe: apr-service@4 {
+ compatible = "qcom,q6afe";
+ reg = <APR_SVC_AFE>;
+ qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
+ q6afedai: dais {
+ compatible = "qcom,q6afe-dais";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ #sound-dai-cells = <1>;
+ };
+ };
+
+ q6asm: apr-service@7 {
+ compatible = "qcom,q6asm";
+ reg = <APR_SVC_ASM>;
+ qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
+ q6asmdai: dais {
+ compatible = "qcom,q6asm-dais";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ #sound-dai-cells = <1>;
+ iommus = <&apps_smmu 0x1821 0x0>;
+ };
+ };
+
+ q6adm: apr-service@8 {
+ compatible = "qcom,q6adm";
+ reg = <APR_SVC_ADM>;
+ qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
+ q6routing: routing {
+ compatible = "qcom,q6adm-routing";
+ #sound-dai-cells = <0>;
+ };
+ };
+ };
+
fastrpc {
compatible = "qcom,fastrpc";
qcom,glink-channels = "fastrpcglink-apps-dsp";
--
2.21.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 3/5] arm64: dts: qcom: c630: Enable audio support
2020-03-12 14:30 [PATCH v2 0/5] arm64: dts: qcom: sdm845: add audio support Srinivas Kandagatla
2020-03-12 14:30 ` [PATCH v2 1/5] arm64: dts: qcom: sdm845: add slimbus nodes Srinivas Kandagatla
2020-03-12 14:30 ` [PATCH v2 2/5] arm64: dts: qcom: sdm845: add apr nodes Srinivas Kandagatla
@ 2020-03-12 14:30 ` Srinivas Kandagatla
2020-03-13 13:52 ` Vinod Koul
2020-03-12 14:30 ` [PATCH v2 4/5] arm64: dts: qcom: sdm845: add pinctrl nodes for quat i2s Srinivas Kandagatla
` (3 subsequent siblings)
6 siblings, 1 reply; 10+ messages in thread
From: Srinivas Kandagatla @ 2020-03-12 14:30 UTC (permalink / raw)
To: bjorn.andersson, agross
Cc: linux-arm-msm, devicetree, robh+dt, linux-kernel, Srinivas Kandagatla
This patch add support to audio via WSA881x Speakers and Headset.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
.../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 113 ++++++++++++++++++
1 file changed, 113 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
index b255be3a4a0a..31c22836f84e 100644
--- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
+++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
@@ -7,7 +7,10 @@
/dts-v1/;
+#include <dt-bindings/gpio/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 "sdm845.dtsi"
#include "pm8998.dtsi"
@@ -353,6 +356,107 @@
status = "okay";
};
+&wcd9340{
+ pinctrl-0 = <&wcd_intr_default>;
+ pinctrl-names = "default";
+ clock-names = "extclk";
+ clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
+ reset-gpios = <&tlmm 64 0>;
+ 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>;
+ swm: swm@c85 {
+ left_spkr: wsa8810-left{
+ compatible = "sdw10217211000";
+ reg = <0 3>;
+ powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
+ #thermal-sensor-cells = <0>;
+ sound-name-prefix = "SpkrLeft";
+ #sound-dai-cells = <0>;
+ };
+
+ right_spkr: wsa8810-right{
+ compatible = "sdw10217211000";
+ powerdown-gpios = <&wcdgpio 3 GPIO_ACTIVE_HIGH>;
+ reg = <0 4>;
+ #thermal-sensor-cells = <0>;
+ sound-name-prefix = "SpkrRight";
+ #sound-dai-cells = <0>;
+ };
+ };
+};
+
+&q6asmdai {
+ dai@0 {
+ reg = <0>;
+ direction = <2>;
+ };
+
+ dai@1 {
+ reg = <1>;
+ direction = <1>;
+ };
+};
+
+&sound {
+ compatible = "qcom,db845c-sndcard";
+ model = "Lenovo-YOGA-C630-13Q50";
+
+ audio-routing =
+ "RX_BIAS", "MCLK",
+ "AMIC2", "MIC BIAS2",
+ "SpkrLeft IN", "SPK1 OUT",
+ "SpkrRight IN", "SPK2 OUT",
+ "MM_DL1", "MultiMedia1 Playback",
+ "MultiMedia2 Capture", "MM_UL2";
+
+ 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>;
+ };
+ };
+
+ slim-dai-link {
+ link-name = "SLIM Playback";
+ cpu {
+ sound-dai = <&q6afedai SLIMBUS_0_RX>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
+ };
+ };
+
+ slimcap-dai-link {
+ link-name = "SLIM Capture";
+ cpu {
+ sound-dai = <&q6afedai SLIMBUS_0_TX>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&wcd9340 1>;
+ };
+ };
+};
+
&tlmm {
gpio-reserved-ranges = <0 4>, <81 4>;
@@ -382,6 +486,15 @@
bias-pull-up;
drive-strength = <2>;
};
+
+ wcd_intr_default: wcd_intr_default {
+ pins = <54>;
+ function = "gpio";
+
+ input-enable;
+ bias-pull-down;
+ drive-strength = <2>;
+ };
};
&uart6 {
--
2.21.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 4/5] arm64: dts: qcom: sdm845: add pinctrl nodes for quat i2s
2020-03-12 14:30 [PATCH v2 0/5] arm64: dts: qcom: sdm845: add audio support Srinivas Kandagatla
` (2 preceding siblings ...)
2020-03-12 14:30 ` [PATCH v2 3/5] arm64: dts: qcom: c630: Enable audio support Srinivas Kandagatla
@ 2020-03-12 14:30 ` Srinivas Kandagatla
2020-03-12 14:30 ` [PATCH v2 5/5] arm64: dts: qcom: db845c: add analog audio support Srinivas Kandagatla
` (2 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Srinivas Kandagatla @ 2020-03-12 14:30 UTC (permalink / raw)
To: bjorn.andersson, agross
Cc: linux-arm-msm, devicetree, robh+dt, linux-kernel, Srinivas Kandagatla
Add pinctrl nodes required for QUAT I2S
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
arch/arm64/boot/dts/qcom/sdm845.dtsi | 136 +++++++++++++++++++++++++++
1 file changed, 136 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index 5b7626f2a27b..c565948e322f 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -2152,6 +2152,142 @@
function = "qup15";
};
};
+
+ quat_mi2s_sleep: quat_mi2s_sleep {
+ mux {
+ pins = "gpio58", "gpio59";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio58", "gpio59";
+ drive-strength = <2>;
+ bias-pull-down;
+ input-enable;
+ };
+ };
+
+ quat_mi2s_active: quat_mi2s_active {
+ mux {
+ pins = "gpio58", "gpio59";
+ function = "qua_mi2s";
+ };
+
+ config {
+ pins = "gpio58", "gpio59";
+ drive-strength = <8>;
+ bias-disable;
+ output-high;
+ };
+ };
+
+ quat_mi2s_sd0_sleep: quat_mi2s_sd0_sleep {
+ mux {
+ pins = "gpio60";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio60";
+ drive-strength = <2>;
+ bias-pull-down;
+ input-enable;
+ };
+ };
+
+ quat_mi2s_sd0_active: quat_mi2s_sd0_active {
+ mux {
+ pins = "gpio60";
+ function = "qua_mi2s";
+ };
+
+ config {
+ pins = "gpio60";
+ drive-strength = <8>;
+ bias-disable;
+ };
+ };
+
+ quat_mi2s_sd1_sleep: quat_mi2s_sd1_sleep {
+ mux {
+ pins = "gpio61";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio61";
+ drive-strength = <2>;
+ bias-pull-down;
+ input-enable;
+ };
+ };
+
+ quat_mi2s_sd1_active: quat_mi2s_sd1_active {
+ mux {
+ pins = "gpio61";
+ function = "qua_mi2s";
+ };
+
+ config {
+ pins = "gpio61";
+ drive-strength = <8>;
+ bias-disable;
+ };
+ };
+
+ quat_mi2s_sd2_sleep: quat_mi2s_sd2_sleep {
+ mux {
+ pins = "gpio62";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio62";
+ drive-strength = <2>;
+ bias-pull-down;
+ input-enable;
+ };
+ };
+
+ quat_mi2s_sd2_active: quat_mi2s_sd2_active {
+ mux {
+ pins = "gpio62";
+ function = "qua_mi2s";
+ };
+
+ config {
+ pins = "gpio62";
+ drive-strength = <8>;
+ bias-disable;
+ };
+ };
+
+ quat_mi2s_sd3_sleep: quat_mi2s_sd3_sleep {
+ mux {
+ pins = "gpio63";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio63";
+ drive-strength = <2>;
+ bias-pull-down;
+ input-enable;
+ };
+ };
+
+ quat_mi2s_sd3_active: quat_mi2s_sd3_active {
+ mux {
+ pins = "gpio63";
+ function = "qua_mi2s";
+ };
+
+ config {
+ pins = "gpio63";
+ drive-strength = <8>;
+ bias-disable;
+ };
+ };
};
mss_pil: remoteproc@4080000 {
--
2.21.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 5/5] arm64: dts: qcom: db845c: add analog audio support
2020-03-12 14:30 [PATCH v2 0/5] arm64: dts: qcom: sdm845: add audio support Srinivas Kandagatla
` (3 preceding siblings ...)
2020-03-12 14:30 ` [PATCH v2 4/5] arm64: dts: qcom: sdm845: add pinctrl nodes for quat i2s Srinivas Kandagatla
@ 2020-03-12 14:30 ` Srinivas Kandagatla
2020-03-13 13:53 ` Vinod Koul
2020-03-13 13:54 ` [PATCH v2 0/5] arm64: dts: qcom: sdm845: add " Vinod Koul
2020-03-15 5:23 ` Bjorn Andersson
6 siblings, 1 reply; 10+ messages in thread
From: Srinivas Kandagatla @ 2020-03-12 14:30 UTC (permalink / raw)
To: bjorn.andersson, agross
Cc: linux-arm-msm, devicetree, robh+dt, linux-kernel, Srinivas Kandagatla
This patch adds support to Analog audio via WSA881x speakers.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 159 +++++++++++++++++++++
1 file changed, 159 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
index 6e60e81f8db7..94aa9227ca51 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
@@ -8,6 +8,8 @@
#include <dt-bindings/gpio/gpio.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 "sdm845.dtsi"
#include "pm8998.dtsi"
#include "pmi8998.dtsi"
@@ -200,6 +202,40 @@
firmware-name = "qcom/sdm845/adsp.mdt";
};
+
+&wcd9340{
+ pinctrl-0 = <&wcd_intr_default>;
+ pinctrl-names = "default";
+ clock-names = "extclk";
+ clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
+ reset-gpios = <&tlmm 64 0>;
+ 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>;
+
+ swm: swm@c85 {
+ left_spkr: wsa8810-left{
+ compatible = "sdw10217201000";
+ reg = <0 1>;
+ powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
+ #thermal-sensor-cells = <0>;
+ sound-name-prefix = "SpkrLeft";
+ #sound-dai-cells = <0>;
+ };
+
+ right_spkr: wsa8810-right{
+ compatible = "sdw10217201000";
+ powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
+ reg = <0 2>;
+ #thermal-sensor-cells = <0>;
+ sound-name-prefix = "SpkrRight";
+ #sound-dai-cells = <0>;
+ };
+ };
+};
+
&apps_rsc {
pm8998-rpmh-regulators {
compatible = "qcom,pm8998-rpmh-regulators";
@@ -535,6 +571,15 @@
function = "gpio";
bias-pull-up;
};
+
+ wcd_intr_default: wcd_intr_default {
+ pins = <54>;
+ function = "gpio";
+
+ input-enable;
+ bias-pull-down;
+ drive-strength = <2>;
+ };
};
&uart6 {
@@ -674,3 +719,117 @@
bias-pull-up;
};
};
+
+/* QUAT I2S Uses 4 I2S SD Lines for audio on LT9611 HDMI Bridge */
+&q6afedai {
+ qi2s@22 {
+ reg = <22>;
+ qcom,sd-lines = <0 1 2 3>;
+ };
+};
+
+&q6asmdai {
+ dai@0 {
+ reg = <0>;
+ direction = <2>;
+ };
+
+ dai@1 {
+ reg = <1>;
+ direction = <2>;
+ };
+
+ dai@2 {
+ reg = <2>;
+ direction = <1>;
+ };
+
+ dai@3 {
+ reg = <3>;
+ direction = <2>;
+ is-compress-dai;
+ };
+};
+
+&sound {
+ compatible = "qcom,db845c-sndcard";
+ pinctrl-0 = <&quat_mi2s_active
+ &quat_mi2s_sd0_active
+ &quat_mi2s_sd1_active
+ &quat_mi2s_sd2_active
+ &quat_mi2s_sd3_active>;
+ pinctrl-names = "default";
+ model = "DB845c";
+ audio-routing =
+ "RX_BIAS", "MCLK",
+ "AMIC1", "MIC BIAS1",
+ "AMIC2", "MIC BIAS2",
+ "DMIC0", "MIC BIAS1",
+ "DMIC1", "MIC BIAS1",
+ "DMIC2", "MIC BIAS3",
+ "DMIC3", "MIC BIAS3",
+ "SpkrLeft IN", "SPK1 OUT",
+ "SpkrRight IN", "SPK2 OUT",
+ "MM_DL1", "MultiMedia1 Playback",
+ "MM_DL2", "MultiMedia2 Playback",
+ "MM_DL4", "MultiMedia4 Playback",
+ "MultiMedia3 Capture", "MM_UL3";
+
+ 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>;
+ };
+ };
+
+ slim-dai-link {
+ link-name = "SLIM Playback";
+ cpu {
+ sound-dai = <&q6afedai SLIMBUS_0_RX>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
+ };
+ };
+
+ slimcap-dai-link {
+ link-name = "SLIM Capture";
+ cpu {
+ sound-dai = <&q6afedai SLIMBUS_0_TX>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&wcd9340 1>;
+ };
+ };
+};
--
2.21.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 3/5] arm64: dts: qcom: c630: Enable audio support
2020-03-12 14:30 ` [PATCH v2 3/5] arm64: dts: qcom: c630: Enable audio support Srinivas Kandagatla
@ 2020-03-13 13:52 ` Vinod Koul
0 siblings, 0 replies; 10+ messages in thread
From: Vinod Koul @ 2020-03-13 13:52 UTC (permalink / raw)
To: Srinivas Kandagatla
Cc: bjorn.andersson, agross, linux-arm-msm, devicetree, robh+dt,
linux-kernel
On 12-03-20, 14:30, Srinivas Kandagatla wrote:
> This patch add support to audio via WSA881x Speakers and Headset.
>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> ---
> .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 113 ++++++++++++++++++
> 1 file changed, 113 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
> index b255be3a4a0a..31c22836f84e 100644
> --- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
> @@ -7,7 +7,10 @@
>
> /dts-v1/;
>
> +#include <dt-bindings/gpio/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 "sdm845.dtsi"
> #include "pm8998.dtsi"
>
> @@ -353,6 +356,107 @@
> status = "okay";
> };
>
> +&wcd9340{
We sort this alphabetically, so this should come little later, other
than this, lgtm
> + pinctrl-0 = <&wcd_intr_default>;
> + pinctrl-names = "default";
> + clock-names = "extclk";
> + clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
> + reset-gpios = <&tlmm 64 0>;
> + 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>;
> + swm: swm@c85 {
> + left_spkr: wsa8810-left{
> + compatible = "sdw10217211000";
> + reg = <0 3>;
> + powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
> + #thermal-sensor-cells = <0>;
> + sound-name-prefix = "SpkrLeft";
> + #sound-dai-cells = <0>;
> + };
> +
> + right_spkr: wsa8810-right{
> + compatible = "sdw10217211000";
> + powerdown-gpios = <&wcdgpio 3 GPIO_ACTIVE_HIGH>;
> + reg = <0 4>;
> + #thermal-sensor-cells = <0>;
> + sound-name-prefix = "SpkrRight";
> + #sound-dai-cells = <0>;
> + };
> + };
> +};
> +
> +&q6asmdai {
> + dai@0 {
> + reg = <0>;
> + direction = <2>;
> + };
> +
> + dai@1 {
> + reg = <1>;
> + direction = <1>;
> + };
> +};
> +
> +&sound {
> + compatible = "qcom,db845c-sndcard";
> + model = "Lenovo-YOGA-C630-13Q50";
> +
> + audio-routing =
> + "RX_BIAS", "MCLK",
> + "AMIC2", "MIC BIAS2",
> + "SpkrLeft IN", "SPK1 OUT",
> + "SpkrRight IN", "SPK2 OUT",
> + "MM_DL1", "MultiMedia1 Playback",
> + "MultiMedia2 Capture", "MM_UL2";
> +
> + 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>;
> + };
> + };
> +
> + slim-dai-link {
> + link-name = "SLIM Playback";
> + cpu {
> + sound-dai = <&q6afedai SLIMBUS_0_RX>;
> + };
> +
> + platform {
> + sound-dai = <&q6routing>;
> + };
> +
> + codec {
> + sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
> + };
> + };
> +
> + slimcap-dai-link {
> + link-name = "SLIM Capture";
> + cpu {
> + sound-dai = <&q6afedai SLIMBUS_0_TX>;
> + };
> +
> + platform {
> + sound-dai = <&q6routing>;
> + };
> +
> + codec {
> + sound-dai = <&wcd9340 1>;
> + };
> + };
> +};
> +
> &tlmm {
> gpio-reserved-ranges = <0 4>, <81 4>;
>
> @@ -382,6 +486,15 @@
> bias-pull-up;
> drive-strength = <2>;
> };
> +
> + wcd_intr_default: wcd_intr_default {
> + pins = <54>;
> + function = "gpio";
> +
> + input-enable;
> + bias-pull-down;
> + drive-strength = <2>;
> + };
> };
>
> &uart6 {
> --
> 2.21.0
--
~Vinod
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 5/5] arm64: dts: qcom: db845c: add analog audio support
2020-03-12 14:30 ` [PATCH v2 5/5] arm64: dts: qcom: db845c: add analog audio support Srinivas Kandagatla
@ 2020-03-13 13:53 ` Vinod Koul
0 siblings, 0 replies; 10+ messages in thread
From: Vinod Koul @ 2020-03-13 13:53 UTC (permalink / raw)
To: Srinivas Kandagatla
Cc: bjorn.andersson, agross, linux-arm-msm, devicetree, robh+dt,
linux-kernel
On 12-03-20, 14:30, Srinivas Kandagatla wrote:
> This patch adds support to Analog audio via WSA881x speakers.
>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 159 +++++++++++++++++++++
> 1 file changed, 159 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> index 6e60e81f8db7..94aa9227ca51 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> @@ -8,6 +8,8 @@
> #include <dt-bindings/gpio/gpio.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 "sdm845.dtsi"
> #include "pm8998.dtsi"
> #include "pmi8998.dtsi"
> @@ -200,6 +202,40 @@
> firmware-name = "qcom/sdm845/adsp.mdt";
> };
>
> +
> +&wcd9340{
Here as well :)
> + pinctrl-0 = <&wcd_intr_default>;
> + pinctrl-names = "default";
> + clock-names = "extclk";
> + clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
> + reset-gpios = <&tlmm 64 0>;
> + 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>;
> +
> + swm: swm@c85 {
> + left_spkr: wsa8810-left{
> + compatible = "sdw10217201000";
> + reg = <0 1>;
> + powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
> + #thermal-sensor-cells = <0>;
> + sound-name-prefix = "SpkrLeft";
> + #sound-dai-cells = <0>;
> + };
> +
> + right_spkr: wsa8810-right{
> + compatible = "sdw10217201000";
> + powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
> + reg = <0 2>;
> + #thermal-sensor-cells = <0>;
> + sound-name-prefix = "SpkrRight";
> + #sound-dai-cells = <0>;
> + };
> + };
> +};
> +
> &apps_rsc {
> pm8998-rpmh-regulators {
> compatible = "qcom,pm8998-rpmh-regulators";
> @@ -535,6 +571,15 @@
> function = "gpio";
> bias-pull-up;
> };
> +
> + wcd_intr_default: wcd_intr_default {
> + pins = <54>;
> + function = "gpio";
> +
> + input-enable;
> + bias-pull-down;
> + drive-strength = <2>;
> + };
> };
>
> &uart6 {
> @@ -674,3 +719,117 @@
> bias-pull-up;
> };
> };
> +
> +/* QUAT I2S Uses 4 I2S SD Lines for audio on LT9611 HDMI Bridge */
> +&q6afedai {
> + qi2s@22 {
> + reg = <22>;
> + qcom,sd-lines = <0 1 2 3>;
> + };
> +};
> +
> +&q6asmdai {
> + dai@0 {
> + reg = <0>;
> + direction = <2>;
> + };
> +
> + dai@1 {
> + reg = <1>;
> + direction = <2>;
> + };
> +
> + dai@2 {
> + reg = <2>;
> + direction = <1>;
> + };
> +
> + dai@3 {
> + reg = <3>;
> + direction = <2>;
> + is-compress-dai;
> + };
> +};
> +
> +&sound {
> + compatible = "qcom,db845c-sndcard";
> + pinctrl-0 = <&quat_mi2s_active
> + &quat_mi2s_sd0_active
> + &quat_mi2s_sd1_active
> + &quat_mi2s_sd2_active
> + &quat_mi2s_sd3_active>;
> + pinctrl-names = "default";
> + model = "DB845c";
> + audio-routing =
> + "RX_BIAS", "MCLK",
> + "AMIC1", "MIC BIAS1",
> + "AMIC2", "MIC BIAS2",
> + "DMIC0", "MIC BIAS1",
> + "DMIC1", "MIC BIAS1",
> + "DMIC2", "MIC BIAS3",
> + "DMIC3", "MIC BIAS3",
> + "SpkrLeft IN", "SPK1 OUT",
> + "SpkrRight IN", "SPK2 OUT",
> + "MM_DL1", "MultiMedia1 Playback",
> + "MM_DL2", "MultiMedia2 Playback",
> + "MM_DL4", "MultiMedia4 Playback",
> + "MultiMedia3 Capture", "MM_UL3";
> +
> + 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>;
> + };
> + };
> +
> + slim-dai-link {
> + link-name = "SLIM Playback";
> + cpu {
> + sound-dai = <&q6afedai SLIMBUS_0_RX>;
> + };
> +
> + platform {
> + sound-dai = <&q6routing>;
> + };
> +
> + codec {
> + sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
> + };
> + };
> +
> + slimcap-dai-link {
> + link-name = "SLIM Capture";
> + cpu {
> + sound-dai = <&q6afedai SLIMBUS_0_TX>;
> + };
> +
> + platform {
> + sound-dai = <&q6routing>;
> + };
> +
> + codec {
> + sound-dai = <&wcd9340 1>;
> + };
> + };
> +};
> --
> 2.21.0
--
~Vinod
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/5] arm64: dts: qcom: sdm845: add audio support
2020-03-12 14:30 [PATCH v2 0/5] arm64: dts: qcom: sdm845: add audio support Srinivas Kandagatla
` (4 preceding siblings ...)
2020-03-12 14:30 ` [PATCH v2 5/5] arm64: dts: qcom: db845c: add analog audio support Srinivas Kandagatla
@ 2020-03-13 13:54 ` Vinod Koul
2020-03-15 5:23 ` Bjorn Andersson
6 siblings, 0 replies; 10+ messages in thread
From: Vinod Koul @ 2020-03-13 13:54 UTC (permalink / raw)
To: Srinivas Kandagatla
Cc: bjorn.andersson, agross, linux-arm-msm, devicetree, robh+dt,
linux-kernel
On 12-03-20, 14:30, Srinivas Kandagatla wrote:
> This patchset adds analog audio support for sdm845 based boards.
>
Thanks Srini, I was able to test analog audio (PCM) as well as
compressed audio with these patches. Apart from nits, the series looks
fine to me.
Tested-by: Vinod Koul <vkoul@kernel.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
--
~Vinod
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/5] arm64: dts: qcom: sdm845: add audio support
2020-03-12 14:30 [PATCH v2 0/5] arm64: dts: qcom: sdm845: add audio support Srinivas Kandagatla
` (5 preceding siblings ...)
2020-03-13 13:54 ` [PATCH v2 0/5] arm64: dts: qcom: sdm845: add " Vinod Koul
@ 2020-03-15 5:23 ` Bjorn Andersson
6 siblings, 0 replies; 10+ messages in thread
From: Bjorn Andersson @ 2020-03-15 5:23 UTC (permalink / raw)
To: Srinivas Kandagatla
Cc: agross, linux-arm-msm, devicetree, robh+dt, linux-kernel
On Thu 12 Mar 07:30 PDT 2020, Srinivas Kandagatla wrote:
> This patchset adds analog audio support for sdm845 based boards.
>
>
> Changes since v1:
> - various trival cleanups done as suggested by Bjorn
> - added compressed audio dai for db845c
>
Thanks Srini!
I fixed up the sort order per Vinod's feedback and applied these, with
Vinod's acks.
Regards,
Bjorn
> Srinivas Kandagatla (5):
> arm64: dts: qcom: sdm845: add slimbus nodes
> arm64: dts: qcom: sdm845: add apr nodes
> arm64: dts: qcom: c630: Enable audio support
> arm64: dts: qcom: sdm845: add pinctrl nodes for quat i2s
> arm64: dts: qcom: db845c: add analog audio support
>
> arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 159 ++++++++++
> arch/arm64/boot/dts/qcom/sdm845.dtsi | 281 ++++++++++++++++++
> .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 113 +++++++
> 3 files changed, 553 insertions(+)
>
> --
> 2.21.0
>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2020-03-15 5:23 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-12 14:30 [PATCH v2 0/5] arm64: dts: qcom: sdm845: add audio support Srinivas Kandagatla
2020-03-12 14:30 ` [PATCH v2 1/5] arm64: dts: qcom: sdm845: add slimbus nodes Srinivas Kandagatla
2020-03-12 14:30 ` [PATCH v2 2/5] arm64: dts: qcom: sdm845: add apr nodes Srinivas Kandagatla
2020-03-12 14:30 ` [PATCH v2 3/5] arm64: dts: qcom: c630: Enable audio support Srinivas Kandagatla
2020-03-13 13:52 ` Vinod Koul
2020-03-12 14:30 ` [PATCH v2 4/5] arm64: dts: qcom: sdm845: add pinctrl nodes for quat i2s Srinivas Kandagatla
2020-03-12 14:30 ` [PATCH v2 5/5] arm64: dts: qcom: db845c: add analog audio support Srinivas Kandagatla
2020-03-13 13:53 ` Vinod Koul
2020-03-13 13:54 ` [PATCH v2 0/5] arm64: dts: qcom: sdm845: add " Vinod Koul
2020-03-15 5:23 ` Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).