Skip to content

Commit 8f73b37

Browse files
IoanaCiorneidavem330
authored andcommitted
phy: add support for the Layerscape SerDes 28G
This patch adds a new generic PHY driver to support the Lynx 28G SerDes block found on some of the Layerscape SoCs such as LX2160A. At the moment, only the following Ethernet protocols are supported: SGMII/1000Base-X and 10GBaseR. SerDes lanes which are not running an Ethernet protocol or a currently supported Ethenet protocol will be left as it was configured through the RCW (Reset Configuration Word) at boot time. At probe time, the platform driver will read the current configuration of both PLLs found on a SerDes block and will determine what protocols are supported using that PLL. For example, if a PLL is configured to generate a clock net (frate) of 5GHz the only protocols sustained by that PLL are SGMII/1000Base-X (using a quarter of the full clock rate) and QSGMII using the full clock net frequency on the lane. On the .set_mode() callback, the PHY driver will first check if the requested operating mode (protocol) is even supported by the current PLL configuration and will error out if not. Then, the lane is reconfigured to run on the requested protocol. Signed-off-by: Ioana Ciornei <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 92ebb23 commit 8f73b37

File tree

4 files changed

+641
-0
lines changed

4 files changed

+641
-0
lines changed

MAINTAINERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11333,6 +11333,12 @@ S: Maintained
1133311333
W: http://linux-test-project.github.io/
1133411334
T: git git://github.com/linux-test-project/ltp.git
1133511335

11336+
LYNX 28G SERDES PHY DRIVER
11337+
M: Ioana Ciornei <[email protected]>
11338+
11339+
S: Supported
11340+
F: drivers/phy/freescale/phy-fsl-lynx-28g.c
11341+
1133611342
LYNX PCS MODULE
1133711343
M: Ioana Ciornei <[email protected]>
1133811344

drivers/phy/freescale/Kconfig

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,13 @@ config PHY_FSL_IMX8M_PCIE
2222
help
2323
Enable this to add support for the PCIE PHY as found on
2424
i.MX8M family of SOCs.
25+
26+
config PHY_FSL_LYNX_28G
27+
tristate "Freescale Layerscape Lynx 28G SerDes PHY support"
28+
depends on OF
29+
select GENERIC_PHY
30+
help
31+
Enable this to add support for the Lynx SerDes 28G PHY as
32+
found on NXP's Layerscape platforms such as LX2160A.
33+
Used to change the protocol running on SerDes lanes at runtime.
34+
Only useful for a restricted set of Ethernet protocols.

drivers/phy/freescale/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
obj-$(CONFIG_PHY_FSL_IMX8MQ_USB) += phy-fsl-imx8mq-usb.o
33
obj-$(CONFIG_PHY_MIXEL_MIPI_DPHY) += phy-fsl-imx8-mipi-dphy.o
44
obj-$(CONFIG_PHY_FSL_IMX8M_PCIE) += phy-fsl-imx8m-pcie.o
5+
obj-$(CONFIG_PHY_FSL_LYNX_28G) += phy-fsl-lynx-28g.o

0 commit comments

Comments
 (0)