Subject: Re: [PATCH 1/3 net-next v3] net: ethernet: ixp4xx: Add DT bindings

From: Rob Herring <[email-masked]>
Date: Fri, 23 Apr 2021 12:58:16 -0500

On Fri, Apr 23, 2021 at 10:22:06AM +0200, Linus Walleij wrote:
> This adds device tree bindings for the IXP4xx ethernet
> controller with optional MDIO bridge.
> 
> Cc: Zoltan HERPAI <[email-masked]>
> Cc: Raylynn Knight <[email-masked]>
> Cc: [email-masked]
> Signed-off-by: Linus Walleij <[email-masked]>
> ---
> ChangeLog v2->v3:
> - Designate phy nodes with ethernet-phy@
> - Include phy-mode in the schema
> ChangeLog v1->v2:
> - Add schema for the (optional) embedded MDIO bus inside
>   the ethernet controller in an "mdio" node instead of just
>   letting the code randomly populate and present it to
>   the operating system.
> - Reference the standard schemas for ethernet controller and
>   MDIO buses.
> - Add intel,npe to indentify the NPE unit used with each
>   ethernet adapter.
> ---
>  .../bindings/net/intel,ixp4xx-ethernet.yaml   | 82 +++++++++++++++++++
>  1 file changed, 82 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.yaml
> 
> diff --git a/Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.yaml b/Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.yaml
> new file mode 100644
> index 000000000000..978e7f236f3a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.yaml
> @@ -0,0 +1,82 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +# Copyright 2018 Linaro Ltd.
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/net/intel,ixp4xx-ethernet.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: Intel IXP4xx ethernet
> +
> +allOf:
> +  - $ref: "ethernet-controller.yaml#"
> +
> +maintainers:
> +  - Linus Walleij <[email-masked]>
> +
> +description: |
> +  The Intel IXP4xx ethernet makes use of the IXP4xx NPE (Network
> +  Processing Engine) and the IXP4xx Queue Mangager to process

typo

> +  the ethernet frames. It can optionally contain an MDIO bus to
> +  talk to PHYs.
> +
> +properties:
> +  compatible:
> +    const: intel,ixp4xx-ethernet
> +
> +  reg:
> +    maxItems: 1
> +    description: Ethernet MMIO address range
> +
> +  queue-rx:
> +    $ref: '/schemas/types.yaml#/definitions/phandle-array'
> +    maxItems: 1
> +    description: phandle to the RX queue on the NPE
> +
> +  queue-txready:
> +    $ref: '/schemas/types.yaml#/definitions/phandle-array'
> +    maxItems: 1
> +    description: phandle to the TX READY queue on the NPE
> +
> +  phy-mode: true
> +
> +  phy-handle: true
> +
> +  intel,npe:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum: [0, 1, 2, 3]
> +    description: which NPE (Network Processing Engine) this ethernet
> +      instance is using

Is there a node for the NPE? If so, make this a phandle.

> +
> +  mdio:
> +    type: object
> +    $ref: "mdio.yaml#"
> +    description: optional node for embedded MDIO controller
> +
> +required:
> +  - compatible
> +  - reg
> +  - queue-rx
> +  - queue-txready
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    ethernet@c8009000 {
> +      compatible = "intel,ixp4xx-ethernet";
> +      reg = <0xc8009000 0x1000>;
> +      status = "disabled";
> +      queue-rx = <&qmgr 3>;
> +      queue-txready = <&qmgr 20>;
> +      intel,npe = <1>;
> +      phy-mode = "rgmii";
> +      phy-handle = <&phy1>;
> +
> +      mdio {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +        phy1: ethernet-phy@1 {
> +          reg = <1>;
> +        };
> +      };
> +    };
> -- 
> 2.29.2
>