diff mbox series

[v3,1/2] dt-bindings: net: add marvell usb to mdio bindings

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

Commit Message

Tobias Waldekranz March 21, 2020, 8:24 p.m. UTC
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

Comments

Andrew Lunn March 22, 2020, 1:33 p.m. UTC | #1
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
Andrew Lunn March 22, 2020, 1:35 p.m. UTC | #2
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
Tobias Waldekranz March 22, 2020, 2:38 p.m. UTC | #3
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
Florian Fainelli March 22, 2020, 9:03 p.m. UTC | #4
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>
Rob Herring March 30, 2020, 3:11 p.m. UTC | #5
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 mbox series

Patch

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