diff mbox

[3/7] binding: mdio-mux: Add DT binding doc for Broadcom MDIO bus mutiplexer

Message ID 1464592251-2688-4-git-send-email-pramod.kumar@broadcom.com (mailing list archive)
State New, archived
Headers show

Commit Message

Pramod Kumar May 30, 2016, 7:10 a.m. UTC
Add DT binding doc for Broadcom MDIO bus mutiplexer driver.

Signed-off-by: Pramod Kumar <pramod.kumar@broadcom.com>
---
 .../bindings/net/brcm,mdio-mux-iproc.txt           | 64 ++++++++++++++++++++++
 1 file changed, 64 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt

Comments

Andrew Lunn May 30, 2016, 3:24 p.m. UTC | #1
On Mon, May 30, 2016 at 12:40:47PM +0530, Pramod Kumar wrote:
> Add DT binding doc for Broadcom MDIO bus mutiplexer driver.
> 
> Signed-off-by: Pramod Kumar <pramod.kumar@broadcom.com>
> ---
>  .../bindings/net/brcm,mdio-mux-iproc.txt           | 64 ++++++++++++++++++++++
>  1 file changed, 64 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt
> 
> diff --git a/Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt b/Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt
> new file mode 100644
> index 0000000..dd74ee0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt
> @@ -0,0 +1,64 @@
> +Properties for an MDIO bus mutiplexer found in Broadcom iProc based SoCs.
> +
> +This MDIO bus multiplexer defines buses that could be internal as well as
> +external to SoCs and could accept MDIO transaction compatible to C-22 or
> +C-45 Clause. When Child bus is selected, one need to select these two
> +properties as well to generate desired MDIO trascation on appropriate bus.
> +
> +Required properties in addition to the generic multiplexer properties:
> +
> +MDIO multiplexer node:
> +- complatible: brcm,mdio-mux-iproc.
> +
> +Child bus node:
> +-brcm,is-c45: Boolean property indicating PHYs attached to this bus supports
> +	      C-45 mdio transaction.

This is-c45 seems to be at the wrong level. As far as i know, you can
mix C22 and C45 devices on a bus. It is a property of the individual
MDIO device if it uses C45 or not.

I would expect your MDIO device PHY drivers to logically OR
MII_ADDR_C45 into the address when doing an MDIO read/write using C45.

	     Andrew
Pramod Kumar May 31, 2016, 12:04 p.m. UTC | #2
Hi Andrew,

> -----Original Message-----
> From: Andrew Lunn [mailto:andrew@lunn.ch]
> Sent: 30 May 2016 20:54
> To: Pramod Kumar
> Cc: Rob Herring; Pawel Moll; Mark Rutland; Ian Campbell; Kumar Gala;
Catalin
> Marinas; Will Deacon; Kishon Vijay Abraham I; David S. Miller;
> devicetree@vger.kernel.org; netdev@vger.kernel.org; linux-
> kernel@vger.kernel.org; bcm-kernel-feedback-list@broadcom.com;
linux-arm-
> kernel@lists.infradead.org
> Subject: Re: [PATCH 3/7] binding: mdio-mux: Add DT binding doc for
Broadcom
> MDIO bus mutiplexer
>
> On Mon, May 30, 2016 at 12:40:47PM +0530, Pramod Kumar wrote:
> > Add DT binding doc for Broadcom MDIO bus mutiplexer driver.
> >
> > Signed-off-by: Pramod Kumar <pramod.kumar@broadcom.com>
> > ---
> >  .../bindings/net/brcm,mdio-mux-iproc.txt           | 64
> ++++++++++++++++++++++
> >  1 file changed, 64 insertions(+)
> >  create mode 100644
> > Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt
> >
> > diff --git
> > a/Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt
> > b/Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt
> > new file mode 100644
> > index 0000000..dd74ee0
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt
> > @@ -0,0 +1,64 @@
> > +Properties for an MDIO bus mutiplexer found in Broadcom iProc based
SoCs.
> > +
> > +This MDIO bus multiplexer defines buses that could be internal as
> > +well as external to SoCs and could accept MDIO transaction compatible
> > +to C-22 or
> > +C-45 Clause. When Child bus is selected, one need to select these two
> > +properties as well to generate desired MDIO trascation on appropriate
bus.
> > +
> > +Required properties in addition to the generic multiplexer
properties:
> > +
> > +MDIO multiplexer node:
> > +- complatible: brcm,mdio-mux-iproc.
> > +
> > +Child bus node:
> > +-brcm,is-c45: Boolean property indicating PHYs attached to this bus
supports
> > +	      C-45 mdio transaction.
>
> This is-c45 seems to be at the wrong level. As far as i know, you can
mix C22 and
> C45 devices on a bus. It is a property of the individual MDIO device if
it uses C45
> or not.
>
> I would expect your MDIO device PHY drivers to logically OR
> MII_ADDR_C45 into the address when doing an MDIO read/write using C45.
>

Yes. I agree. We will logical OR MII_ADDR_C45 into the address from PHY
drivers. Is there any standard property exist for non-ethernet-phy DRIVERS
to decide the whether PHY node support C45 or C22?

Or shall I define a new one like "mdio-device-c45" or something similar
name in PHY DT NODE.


> 	     Andrew

Regards,
Pramod
Andrew Lunn May 31, 2016, 12:27 p.m. UTC | #3
> Yes. I agree. We will logical OR MII_ADDR_C45 into the address from PHY
> drivers. Is there any standard property exist for non-ethernet-phy DRIVERS
> to decide the whether PHY node support C45 or C22?

Why do you even need this in the device tree? If the driver needs to
access a register > 31, it knows it must use C45. If it is less than
32, it can use either C22 or C45.

    Andrew
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt b/Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt
new file mode 100644
index 0000000..dd74ee0
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt
@@ -0,0 +1,64 @@ 
+Properties for an MDIO bus mutiplexer found in Broadcom iProc based SoCs.
+
+This MDIO bus multiplexer defines buses that could be internal as well as
+external to SoCs and could accept MDIO transaction compatible to C-22 or
+C-45 Clause. When Child bus is selected, one need to select these two
+properties as well to generate desired MDIO trascation on appropriate bus.
+
+Required properties in addition to the generic multiplexer properties:
+
+MDIO multiplexer node:
+- complatible: brcm,mdio-mux-iproc.
+
+Child bus node:
+-brcm,is-c45: Boolean property indicating PHYs attached to this bus supports
+	      C-45 mdio transaction.
+
+Every non-ethernet PHY requires a compatible so that it could be probed based
+on this compatible string.
+
+Additional information regarding generic multiplexer properties could be found
+at- Documentation/devicetree/bindings/net/mdio-mux.txt
+
+
+for example:
+		mdio_mux_iproc: mdio_mux_iproc@6602023c {
+			compatible = "brcm,mdio-mux-iproc";
+			reg = <0x6602023c 0x14>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			mdio-integrated-mux;
+
+			mdio@0 {
+				reg = <0x0>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				pci_phy0: pci-phy@0 {
+					compatible = "brcm,ns2-pcie-phy";
+					reg = <0x0>;
+					#phy-cells = <0>;
+				};
+			};
+
+			mdio@7 {
+				reg = <0x7>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				pci_phy1: pci-phy@0 {
+					compatible = "brcm,ns2-pcie-phy";
+					reg = <0x0>;
+					#phy-cells = <0>;
+				};
+			};
+			mdio@10 {
+				reg = <0x10>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				gphy0: eth-phy@10 {
+					reg = <0x10>;
+				};
+			};
+		};