Re: [PATCH net-next v3 1/6] dt-bindings: net: ftgmac100: Add AST2700 compatible

From: Conor Dooley

Date: Thu Oct 15 2026 - 16:01:15 EST


On Thu, Oct 15, 2026 at 02:46:53PM +0800, Jacky Chou wrote:
> Add AST2700 to the FTGMAC100 compatible list and document that its
> RMII RCLK gate matches the earlier Aspeed SoCs. Allow the reset line for
> AST2700 as it follows the same reset requirements as AST2600.
>
> Require "phy-mode" to be present in the device tree when the AST2700
> compatible is used, matching the driver's probe-time requirement.
>
> Make aspeed,ast2700-mac a standalone compatible instead of pairing it
> 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.
>
> The existing aspeed,ast2400-mac, aspeed,ast2500-mac, and
> aspeed,ast2600-mac compatibles have the same structural problem: they
> are currently only valid when paired with "faraday,ftgmac100", and a
> node that bound through the generic entry alone would hit the same
> BIT(15) vs BIT(30) mismatch. Give them the same standalone treatment as
> AST2700, so none of the Aspeed compatibles require the generic fallback
> alongside them.

This needs to be two commits. One fixing the existing devices and one
adding the new one.

> 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.

This should be below the --- line or not even included in the patch.

pw-bot: changes-requested

Thanks,
Conor.

>
> Signed-off-by: Jacky Chou <jacky_chou@xxxxxxxxxxxxxx>

> ---
> .../devicetree/bindings/net/faraday,ftgmac100.yaml | 26 ++++++++++++++--------
> 1 file changed, 17 insertions(+), 9 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/faraday,ftgmac100.yaml b/Documentation/devicetree/bindings/net/faraday,ftgmac100.yaml
> index d14410018bcf..0a376b849a91 100644
> --- a/Documentation/devicetree/bindings/net/faraday,ftgmac100.yaml
> +++ b/Documentation/devicetree/bindings/net/faraday,ftgmac100.yaml
> @@ -13,12 +13,11 @@ properties:
> compatible:
> oneOf:
> - const: faraday,ftgmac100
> - - items:
> - - enum:
> - - aspeed,ast2400-mac
> - - aspeed,ast2500-mac
> - - aspeed,ast2600-mac
> - - const: faraday,ftgmac100
> + - enum:
> + - aspeed,ast2400-mac
> + - aspeed,ast2500-mac
> + - aspeed,ast2600-mac
> + - aspeed,ast2700-mac
>
> reg:
> maxItems: 1
> @@ -30,7 +29,7 @@ properties:
> minItems: 1
> items:
> - description: MAC IP clock
> - - description: RMII RCLK gate for AST2500/2600
> + - description: RMII RCLK gate for AST2500/2600/2700
>
> resets:
> maxItems: 1
> @@ -82,26 +81,35 @@ allOf:
> contains:
> enum:
> - aspeed,ast2600-mac
> + - aspeed,ast2700-mac
> then:
> properties:
> resets: true
> else:
> properties:
> resets: false
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: aspeed,ast2700-mac
> + then:
> + required:
> + - phy-mode
>
> unevaluatedProperties: false
>
> examples:
> - |
> ethernet@1e660000 {
> - compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
> + compatible = "aspeed,ast2500-mac";
> reg = <0x1e660000 0x180>;
> interrupts = <2>;
> use-ncsi;
> };
>
> ethernet@1e680000 {
> - compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
> + compatible = "aspeed,ast2500-mac";
> reg = <0x1e680000 0x180>;
> interrupts = <2>;
>
>
> --
> 2.34.1
>

Attachment: signature.asc
Description: PGP signature