From: Jacky Chou <jacky_chou@aspeedtech.com>
To: Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Po-Yu Chuang <ratbert@faraday-tech.com>,
Eric Dumazet <edumazet@kernel.org>,
"Heiner Kallweit" <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
"Eric Dumazet" <edumazet@kernel.org>
Cc: <netdev@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
Jacky Chou <jacky_chou@aspeedtech.com>
Subject: [PATCH net-next v6 1/7] dt-bindings: net: ftgmac100: Make Aspeed compatibles standalone
Date: Thu, 12 Nov 2026 16:39:07 +0800 [thread overview]
Message-ID: <20261112-support_ast2700-v6-1-238020bf46cf@aspeedtech.com> (raw)
In-Reply-To: <20261112-support_ast2700-v6-0-238020bf46cf@aspeedtech.com>
The aspeed,ast2400-mac, aspeed,ast2500-mac, and aspeed,ast2600-mac
compatibles are currently only valid when paired with the generic
"faraday,ftgmac100" fallback: if a node ever bound through the
generic entry alone, ftgmac100_probe() would set
rxdes0_edorr_mask/txdes0_edotr_mask to BIT(15) instead of the Aspeed
BIT(30), skip Aspeed clock setup, and leave the DMA mask too narrow.
Make each of them a standalone compatible instead, so none of the
Aspeed compatibles require the generic fallback alongside them.
Now that the Aspeed compatibles no longer need the generic fallback,
also constrain the clocks and clock-names properties per compatible
instead of leaving them generically optional: aspeed,ast2400-mac takes
exactly one clock, aspeed,ast2500-mac and aspeed,ast2600-mac take one
or two, and the plain faraday,ftgmac100 compatible takes none. Require
clock-names whenever two clocks are listed.
Signed-off-by: Jacky Chou <jacky_chou@aspeedtech.com>
---
ftgmac100_of_match[] has had dedicated entries for AST2400, AST2500,
and AST2600 since commit 03a2aba50b2c ("net: ftgmac100: List all
compatibles"), so there is no known kernel + devicetree combination
where a node has actually bound through the generic entry and gotten
the wrong EDORR bit. This part is a binding correctness fix, not a fix
for an observed failure.
Note that arch/arm/boot/dts/aspeed/aspeed-g4.dtsi, aspeed-g5.dtsi, and
aspeed-g6.dtsi still declare their MAC nodes with the two-string
"aspeed,astXXXX-mac", "faraday,ftgmac100" compatible, so this will make
dtbs_check warn against those files until the redundant fallback
compatible is dropped there as well. That .dtsi change will be sent as
a separate series through the Aspeed/arm-soc tree, since dt-bindings
changes don't go through that tree.
---
.../devicetree/bindings/net/faraday,ftgmac100.yaml | 71 +++++++++++++++++++---
1 file changed, 61 insertions(+), 10 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/faraday,ftgmac100.yaml b/Documentation/devicetree/bindings/net/faraday,ftgmac100.yaml
index d14410018bcf..9d352e3686aa 100644
--- a/Documentation/devicetree/bindings/net/faraday,ftgmac100.yaml
+++ b/Documentation/devicetree/bindings/net/faraday,ftgmac100.yaml
@@ -11,14 +11,11 @@ maintainers:
properties:
compatible:
- oneOf:
- - const: faraday,ftgmac100
- - items:
- - enum:
- - aspeed,ast2400-mac
- - aspeed,ast2500-mac
- - aspeed,ast2600-mac
- - const: faraday,ftgmac100
+ enum:
+ - faraday,ftgmac100
+ - aspeed,ast2400-mac
+ - aspeed,ast2500-mac
+ - aspeed,ast2600-mac
reg:
maxItems: 1
@@ -88,22 +85,76 @@ allOf:
else:
properties:
resets: false
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: aspeed,ast2400-mac
+ then:
+ properties:
+ clocks:
+ maxItems: 1
+ clock-names:
+ maxItems: 1
+ required:
+ - clocks
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - aspeed,ast2500-mac
+ - aspeed,ast2600-mac
+ then:
+ properties:
+ clocks:
+ minItems: 1
+ maxItems: 2
+ clock-names:
+ minItems: 1
+ maxItems: 2
+ required:
+ - clocks
+ - if:
+ not:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - aspeed,ast2400-mac
+ - aspeed,ast2500-mac
+ - aspeed,ast2600-mac
+ then:
+ properties:
+ clocks: false
+ clock-names: false
+ - if:
+ properties:
+ clocks:
+ minItems: 2
+ then:
+ required:
+ - clock-names
unevaluatedProperties: false
examples:
- |
+ #include <dt-bindings/clock/aspeed-clock.h>
+
ethernet@1e660000 {
- compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
+ compatible = "aspeed,ast2500-mac";
reg = <0x1e660000 0x180>;
interrupts = <2>;
+ clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>;
use-ncsi;
};
ethernet@1e680000 {
- compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
+ compatible = "aspeed,ast2500-mac";
reg = <0x1e680000 0x180>;
interrupts = <2>;
+ clocks = <&syscon ASPEED_CLK_GATE_MAC2CLK>;
phy-handle = <&phy>;
phy-mode = "rgmii";
--
2.34.1
next prev parent reply other threads:[~2026-11-12 8:39 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-12 8:39 [PATCH net-next v6 0/7] net: ftgmac100: Add AST2700 support Jacky Chou
2026-11-12 8:39 ` Jacky Chou [this message]
2026-11-12 8:39 ` [PATCH net-next v6 2/7] dt-bindings: net: ftgmac100: Add AST2700 compatible Jacky Chou
2026-11-12 8:39 ` [PATCH net-next v6 3/7] net: ftgmac100: Add AST2700 compatible support Jacky Chou
2026-11-12 8:39 ` [PATCH net-next v6 4/7] net: ftgmac100: Enable AST2700 RMII support Jacky Chou
2026-11-12 8:39 ` [PATCH net-next v6 5/7] net: ftgmac100: Require phy-mode for AST2700 Jacky Chou
2026-11-12 8:39 ` [PATCH net-next v6 6/7] net: ftgmac100: Add AST2700 upper DMA address support Jacky Chou
2026-11-12 8:39 ` [PATCH net-next v6 7/7] net: ftgmac100: Allow building on ARM64 Jacky Chou
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=20261112-support_ast2700-v6-1-238020bf46cf@aspeedtech.com \
--to=jacky_chou@aspeedtech.com \
--cc=andrew+netdev@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@kernel.org \
--cc=hkallweit1@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=ratbert@faraday-tech.com \
--cc=robh@kernel.org \
/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
all inboxes | Powered by JetHome®