These patches are device tree changes to support audio over I2S.
Changes Since v4:
-- Removed duplication of dai-link in sound node.
-- Replaced reg values with common dt-bindings macros in coachz dtsi
-- Included sc7180-lpass.h instead of qcom,lpass.h
-- Sound node placement change in coachz dtsi.
Changes Since v3:
-- Compatible name changed as per trogdor
Changes Since v2:
-- sound node variable is added in sc7180-trogdor-coachz.dtsi.
-- Audio-jack property is removed, as it may create conflicts with the boards
having different codecs.
-- Replaced reg values with common dt-bindings macros
Changes Since v1:
-- Ajith's Certification is added.
-- Alias name added for sound dai link node
Ajit Pandey (1):
arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for I2S driver
Srinivasa Rao Mandadapu (1):
arm64: dts: qcom: Add sound node for sc7180-trogdor-coachz
.../boot/dts/qcom/sc7180-trogdor-coachz.dtsi | 10 ++++
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 58 +++++++++++++++++++
2 files changed, 68 insertions(+)
--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
This is a trgodor variant, required to have sound node variable
for coachz specific platform.
Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
---
arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
index 4ad520f00485..7eaad739b6f9 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
@@ -89,6 +89,16 @@ &sn65dsi86_out {
data-lanes = <0 1 2 3>;
};
+&sound {
+ compatible = "google,sc7180-coachz";
+ model = "sc7180-adau7002-max98357a";
+ audio-routing = "PDM_DAT", "DMIC";
+};
+
+&multimedia0_codec {
+ sound-dai = <&adau7002>;
+};
+
/* PINCTRL - modifications to sc7180-trogdor.dtsi */
&en_pp3300_dx_edp {
--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
From: Ajit Pandey <[email protected]>
Add dai link for supporting lpass I2S driver, which is used
for audio capture and playback.
Add lpass-cpu node with pin controls and i2s primary
and secondary dai-links
Signed-off-by: Ajit Pandey <[email protected]>
Signed-off-by: V Sujith Kumar Reddy <[email protected]>
Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
---
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 58 ++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
index 436582279dad..397b564964d5 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
@@ -9,6 +9,7 @@
#include <dt-bindings/input/gpio-keys.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include <dt-bindings/sound/sc7180-lpass.h>
/* PMICs depend on spmi_bus label and so must come after SoC */
#include "pm6150.dtsi"
@@ -283,6 +284,42 @@ keyboard_backlight: keyboard-backlight {
max-brightness = <1023>;
};
};
+
+ sound: sound {
+ compatible = "google,sc7180-trogdor";
+ model = "sc7180-rt5682-max98357a-1mic";
+
+ audio-routing =
+ "Headphone Jack", "HPOL",
+ "Headphone Jack", "HPOR";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dai-link@0 {
+ link-name = "MultiMedia0";
+ reg = <MI2S_PRIMARY>;
+ cpu {
+ sound-dai = <&lpass_cpu MI2S_PRIMARY>;
+ };
+
+ multimedia0_codec: codec {
+ sound-dai = <&alc5682 MI2S_PRIMARY>;
+ };
+ };
+
+ dai-link@1 {
+ link-name = "MultiMedia1";
+ reg = <MI2S_SECONDARY>;
+ cpu {
+ sound-dai = <&lpass_cpu MI2S_SECONDARY>;
+ };
+
+ multimedia1_codec: codec {
+ sound-dai = <&max98357a>;
+ };
+ };
+ };
};
&qfprom {
@@ -720,6 +757,27 @@ &ipa {
modem-init;
};
+&lpass_cpu {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&sec_mi2s_active &pri_mi2s_active &pri_mi2s_mclk_active>;
+
+ #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>;
+ };
+};
+
&mdp {
status = "okay";
};
--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
Hi,
On Fri, Mar 12, 2021 at 8:06 AM Srinivasa Rao Mandadapu
<[email protected]> wrote:
>
> + dai-link@0 {
> + link-name = "MultiMedia0";
> + reg = <MI2S_PRIMARY>;
> + cpu {
> + sound-dai = <&lpass_cpu MI2S_PRIMARY>;
> + };
> +
> + multimedia0_codec: codec {
> + sound-dai = <&alc5682 MI2S_PRIMARY>;
Please change "MI2S_PRIMARY" to "0". "MI2S_PRIMARY" is a numbering
system for "lpass_cpu" not for "alc5682". I'm not aware of symbolic
names for the alc5682's DAIs.
From digging through the code and testing, it appears that for alc5682:
0 - aif1
1 - aif2
Thus you could be a little more documenting by doing:
sound-dai = <&alc5682 0 /*aif1*/>;
-Doug
Hi,
On Fri, Mar 12, 2021 at 8:07 AM Srinivasa Rao Mandadapu
<[email protected]> wrote:
>
> This is a trgodor variant, required to have sound node variable
> for coachz specific platform.
>
> Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
> index 4ad520f00485..7eaad739b6f9 100644
> --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
> @@ -89,6 +89,16 @@ &sn65dsi86_out {
> data-lanes = <0 1 2 3>;
> };
>
> +&sound {
> + compatible = "google,sc7180-coachz";
> + model = "sc7180-adau7002-max98357a";
> + audio-routing = "PDM_DAT", "DMIC";
> +};
> +
> +&multimedia0_codec {
> + sound-dai = <&adau7002>;
> +};
> +
Much nicer! The last nit is that "multimedia0_codec" is now sorted
incorrectly. It starts with "m" so it shouldn't come after "s". Yes, I
know that this rule means that these two things are no longer next to
each other, but that's the rule we have right now.
If it's important for you for them to sort together, I suppose you
could change the label to "sound_multimedia0_codec" though that's a
bit of a mouthful. I'll leave it up to you whether to rename (and keep
the current ordering) or keep the name (and move the node).
-Doug
Hi Doug,
Thanks for your time and inputs!!!
On 3/13/2021 2:58 AM, Doug Anderson wrote:
> Hi,
>
> On Fri, Mar 12, 2021 at 8:06 AM Srinivasa Rao Mandadapu
> <[email protected]> wrote:
>> + dai-link@0 {
>> + link-name = "MultiMedia0";
>> + reg = <MI2S_PRIMARY>;
>> + cpu {
>> + sound-dai = <&lpass_cpu MI2S_PRIMARY>;
>> + };
>> +
>> + multimedia0_codec: codec {
>> + sound-dai = <&alc5682 MI2S_PRIMARY>;
> Please change "MI2S_PRIMARY" to "0". "MI2S_PRIMARY" is a numbering
> system for "lpass_cpu" not for "alc5682". I'm not aware of symbolic
> names for the alc5682's DAIs.
>
> From digging through the code and testing, it appears that for alc5682:
> 0 - aif1
> 1 - aif2
>
> Thus you could be a little more documenting by doing:
>
> sound-dai = <&alc5682 0 /*aif1*/>;
>
> -Doug
Okay, I will change accordingly.
--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
Hi Doug,
Thanks for your time and inputs!!!
On 3/13/2021 2:58 AM, Doug Anderson wrote:
> Hi,
>
> On Fri, Mar 12, 2021 at 8:07 AM Srinivasa Rao Mandadapu
> <[email protected]> wrote:
>> This is a trgodor variant, required to have sound node variable
>> for coachz specific platform.
>>
>> Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
>> ---
>> arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi | 10 ++++++++++
>> 1 file changed, 10 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
>> index 4ad520f00485..7eaad739b6f9 100644
>> --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
>> @@ -89,6 +89,16 @@ &sn65dsi86_out {
>> data-lanes = <0 1 2 3>;
>> };
>>
>> +&sound {
>> + compatible = "google,sc7180-coachz";
>> + model = "sc7180-adau7002-max98357a";
>> + audio-routing = "PDM_DAT", "DMIC";
>> +};
>> +
>> +&multimedia0_codec {
>> + sound-dai = <&adau7002>;
>> +};
>> +
> Much nicer! The last nit is that "multimedia0_codec" is now sorted
> incorrectly. It starts with "m" so it shouldn't come after "s". Yes, I
> know that this rule means that these two things are no longer next to
> each other, but that's the rule we have right now.
>
> If it's important for you for them to sort together, I suppose you
> could change the label to "sound_multimedia0_codec" though that's a
> bit of a mouthful. I'll leave it up to you whether to rename (and keep
> the current ordering) or keep the name (and move the node).
>
>
>
> -Doug
I feel it's good to keep them together by changing name as you suggested.
I will change accordingly and re post it.
--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.