* [PATCH v2 0/6] arm64: dts: qcom: qrb5165-rb5 audio support
@ 2020-12-02 18:07 Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 1/6] arm64: dts: qcom: sm8250: add apr and its services Srinivas Kandagatla
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Srinivas Kandagatla @ 2020-12-02 18:07 UTC (permalink / raw)
To: bjorn.andersson
Cc: linux-arm-msm, agross, robh+dt, devicetree, linux-kernel,
Srinivas Kandagatla
This patchset adds support to Qualcomm Robotics RB5 Development Kit based on
QRB5165 Robotics SoC. This board has 2 WSA881X smart speakers with onboard
DMIC connected to internal LPASS codec via WSA and VA macros respectively.
All the audio related driver patches are merged via respective maintainer trees
along with bindings. Only LPI pinctrl driver is not merged yet, however the
bindings are acked by Rob, so am guessing that the dt changes should be okay to go!
Thanks,
srini
Changes since v1:
- updated pinctrl nodes as suggested by Bjorn
- reordered include files.
- removed unnecessary spaces
- used mbn instead of mdt for adsp firmware
Srinivas Kandagatla (6):
arm64: dts: qcom: sm8250: add apr and its services
arm64: dts: qcom: sm8250: add audio clock controllers
arm64: dts: qcom: sm8250: add lpass lpi pin controller node
arm64: dts: qcom: sm8250: add wsa and va codec macros
arm64: dts: qcom: sm8250: add mi2s pinconfs
arm64: dts: qcom: qrb5165-rb5: Add Audio support
arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 121 ++++++++++
arch/arm64/boot/dts/qcom/sm8250.dtsi | 276 +++++++++++++++++++++++
2 files changed, 397 insertions(+)
--
2.21.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/6] arm64: dts: qcom: sm8250: add apr and its services
2020-12-02 18:07 [PATCH v2 0/6] arm64: dts: qcom: qrb5165-rb5 audio support Srinivas Kandagatla
@ 2020-12-02 18:07 ` Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 2/6] arm64: dts: qcom: sm8250: add audio clock controllers Srinivas Kandagatla
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Srinivas Kandagatla @ 2020-12-02 18:07 UTC (permalink / raw)
To: bjorn.andersson
Cc: linux-arm-msm, agross, robh+dt, devicetree, linux-kernel,
Srinivas Kandagatla, Dmitry Baryshkov
Add apr node and its associated services required for audio on RB5.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
arch/arm64/boot/dts/qcom/sm8250.dtsi | 56 ++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index 65acd1f381eb..d44120a6eadb 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -11,7 +11,9 @@
#include <dt-bindings/mailbox/qcom-ipcc.h>
#include <dt-bindings/power/qcom-aoss-qmp.h>
#include <dt-bindings/power/qcom-rpmpd.h>
+#include <dt-bindings/soc/qcom,apr.h>
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
+#include <dt-bindings/sound/qcom,q6afe.h>
#include <dt-bindings/thermal/thermal.h>
/ {
@@ -2620,6 +2622,60 @@
label = "lpass";
qcom,remote-pid = <2>;
+ apr {
+ compatible = "qcom,apr-v2";
+ qcom,glink-channels = "apr_audio_svc";
+ qcom,apr-domain = <APR_DOMAIN_ADSP>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ 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>;
+ };
+
+ q6afecc: cc {
+ compatible = "qcom,q6afe-clocks";
+ #clock-cells = <2>;
+ };
+ };
+
+ 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 0x1801 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] 7+ messages in thread
* [PATCH v2 2/6] arm64: dts: qcom: sm8250: add audio clock controllers
2020-12-02 18:07 [PATCH v2 0/6] arm64: dts: qcom: qrb5165-rb5 audio support Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 1/6] arm64: dts: qcom: sm8250: add apr and its services Srinivas Kandagatla
@ 2020-12-02 18:07 ` Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 3/6] arm64: dts: qcom: sm8250: add lpass lpi pin controller node Srinivas Kandagatla
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Srinivas Kandagatla @ 2020-12-02 18:07 UTC (permalink / raw)
To: bjorn.andersson
Cc: linux-arm-msm, agross, robh+dt, devicetree, linux-kernel,
Srinivas Kandagatla, Dmitry Baryshkov
Add audiocc and aoncc clock controller nodes required for audio on RB5.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
arch/arm64/boot/dts/qcom/sm8250.dtsi | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index d44120a6eadb..cddbb53db193 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -7,6 +7,8 @@
#include <dt-bindings/clock/qcom,gcc-sm8250.h>
#include <dt-bindings/clock/qcom,gpucc-sm8250.h>
#include <dt-bindings/clock/qcom,rpmh.h>
+#include <dt-bindings/clock/qcom,sm8250-lpass-audiocc.h>
+#include <dt-bindings/clock/qcom,sm8250-lpass-aoncc.h>
#include <dt-bindings/interconnect/qcom,osm-l3.h>
#include <dt-bindings/mailbox/qcom-ipcc.h>
#include <dt-bindings/power/qcom-aoss-qmp.h>
@@ -2585,6 +2587,26 @@
<GIC_SPI 707 IRQ_TYPE_LEVEL_HIGH>;
};
+ audiocc: clock-controller@3300000 {
+ compatible = "qcom,sm8250-lpass-audiocc";
+ reg = <0 0x03300000 0 0x30000>;
+ #clock-cells = <1>;
+ clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&q6afecc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "core", "audio", "bus";
+ };
+
+ aoncc: clock-controller@3380000 {
+ compatible = "qcom,sm8250-lpass-aoncc";
+ reg = <0 0x03380000 0 0x40000>;
+ #clock-cells = <1>;
+ clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&q6afecc LPASS_CLK_ID_TX_CORE_NPL_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "core", "audio", "bus";
+ };
+
adsp: remoteproc@17300000 {
compatible = "qcom,sm8250-adsp-pas";
reg = <0 0x17300000 0 0x100>;
--
2.21.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 3/6] arm64: dts: qcom: sm8250: add lpass lpi pin controller node
2020-12-02 18:07 [PATCH v2 0/6] arm64: dts: qcom: qrb5165-rb5 audio support Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 1/6] arm64: dts: qcom: sm8250: add apr and its services Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 2/6] arm64: dts: qcom: sm8250: add audio clock controllers Srinivas Kandagatla
@ 2020-12-02 18:07 ` Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 4/6] arm64: dts: qcom: sm8250: add wsa and va codec macros Srinivas Kandagatla
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Srinivas Kandagatla @ 2020-12-02 18:07 UTC (permalink / raw)
To: bjorn.andersson
Cc: linux-arm-msm, agross, robh+dt, devicetree, linux-kernel,
Srinivas Kandagatla, Dmitry Baryshkov
Add LPASS LPI pinctrl node required for Audio functionality on RB5.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
arch/arm64/boot/dts/qcom/sm8250.dtsi | 84 ++++++++++++++++++++++++++++
1 file changed, 84 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index cddbb53db193..ce8ae776160d 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -2607,6 +2607,90 @@
clock-names = "core", "audio", "bus";
};
+ lpass_tlmm: pinctrl@33c0000{
+ compatible = "qcom,sm8250-lpass-lpi-pinctrl";
+ reg = <0 0x33c0000 0x0 0x20000>,
+ <0 0x3550000 0x0 0x10000>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&lpass_tlmm 0 0 14>;
+
+ clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "core", "audio";
+
+ wsa_swr_active: wsa-swr-active-pins {
+ clk {
+ pins = "gpio10";
+ function = "wsa_swr_clk";
+ drive-strength = <2>;
+ slew-rate = <1>;
+ bias-disable;
+ };
+
+ data {
+ pins = "gpio11";
+ function = "wsa_swr_data";
+ drive-strength = <2>;
+ slew-rate = <1>;
+ bias-bus-hold;
+
+ };
+ };
+
+ wsa_swr_sleep: wsa-swr-sleep-pins {
+ clk {
+ pins = "gpio10";
+ function = "wsa_swr_clk";
+ drive-strength = <2>;
+ input-enable;
+ bias-pull-down;
+ };
+
+ data {
+ pins = "gpio11";
+ function = "wsa_swr_data";
+ drive-strength = <2>;
+ input-enable;
+ bias-pull-down;
+
+ };
+ };
+
+ dmic01_active: dmic01-active-pins {
+ clk {
+ pins = "gpio6";
+ function = "dmic1_clk";
+ drive-strength = <8>;
+ output-high;
+ };
+ data {
+ pins = "gpio7";
+ function = "dmic1_data";
+ drive-strength = <8>;
+ input-enable;
+ };
+ };
+
+ dmic01_sleep: dmic01-sleep-pins {
+ clk {
+ pins = "gpio6";
+ function = "dmic1_clk";
+ drive-strength = <2>;
+ bias-disable;
+ output-low;
+ };
+
+ data {
+ pins = "gpio7";
+ function = "dmic1_data";
+ drive-strength = <2>;
+ pull-down;
+ input-enable;
+ };
+ };
+ };
+
adsp: remoteproc@17300000 {
compatible = "qcom,sm8250-adsp-pas";
reg = <0 0x17300000 0 0x100>;
--
2.21.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 4/6] arm64: dts: qcom: sm8250: add wsa and va codec macros
2020-12-02 18:07 [PATCH v2 0/6] arm64: dts: qcom: qrb5165-rb5 audio support Srinivas Kandagatla
` (2 preceding siblings ...)
2020-12-02 18:07 ` [PATCH v2 3/6] arm64: dts: qcom: sm8250: add lpass lpi pin controller node Srinivas Kandagatla
@ 2020-12-02 18:07 ` Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 5/6] arm64: dts: qcom: sm8250: add mi2s pinconfs Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 6/6] arm64: dts: qcom: qrb5165-rb5: Add Audio support Srinivas Kandagatla
5 siblings, 0 replies; 7+ messages in thread
From: Srinivas Kandagatla @ 2020-12-02 18:07 UTC (permalink / raw)
To: bjorn.andersson
Cc: linux-arm-msm, agross, robh+dt, devicetree, linux-kernel,
Srinivas Kandagatla, Dmitry Baryshkov
Add support for WSA and VA codec macros along with WSA soundwire
controller required for getting audio on RB5.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
arch/arm64/boot/dts/qcom/sm8250.dtsi | 56 ++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index ce8ae776160d..d2ade3ab3389 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -2691,6 +2691,62 @@
};
};
+ wsamacro: codec@3240000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&wsa_swr_active>;
+
+ compatible = "qcom,sm8250-lpass-wsa-macro";
+ reg = <0 0x3240000 0 0x1000>;
+ clocks = <&audiocc LPASS_CDC_WSA_MCLK>,
+ <&audiocc LPASS_CDC_WSA_NPL>,
+ <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&aoncc LPASS_CDC_VA_MCLK>,
+ <&vamacro>;
+
+ clock-names = "mclk", "npl", "macro", "dcodec", "va", "fsgen";
+
+ #clock-cells = <0>;
+ clock-frequency = <9600000>;
+ clock-output-names = "mclk";
+ #sound-dai-cells = <1>;
+ };
+
+ swr0: soundwire-controller@3250000 {
+ reg = <0 0x3250000 0 0x2000>;
+ compatible = "qcom,soundwire-v1.5.1";
+ interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&wsamacro>;
+ clock-names = "iface";
+
+ qcom,din-ports = <2>;
+ qcom,dout-ports = <6>;
+
+ qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1F 0x3F 0x07 0x1F 0x3F 0x0F 0x0F>;
+ qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0C 0x06 0x12 0x0D 0x07 0x0A >;
+ qcom,ports-offset2 = /bits/ 8 <0xFF 0x00 0x1F 0xFF 0x00 0x1F 0x00 0x00>;
+ qcom,ports-block-pack-mode = /bits/ 8 <0x0 0x0 0x1 0x0 0x0 0x1 0x0 0x0>;
+
+ #sound-dai-cells = <1>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+ };
+
+ vamacro: codec@3370000 {
+ compatible = "qcom,sm8250-lpass-va-macro";
+ reg = <0 0x3370000 0 0x1000>;
+ clocks = <&aoncc LPASS_CDC_VA_MCLK>,
+ <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+
+ clock-names = "mclk", "macro", "dcodec";
+
+ #clock-cells = <0>;
+ clock-frequency = <9600000>;
+ clock-output-names = "fsgen";
+ #sound-dai-cells = <1>;
+ };
+
adsp: remoteproc@17300000 {
compatible = "qcom,sm8250-adsp-pas";
reg = <0 0x17300000 0 0x100>;
--
2.21.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 5/6] arm64: dts: qcom: sm8250: add mi2s pinconfs
2020-12-02 18:07 [PATCH v2 0/6] arm64: dts: qcom: qrb5165-rb5 audio support Srinivas Kandagatla
` (3 preceding siblings ...)
2020-12-02 18:07 ` [PATCH v2 4/6] arm64: dts: qcom: sm8250: add wsa and va codec macros Srinivas Kandagatla
@ 2020-12-02 18:07 ` Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 6/6] arm64: dts: qcom: qrb5165-rb5: Add Audio support Srinivas Kandagatla
5 siblings, 0 replies; 7+ messages in thread
From: Srinivas Kandagatla @ 2020-12-02 18:07 UTC (permalink / raw)
To: bjorn.andersson
Cc: linux-arm-msm, agross, robh+dt, devicetree, linux-kernel,
Srinivas Kandagatla, Dmitry Baryshkov
Add primary and tertinary mi2s pinconfs required to get I2S audio.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
arch/arm64/boot/dts/qcom/sm8250.dtsi | 55 ++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index d2ade3ab3389..51cffdae631c 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -1884,6 +1884,37 @@
gpio-ranges = <&tlmm 0 0 180>;
wakeup-parent = <&pdc>;
+ pri_mi2s_active: pri-mi2s-active {
+ sclk {
+ pins = "gpio138";
+ function = "mi2s0_sck";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ ws {
+ pins = "gpio141";
+ function = "mi2s0_ws";
+ drive-strength = <8>;
+ output-high;
+ };
+
+ data0 {
+ pins = "gpio139";
+ function = "mi2s0_data0";
+ drive-strength = <8>;
+ bias-disable;
+ output-high;
+ };
+
+ data1 {
+ pins = "gpio140";
+ function = "mi2s0_data1";
+ drive-strength = <8>;
+ output-high;
+ };
+ };
+
qup_i2c0_default: qup-i2c0-default {
mux {
pins = "gpio28", "gpio29";
@@ -2480,6 +2511,30 @@
function = "qup18";
};
};
+
+ tert_mi2s_active: tert-mi2s-active {
+ sck {
+ pins = "gpio133";
+ function = "mi2s2_sck";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ data0 {
+ pins = "gpio134";
+ function = "mi2s2_data0";
+ drive-strength = <8>;
+ bias-disable;
+ output-high;
+ };
+
+ ws {
+ pins = "gpio135";
+ function = "mi2s2_ws";
+ drive-strength = <8>;
+ output-high;
+ };
+ };
};
apps_smmu: iommu@15000000 {
--
2.21.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 6/6] arm64: dts: qcom: qrb5165-rb5: Add Audio support
2020-12-02 18:07 [PATCH v2 0/6] arm64: dts: qcom: qrb5165-rb5 audio support Srinivas Kandagatla
` (4 preceding siblings ...)
2020-12-02 18:07 ` [PATCH v2 5/6] arm64: dts: qcom: sm8250: add mi2s pinconfs Srinivas Kandagatla
@ 2020-12-02 18:07 ` Srinivas Kandagatla
5 siblings, 0 replies; 7+ messages in thread
From: Srinivas Kandagatla @ 2020-12-02 18:07 UTC (permalink / raw)
To: bjorn.andersson
Cc: linux-arm-msm, agross, robh+dt, devicetree, linux-kernel,
Srinivas Kandagatla, Dmitry Baryshkov
This patch add support for two WSA881X smart speakers attached via Soundwire
and a DMIC0 on the main board.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 121 +++++++++++++++++++++++
arch/arm64/boot/dts/qcom/sm8250.dtsi | 3 +
2 files changed, 124 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
index ce22d4fa383e..475542afecea 100644
--- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
+++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
@@ -7,6 +7,8 @@
#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 "sm8250.dtsi"
#include "pm8150.dtsi"
#include "pm8150b.dtsi"
@@ -120,6 +122,11 @@
};
};
+&adsp {
+ status = "okay";
+ firmware-name = "qcom/sm8250/adsp.mbn";
+};
+
&apps_rsc {
pm8009-rpmh-regulators {
compatible = "qcom,pm8009-rpmh-regulators";
@@ -483,6 +490,35 @@
status = "okay";
};
+&q6afedai {
+ qi2s@16 {
+ reg = <16>;
+ qcom,sd-lines = <0 1 2 3>;
+ };
+};
+
+/* TERT I2S Uses 1 I2S SD Lines for audio on LT9611 HDMI Bridge */
+&q6afedai {
+ qi2s@20 {
+ reg = <20>;
+ qcom,sd-lines = <0>;
+ };
+};
+
+&q6asmdai {
+ dai@0 {
+ reg = <0>;
+ };
+
+ dai@1 {
+ reg = <1>;
+ };
+
+ dai@2 {
+ reg = <2>;
+ };
+};
+
&sdhc_2 {
status = "okay";
pinctrl-names = "default";
@@ -497,6 +533,84 @@
no-emmc;
};
+&swr0 {
+ left_spkr: wsa8810-left{
+ compatible = "sdw10217211000";
+ reg = <0 3>;
+ powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>;
+ #thermal-sensor-cells = <0>;
+ sound-name-prefix = "SpkrLeft";
+ #sound-dai-cells = <0>;
+ };
+
+ right_spkr: wsa8810-right{
+ compatible = "sdw10217211000";
+ reg = <0 4>;
+ powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>;
+ #thermal-sensor-cells = <0>;
+ sound-name-prefix = "SpkrRight";
+ #sound-dai-cells = <0>;
+ };
+};
+
+&sound {
+ compatible = "qcom,qrb5165-rb5-sndcard";
+ pinctrl-0 = <&tert_mi2s_active>;
+ pinctrl-names = "default";
+ model = "Qualcomm-RB5-WSA8815-Speakers-DMIC0";
+ audio-routing =
+ "SpkrLeft IN", "WSA_SPK1 OUT",
+ "SpkrRight IN", "WSA_SPK2 OUT",
+ "VA DMIC0", "vdd-micb",
+ "VA DMIC1", "vdd-micb",
+ "MM_DL1", "MultiMedia1 Playback",
+ "MultiMedia3 Capture", "MM_UL3";
+
+ mm1-dai-link {
+ link-name = "MultiMedia1";
+ cpu {
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
+ };
+ };
+
+ mm3-dai-link {
+ link-name = "MultiMedia3";
+ cpu {
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
+ };
+ };
+
+ dma-dai-link {
+ link-name = "WSA Playback";
+ cpu {
+ sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
+ };
+ };
+
+ va-dai-link {
+ link-name = "VA Capture";
+ cpu {
+ sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&vamacro 0>;
+ };
+ };
+};
+
/* CAN */
&spi0 {
status = "okay";
@@ -792,3 +906,10 @@
vdda-phy-supply = <&vreg_l9a_1p2>;
vdda-pll-supply = <&vreg_l18a_0p92>;
};
+
+&vamacro {
+ pinctrl-0 = <&dmic01_active>;
+ pinctrl-names = "default";
+ vdd-micb-supply = <&vreg_s4a_1p8>;
+ qcom,dmic-sample-rate = <600000>;
+};
diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index 51cffdae631c..336a4efab0b4 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -1561,6 +1561,9 @@
};
};
+ sound: sound {
+ };
+
usb_1_hsphy: phy@88e3000 {
compatible = "qcom,sm8250-usb-hs-phy",
"qcom,usb-snps-hs-7nm-phy";
--
2.21.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-12-02 18:09 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-02 18:07 [PATCH v2 0/6] arm64: dts: qcom: qrb5165-rb5 audio support Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 1/6] arm64: dts: qcom: sm8250: add apr and its services Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 2/6] arm64: dts: qcom: sm8250: add audio clock controllers Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 3/6] arm64: dts: qcom: sm8250: add lpass lpi pin controller node Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 4/6] arm64: dts: qcom: sm8250: add wsa and va codec macros Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 5/6] arm64: dts: qcom: sm8250: add mi2s pinconfs Srinivas Kandagatla
2020-12-02 18:07 ` [PATCH v2 6/6] arm64: dts: qcom: qrb5165-rb5: Add Audio support Srinivas Kandagatla
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).