2022-02-09 12:53:12

by Oleksij Rempel

[permalink] [raw]
Subject: [PATCH net-next v2 0/2] provide yaml schema for some of USB ethernet controllers

changes v2:
- drop label related patches
- remove end-product IDs, only chip IDs are needed.

Oleksij Rempel (2):
dt-bindings: net: add schema for ASIX USB Ethernet controllers
dt-bindings: net: add schema for Microchip/SMSC LAN95xx USB Ethernet
controllers

.../devicetree/bindings/net/asix,ax88178.yaml | 68 ++++++++++++++++
.../bindings/net/microchip,lan95xx.yaml | 80 +++++++++++++++++++
2 files changed, 148 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/asix,ax88178.yaml
create mode 100644 Documentation/devicetree/bindings/net/microchip,lan95xx.yaml


base-commit: e783362eb54cd99b2cac8b3a9aeac942e6f6ac07
--
2.30.2



2022-02-09 12:53:13

by Oleksij Rempel

[permalink] [raw]
Subject: [PATCH net-next v2 2/2] dt-bindings: net: add schema for Microchip/SMSC LAN95xx USB Ethernet controllers

Create initial schema for Microchip/SMSC LAN95xx USB Ethernet controllers and
import all currently supported USB IDs form drivers/net/usb/smsc95xx.c

Signed-off-by: Oleksij Rempel <[email protected]>
---
.../bindings/net/microchip,lan95xx.yaml | 80 +++++++++++++++++++
1 file changed, 80 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/microchip,lan95xx.yaml

diff --git a/Documentation/devicetree/bindings/net/microchip,lan95xx.yaml b/Documentation/devicetree/bindings/net/microchip,lan95xx.yaml
new file mode 100644
index 000000000000..8521c65366b4
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/microchip,lan95xx.yaml
@@ -0,0 +1,80 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/microchip,lan95xx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: The device tree bindings for the USB Ethernet controllers
+
+maintainers:
+ - Oleksij Rempel <[email protected]>
+
+description: |
+ Device tree properties for hard wired SMSC95xx compatible USB Ethernet
+ controller.
+
+allOf:
+ - $ref: ethernet-controller.yaml#
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - usb424,9500 # SMSC9500 USB Ethernet Device
+ - usb424,9505 # SMSC9505 USB Ethernet Device
+ - usb424,9530 # SMSC LAN9530 USB Ethernet Device
+ - usb424,9730 # SMSC LAN9730 USB Ethernet Device
+ - usb424,9900 # SMSC9500 USB Ethernet Device (SAL10)
+ - usb424,9901 # SMSC9505 USB Ethernet Device (SAL10)
+ - usb424,9902 # SMSC9500A USB Ethernet Device (SAL10)
+ - usb424,9903 # SMSC9505A USB Ethernet Device (SAL10)
+ - usb424,9904 # SMSC9512/9514 USB Hub & Ethernet Device (SAL10)
+ - usb424,9905 # SMSC9500A USB Ethernet Device (HAL)
+ - usb424,9906 # SMSC9505A USB Ethernet Device (HAL)
+ - usb424,9907 # SMSC9500 USB Ethernet Device (Alternate ID)
+ - usb424,9908 # SMSC9500A USB Ethernet Device (Alternate ID)
+ - usb424,9909 # SMSC9512/9514 USB Hub & Ethernet Devic. ID)
+ - usb424,9e00 # SMSC9500A USB Ethernet Device
+ - usb424,9e01 # SMSC9505A USB Ethernet Device
+ - usb424,9e08 # SMSC LAN89530 USB Ethernet Device
+ - usb424,ec00 # SMSC9512/9514 USB Hub & Ethernet Device
+
+ reg: true
+ local-mac-address: true
+ mac-address: true
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ usb {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethernet@1 {
+ compatible = "usb424,ec00";
+ reg = <1>;
+ local-mac-address = [00 00 00 00 00 00];
+ };
+ };
+ - |
+ usb {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ usb1@1 {
+ compatible = "usb424,9514";
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethernet@1 {
+ compatible = "usb424,ec00";
+ reg = <1>;
+ };
+ };
+ };
--
2.30.2


2022-02-09 12:55:00

by Oleksij Rempel

[permalink] [raw]
Subject: [PATCH net-next v2 1/2] dt-bindings: net: add schema for ASIX USB Ethernet controllers

Create initial schema for ASIX USB Ethernet controllers and import all
currently supported USB IDs form drivers/net/usb/asix_devices.c

Signed-off-by: Oleksij Rempel <[email protected]>
---
.../devicetree/bindings/net/asix,ax88178.yaml | 68 +++++++++++++++++++
1 file changed, 68 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/asix,ax88178.yaml

diff --git a/Documentation/devicetree/bindings/net/asix,ax88178.yaml b/Documentation/devicetree/bindings/net/asix,ax88178.yaml
new file mode 100644
index 000000000000..2337a1a05bda
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/asix,ax88178.yaml
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/asix,ax88178.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: The device tree bindings for the USB Ethernet controllers
+
+maintainers:
+ - Oleksij Rempel <[email protected]>
+
+description: |
+ Device tree properties for hard wired USB Ethernet devices.
+
+allOf:
+ - $ref: ethernet-controller.yaml#
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - usbb95,1720 # ASIX AX88172
+ - usbb95,172a # ASIX AX88172A
+ - usbb95,1780 # ASIX AX88178
+ - usbb95,7720 # ASIX AX88772
+ - usbb95,772a # ASIX AX88772A
+ - usbb95,772b # ASIX AX88772B
+ - usbb95,7e2b # ASIX AX88772B
+
+ reg: true
+ local-mac-address: true
+ mac-address: true
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ usb {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethernet@1 {
+ compatible = "usbdb0,a877";
+ reg = <1>;
+ local-mac-address = [00 00 00 00 00 00];
+ };
+ };
+ - |
+ usb {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ usb1@1 {
+ compatible = "usb1234,5678";
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethernet@1 {
+ compatible = "usbdb0,a877";
+ reg = <1>;
+ };
+ };
+ };
--
2.30.2


2022-02-09 16:08:40

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH net-next v2 1/2] dt-bindings: net: add schema for ASIX USB Ethernet controllers

On Wed, 09 Feb 2022 09:10:24 +0100, Oleksij Rempel wrote:
> Create initial schema for ASIX USB Ethernet controllers and import all
> currently supported USB IDs form drivers/net/usb/asix_devices.c
>
> Signed-off-by: Oleksij Rempel <[email protected]>
> ---
> .../devicetree/bindings/net/asix,ax88178.yaml | 68 +++++++++++++++++++
> 1 file changed, 68 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/asix,ax88178.yaml
>

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/1590224


asix@1: $nodename:0: 'asix@1' does not match '^ethernet(@.*)?$'
arch/arm/boot/dts/tegra20-colibri-eval-v3.dt.yaml
arch/arm/boot/dts/tegra20-colibri-iris.dt.yaml
arch/arm/boot/dts/tegra30-colibri-eval-v3.dt.yaml


2022-02-09 16:23:15

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH net-next v2 2/2] dt-bindings: net: add schema for Microchip/SMSC LAN95xx USB Ethernet controllers

On Wed, Feb 9, 2022 at 9:35 AM Rob Herring <[email protected]> wrote:
>
> On Wed, 09 Feb 2022 09:10:25 +0100, Oleksij Rempel wrote:
> > Create initial schema for Microchip/SMSC LAN95xx USB Ethernet controllers and
> > import all currently supported USB IDs form drivers/net/usb/smsc95xx.c
> >
> > Signed-off-by: Oleksij Rempel <[email protected]>
> > ---
> > .../bindings/net/microchip,lan95xx.yaml | 80 +++++++++++++++++++
> > 1 file changed, 80 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/net/microchip,lan95xx.yaml
> >
>
> Running 'make dtbs_check' with the schema in this patch gives the
> following warnings. Consider if they are expected or the schema is
> incorrect. These may not be new warnings.
>
> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> This will change in the future.
>
> Full log is available here: https://patchwork.ozlabs.org/patch/1590223
>
>
> smsc@2: $nodename:0: 'smsc@2' does not match '^ethernet(@.*)?$'
> arch/arm/boot/dts/tegra30-ouya.dt.yaml
>
> usbether@1: $nodename:0: 'usbether@1' does not match '^ethernet(@.*)?$'
> arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dt.yaml
> arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dt.yaml
> arch/arm/boot/dts/bcm2835-rpi-b.dt.yaml
> arch/arm/boot/dts/bcm2835-rpi-b-plus.dt.yaml
> arch/arm/boot/dts/bcm2835-rpi-b-rev2.dt.yaml
> arch/arm/boot/dts/bcm2836-rpi-2-b.dt.yaml
> arch/arm/boot/dts/bcm2837-rpi-3-b.dt.yaml
> arch/arm/boot/dts/omap3-beagle-xm-ab.dt.yaml
> arch/arm/boot/dts/omap3-beagle-xm.dt.yaml
> arch/arm/boot/dts/omap4-panda-a4.dt.yaml
> arch/arm/boot/dts/omap4-panda.dt.yaml
> arch/arm/boot/dts/omap4-panda-es.dt.yaml
>
> usbether@3: $nodename:0: 'usbether@3' does not match '^ethernet(@.*)?$'
> arch/arm/boot/dts/omap5-uevm.dt.yaml

So this binding is already in use, but was undocumented? Or did you
forget to remove the .txt file? The commit message should highlight
all this.

(I don't expect you to fix all these warnings, I was just surprised to
see them given this is an 'initial schema'.)

Rob

2022-02-09 18:43:00

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH net-next v2 2/2] dt-bindings: net: add schema for Microchip/SMSC LAN95xx USB Ethernet controllers

On Wed, 09 Feb 2022 09:10:25 +0100, Oleksij Rempel wrote:
> Create initial schema for Microchip/SMSC LAN95xx USB Ethernet controllers and
> import all currently supported USB IDs form drivers/net/usb/smsc95xx.c
>
> Signed-off-by: Oleksij Rempel <[email protected]>
> ---
> .../bindings/net/microchip,lan95xx.yaml | 80 +++++++++++++++++++
> 1 file changed, 80 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/microchip,lan95xx.yaml
>

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/1590223


smsc@2: $nodename:0: 'smsc@2' does not match '^ethernet(@.*)?$'
arch/arm/boot/dts/tegra30-ouya.dt.yaml

usbether@1: $nodename:0: 'usbether@1' does not match '^ethernet(@.*)?$'
arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dt.yaml
arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dt.yaml
arch/arm/boot/dts/bcm2835-rpi-b.dt.yaml
arch/arm/boot/dts/bcm2835-rpi-b-plus.dt.yaml
arch/arm/boot/dts/bcm2835-rpi-b-rev2.dt.yaml
arch/arm/boot/dts/bcm2836-rpi-2-b.dt.yaml
arch/arm/boot/dts/bcm2837-rpi-3-b.dt.yaml
arch/arm/boot/dts/omap3-beagle-xm-ab.dt.yaml
arch/arm/boot/dts/omap3-beagle-xm.dt.yaml
arch/arm/boot/dts/omap4-panda-a4.dt.yaml
arch/arm/boot/dts/omap4-panda.dt.yaml
arch/arm/boot/dts/omap4-panda-es.dt.yaml

usbether@3: $nodename:0: 'usbether@3' does not match '^ethernet(@.*)?$'
arch/arm/boot/dts/omap5-uevm.dt.yaml


2022-02-09 19:14:25

by Oleksij Rempel

[permalink] [raw]
Subject: Re: [PATCH net-next v2 2/2] dt-bindings: net: add schema for Microchip/SMSC LAN95xx USB Ethernet controllers

On Wed, Feb 09, 2022 at 09:38:57AM -0600, Rob Herring wrote:
> On Wed, Feb 9, 2022 at 9:35 AM Rob Herring <[email protected]> wrote:
> >
> > On Wed, 09 Feb 2022 09:10:25 +0100, Oleksij Rempel wrote:
> > > Create initial schema for Microchip/SMSC LAN95xx USB Ethernet controllers and
> > > import all currently supported USB IDs form drivers/net/usb/smsc95xx.c
> > >
> > > Signed-off-by: Oleksij Rempel <[email protected]>
> > > ---
> > > .../bindings/net/microchip,lan95xx.yaml | 80 +++++++++++++++++++
> > > 1 file changed, 80 insertions(+)
> > > create mode 100644 Documentation/devicetree/bindings/net/microchip,lan95xx.yaml
> > >
> >
> > Running 'make dtbs_check' with the schema in this patch gives the
> > following warnings. Consider if they are expected or the schema is
> > incorrect. These may not be new warnings.
> >
> > Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> > This will change in the future.
> >
> > Full log is available here: https://patchwork.ozlabs.org/patch/1590223
> >
> >
> > smsc@2: $nodename:0: 'smsc@2' does not match '^ethernet(@.*)?$'
> > arch/arm/boot/dts/tegra30-ouya.dt.yaml
> >
> > usbether@1: $nodename:0: 'usbether@1' does not match '^ethernet(@.*)?$'
> > arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dt.yaml
> > arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dt.yaml
> > arch/arm/boot/dts/bcm2835-rpi-b.dt.yaml
> > arch/arm/boot/dts/bcm2835-rpi-b-plus.dt.yaml
> > arch/arm/boot/dts/bcm2835-rpi-b-rev2.dt.yaml
> > arch/arm/boot/dts/bcm2836-rpi-2-b.dt.yaml
> > arch/arm/boot/dts/bcm2837-rpi-3-b.dt.yaml
> > arch/arm/boot/dts/omap3-beagle-xm-ab.dt.yaml
> > arch/arm/boot/dts/omap3-beagle-xm.dt.yaml
> > arch/arm/boot/dts/omap4-panda-a4.dt.yaml
> > arch/arm/boot/dts/omap4-panda.dt.yaml
> > arch/arm/boot/dts/omap4-panda-es.dt.yaml
> >
> > usbether@3: $nodename:0: 'usbether@3' does not match '^ethernet(@.*)?$'
> > arch/arm/boot/dts/omap5-uevm.dt.yaml
>
> So this binding is already in use, but was undocumented?

Ack.

> Or did you forget to remove the .txt file?

No, there was no documentation.

> The commit message should highlight all this.
>
> (I don't expect you to fix all these warnings, I was just surprised to
> see them given this is an 'initial schema'.)

This patches was create before I needed to use it. Should I resent it
with new commit message?

Regards,
Oleksij
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

2022-02-11 21:44:51

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH net-next v2 2/2] dt-bindings: net: add schema for Microchip/SMSC LAN95xx USB Ethernet controllers

On Wed, Feb 09, 2022 at 05:02:52PM +0100, Oleksij Rempel wrote:
> On Wed, Feb 09, 2022 at 09:38:57AM -0600, Rob Herring wrote:
> > On Wed, Feb 9, 2022 at 9:35 AM Rob Herring <[email protected]> wrote:
> > >
> > > On Wed, 09 Feb 2022 09:10:25 +0100, Oleksij Rempel wrote:
> > > > Create initial schema for Microchip/SMSC LAN95xx USB Ethernet controllers and
> > > > import all currently supported USB IDs form drivers/net/usb/smsc95xx.c
> > > >
> > > > Signed-off-by: Oleksij Rempel <[email protected]>
> > > > ---
> > > > .../bindings/net/microchip,lan95xx.yaml | 80 +++++++++++++++++++
> > > > 1 file changed, 80 insertions(+)
> > > > create mode 100644 Documentation/devicetree/bindings/net/microchip,lan95xx.yaml
> > > >
> > >
> > > Running 'make dtbs_check' with the schema in this patch gives the
> > > following warnings. Consider if they are expected or the schema is
> > > incorrect. These may not be new warnings.
> > >
> > > Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> > > This will change in the future.
> > >
> > > Full log is available here: https://patchwork.ozlabs.org/patch/1590223
> > >
> > >
> > > smsc@2: $nodename:0: 'smsc@2' does not match '^ethernet(@.*)?$'
> > > arch/arm/boot/dts/tegra30-ouya.dt.yaml
> > >
> > > usbether@1: $nodename:0: 'usbether@1' does not match '^ethernet(@.*)?$'
> > > arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dt.yaml
> > > arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dt.yaml
> > > arch/arm/boot/dts/bcm2835-rpi-b.dt.yaml
> > > arch/arm/boot/dts/bcm2835-rpi-b-plus.dt.yaml
> > > arch/arm/boot/dts/bcm2835-rpi-b-rev2.dt.yaml
> > > arch/arm/boot/dts/bcm2836-rpi-2-b.dt.yaml
> > > arch/arm/boot/dts/bcm2837-rpi-3-b.dt.yaml
> > > arch/arm/boot/dts/omap3-beagle-xm-ab.dt.yaml
> > > arch/arm/boot/dts/omap3-beagle-xm.dt.yaml
> > > arch/arm/boot/dts/omap4-panda-a4.dt.yaml
> > > arch/arm/boot/dts/omap4-panda.dt.yaml
> > > arch/arm/boot/dts/omap4-panda-es.dt.yaml
> > >
> > > usbether@3: $nodename:0: 'usbether@3' does not match '^ethernet(@.*)?$'
> > > arch/arm/boot/dts/omap5-uevm.dt.yaml
> >
> > So this binding is already in use, but was undocumented?
>
> Ack.
>
> > Or did you forget to remove the .txt file?
>
> No, there was no documentation.
>
> > The commit message should highlight all this.
> >
> > (I don't expect you to fix all these warnings, I was just surprised to
> > see them given this is an 'initial schema'.)
>
> This patches was create before I needed to use it. Should I resent it
> with new commit message?

Yes, please.

Rob

2022-02-14 21:15:14

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH net-next v2 1/2] dt-bindings: net: add schema for ASIX USB Ethernet controllers

On Wed, Feb 09, 2022 at 09:10:24AM +0100, Oleksij Rempel wrote:
> Create initial schema for ASIX USB Ethernet controllers and import all
> currently supported USB IDs form drivers/net/usb/asix_devices.c
>
> Signed-off-by: Oleksij Rempel <[email protected]>
> ---
> .../devicetree/bindings/net/asix,ax88178.yaml | 68 +++++++++++++++++++
> 1 file changed, 68 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/asix,ax88178.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/asix,ax88178.yaml b/Documentation/devicetree/bindings/net/asix,ax88178.yaml
> new file mode 100644
> index 000000000000..2337a1a05bda
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/asix,ax88178.yaml
> @@ -0,0 +1,68 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/asix,ax88178.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: The device tree bindings for the USB Ethernet controllers
> +
> +maintainers:
> + - Oleksij Rempel <[email protected]>
> +
> +description: |
> + Device tree properties for hard wired USB Ethernet devices.
> +
> +allOf:
> + - $ref: ethernet-controller.yaml#
> +
> +properties:
> + compatible:
> + items:
> + - enum:
> + - usbb95,1720 # ASIX AX88172
> + - usbb95,172a # ASIX AX88172A
> + - usbb95,1780 # ASIX AX88178
> + - usbb95,7720 # ASIX AX88772
> + - usbb95,772a # ASIX AX88772A
> + - usbb95,772b # ASIX AX88772B
> + - usbb95,7e2b # ASIX AX88772B
> +
> + reg: true
> + local-mac-address: true
> + mac-address: true
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + usb {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + ethernet@1 {
> + compatible = "usbdb0,a877";

This isn't one of the above compatibles.

> + reg = <1>;
> + local-mac-address = [00 00 00 00 00 00];
> + };
> + };
> + - |
> + usb {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + usb1@1 {
> + compatible = "usb1234,5678";
> + reg = <1>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + ethernet@1 {
> + compatible = "usbdb0,a877";
> + reg = <1>;
> + };
> + };
> + };
> --
> 2.30.2
>
>