OSDN Git Service

net: mdio: Introduce a regmap-based mdio driver
authorMaxime Chevallier <maxime.chevallier@bootlin.com>
Thu, 1 Jun 2023 14:14:51 +0000 (16:14 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Jun 2023 08:56:36 +0000 (09:56 +0100)
commit642af0f92cbe01c4b05eb38a0fe94867a3798b34
tree02476954314f58e1eb89f23151df3876d6fb4cd2
parentf69de8aa4752adae750892c71711a5b806ec0dff
net: mdio: Introduce a regmap-based mdio driver

There exists several examples today of devices that embed an ethernet
PHY or PCS directly inside an SoC. In this situation, either the device
is controlled through a vendor-specific register set, or sometimes
exposes the standard 802.3 registers that are typically accessed over
MDIO.

As phylib and phylink are designed to use mdiodevices, this driver
allows creating a virtual MDIO bus, that translates mdiodev register
accesses to regmap accesses.

The reason we use regmap is because there are at least 3 such devices
known today, 2 of them are Altera TSE PCS's, memory-mapped, exposed
with a 4-byte stride in stmmac's dwmac-socfpga variant, and a 2-byte
stride in altera-tse. The other one (nxp,sja1110-base-tx-mdio) is
exposed over SPI.

Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
MAINTAINERS
drivers/net/mdio/Kconfig
drivers/net/mdio/Makefile
drivers/net/mdio/mdio-regmap.c [new file with mode: 0644]
include/linux/mdio/mdio-regmap.h [new file with mode: 0644]