Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Hongyang Zhao" <hongyang.zhao@thundersoft.com>
Cc: conor+dt@kernel.org, robh@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH 5/5] arm64: dts: qcom: qcs6490-rubikpi3: Add audio support
Date: Sat, 06 Jun 2026 21:33:39 +0000	[thread overview]
Message-ID: <20260606213340.178C41F00893@smtp.kernel.org> (raw)
In-Reply-To: <20260607-rubikpi-next-20260605-v1-5-7f334e16fea6@thundersoft.com>

Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] Missing pinctrl configuration for the ES8316 headphone jack detect interrupt pin.
- [Medium] Hardware interface mismatch for the AudioReach SPDIF endpoint, mapping LPI I2S pins to the non-LPI Tertiary MI2S DAI.
- [Low] Mismatch in interrupt trigger type between the Device Tree and the ES8316 codec driver.
--

commit 078ec2554bd70bae155ad4d9140ebdc8a69a5dec
Author: Hongyang Zhao <hongyang.zhao@thundersoft.com>

arm64: dts: qcom: qcs6490-rubikpi3: Add audio support
    
This commit adds audio support for the Thundercomm RubikPi3 board. It enables
AudioReach, the ES8316 headset codec, LT9611 HDMI codec, and SPDIF endpoints.
It also describes the sound card DAI links and LPASS pin configurations.

> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
> index f47efca42d48d..3249176b4c778 100644
> --- a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
[ ... ]
> @@ -727,6 +755,23 @@ &gpu_zap_shader {
>  	firmware-name = "qcom/qcs6490/a660_zap.mbn";
>  };
>  
> +&i2c0 {
> +	status = "okay";
> +
> +	es8316: audio-codec@11 {
> +		compatible = "everest,es8316";
> +		reg = <0x11>;
> +		#sound-dai-cells = <0>;
> +
> +		clocks = <&q6prmcc LPASS_CLK_ID_MCLK_1 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
> +		clock-names = "mclk";
> +
> +		interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_BOTH>;

[Severity: High]
Are we missing the pinctrl configuration for this interrupt pin?

The es8316 node declares an interrupt on tlmm GPIO 63, but there doesn't
appear to be a corresponding pinctrl-0 property to mux the pin and set its
bias (e.g., bias-disable or bias-pull-down).

Could this leave the interrupt line floating and trigger an interrupt storm?

[Severity: Low]
Is IRQ_TYPE_EDGE_BOTH correct for this codec?

The device tree configures the ES8316 interrupt as IRQ_TYPE_EDGE_BOTH,
but the driver explicitly requests IRQF_TRIGGER_HIGH when it calls
devm_request_threaded_irq().

While the kernel safely overrides the DT configuration with the driver's
request via __irq_set_trigger(), does the DT need an update to match the
actual hardware configuration applied?

> +
> +		everest,jack-detect-inverted;
> +	};
> +};
> +
[ ... ]
> @@ -1006,6 +1061,96 @@ &sdhc_2 {
>  	status = "okay";
>  };
>  
> +&sound {
> +	compatible = "thundercomm,qcs6490-rubikpi3-sndcard";
> +	model = "QCS6490-Thundercomm-RubikPi3";
[ ... ]
> +	tert-mi2s-playback-dai-link {
> +		link-name = "MI2S-LPAIF-RX-TERTIARY";
> +
> +		codec {
> +			sound-dai = <&spdif_tx>;
> +		};
> +
> +		cpu {
> +			sound-dai = <&q6apmbedai TERTIARY_MI2S_RX>;

[Severity: Medium]
Is this DAI link binding to the correct hardware interface?

The physical pins are configured for the LPI I2S1 interface earlier in
q6apmbedai:

&q6apmbedai {
        pinctrl-0 = <&mi2s0_data0>, ...
                    <&lpass_lpi_i2s1_clk>, <&lpass_lpi_i2s1_ws>,
                    <&lpass_lpi_i2s1_data0>, <&lpass_lpi_i2s1_data1>;
}

However, this DAI link binds the CPU DAI to TERTIARY_MI2S_RX, which
corresponds to the main LPAIF Tertiary MI2S hardware block rather than
the LPI I2S1 interface.

Will this cause the AudioReach DSP to route audio to the main LPAIF instead,
leaving the SPDIF pins on the 40-pin header silent?

> +		};
> +
> +		platform {
> +			sound-dai = <&q6apm>;
> +		};
> +	};

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260607-rubikpi-next-20260605-v1-0-7f334e16fea6@thundersoft.com?part=5

      reply	other threads:[~2026-06-06 21:33 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-06 18:58 [PATCH 0/5] Add audio support for QCS6490 RubikPi3 Hongyang Zhao
2026-06-06 18:58 ` [PATCH 1/5] ASoC: dt-bindings: es8316: Document jack detect inversion Hongyang Zhao
2026-06-06 18:58 ` [PATCH 2/5] ASoC: dt-bindings: qcom,sm8250: Add QCS6490 RubikPi3 sound card Hongyang Zhao
2026-06-06 23:40   ` Dmitry Baryshkov
2026-06-06 18:58 ` [PATCH 3/5] ASoC: qcom: qdsp6: q6prm: add the missing MCLK clock IDs Hongyang Zhao
2026-06-06 18:58 ` [PATCH 4/5] ASoC: qcom: sc8280xp: Add per-card data Hongyang Zhao
2026-06-06 21:28   ` sashiko-bot
2026-06-06 18:58 ` [PATCH 5/5] arm64: dts: qcom: qcs6490-rubikpi3: Add audio support Hongyang Zhao
2026-06-06 21:33   ` sashiko-bot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260606213340.178C41F00893@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hongyang.zhao@thundersoft.com \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox