Message ID | 20200321202443.15352-1-tobias@waldekranz.com |
---|---|
State | Superseded |
Delegated to: | David Miller |
Headers | show |
Series | [v3,1/2] dt-bindings: net: add marvell usb to mdio bindings | expand |
On Sat, Mar 21, 2020 at 09:24:42PM +0100, Tobias Waldekranz wrote: > Describe how the USB to MDIO controller can optionally use device tree > bindings to reference attached devices such as switches. > > Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
On Sat, Mar 21, 2020 at 09:24:42PM +0100, Tobias Waldekranz wrote: > Describe how the USB to MDIO controller can optionally use device tree > bindings to reference attached devices such as switches. > > Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com> Hi Tobias A few process things. The subject line should be "[PATCH net-next] ..." to indicate which tree this is for. For a patch set, please always include a cover note. git format-patch will generate the template and then include text about the patch series as a whole. https://www.kernel.org/doc/Documentation/networking/netdev-FAQ.txt Andrew
On Sun Mar 22, 2020 at 2:35 PM, Andrew Lunn wrote: > The subject line should be "[PATCH net-next] ..." to indicate which > tree this is for. Right, my bad. > For a patch set, please always include a cover note. git format-patch > will generate the template and then include text about the patch > series as a whole. Roger that. Do you want a v4 with these changes, or just things to keep in mind for the future? Thank you for your patience
On 3/21/2020 1:24 PM, Tobias Waldekranz wrote: > Describe how the USB to MDIO controller can optionally use device tree > bindings to reference attached devices such as switches. > > Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
On Sat, Mar 21, 2020 at 09:24:42PM +0100, Tobias Waldekranz wrote: > Describe how the USB to MDIO controller can optionally use device tree > bindings to reference attached devices such as switches. Looks like this is in linux-next now. First I'm seeing it because the DT list was not Cc'ed. This is breaking 'make dt_binding_check'. Revert or fix before this goes to Linus please. > Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com> > --- > .../bindings/net/marvell,mvusb.yaml | 65 +++++++++++++++++++ > MAINTAINERS | 6 ++ > 2 files changed, 71 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/marvell,mvusb.yaml > > diff --git a/Documentation/devicetree/bindings/net/marvell,mvusb.yaml b/Documentation/devicetree/bindings/net/marvell,mvusb.yaml > new file mode 100644 > index 000000000000..9458f6659be1 > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/marvell,mvusb.yaml > @@ -0,0 +1,65 @@ > +# SPDX-License-Identifier: GPL-2.0 New bindings should be: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/marvell,mvusb.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Marvell USB to MDIO Controller > + > +maintainers: > + - Tobias Waldekranz <tobias@waldekranz.com> > + > +description: |+ > + This controller is mounted on development boards for Marvell's Link Street > + family of Ethernet switches. It allows you to configure the switch's registers > + using the standard MDIO interface. > + > + Since the device is connected over USB, there is no strict requirement of > + having a device tree representation of the device. But in order to use it with > + the mv88e6xxx driver, you need a device tree node in which to place the switch > + definition. > + > +allOf: > + - $ref: "mdio.yaml#" > + > +properties: > + compatible: > + const: usb1286,1fa4 > + reg: > + maxItems: 1 > + description: The USB port number on the host controller Really, it's the port on the hub which could be a root hub. > + > +required: > + - compatible > + - reg > + - "#address-cells" > + - "#size-cells" > + > +examples: > + - | > + /* USB host controller */ > + &usb1 { This won't compile because there's no 'usb1' to reference. > + mvusb: mdio@1 { > + compatible = "usb1286,1fa4"; > + reg = <1>; > + #address-cells = <1>; > + #size-cells = <0>; > + }; > + }; > + > + /* MV88E6390X devboard */ > + &mvusb { Move this into the above node. > + switch@0 { > + compatible = "marvell,mv88e6190"; > + status = "ok"; Don't show status in examples. > + reg = <0x0>; > + > + ports { > + /* Port definitions */ Incomplete examples will eventually fail as when complete schema are present. > + }; > + > + mdio { > + /* PHY definitions */ > + }; > + }; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index 97dce264bc7c..ff35669f8712 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -10101,6 +10101,12 @@ M: Nicolas Pitre <nico@fluxnic.net> > S: Odd Fixes > F: drivers/mmc/host/mvsdio.* > > +MARVELL USB MDIO CONTROLLER DRIVER > +M: Tobias Waldekranz <tobias@waldekranz.com> > +L: netdev@vger.kernel.org > +S: Maintained > +F: Documentation/devicetree/bindings/net/marvell,mvusb.yaml > + > MARVELL XENON MMC/SD/SDIO HOST CONTROLLER DRIVER > M: Hu Ziji <huziji@marvell.com> > L: linux-mmc@vger.kernel.org > -- > 2.17.1 >
diff --git a/Documentation/devicetree/bindings/net/marvell,mvusb.yaml b/Documentation/devicetree/bindings/net/marvell,mvusb.yaml new file mode 100644 index 000000000000..9458f6659be1 --- /dev/null +++ b/Documentation/devicetree/bindings/net/marvell,mvusb.yaml @@ -0,0 +1,65 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/marvell,mvusb.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Marvell USB to MDIO Controller + +maintainers: + - Tobias Waldekranz <tobias@waldekranz.com> + +description: |+ + This controller is mounted on development boards for Marvell's Link Street + family of Ethernet switches. It allows you to configure the switch's registers + using the standard MDIO interface. + + Since the device is connected over USB, there is no strict requirement of + having a device tree representation of the device. But in order to use it with + the mv88e6xxx driver, you need a device tree node in which to place the switch + definition. + +allOf: + - $ref: "mdio.yaml#" + +properties: + compatible: + const: usb1286,1fa4 + reg: + maxItems: 1 + description: The USB port number on the host controller + +required: + - compatible + - reg + - "#address-cells" + - "#size-cells" + +examples: + - | + /* USB host controller */ + &usb1 { + mvusb: mdio@1 { + compatible = "usb1286,1fa4"; + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + }; + }; + + /* MV88E6390X devboard */ + &mvusb { + switch@0 { + compatible = "marvell,mv88e6190"; + status = "ok"; + reg = <0x0>; + + ports { + /* Port definitions */ + }; + + mdio { + /* PHY definitions */ + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 97dce264bc7c..ff35669f8712 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -10101,6 +10101,12 @@ M: Nicolas Pitre <nico@fluxnic.net> S: Odd Fixes F: drivers/mmc/host/mvsdio.* +MARVELL USB MDIO CONTROLLER DRIVER +M: Tobias Waldekranz <tobias@waldekranz.com> +L: netdev@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/net/marvell,mvusb.yaml + MARVELL XENON MMC/SD/SDIO HOST CONTROLLER DRIVER M: Hu Ziji <huziji@marvell.com> L: linux-mmc@vger.kernel.org
Describe how the USB to MDIO controller can optionally use device tree bindings to reference attached devices such as switches. Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com> --- .../bindings/net/marvell,mvusb.yaml | 65 +++++++++++++++++++ MAINTAINERS | 6 ++ 2 files changed, 71 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/marvell,mvusb.yaml