[PATCH v3 1/3] arm64: dts: qcom: sm8450-hdk: Enable I2S for HDMI
Neil Armstrong <[email protected]> Wed, 05 Aug 2026 09:48:29 +0200
| Newsgroups | org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Add the necessary nodes to configure the right I2S interface to output audio via the DSI HDMI bridge. Signed-off-by: Neil Armstrong <[email protected]> --- arch/arm64/boot/dts/qcom/sm8450-hdk.dts | 36 ++++++++++++++++++++++++++++- arch/arm64/boot/dts/qcom/sm8450.dtsi | 40 +++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts index b37998cd9a2c..6bc2e8630dc3 100644 --- a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts +++ b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts @@ -665,7 +665,12 @@ lt9611_codec: hdmi-bridge@2b { vcc-supply = <<9611_3v3>; pinctrl-names = "default"; - pinctrl-0 = <<9611_irq_pin <9611_rst_pin>; + pinctrl-0 = <<9611_irq_pin>, + <<9611_rst_pin>, + <&i2s0_default_state>, + <&audio_mclk0_default_state>; + + #sound-dai-cells = <1>; ports { #address-cells = <1>; @@ -947,6 +952,19 @@ channel@44b { }; }; +&q6apmbedai { + #address-cells = <1>; + #size-cells = <0>; + + dai@10 { + reg = <PRIMARY_MI2S_RX>; + clocks = <&q6prmcc LPASS_CLK_ID_PRI_MI2S_IBIT LPASS_CLK_ATTRIBUTE_COUPLE_NO>, + <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>; + clock-names = "bclk", + "mclk"; + }; +}; + &remoteproc_adsp { status = "okay"; firmware-name = "qcom/sm8450/adsp.mbn"; @@ -1079,6 +1097,22 @@ platform { sound-dai = <&q6apm>; }; }; + + prim-mi2s-dai-link { + link-name = "HDMI Playback"; + + cpu { + sound-dai = <&q6apmbedai PRIMARY_MI2S_RX>; + }; + + codec { + sound-dai = <<9611_codec 0>; + }; + + platform { + sound-dai = <&q6apm>; + }; + }; }; &swr0 { diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi index 56cb6e959e4e..879019d48063 100644 --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi @@ -4313,6 +4313,46 @@ qup_uart20_default: qup-uart20-default-state { pins = "gpio76", "gpio77", "gpio78", "gpio79"; function = "qup20"; }; + + audio_mclk0_default_state: audio-mclk0-default-state { + pins = "gpio125"; + function = "pri_mi2s"; + drive-strength = <8>; + bias-disable; + output-high; + }; + + i2s0_default_state: i2s0-default-state { + sck-pins { + pins = "gpio126"; + function = "mi2s0_sck"; + drive-strength = <8>; + bias-disable; + output-high; + }; + + data0-pins { + pins = "gpio127"; + function = "mi2s0_data0"; + drive-strength = <8>; + bias-disable; + }; + + data1-pins { + pins = "gpio128"; + function = "mi2s0_data1"; + drive-strength = <8>; + bias-disable; + }; + + ws-pins { + pins = "gpio129"; + function = "mi2s0_ws"; + drive-strength = <8>; + bias-disable; + output-high; + }; + }; }; lpass_tlmm: pinctrl@3440000 { -- 2.34.1