Re: [PATCH 5/5] arm64: dts: qcom: lemans-evk: Add sound card
From: Bjorn Andersson <andersson@kernel.org>
Date: 2025-08-27 23:07:54
Also in:
linux-arm-msm, linux-mmc, lkml, netdev
On Tue, Aug 26, 2025 at 11:51:04PM +0530, Wasim Nazir wrote:
From: Mohammad Rafi Shaik <redacted> 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
quoted hunk ↗ jump to hunk
Signed-off-by: Mohammad Rafi Shaik <redacted> Signed-off-by: Wasim Nazir <redacted> --- 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