From: sashiko-bot@kernel.org
To: phucduc.bui@gmail.com
Cc: wsa+renesas@sang-engineering.com, robh@kernel.org,
conor+dt@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v4 01/10] ASoC: dt-bindings: renesas,fsi: add support multiple clocks
Date: Fri, 05 Jun 2026 12:30:54 +0000 [thread overview]
Message-ID: <20260605123054.BBB721F00893@smtp.kernel.org> (raw)
In-Reply-To: <20260605121955.105661-2-phucduc.bui@gmail.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Contradiction between the strict positional order defined in the `clocks` index descriptions and the flexible ordering permitted by `clock-names`.
--
commit f8c8566ea84f655cc7929bfa8c21e1ba2f97abe4
Author: bui duc phuc <phucduc.bui@gmail.com>
ASoC: dt-bindings: renesas,fsi: add support multiple clocks
This commit updates the Renesas FSI binding to support multiple clocks to
properly describe the hardware clock tree. It includes the SPU bus/bridge
clock, CPG DIV6 functional clocks, FSI dividers, and external clock inputs.
> diff --git a/Documentation/devicetree/bindings/sound/renesas,fsi.yaml b/Documentation/devicetree/bindings/sound/renesas,fsi.yaml
> --- a/Documentation/devicetree/bindings/sound/renesas,fsi.yaml
> +++ b/Documentation/devicetree/bindings/sound/renesas,fsi.yaml
> @@ -38,7 +35,32 @@ properties:
> maxItems: 1
>
> clocks:
> - maxItems: 1
> + minItems: 1
> + items:
> + - description: Main FSI module clock
> + - description: |
> + SPU bus/bridge clock. On R8A7740, this clock must be enabled to allow
> + register access as the FSI block is connected behind the SPU bus.
> + - description: CPG DIV6 functional clocks for FSI port A
> + - description: CPG DIV6 functional clocks for FSI port B
> + - description: FSI dividers for port A used for audio clock generation
> + - description: FSI dividers for port B used for audio clock generation
> + - description: External clock inputs for FSI port A provided by the board
> + - description: External clock inputs for FSI port B provided by the board
[ ... ]
> @@ -69,6 +91,31 @@ required:
>
> unevaluatedProperties: false
>
> +allOf:
> + - $ref: dai-common.yaml#
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: renesas,fsi2-r8a7740
> + then:
> + required:
> + - clock-names
> +
> + properties:
> + clock-names:
> + minItems: 2
> + uniqueItems: true
> + items:
> + - const: fck
> + - const: spu
> + - enum: [icka, ickb, diva, divb, xcka, xckb]
> + - enum: [icka, ickb, diva, divb, xcka, xckb]
> + - enum: [icka, ickb, diva, divb, xcka, xckb]
> + - enum: [icka, ickb, diva, divb, xcka, xckb]
> + - enum: [icka, ickb, diva, divb, xcka, xckb]
> + - enum: [icka, ickb, diva, divb, xcka, xckb]
[Severity: Low]
Does this flexible enum ordering conflict with the strict positional sequence
defined in the clocks property description above?
The clocks property specifies an items array with 8 distinct descriptions
that enforces a strict positional mapping (e.g., the fourth slot is the
functional clock for port B). However, this clock-names constraint permits
these optional clocks to be specified in an arbitrary order.
If a board omits an optional clock but provides subsequent ones, will
dt-schema incorrectly map the provided clock to the wrong description since
DT arrays do not support skipping elements?
> examples:
> - |
> #include <dt-bindings/clock/r8a7740-clock.h>
> @@ -77,7 +124,11 @@ examples:
> compatible = "renesas,fsi2-r8a7740", "renesas,sh_fsi2";
> reg = <0xfe1f0000 0x400>;
> interrupts = <GIC_SPI 9 0x4>;
> - clocks = <&mstp3_clks R8A7740_CLK_FSI>;
> + clocks = <&mstp3_clks R8A7740_CLK_FSI>, <&spu_clk>,
> + <&fsia_clk>, <&fsiack_clk>, <&fsidiva_clk>,
> + <&fsib_clk>, <&fsibck_clk>, <&fsidivb_clk>;
> + clock-names = "fck", "spu", "icka", "xcka", "diva",
> + "ickb", "xckb", "divb";
[Severity: Low]
Can this example be updated to follow the positional sequence defined in the
clocks property?
The clocks definition reserves the fourth position (index 3) for the CPG DIV6
functional clock for FSI port B ("ickb"), but the example places the external
clock input "xcka" at that position instead.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260605121955.105661-1-phucduc.bui@gmail.com?part=1
next prev parent reply other threads:[~2026-06-05 12:30 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-05 12:19 [PATCH v4 00/10] ASoC: renesas: fsi: Fix system hang by adding SPU clock phucduc.bui
2026-06-05 12:19 ` [PATCH v4 01/10] ASoC: dt-bindings: renesas,fsi: add support multiple clocks phucduc.bui
2026-06-05 12:30 ` sashiko-bot [this message]
2026-06-05 12:19 ` [PATCH v4 02/10] ARM: dts: renesas: r8a7740: Add clocks for FSI phucduc.bui
2026-06-05 12:19 ` [PATCH v4 03/10] ASoC: renesas: fsi: Fix trigger stop ordering phucduc.bui
2026-06-05 12:52 ` sashiko-bot
2026-06-05 12:19 ` [PATCH v4 04/10] ASoC: renesas: fsi: Move fsi_stream_is_working() phucduc.bui
2026-06-05 13:04 ` sashiko-bot
2026-06-05 12:19 ` [PATCH v4 05/10] ASoC: renesas: fsi: Fix register access from in-flight IRQ after shutdown phucduc.bui
2026-06-05 13:20 ` sashiko-bot
2026-06-05 12:19 ` [PATCH v4 06/10] ASoC: renesas: fsi: Move fsi_clk_init() phucduc.bui
2026-06-05 13:32 ` sashiko-bot
2026-06-05 12:19 ` [PATCH v4 07/10] ASoC: renesas: fsi: Use devm_clk_get_optional() for optional clocks phucduc.bui
2026-06-05 12:19 ` [PATCH v4 08/10] ASoC: renesas: fsi: refactor clock initialization phucduc.bui
2026-06-05 14:04 ` sashiko-bot
2026-06-05 12:19 ` [PATCH v4 09/10] ASoC: renesas: fsi: add fsi_clk_prepare/unprepare() phucduc.bui
2026-06-05 14:21 ` sashiko-bot
2026-06-05 12:19 ` [PATCH v4 10/10] ASoC: renesas: fsi: Add SPU clock control in hw_startup/shutdown phucduc.bui
2026-06-05 14:21 ` Mark Brown
2026-06-05 14:32 ` 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=20260605123054.BBB721F00893@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=phucduc.bui@gmail.com \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=wsa+renesas@sang-engineering.com \
/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