
On Fri, Jun 04, 2021 at 11:13:36AM +0000, 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 100Mbit connection, and in this case setting 1000Mbit 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 100Mbs capble only. Limiting the rgmii link capabilities provides smother and faster link establishment.
Signed-off-by: Aleksandar Gerasimovski aleksandar.gerasimovski@hitachi-powergrids.com
Reviewed-by: Vladimir Oltean vladimir.oltean@nxp.com
Just one comment below:
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..501390f 100644 --- a/drivers/net/tsec.c +++ b/drivers/net/tsec.c @@ -824,6 +824,7 @@ int tsec_probe(struct udevice *dev) struct tsec_private *priv = dev_get_priv(dev); struct ofnode_phandle_args phandle_args; u32 tbiaddr = CONFIG_SYS_TBIPA_VALUE;
- u32 max_speed;
It would be nice if you could keep the variable sort order, which is in decreasing order of line length (so-called "reverse Christmas tree notation").
struct tsec_data *data; const char *phy_mode; ofnode parent, child; @@ -893,8 +894,12 @@ int tsec_probe(struct udevice *dev) } priv->interface = pdata->phy_interface;
- /* Check for speed limis, default is 1000Mbps */
- max_speed = dev_read_u32_default(dev, "max-speed", 1000);
- /* Initialize flags */
- priv->flags = TSEC_GIGABIT;
- if (max_speed == 1000)
if (priv->interface == PHY_INTERFACE_MODE_SGMII) priv->flags |= TSEC_SGMII;priv->flags = TSEC_GIGABIT;
-- 1.8.3.1
Thanks.