Thread (29 messages) 29 messages, 7 authors, 2021-10-02

RE: Unsupported phy-connection-type sgmii-2500 in arch/powerpc/boot/dts/fsl/t1023rdb.dts

flat view

From: Madalin Bucur <madalin.bucur@nxp.com>
Date: 2021-06-04 21:47:32
Also in: linux-devicetree, lkml

-----Original Message-----
From: Andrew Lunn <andrew@lunn.ch>
Sent: 04 June 2021 23:24
To: Madalin Bucur <madalin.bucur@nxp.com>
Cc: Russell King <linux@armlinux.org.uk>; Pali Rohár <pali@kernel.org>;
Igal Liberman [off-list ref]; Shruti Kanetkar
[off-list ref]; Emil Medve [off-list ref]; Scott
Wood [off-list ref]; Rob Herring [off-list ref]; Michael
Ellerman [off-list ref]; Benjamin Herrenschmidt
[off-list ref]; netdev@vger.kernel.org;
devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; Camelia
Alexandra Groza (OSS) [off-list ref]
Subject: Re: Unsupported phy-connection-type sgmii-2500 in
arch/powerpc/boot/dts/fsl/t1023rdb.dts
quoted
The "sgmii-2500" compatible in that device tree describes an SGMII HW
block, overclocked at 2.5G. Without that overclocking, it's a plain
Cisco (like) SGMII HW block. That's the reason you need to disable it's
AN setting when overclocked. With the proper Reset Configuration Word,
you could remove the overclocking and transform that into a plain
"sgmii".
quoted
Thus, the dts compatible describes the HW, as it is.
It sounds like the hardware is capable of swapping between SGMII and
2500BaseX.

What we have in DT in this case is not describing the hardware, but
how we configure the hardware. It is one of the few places we abuse DT
for configuration.

    Andrew
The actual selection of this mode of operation is performed by the so called
Reset Configuration Word from the boot media, that aligned with the HW and
board design. The need to name it something other than plain "sgmii" comes
from the HW special need for AN to be disabled to operate.

Actually, the weird/non-standard hardware is described by the device tree
with a value that puts it in a class of its own. Instead of the overclocked
SGMII denomination "sgmii-2500" it could have been named just as well
"overclocked-nonstandard-2.5G-ethernet-no-autoneg-SGMII-hw-ip".

One could try to change device trees to slip configuration details, but the
backwards compatibility aspect renders this futile. Is there any option to
say "sgmii" then "autoneg disabled"?

Madalin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help