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@xxxxxxxxxxxxxx> > --- > .../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@xxxxxxxxxxxxxx> > + > +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@xxxxxxxxxxx> > S: Odd Fixes > F: drivers/mmc/host/mvsdio.* > > +MARVELL USB MDIO CONTROLLER DRIVER > +M: Tobias Waldekranz <tobias@xxxxxxxxxxxxxx> > +L: netdev@xxxxxxxxxxxxxxx > +S: Maintained > +F: Documentation/devicetree/bindings/net/marvell,mvusb.yaml > + > MARVELL XENON MMC/SD/SDIO HOST CONTROLLER DRIVER > M: Hu Ziji <huziji@xxxxxxxxxxx> > L: linux-mmc@xxxxxxxxxxxxxxx > -- > 2.17.1 >