From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Add the sound card node with tested playback over max98357a
I2S speakers amplifier and I2S mic.
Introduce HS (High-Speed) MI2S pin control support.
The I2S max98357a speaker amplifier is connected via HS0 and I2S
microphones utilize the HS2 interface.
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Wasim Nazir <wasim.nazir@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/lemans-evk.dts | 52 +++++++++++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/lemans.dtsi | 14 +++++++++
2 files changed, 66 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
index 642b66c4ad1e..4adf0f956580 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
@@ -7,6 +7,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include <dt-bindings/sound/qcom,q6afe.h>
#include "lemans.dtsi"
#include "lemans-pmics.dtsi"
@@ -26,6 +27,17 @@ chosen {
stdout-path = "serial0:115200n8";
};
+ dmic: audio-codec-0 {
+ compatible = "dmic-codec";
+ #sound-dai-cells = <0>;
+ num-channels = <1>;
+ };
+
+ max98357a: audio-codec-1 {
+ compatible = "maxim,max98357a";
+ #sound-dai-cells = <0>;
+ };
+
edp0-connector {
compatible = "dp-connector";
label = "EDP0";
@@ -73,6 +85,46 @@ vreg_sdc: regulator-vreg-sdc {
states = <1800000 0x1
2950000 0x0>;
};
+
+ sound {
+ compatible = "qcom,qcs9100-sndcard";
+ model = "LEMANS-EVK";
+
+ pinctrl-0 = <&hs0_mi2s_active>, <&hs2_mi2s_active>;
+ pinctrl-names = "default";
+
+ hs0-mi2s-playback-dai-link {
+ link-name = "HS0 MI2S Playback";
+
+ codec {
+ sound-dai = <&max98357a>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai PRIMARY_MI2S_RX>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ hs2-mi2s-capture-dai-link {
+ link-name = "HS2 MI2S Capture";
+
+ codec {
+ sound-dai = <&dmic>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai TERTIARY_MI2S_TX>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+ };
};
&apps_rsc {
diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi
index 28f0976ab526..c8e6246b6062 100644
--- a/arch/arm64/boot/dts/qcom/lemans.dtsi
+++ b/arch/arm64/boot/dts/qcom/lemans.dtsi
@@ -5047,6 +5047,20 @@ dp1_hot_plug_det: dp1-hot-plug-det-state {
bias-disable;
};
+ hs0_mi2s_active: hs0-mi2s-active-state {
+ pins = "gpio114", "gpio115", "gpio116", "gpio117";
+ function = "hs0_mi2s";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ hs2_mi2s_active: hs2-mi2s-active-state {
+ pins = "gpio122", "gpio123", "gpio124", "gpio125";
+ function = "hs2_mi2s";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
qup_i2c0_default: qup-i2c0-state {
pins = "gpio20", "gpio21";
function = "qup0_se0";
--
2.51.0
On Tue, Aug 26, 2025 at 11:51:04PM +0530, Wasim Nazir wrote: > From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com> > > Add the sound card node with tested playback over max98357a > I2S speakers amplifier and I2S mic. > > Introduce HS (High-Speed) MI2S pin control support. > The I2S max98357a speaker amplifier is connected via HS0 and I2S > microphones utilize the HS2 interface. Please rewrite this as one fluent description of the hardware, not as 3 separate things thrown into the same commit message. Regards, Bjorn > > Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com> > Signed-off-by: Wasim Nazir <wasim.nazir@oss.qualcomm.com> > --- > arch/arm64/boot/dts/qcom/lemans-evk.dts | 52 +++++++++++++++++++++++++++++++++ > arch/arm64/boot/dts/qcom/lemans.dtsi | 14 +++++++++ > 2 files changed, 66 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts > index 642b66c4ad1e..4adf0f956580 100644 > --- a/arch/arm64/boot/dts/qcom/lemans-evk.dts > +++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts > @@ -7,6 +7,7 @@ > > #include <dt-bindings/gpio/gpio.h> > #include <dt-bindings/regulator/qcom,rpmh-regulator.h> > +#include <dt-bindings/sound/qcom,q6afe.h> > > #include "lemans.dtsi" > #include "lemans-pmics.dtsi" > @@ -26,6 +27,17 @@ chosen { > stdout-path = "serial0:115200n8"; > }; > > + dmic: audio-codec-0 { > + compatible = "dmic-codec"; > + #sound-dai-cells = <0>; > + num-channels = <1>; > + }; > + > + max98357a: audio-codec-1 { > + compatible = "maxim,max98357a"; > + #sound-dai-cells = <0>; > + }; > + > edp0-connector { > compatible = "dp-connector"; > label = "EDP0"; > @@ -73,6 +85,46 @@ vreg_sdc: regulator-vreg-sdc { > states = <1800000 0x1 > 2950000 0x0>; > }; > + > + sound { > + compatible = "qcom,qcs9100-sndcard"; > + model = "LEMANS-EVK"; > + > + pinctrl-0 = <&hs0_mi2s_active>, <&hs2_mi2s_active>; > + pinctrl-names = "default"; > + > + hs0-mi2s-playback-dai-link { > + link-name = "HS0 MI2S Playback"; > + > + codec { > + sound-dai = <&max98357a>; > + }; > + > + cpu { > + sound-dai = <&q6apmbedai PRIMARY_MI2S_RX>; > + }; > + > + platform { > + sound-dai = <&q6apm>; > + }; > + }; > + > + hs2-mi2s-capture-dai-link { > + link-name = "HS2 MI2S Capture"; > + > + codec { > + sound-dai = <&dmic>; > + }; > + > + cpu { > + sound-dai = <&q6apmbedai TERTIARY_MI2S_TX>; > + }; > + > + platform { > + sound-dai = <&q6apm>; > + }; > + }; > + }; > }; > > &apps_rsc { > diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi > index 28f0976ab526..c8e6246b6062 100644 > --- a/arch/arm64/boot/dts/qcom/lemans.dtsi > +++ b/arch/arm64/boot/dts/qcom/lemans.dtsi > @@ -5047,6 +5047,20 @@ dp1_hot_plug_det: dp1-hot-plug-det-state { > bias-disable; > }; > > + hs0_mi2s_active: hs0-mi2s-active-state { > + pins = "gpio114", "gpio115", "gpio116", "gpio117"; > + function = "hs0_mi2s"; > + drive-strength = <8>; > + bias-disable; > + }; > + > + hs2_mi2s_active: hs2-mi2s-active-state { > + pins = "gpio122", "gpio123", "gpio124", "gpio125"; > + function = "hs2_mi2s"; > + drive-strength = <8>; > + bias-disable; > + }; > + > qup_i2c0_default: qup-i2c0-state { > pins = "gpio20", "gpio21"; > function = "qup0_se0"; > > -- > 2.51.0 >
On 8/28/2025 4:37 AM, Bjorn Andersson wrote: > On Tue, Aug 26, 2025 at 11:51:04PM +0530, Wasim Nazir wrote: >> From: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com> >> >> Add the sound card node with tested playback over max98357a >> I2S speakers amplifier and I2S mic. >> >> Introduce HS (High-Speed) MI2S pin control support. >> The I2S max98357a speaker amplifier is connected via HS0 and I2S >> microphones utilize the HS2 interface. > > Please rewrite this as one fluent description of the hardware, not as 3 > separate things thrown into the same commit message. > ACK, Sure, will rewrite proper commit description in next version. Thanks & Regards, Rafi. > Regards, > Bjorn > >> >> Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com> >> Signed-off-by: Wasim Nazir <wasim.nazir@oss.qualcomm.com> >> --- >> arch/arm64/boot/dts/qcom/lemans-evk.dts | 52 +++++++++++++++++++++++++++++++++ >> arch/arm64/boot/dts/qcom/lemans.dtsi | 14 +++++++++ >> 2 files changed, 66 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts >> index 642b66c4ad1e..4adf0f956580 100644 >> --- a/arch/arm64/boot/dts/qcom/lemans-evk.dts >> +++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts >> @@ -7,6 +7,7 @@ >> >> #include <dt-bindings/gpio/gpio.h> >> #include <dt-bindings/regulator/qcom,rpmh-regulator.h> >> +#include <dt-bindings/sound/qcom,q6afe.h> >> >> #include "lemans.dtsi" >> #include "lemans-pmics.dtsi" >> @@ -26,6 +27,17 @@ chosen { >> stdout-path = "serial0:115200n8"; >> }; >> >> + dmic: audio-codec-0 { >> + compatible = "dmic-codec"; >> + #sound-dai-cells = <0>; >> + num-channels = <1>; >> + }; >> + >> + max98357a: audio-codec-1 { >> + compatible = "maxim,max98357a"; >> + #sound-dai-cells = <0>; >> + }; >> + >> edp0-connector { >> compatible = "dp-connector"; >> label = "EDP0"; >> @@ -73,6 +85,46 @@ vreg_sdc: regulator-vreg-sdc { >> states = <1800000 0x1 >> 2950000 0x0>; >> }; >> + >> + sound { >> + compatible = "qcom,qcs9100-sndcard"; >> + model = "LEMANS-EVK"; >> + >> + pinctrl-0 = <&hs0_mi2s_active>, <&hs2_mi2s_active>; >> + pinctrl-names = "default"; >> + >> + hs0-mi2s-playback-dai-link { >> + link-name = "HS0 MI2S Playback"; >> + >> + codec { >> + sound-dai = <&max98357a>; >> + }; >> + >> + cpu { >> + sound-dai = <&q6apmbedai PRIMARY_MI2S_RX>; >> + }; >> + >> + platform { >> + sound-dai = <&q6apm>; >> + }; >> + }; >> + >> + hs2-mi2s-capture-dai-link { >> + link-name = "HS2 MI2S Capture"; >> + >> + codec { >> + sound-dai = <&dmic>; >> + }; >> + >> + cpu { >> + sound-dai = <&q6apmbedai TERTIARY_MI2S_TX>; >> + }; >> + >> + platform { >> + sound-dai = <&q6apm>; >> + }; >> + }; >> + }; >> }; >> >> &apps_rsc { >> diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi >> index 28f0976ab526..c8e6246b6062 100644 >> --- a/arch/arm64/boot/dts/qcom/lemans.dtsi >> +++ b/arch/arm64/boot/dts/qcom/lemans.dtsi >> @@ -5047,6 +5047,20 @@ dp1_hot_plug_det: dp1-hot-plug-det-state { >> bias-disable; >> }; >> >> + hs0_mi2s_active: hs0-mi2s-active-state { >> + pins = "gpio114", "gpio115", "gpio116", "gpio117"; >> + function = "hs0_mi2s"; >> + drive-strength = <8>; >> + bias-disable; >> + }; >> + >> + hs2_mi2s_active: hs2-mi2s-active-state { >> + pins = "gpio122", "gpio123", "gpio124", "gpio125"; >> + function = "hs2_mi2s"; >> + drive-strength = <8>; >> + bias-disable; >> + }; >> + >> qup_i2c0_default: qup-i2c0-state { >> pins = "gpio20", "gpio21"; >> function = "qup0_se0"; >> >> -- >> 2.51.0 >>
© 2016 - 2025 Red Hat, Inc.