Re: [PATCH v2 3/3] arm64: dts: qcom: sm8650-hdk: Enable I2S for HDMI
Neil Armstrong <[email protected]> Fri, 31 Jul 2026 10:54:01 +0200
| Newsgroups | dev.linux.lists.sashiko-reviews,org.kernel.vger.linux-devicetree |
|---|---|
| Organization | Linaro |
| Message-ID | <[email protected]> |
On 7/31/26 10:22, [email protected] wrote: > Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: > - [Medium] The SoC's native I2S and MCLK pinctrl configurations (`i2s0_default_state`, `audio_mclk0_default_state`) are incorrectly placed in the `pinctrl-0` property of the external `lt9611_codec` I2C bridge node, instead of being managed by the sound card or CPU DAI. > - [Low] The `dai@16` node uses an incorrect hexadecimal unit address of `16` (22 in decimal), which does not match the decimal value of its `reg` property `PRIMARY_MI2S_RX` (16, which is 0x10). The node should be named `dai@10`. > -- > > --- Patch [3]: [PATCH v2 3/3] arm64: dts: qcom: sm8650-hdk: Enable I2S for HDMI --- > commit b95de62e9eeaef3502a18beec3e036edf4b8259f > Author: Neil Armstrong <[email protected]> > > arm64: dts: qcom: sm8650-hdk: Enable I2S for HDMI > > Add the necessary nodes to configure the right I2S interface > to output audio via the DSI HDMI bridge. > >> diff --git a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts >> index eabc828c05b4c..b62d387b9afa3 100644 >> --- a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts >> +++ b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts > > [ ... ] > >> @@ -861,7 +878,10 @@ lt9611_codec: hdmi-bridge@2b { >> vdd-supply = <<9611_1v2>; >> vcc-supply = <<9611_3v3>; >> >> - pinctrl-0 = <<9611_irq_pin>, <<9611_rst_pin>; >> + pinctrl-0 = <<9611_irq_pin>, >> + <<9611_rst_pin>, >> + <&i2s0_default_state>, >> + <&audio_mclk0_default_state>; > > [Severity: Medium] > Does this place the SoC's native I2S and MCLK pinctrl configurations in the > external I2C bridge node? > > By placing the SoC I2S pin states in the default property of the external I2C > codec node, the pins might be unconditionally driven from the moment the I2C > bridge driver probes. This could prevent the ALSA/DAPM subsystem from toggling > the pins based on active audio streams. > > Should these be managed by the sound card or CPU DAI instead? No > >> pinctrl-names = "default"; >> >> ports { > > [ ... ] > >> @@ -1072,6 +1092,19 @@ &pon_resin { >> status = "okay"; >> }; >> >> +&q6apmbedai { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + dai@16 { > > [Severity: Low] > Does this trigger a unit_address_vs_reg Device Tree Compiler warning? > > Since PRIMARY_MI2S_RX is 16 in decimal (0x10), should the node be named > dai@10 to match the hex-formatted first address of the reg property? Damn ! > >> + 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"; >> + }; >> +}; >