[PATCH net-next v5 1/4] dt-bindings: net: ftgmac100: Add delay properties for AST2600
Rob Herring
robh at kernel.org
Tue Dec 9 12:41:30 PST 2025
On Fri, Dec 05, 2025 at 05:53:15PM +0800, Jacky Chou wrote:
> The AST2600 contains two dies, each with its own MAC, and these MACs
> require different delay configurations.
> Previously, these delay values were configured during the bootloader
> stage rather than in the driver. This change introduces the use of the
> standard properties defined in ethernet-controller.yaml to configure
> the delay values directly in the driver.
>
> Each Aspeed platform has its own delay step value. And for Aspeed platform,
> the total steps of RGMII delay configuraion is 32 steps, so the total delay
> is delay-step-ps * 32.
> Default delay values are declared so that tx-internal-delay-ps and
> rx-internal-delay-ps become optional. If these properties are not present,
> the driver will use the default values instead.
> Add conditional schema constraints for Aspeed AST2600 MAC controllers:
> - For MAC0/1, per delay step for rgmii is 45 ps
> - For MAC2/3, per delay step for rgmii is 250 ps
> - Both require the "aspeed,scu" and "aspeed,rgmii-delay-ps" properties.
> Other compatible values remain unrestricted.
>
> Signed-off-by: Jacky Chou <jacky_chou at aspeedtech.com>
> ---
> .../devicetree/bindings/net/faraday,ftgmac100.yaml | 27 ++++++++++++++++++++++
> 1 file changed, 27 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/net/faraday,ftgmac100.yaml b/Documentation/devicetree/bindings/net/faraday,ftgmac100.yaml
> index d14410018bcf..00f7a0e56106 100644
> --- a/Documentation/devicetree/bindings/net/faraday,ftgmac100.yaml
> +++ b/Documentation/devicetree/bindings/net/faraday,ftgmac100.yaml
> @@ -69,6 +69,30 @@ properties:
> mdio:
> $ref: /schemas/net/mdio.yaml#
>
> + aspeed,scu:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + Phandle to the SCU (System Control Unit) syscon node for Aspeed platform.
> + This reference is used by the MAC controller to configure the RGMII delays.
> +
> + rx-internal-delay-ps:
> + description:
> + RGMII Receive Clock Delay defined in pico seconds. There are 32
> + steps of RGMII delay for Aspeed platform. Each Aspeed platform has its
> + own delay step value, it is fixed by hardware design. Total delay is
> + calculated by delay-step * 32. A value of 0 ps will disable any
> + delay. The Default is no delay.
> + default: 0
> +
> + tx-internal-delay-ps:
> + description:
> + RGMII Transmit Clock Delay defined in pico seconds. There are 32
> + steps of RGMII delay for Aspeed platform. Each Aspeed platform has its
> + own delay step value, it is fixed by hardware design. Total delay is
> + calculated by delay-step * 32. A value of 0 ps will disable any
> + delay. The Default is no delay.
> + default: 0
> +
> required:
> - compatible
> - reg
> @@ -85,6 +109,9 @@ allOf:
> then:
> properties:
> resets: true
> + aspeed,scu: true
> + rx-internal-delay-ps: true
> + tx-internal-delay-ps: true
There is no need for these (including the 'resets'). Really, the 'if'
should be negated with a 'not' and this part dropped.
> else:
> properties:
> resets: false
But you need false entries here since these 3 properties are just for
ast2600.
Rob
More information about the linux-arm-kernel
mailing list