Message ID | 1464592251-2688-4-git-send-email-pramod.kumar@broadcom.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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
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
> 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 --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>; + }; + }; + };
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