From: sashiko-bot@kernel.org
To: "Lucas Tanure" <tanure@linux.com>
Cc: devicetree@vger.kernel.org, linux-amlogic@lists.infradead.org,
robh@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org
Subject: Re: [PATCH v6 2/7] dt-bindings: net: amlogic,meson-dwmac: add amlogic,t7-dwmac
Date: Fri, 06 Nov 2026 10:04:23 +0000 [thread overview]
Message-ID: <sashiko-outbox-201171@kernel.org> (raw)
In-Reply-To: <20261105100322.37816-3-tanure@linux.com>
Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Low] dt-bindings: net: amlogic,meson-dwmac: unwieldy per-compatible
conditionals
--
commit bc12f1675c9788e6cacf4400aec8cfab4ff91981
Author: Lucas Tanure <tanure@linux.com>
dt-bindings: net: amlogic,meson-dwmac: add amlogic,t7-dwmac
This commit adds the amlogic,t7-dwmac compatible string and its associated
clock and delay constraints to the Amlogic Meson DWMAC device tree binding
schema.
> diff --git a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml
> index e769c9bb70d84..ff5e50f651144 100644
> --- a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml
[ ... ]
> @@ -84,6 +85,49 @@ allOf:
> rx-internal-delay-ps:
> default: 0
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: amlogic,t7-dwmac
> + then:
> + properties:
> + clocks:
> + items:
> + - description: GMAC main clock
> + - description: First parent clock of the internal mux
> + - description: Second parent clock of the internal mux
> + - description:
> + clock of the pipeline stage inserted in the bus path between
> + the controller and the DRAM. Without it, the controller cannot
> + complete DMA transfers.
> + - description:
> + clock of the register block holding PRG_ETH0 and PRG_ETH1.
> + Without it, the block reads as zero and ignores writes.
> +
> + clock-names:
> + items:
> + - const: stmmaceth
> + - const: clkin0
> + - const: clkin1
> + - const: pipeline
> + - const: pclk
> +
> + # The PHY adds the 2ns RGMII delays, see ethernet-controller.yaml.
> + # The RX delay line of this glue is fine tuning in 200ps steps,
> + # added on top of what phy-mode describes. The TX side has no fine
> + # tuning: its only step is a quarter of the clock period, the full
> + # 2ns at 1Gbit/s, so the TX property is not accepted.
> + rx-internal-delay-ps:
> + default: 0
> +
> + tx-internal-delay-ps: false
> +
> + # Deprecated: new SoCs use the standard *-internal-delay-ps
> + # properties instead.
> + amlogic,tx-delay-ns: false
> + amlogic,rx-delay-ns: false
> +
> - if:
> properties:
> compatible:
> @@ -106,6 +150,7 @@ allOf:
> contains:
> enum:
> - amlogic,meson-g12a-dwmac
> + - amlogic,t7-dwmac
> then:
> properties:
> rx-internal-delay-ps:
> @@ -142,6 +187,10 @@ properties:
> - items:
> - const: amlogic,meson6-dwmac
> - const: snps,dwmac
> + - items:
> + - const: amlogic,t7-dwmac
> + - const: snps,dwmac-5.10a
> + - const: snps,dwmac
[Severity: Low]
This isn't a bug, but as reported by Sashiko on v5 [1], the amlogic,t7-dwmac
variant differs substantially from the existing Meson6 and Meson8b-through-G12A
variants in Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml: it
uses a different Synopsys core fallback (snps,dwmac-5.10a instead of
snps,dwmac-3.70a or snps,dwmac), requires a different five-clock list
(stmmaceth, clkin0, clkin1, pipeline, pclk without timing-adjustment), and
disallows tx-internal-delay-ps as well as the legacy amlogic,tx-delay-ns and
amlogic,rx-delay-ns properties.
Rather than piling another large per-compatible if-then conditional block into
allOf and splitting the rx-internal-delay-ps constraints for amlogic,t7-dwmac
across two separate if-then blocks in allOf (while also setting
amlogic,tx-delay-ns and amlogic,rx-delay-ns to false even though those vendor
properties are only defined inside the mutually exclusive Meson8b-through-G12A
conditional branch and are already rejected by unevaluatedProperties: false),
would it be cleaner to split the divergent T7 binding into a separate schema
document?
[1] https://lore.kernel.org/r/20261103163715.385394-3-tanure@linux.com
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261105100322.37816-1-tanure@linux.com?part=2
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
WARNING: multiple messages have this Message-ID (diff)
From: sashiko-bot@kernel.org
To: "Lucas Tanure" <tanure@linux.com>
Cc: devicetree@vger.kernel.org, linux-amlogic@lists.infradead.org,
robh@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org
Subject: Re: [PATCH v6 2/7] dt-bindings: net: amlogic,meson-dwmac: add amlogic,t7-dwmac
Date: Fri, 06 Nov 2026 10:04:23 +0000 [thread overview]
Message-ID: <sashiko-outbox-201171@kernel.org> (raw)
In-Reply-To: <20261105100322.37816-3-tanure@linux.com>
Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Low] dt-bindings: net: amlogic,meson-dwmac: unwieldy per-compatible
conditionals
--
commit bc12f1675c9788e6cacf4400aec8cfab4ff91981
Author: Lucas Tanure <tanure@linux.com>
dt-bindings: net: amlogic,meson-dwmac: add amlogic,t7-dwmac
This commit adds the amlogic,t7-dwmac compatible string and its associated
clock and delay constraints to the Amlogic Meson DWMAC device tree binding
schema.
> diff --git a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml
> index e769c9bb70d84..ff5e50f651144 100644
> --- a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml
[ ... ]
> @@ -84,6 +85,49 @@ allOf:
> rx-internal-delay-ps:
> default: 0
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: amlogic,t7-dwmac
> + then:
> + properties:
> + clocks:
> + items:
> + - description: GMAC main clock
> + - description: First parent clock of the internal mux
> + - description: Second parent clock of the internal mux
> + - description:
> + clock of the pipeline stage inserted in the bus path between
> + the controller and the DRAM. Without it, the controller cannot
> + complete DMA transfers.
> + - description:
> + clock of the register block holding PRG_ETH0 and PRG_ETH1.
> + Without it, the block reads as zero and ignores writes.
> +
> + clock-names:
> + items:
> + - const: stmmaceth
> + - const: clkin0
> + - const: clkin1
> + - const: pipeline
> + - const: pclk
> +
> + # The PHY adds the 2ns RGMII delays, see ethernet-controller.yaml.
> + # The RX delay line of this glue is fine tuning in 200ps steps,
> + # added on top of what phy-mode describes. The TX side has no fine
> + # tuning: its only step is a quarter of the clock period, the full
> + # 2ns at 1Gbit/s, so the TX property is not accepted.
> + rx-internal-delay-ps:
> + default: 0
> +
> + tx-internal-delay-ps: false
> +
> + # Deprecated: new SoCs use the standard *-internal-delay-ps
> + # properties instead.
> + amlogic,tx-delay-ns: false
> + amlogic,rx-delay-ns: false
> +
> - if:
> properties:
> compatible:
> @@ -106,6 +150,7 @@ allOf:
> contains:
> enum:
> - amlogic,meson-g12a-dwmac
> + - amlogic,t7-dwmac
> then:
> properties:
> rx-internal-delay-ps:
> @@ -142,6 +187,10 @@ properties:
> - items:
> - const: amlogic,meson6-dwmac
> - const: snps,dwmac
> + - items:
> + - const: amlogic,t7-dwmac
> + - const: snps,dwmac-5.10a
> + - const: snps,dwmac
[Severity: Low]
This isn't a bug, but as reported by Sashiko on v5 [1], the amlogic,t7-dwmac
variant differs substantially from the existing Meson6 and Meson8b-through-G12A
variants in Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml: it
uses a different Synopsys core fallback (snps,dwmac-5.10a instead of
snps,dwmac-3.70a or snps,dwmac), requires a different five-clock list
(stmmaceth, clkin0, clkin1, pipeline, pclk without timing-adjustment), and
disallows tx-internal-delay-ps as well as the legacy amlogic,tx-delay-ns and
amlogic,rx-delay-ns properties.
Rather than piling another large per-compatible if-then conditional block into
allOf and splitting the rx-internal-delay-ps constraints for amlogic,t7-dwmac
across two separate if-then blocks in allOf (while also setting
amlogic,tx-delay-ns and amlogic,rx-delay-ns to false even though those vendor
properties are only defined inside the mutually exclusive Meson8b-through-G12A
conditional branch and are already rejected by unevaluatedProperties: false),
would it be cleaner to split the divergent T7 binding into a separate schema
document?
[1] https://lore.kernel.org/r/20261103163715.385394-3-tanure@linux.com
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261105100322.37816-1-tanure@linux.com?part=2
next prev parent reply other threads:[~2026-11-06 10:04 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-05 10:03 [PATCH v6 0/7] Add ethernet support for the Amlogic T7 Lucas Tanure
2026-11-05 10:03 ` Lucas Tanure
2026-11-05 10:03 ` [PATCH v6 1/7] dt-bindings: net: amlogic,meson-dwmac: list the compatible combinations Lucas Tanure
2026-11-05 10:03 ` Lucas Tanure
2026-11-05 10:03 ` [PATCH v6 2/7] dt-bindings: net: amlogic,meson-dwmac: add amlogic,t7-dwmac Lucas Tanure
2026-11-05 10:03 ` Lucas Tanure
2026-11-06 10:04 ` sashiko-bot [this message]
2026-11-06 10:04 ` sashiko-bot
2026-11-05 10:03 ` [PATCH v6 3/7] net: stmmac: dwmac-meson8b: add support for the Amlogic T7 Lucas Tanure
2026-11-05 10:03 ` Lucas Tanure
2026-11-05 10:03 ` [PATCH v6 4/7] net: stmmac: dwmac-meson8b: follow the generic RGMII delay rules on the T7 Lucas Tanure
2026-11-05 10:03 ` Lucas Tanure
2026-11-05 10:03 ` [PATCH v6 5/7] arm64: dts: amlogic: t7: add the ethernet pinctrl nodes Lucas Tanure
2026-11-05 10:03 ` Lucas Tanure
2026-11-05 10:03 ` [PATCH v6 6/7] arm64: dts: amlogic: t7: add the ethernet controller Lucas Tanure
2026-11-05 10:03 ` Lucas Tanure
2026-11-05 10:03 ` [PATCH v6 7/7] arm64: dts: amlogic: t7: khadas-vim4: enable the ethernet port Lucas Tanure
2026-11-05 10:03 ` Lucas Tanure
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-201171@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=linux-amlogic@lists.infradead.org \
--cc=neil.armstrong@linaro.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=tanure@linux.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 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.