mbox series

[v2,0/2] add MDIO bus multiplexer driven by a regmap device

Message ID 20190204142435.21175-1-pankaj.bansal@nxp.com
Headers show
Series add MDIO bus multiplexer driven by a regmap device | expand

Message

Pankaj Bansal Feb. 4, 2019, 8:59 a.m. UTC
Add support for an MDIO bus multiplexer controlled by a regmap device,
like an FPGA.

These apis is an extension of the existing driver
drivers/net/phy/mdio-mux-mmioreg.c.

The problem with mmioreg driver is that it can operate only on memory
mapped devices.
but if we have a device that controls mdio muxing and that device is
controlled using i2c or spi, then it will not work.

Therefore, added apis that can be used by regmap device to control mdio mux.

Tested on a NXP LX2160AQDS board which uses the "QIXIS" FPGA attached to the
i2c bus.

This is my second attempt at this.
In my previous approach i wrote a separate driver for regmap apis.
But then i realized that it is not meant to control a specific device.
It is meant to control some registers of parent device.
Therefore, IMO this should not be a Platform driver and there should not
be any "compatible" property to which this driver is associated.

The previous approach patches and discussion can be accessed here:
https://www.mail-archive.com/netdev@vger.kernel.org/msg252744.html

Cc: Varun Sethi <V.Sethi@nxp.com>
---

Notes:
	V1:
	- https://www.spinics.net/lists/netdev/msg548027.html

Pankaj Bansal (2):
  dt-bindings: net: add MDIO bus multiplexer driven by a regmap device
  netdev/phy: add MDIO bus multiplexer driven by a regmap

 .../bindings/net/mdio-mux-regmap.txt          | 167 +++++++++++++++++
 drivers/net/phy/Kconfig                       |  14 ++
 drivers/net/phy/Makefile                      |   1 +
 drivers/net/phy/mdio-mux-regmap.c             | 171 ++++++++++++++++++
 include/linux/mdio-mux.h                      |  34 ++++
 5 files changed, 387 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/mdio-mux-regmap.txt
 create mode 100644 drivers/net/phy/mdio-mux-regmap.c