From: sashiko-bot@kernel.org
To: "Jiebing Chen" <jiebing.chen@amlogic.com>
Cc: linux-sound@vger.kernel.org, devicetree@vger.kernel.org,
linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org,
robh@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org
Subject: Re: [PATCH v8 5/5] arm64: dts: amlogic: Add Amlogic S4 Audio
Date: Tue, 10 Nov 2026 02:49:05 +0000 [thread overview]
Message-ID: <sashiko-outbox-206068@kernel.org> (raw)
In-Reply-To: <20261110-audio_drvier-v8-5-1489241e4c83@amlogic.com>
Thank you for your contribution! Sashiko AI review found 2 potential
issues to consider:
- [Medium] arm64: dts: amlogic: wrong spdifin interrupt number in
meson-s4.dtsi
- [Medium] arm64: dts: amlogic: missing pinctrl configuration for
spdifin on AQ222
--
commit ba863296d8a1f9c2893c9c4c64db87474f58e6e7
Author: Jiebing Chen <jiebing.chen@amlogic.com>
arm64: dts: amlogic: Add Amlogic S4 Audio
This commit adds audio controller device tree nodes for the Amlogic S4 SoC
and enables the sound card and audio peripherals on the AQ222 board.
> diff --git a/arch/arm64/boot/dts/amlogic/meson-s4-s805x2-aq222.dts b/arch/arm64/boot/dts/amlogic/meson-s4-s805x2-aq222.dts
> index 0a3f81ea0fb0a..334b57bde4def 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-s4-s805x2-aq222.dts
> +++ b/arch/arm64/boot/dts/amlogic/meson-s4-s805x2-aq222.dts
[ ... ]
> @@ -129,6 +140,207 @@ vddcpu: regulator-vddcpu {
> <699000 98>,
> <689000 100>;
> };
[ ... ]
> + /* spdif coax input */
> + dai-link-11 {
> + sound-dai = <&spdifin>;
> +
> + codec {
> + sound-dai = <&spdif_dir>;
> + };
> + };
[ ... ]
> @@ -235,3 +447,102 @@ ðmac {
> phy-handle = <&internal_ephy>;
> phy-mode = "rmii";
> };
[ ... ]
> +&spdifin {
> + status = "okay";
> +};
> +
> +&spdifout_a {
> + pinctrl-0 = <&spdif_out_h_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
[Severity: Medium]
Is &spdifin missing pinctrl-0 and pinctrl-names properties to mux the
spdif_in pin (and a corresponding spdif_in pinmux node in meson-s4.dtsi)?
dai-link-11 wires &spdifin to the external coaxial receiver &spdif_dir,
and pinctrl-meson-s4.c defines the spdif_in function on the pad next to
spdif_out_h, but unlike &spdifout_a, &spdifin has no pinctrl configuration
and will not receive an external input signal unless the pin was already
muxed by firmware.
> diff --git a/arch/arm64/boot/dts/amlogic/meson-s4.dtsi b/arch/arm64/boot/dts/amlogic/meson-s4.dtsi
> index dfc0a30a6e61b..98ac01c5d6adb 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-s4.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-s4.dtsi
[ ... ]
> @@ -863,4 +878,385 @@ emmc: mmc@fe08c000 {
[ ... ]
> + toddr_a: audio-controller@330100 {
> + compatible = "amlogic,sm1-toddr",
> + "amlogic,axg-toddr";
> + reg = <0x0 0x330100 0x0 0x2c>;
> + #sound-dai-cells = <0>;
> + sound-name-prefix = "TODDR_A";
> + interrupts = <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>;
> + clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
> + resets = <&arb AXG_ARB_TODDR_A>,
> + <&clkc_audio AUD_RESET_TODDR_A>;
> + reset-names = "arb", "rst";
> + amlogic,fifo-depth = <8192>;
> + status = "disabled";
> + };
> +
> + toddr_b: audio-controller@330140 {
> + compatible = "amlogic,sm1-toddr",
> + "amlogic,axg-toddr";
> + reg = <0x0 0x330140 0x0 0x2c>;
> + #sound-dai-cells = <0>;
> + sound-name-prefix = "TODDR_B";
> + interrupts = <GIC_SPI 33 IRQ_TYPE_EDGE_RISING>;
> + clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
> + resets = <&arb AXG_ARB_TODDR_B>,
> + <&clkc_audio AUD_RESET_TODDR_B>;
> + reset-names = "arb", "rst";
> + amlogic,fifo-depth = <256>;
> + status = "disabled";
> + };
> +
> + toddr_c: audio-controller@330180 {
> + compatible = "amlogic,sm1-toddr",
> + "amlogic,axg-toddr";
> + reg = <0x0 0x330180 0x0 0x2c>;
> + #sound-dai-cells = <0>;
> + sound-name-prefix = "TODDR_C";
> + interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>;
> + clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
> + resets = <&arb AXG_ARB_TODDR_C>,
> + <&clkc_audio AUD_RESET_TODDR_C>;
> + reset-names = "arb", "rst";
> + amlogic,fifo-depth = <256>;
> + status = "disabled";
> + };
> +
> + frddr_a: audio-controller@3301c0 {
> + compatible = "amlogic,sm1-frddr",
> + "amlogic,axg-frddr";
> + reg = <0x0 0x3301c0 0x0 0x2c>;
> + #sound-dai-cells = <0>;
> + sound-name-prefix = "FRDDR_A";
> + interrupts = <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>;
[ ... ]
> + spdifin: audio-controller@330400 {
> + compatible = "amlogic,g12a-spdifin",
> + "amlogic,axg-spdifin";
> + reg = <0x0 0x330400 0x0 0x30>;
> + #sound-dai-cells = <0>;
> + sound-name-prefix = "SPDIFIN";
> + interrupts = <GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
> + clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
> + <&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
> + clock-names = "pclk", "refclk";
> + resets = <&clkc_audio AUD_RESET_SPDIFIN>;
> + status = "disabled";
> + };
[Severity: Medium]
Should the spdifin interrupt be 35 instead of 151?
On Amlogic SoCs (such as meson-g12.dtsi and meson-sm1.dtsi, which use
148..154), the interrupts for toddr_a..toddr_c, spdifin, and
frddr_a..frddr_c form a contiguous block. Here toddr_a..toddr_c are at
32..34 and frddr_a..frddr_c are at 36..38, while spdifin still has 151
from G12A/SM1, so any consumer of the spdifin interrupt will bind to the
wrong line.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261110-audio_drvier-v8-0-1489241e4c83@amlogic.com?part=5
WARNING: multiple messages have this Message-ID (diff)
From: sashiko-bot@kernel.org
To: "Jiebing Chen" <jiebing.chen@amlogic.com>
Cc: linux-sound@vger.kernel.org, devicetree@vger.kernel.org,
linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org,
robh@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org
Subject: Re: [PATCH v8 5/5] arm64: dts: amlogic: Add Amlogic S4 Audio
Date: Tue, 10 Nov 2026 02:49:05 +0000 [thread overview]
Message-ID: <sashiko-outbox-206068@kernel.org> (raw)
In-Reply-To: <20261110-audio_drvier-v8-5-1489241e4c83@amlogic.com>
Thank you for your contribution! Sashiko AI review found 2 potential
issues to consider:
- [Medium] arm64: dts: amlogic: wrong spdifin interrupt number in
meson-s4.dtsi
- [Medium] arm64: dts: amlogic: missing pinctrl configuration for
spdifin on AQ222
--
commit ba863296d8a1f9c2893c9c4c64db87474f58e6e7
Author: Jiebing Chen <jiebing.chen@amlogic.com>
arm64: dts: amlogic: Add Amlogic S4 Audio
This commit adds audio controller device tree nodes for the Amlogic S4 SoC
and enables the sound card and audio peripherals on the AQ222 board.
> diff --git a/arch/arm64/boot/dts/amlogic/meson-s4-s805x2-aq222.dts b/arch/arm64/boot/dts/amlogic/meson-s4-s805x2-aq222.dts
> index 0a3f81ea0fb0a..334b57bde4def 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-s4-s805x2-aq222.dts
> +++ b/arch/arm64/boot/dts/amlogic/meson-s4-s805x2-aq222.dts
[ ... ]
> @@ -129,6 +140,207 @@ vddcpu: regulator-vddcpu {
> <699000 98>,
> <689000 100>;
> };
[ ... ]
> + /* spdif coax input */
> + dai-link-11 {
> + sound-dai = <&spdifin>;
> +
> + codec {
> + sound-dai = <&spdif_dir>;
> + };
> + };
[ ... ]
> @@ -235,3 +447,102 @@ ðmac {
> phy-handle = <&internal_ephy>;
> phy-mode = "rmii";
> };
[ ... ]
> +&spdifin {
> + status = "okay";
> +};
> +
> +&spdifout_a {
> + pinctrl-0 = <&spdif_out_h_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
[Severity: Medium]
Is &spdifin missing pinctrl-0 and pinctrl-names properties to mux the
spdif_in pin (and a corresponding spdif_in pinmux node in meson-s4.dtsi)?
dai-link-11 wires &spdifin to the external coaxial receiver &spdif_dir,
and pinctrl-meson-s4.c defines the spdif_in function on the pad next to
spdif_out_h, but unlike &spdifout_a, &spdifin has no pinctrl configuration
and will not receive an external input signal unless the pin was already
muxed by firmware.
> diff --git a/arch/arm64/boot/dts/amlogic/meson-s4.dtsi b/arch/arm64/boot/dts/amlogic/meson-s4.dtsi
> index dfc0a30a6e61b..98ac01c5d6adb 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-s4.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-s4.dtsi
[ ... ]
> @@ -863,4 +878,385 @@ emmc: mmc@fe08c000 {
[ ... ]
> + toddr_a: audio-controller@330100 {
> + compatible = "amlogic,sm1-toddr",
> + "amlogic,axg-toddr";
> + reg = <0x0 0x330100 0x0 0x2c>;
> + #sound-dai-cells = <0>;
> + sound-name-prefix = "TODDR_A";
> + interrupts = <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>;
> + clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
> + resets = <&arb AXG_ARB_TODDR_A>,
> + <&clkc_audio AUD_RESET_TODDR_A>;
> + reset-names = "arb", "rst";
> + amlogic,fifo-depth = <8192>;
> + status = "disabled";
> + };
> +
> + toddr_b: audio-controller@330140 {
> + compatible = "amlogic,sm1-toddr",
> + "amlogic,axg-toddr";
> + reg = <0x0 0x330140 0x0 0x2c>;
> + #sound-dai-cells = <0>;
> + sound-name-prefix = "TODDR_B";
> + interrupts = <GIC_SPI 33 IRQ_TYPE_EDGE_RISING>;
> + clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
> + resets = <&arb AXG_ARB_TODDR_B>,
> + <&clkc_audio AUD_RESET_TODDR_B>;
> + reset-names = "arb", "rst";
> + amlogic,fifo-depth = <256>;
> + status = "disabled";
> + };
> +
> + toddr_c: audio-controller@330180 {
> + compatible = "amlogic,sm1-toddr",
> + "amlogic,axg-toddr";
> + reg = <0x0 0x330180 0x0 0x2c>;
> + #sound-dai-cells = <0>;
> + sound-name-prefix = "TODDR_C";
> + interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>;
> + clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
> + resets = <&arb AXG_ARB_TODDR_C>,
> + <&clkc_audio AUD_RESET_TODDR_C>;
> + reset-names = "arb", "rst";
> + amlogic,fifo-depth = <256>;
> + status = "disabled";
> + };
> +
> + frddr_a: audio-controller@3301c0 {
> + compatible = "amlogic,sm1-frddr",
> + "amlogic,axg-frddr";
> + reg = <0x0 0x3301c0 0x0 0x2c>;
> + #sound-dai-cells = <0>;
> + sound-name-prefix = "FRDDR_A";
> + interrupts = <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>;
[ ... ]
> + spdifin: audio-controller@330400 {
> + compatible = "amlogic,g12a-spdifin",
> + "amlogic,axg-spdifin";
> + reg = <0x0 0x330400 0x0 0x30>;
> + #sound-dai-cells = <0>;
> + sound-name-prefix = "SPDIFIN";
> + interrupts = <GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
> + clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
> + <&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
> + clock-names = "pclk", "refclk";
> + resets = <&clkc_audio AUD_RESET_SPDIFIN>;
> + status = "disabled";
> + };
[Severity: Medium]
Should the spdifin interrupt be 35 instead of 151?
On Amlogic SoCs (such as meson-g12.dtsi and meson-sm1.dtsi, which use
148..154), the interrupts for toddr_a..toddr_c, spdifin, and
frddr_a..frddr_c form a contiguous block. Here toddr_a..toddr_c are at
32..34 and frddr_a..frddr_c are at 36..38, while spdifin still has 151
from G12A/SM1, so any consumer of the spdifin interrupt will bind to the
wrong line.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261110-audio_drvier-v8-0-1489241e4c83@amlogic.com?part=5
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
next prev parent reply other threads:[~2026-11-10 2:49 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-10 2:28 [PATCH v8 0/5] Add support for S4 audio Jiebing Chen via B4 Relay
2026-11-10 2:28 ` Jiebing Chen via B4 Relay
2026-11-10 2:28 ` Jiebing Chen
2026-11-10 2:28 ` [PATCH v8 1/5] dt-bindings: clock: meson: Add audio power domain for S4 soc Jiebing Chen via B4 Relay
2026-11-10 2:28 ` Jiebing Chen via B4 Relay
2026-11-10 2:28 ` Jiebing Chen
2026-11-10 2:45 ` sashiko-bot
2026-11-10 2:45 ` sashiko-bot
2026-11-10 8:26 ` Krzysztof Kozlowski
2026-11-10 8:26 ` Krzysztof Kozlowski
2026-11-10 2:28 ` [PATCH v8 2/5] dt-bindings: Asoc: axg-audio: Add S4 audio tocodec Jiebing Chen via B4 Relay
2026-11-10 2:28 ` Jiebing Chen via B4 Relay
2026-11-10 2:28 ` Jiebing Chen
2026-11-11 17:18 ` Mark Brown
2026-11-11 17:18 ` Mark Brown
2026-11-10 2:28 ` [PATCH v8 3/5] ASoC: meson: g12a-toacodec: Add S4 tocodec driver Jiebing Chen via B4 Relay
2026-11-10 2:28 ` Jiebing Chen via B4 Relay
2026-11-10 2:28 ` Jiebing Chen
2026-11-10 2:28 ` [PATCH v8 4/5] clk: meson: axg_audio: add S4 support Jiebing Chen via B4 Relay
2026-11-10 2:28 ` Jiebing Chen via B4 Relay
2026-11-10 2:28 ` Jiebing Chen
2026-11-10 2:28 ` [PATCH v8 5/5] arm64: dts: amlogic: Add Amlogic S4 Audio Jiebing Chen via B4 Relay
2026-11-10 2:28 ` Jiebing Chen via B4 Relay
2026-11-10 2:28 ` Jiebing Chen
2026-11-10 2:49 ` sashiko-bot [this message]
2026-11-10 2:49 ` sashiko-bot
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=sashiko-outbox-206068@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jiebing.chen@amlogic.com \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=neil.armstrong@linaro.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.