Re: [PATCH net v1 2/2] net: stmmac: eic7700: fix delay step calculation and ensure safe register initialization
From: Maxime Chevallier
Date: Thu May 07 2026 - 07:22:22 EST
Hi,
On 07/05/2026 10:32, lizhi2@xxxxxxxxxxxxxxxxxx wrote:
> From: Zhi Li <lizhi2@xxxxxxxxxxxxxxxxxx>
>
> Fix several issues in the EIC7700 DWMAC glue driver related to delay
> configuration and register initialization.
>
> The hardware implements TX/RX delay with a granularity of 20 ps per
> step, but the driver previously assumed a 100 ps step. Update the
> definitions to match the actual hardware behaviour and align with
> the binding constraints.
>
> Introduce explicit definitions for the maximum programmable delay
> range based on the hardware limits.
>
> Move HSP CSR configuration into the initialization path after clocks
> are enabled. This ensures that all register accesses occur with the
> required clocks active, avoiding undefined behaviour.
>
> Clear the TXD and RXD delay control registers during initialization
> to override any residual configuration left by the bootloader. This
> ensures deterministic RGMII timing and prevents unintended delay
> being applied.
>
> The MAC RGMII delay programming is only required for 100Mbps and
> 1000Mbps modes, where precise clock-to-data alignment is necessary for
> reliable sampling.
>
> For 10Mbps operation, timing margins are sufficiently relaxed and no
> additional delay compensation is required. In this case, the driver
> falls back to a safe default configuration with delay disabled.
>
> For unsupported or unexpected link speeds, the driver avoids
> programming invalid delay values and falls back to a safe default
> state by explicitly clearing the delay configuration.
>
> Explicitly programming zero ensures that no residual delay settings
> from previous configurations or bootloader state remain active.
>
> These changes fix incorrect delay programming and initialization
> ordering for existing users.
>
> This also aligns the driver implementation with the updated device
> tree binding.
There's a lot going on in this patch, can you split this into patches
that solves each of these individual issues ?
It's a mix of fixes (the reg access moved after clk config for example)
and non-fixes (the RGMII timings, you're improving the granularity of
the delays, is this required to fix existing setups, or is it a generic
improvement ?), splitting this would make it both easier to review, and
easier to bisect should problems arise in the future.
Thanks,
Maxime