linux-imx/drivers/phy/inphi
Ioana Ciornei aa490c6388 phy: add PHY driver for Inphi IN112525 Retimer
This patch adds support for the Inphi IN112525 S03 retimer.  We model
the retimer as a generic PHY device, as opposed to a networking PHY
(struct phy_device), because this does not support any kind of
autonegotiation.

What this current version of the driver does is to support both
10GBASE-R and 25GBASE-R independently on its two channels.

This means that even though the PHY driver will configure at probe time
all the associated retimer lanes to function at 25G, any consumer driver
(for example the dpaa2-eth) can afterwards request reconfiguration to
another interface type if needed.

This request to reconfigure the retimer PHY can be done using the
.set_mode() callback. The operation is per channel (aka per SerDes lane)
and is not disruptive to the other retimer channel.

How this is achieved is by putting the lanes associates with a channel
in reset, recofiguring only the settings which differ between the two
configurations that we support and then getting the lanes out of reset.

Co-developed-by: Florin Chiculita <florinlaurentiu.chiculita@nxp.com>
Signed-off-by: Florin Chiculita <florinlaurentiu.chiculita@nxp.com>
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
2023-10-30 17:16:54 +08:00
..
Kconfig
Makefile
phy-inphi-in112525.c
phy-inphi-in112525.h