[Top] [All Lists]

[PATCH v6 0/3] netdev/of/phy: MDIO bus multiplexer support.

To: Ralf Baechle <>, Grant Likely <>, Rob Herring <>,, "David S. Miller" <>,
Subject: [PATCH v6 0/3] netdev/of/phy: MDIO bus multiplexer support.
From: David Daney <>
Date: Wed, 2 May 2012 18:16:36 -0700
Cc:,,,, David Daney <>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=MjQkM6tv9H1oEqUIUiFy5gVDNF4AyYyuNIaGYIEFUsY=; b=EHu/7H/DkrMykWO83lXKf7mEHO/Vct9FR1iag/6d3afk1BcxYOtvXF0mhGmoDBCgjh Cv4q0F/tO/9kXar+Ptlkg2i6m/n9bhJR3VfFC5MnZQ85JsyS0gj4+UgvT8bPEOsv6jx0 SJrSyam+SLJm5HoQGHeZvkpRScc0FLMmGkR1Oi3/xIW8GerioRMoFAjqk2m8abRLf5YQ 3Ath77Q15hJ1JKxYzUH9CUWvGoQRvYl2Oi80gscFTYJ8zGW1Q7Z8bX0RCwRRMby/wRgb 1zJdDVUX+6l+JYNm/qo8H8puLZSZg/QkeHleYuE//X67GCn+qXl+zKLAvkrnEuke/ZSu 2Z/g==
From: David Daney <>

This code has been working well for about six months on a couple of
different configurations (boards), so I thought it would be a good
time to send it out again, and I hope get it on the path towards

v6: Correct Kconfig depends in 2/3 as noticed by David Miller.  Test
    against net-next.

v5: Correct Kconfig depends in 3/3 as noticed by David Miller.

v4: Correct some comment text and rename a couple of variables to
    better reflect their purpose.

v3: Update binding to use "mdio-mux-gpio" compatible property.
    Cleanups suggested by Grant Likely.  Now uses the driver probe
    deferral mechanism if GPIOs or parent bus not available.

v2: Update bindings to use "reg" and "mdio-parent-bus" instead of
    "cell-index" and "parent-bus"


We have several different boards with a multiplexer in the MDIO bus.
There is an MDIO bus controller connected to a switching device with
several child MDIO busses.

Everything is wired up using device tree bindings.

 1/3 - New of_mdio_find_bus() function used to help configuring the
       driver topology.

 2/3 - MDIO bus multiplexer framework.

 3/3 - A driver for a GPIO controlled multiplexer.

David Daney (3):
  netdev/of/phy: New function: of_mdio_find_bus().
  netdev/of/phy: Add MDIO bus multiplexer support.
  netdev/of/phy: Add MDIO bus multiplexer driven by GPIO lines.

 .../devicetree/bindings/net/mdio-mux-gpio.txt      |  127 +++++++++++++
 Documentation/devicetree/bindings/net/mdio-mux.txt |  136 ++++++++++++++
 drivers/net/phy/Kconfig                            |   19 ++
 drivers/net/phy/Makefile                           |    2 +
 drivers/net/phy/mdio-mux-gpio.c                    |  142 +++++++++++++++
 drivers/net/phy/mdio-mux.c                         |  192 ++++++++++++++++++++
 drivers/net/phy/mdio_bus.c                         |   32 ++++
 drivers/of/of_mdio.c                               |    2 +
 include/linux/mdio-mux.h                           |   21 ++
 include/linux/of_mdio.h                            |    2 +
 10 files changed, 675 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/mdio-mux-gpio.txt
 create mode 100644 Documentation/devicetree/bindings/net/mdio-mux.txt
 create mode 100644 drivers/net/phy/mdio-mux-gpio.c
 create mode 100644 drivers/net/phy/mdio-mux.c
 create mode 100644 include/linux/mdio-mux.h


<Prev in Thread] Current Thread [Next in Thread>