[PATCH v3] net: tsec: add option to set device max-speed via dts

Ramon Fried rfried.dev at gmail.com
Sat Jun 12 20:40:26 CEST 2021


On Fri Jun 4, 2021 at 4:40 PM IDT, Aleksandar Gerasimovski wrote:
> Current tsec adapter sets adapter gigabit capabilities by default, and
> in
> reality this must not always be the case.
> It is possible that tsec adapter is used for 100Mbps connection, and in
> this case setting 1000Mbps capabilities can lead to some side effects
> such
> longer autoneg process.
>
> In our ls102x designs this problem leads to long autoneg times (> 4 sec)
> in case board rgmii link is 100Mbps capable only.
> Limiting the rgmii link capabilities provides faster and smoother
> link establishment.
>
> Signed-off-by: Aleksandar Gerasimovski
> <aleksandar.gerasimovski at hitachi-powergrids.com>
> Reviewed-by: Vladimir Oltean <vladimir.oltean at nxp.com>
> Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
> ---
> Changes for v2:
> - keep the variable sort order in a decreasing order of line length
> - fix comment typo
> Changes for v3:
> - fix commit message typos
> ---
> drivers/net/tsec.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
> index c68e4b7..ee820aa 100644
> --- a/drivers/net/tsec.c
> +++ b/drivers/net/tsec.c
> @@ -828,6 +828,7 @@ int tsec_probe(struct udevice *dev)
> const char *phy_mode;
> ofnode parent, child;
> fdt_addr_t reg;
> + u32 max_speed;
> int ret;
>  
> data = (struct tsec_data *)dev_get_driver_data(dev);
> @@ -893,8 +894,12 @@ int tsec_probe(struct udevice *dev)
> }
> priv->interface = pdata->phy_interface;
>  
> + /* Check for speed limit, default is 1000Mbps */
> + max_speed = dev_read_u32_default(dev, "max-speed", 1000);
> +
> /* Initialize flags */
> - priv->flags = TSEC_GIGABIT;
> + if (max_speed == 1000)
> + priv->flags = TSEC_GIGABIT;
> if (priv->interface == PHY_INTERFACE_MODE_SGMII)
> priv->flags |= TSEC_SGMII;
>  
> --
> 1.8.3.1

Applied to u-boot-net/master, thanks!

Best regards,
Ramon Fried


More information about the U-Boot mailing list