All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Justin Chen <justinpopo6@gmail.com>
Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	bcm-kernel-feedback-list@broadcom.com, justin.chen@broadcom.com,
	f.fainelli@gmail.com, davem@davemloft.net, edumazet@google.com,
	kuba@kernel.org, pabeni@redhat.com,
	krzysztof.kozlowski+dt@linaro.org, opendmb@gmail.com,
	andrew@lunn.ch, hkallweit1@gmail.com, linux@armlinux.org.uk,
	richardcochran@gmail.com, sumit.semwal@linaro.org,
	christian.koenig@amd.com
Subject: Re: [PATCH v2 net-next 2/6] dt-bindings: net: Brcm ASP 2.0 Ethernet controller
Date: Thu, 27 Apr 2023 12:16:25 -0500	[thread overview]
Message-ID: <20230427171625.GA3172205-robh@kernel.org> (raw)
In-Reply-To: <1682535272-32249-3-git-send-email-justinpopo6@gmail.com>

On Wed, Apr 26, 2023 at 11:54:28AM -0700, Justin Chen wrote:
> From: Florian Fainelli <f.fainelli@gmail.com>
> 
> Add a binding document for the Broadcom ASP 2.0 Ethernet
> controller.
> 
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> Signed-off-by: Justin Chen <justinpopo6@gmail.com>
> ---
>  .../devicetree/bindings/net/brcm,asp-v2.0.yaml     | 145 +++++++++++++++++++++
>  1 file changed, 145 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml
> 
> diff --git a/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml
> new file mode 100644
> index 000000000000..818d91692e6e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml
> @@ -0,0 +1,145 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/brcm,asp-v2.0.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Broadcom ASP 2.0 Ethernet controller
> +
> +maintainers:
> +  - Justin Chen <justinpopo6@gmail.com>
> +  - Florian Fainelli <f.fainelli@gmail.com>
> +
> +description: Broadcom Ethernet controller first introduced with 72165
> +
> +properties:
> +  '#address-cells':
> +    const: 1
> +  '#size-cells':
> +    const: 1
> +
> +  compatible:
> +    enum:
> +      - brcm,asp-v2.0
> +      - brcm,bcm72165-asp-v2.0
> +      - brcm,asp-v2.1
> +      - brcm,bcm74165-asp-v2.1

You have 1 SoC per version, so what's the point of versions? If you have 
more coming, then fine, but I'd expect it to be something like this:

compatible = "brcm,bcm74165-asp-v2.1", "brcm,asp-v2.1";

Also, the version in the SoC specific compatible is redundant. Just 
"brcm,bcm74165-asp" is enough.

v2.1 is not compatible with v2.0? What that means is would a client/OS 
that only understands what v2.0 is work with v2.1 h/w? If so, you should 
have fallback compatible.

> +
> +  reg:
> +    maxItems: 1
> +
> +  ranges: true
> +
> +  interrupts:
> +    minItems: 1
> +    items:
> +      - description: RX/TX interrupt
> +      - description: Port 0 Wake-on-LAN
> +      - description: Port 1 Wake-on-LAN
> +
> +  clocks:
> +    maxItems: 1
> +
> +  ethernet-ports:

The ethernet-switch.yaml schema doesn't work for you?

> +    type: object
> +    properties:
> +      '#address-cells':
> +        const: 1
> +      '#size-cells':
> +        const: 0
> +
> +    patternProperties:
> +      "^port@[0-9]+$":
> +        type: object
> +
> +        $ref: ethernet-controller.yaml#
> +
> +        properties:
> +          reg:
> +            maxItems: 1
> +            description: Port number
> +
> +          channel:
> +            maxItems: 1
> +            description: ASP channel number

Not a standard property, so it needs a type and vendor prefix. However, 
what's the difference between channel and port? Can the port numbers 
correspond to the channels?

> +
> +        required:
> +          - reg
> +          - channel
> +
> +    additionalProperties: false
> +
> +patternProperties:
> +  "^mdio@[0-9a-f]+$":
> +    type: object
> +    $ref: "brcm,unimac-mdio.yaml"

Drop quotes.

> +
> +    description:
> +      ASP internal UniMAC MDIO bus
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clocks
> +  - ranges
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +    ethernet@9c00000 {
> +        compatible = "brcm,asp-v2.0";
> +        reg = <0x9c00000 0x1fff14>;
> +        interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
> +        ranges;
> +        clocks = <&scmi 14>;
> +        #address-cells = <1>;
> +        #size-cells = <1>;
> +
> +        mdio@c614 {
> +            compatible = "brcm,asp-v2.0-mdio";
> +            reg = <0xc614 0x8>;

You have 1:1 ranges, is that really what you want? That means 0xc614 is 
an absolute address.

> +            reg-names = "mdio";
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            phy0: ethernet-phy@1 {
> +                reg = <1>;
> +            };
> +       };
> +
> +        mdio@ce14 {
> +            compatible = "brcm,asp-v2.0-mdio";
> +            reg = <0xce14 0x8>;
> +            reg-names = "mdio";
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            phy1: ethernet-phy@1 {
> +                reg = <1>;
> +            };
> +        };
> +
> +        ethernet-ports {
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            port@0 {
> +                reg = <0>;
> +                channel = <8>;
> +                phy-mode = "rgmii";
> +                phy-handle = <&phy0>;
> +            };
> +
> +            port@1 {
> +                reg = <1>;
> +                channel = <9>;
> +                phy-mode = "rgmii";
> +                phy-handle = <&phy1>;
> +            };
> +        };
> +    };
> -- 
> 2.7.4
> 

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Justin Chen <justinpopo6@gmail.com>
Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, andrew@lunn.ch,
	linux@armlinux.org.uk, netdev@vger.kernel.org,
	richardcochran@gmail.com, hkallweit1@gmail.com,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	justin.chen@broadcom.com, edumazet@google.com, opendmb@gmail.com,
	bcm-kernel-feedback-list@broadcom.com,
	krzysztof.kozlowski+dt@linaro.org, kuba@kernel.org,
	christian.koenig@amd.com, pabeni@redhat.com,
	sumit.semwal@linaro.org, davem@davemloft.net,
	linux-media@vger.kernel.org
Subject: Re: [PATCH v2 net-next 2/6] dt-bindings: net: Brcm ASP 2.0 Ethernet controller
Date: Thu, 27 Apr 2023 12:16:25 -0500	[thread overview]
Message-ID: <20230427171625.GA3172205-robh@kernel.org> (raw)
In-Reply-To: <1682535272-32249-3-git-send-email-justinpopo6@gmail.com>

On Wed, Apr 26, 2023 at 11:54:28AM -0700, Justin Chen wrote:
> From: Florian Fainelli <f.fainelli@gmail.com>
> 
> Add a binding document for the Broadcom ASP 2.0 Ethernet
> controller.
> 
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> Signed-off-by: Justin Chen <justinpopo6@gmail.com>
> ---
>  .../devicetree/bindings/net/brcm,asp-v2.0.yaml     | 145 +++++++++++++++++++++
>  1 file changed, 145 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml
> 
> diff --git a/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml
> new file mode 100644
> index 000000000000..818d91692e6e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml
> @@ -0,0 +1,145 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/brcm,asp-v2.0.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Broadcom ASP 2.0 Ethernet controller
> +
> +maintainers:
> +  - Justin Chen <justinpopo6@gmail.com>
> +  - Florian Fainelli <f.fainelli@gmail.com>
> +
> +description: Broadcom Ethernet controller first introduced with 72165
> +
> +properties:
> +  '#address-cells':
> +    const: 1
> +  '#size-cells':
> +    const: 1
> +
> +  compatible:
> +    enum:
> +      - brcm,asp-v2.0
> +      - brcm,bcm72165-asp-v2.0
> +      - brcm,asp-v2.1
> +      - brcm,bcm74165-asp-v2.1

You have 1 SoC per version, so what's the point of versions? If you have 
more coming, then fine, but I'd expect it to be something like this:

compatible = "brcm,bcm74165-asp-v2.1", "brcm,asp-v2.1";

Also, the version in the SoC specific compatible is redundant. Just 
"brcm,bcm74165-asp" is enough.

v2.1 is not compatible with v2.0? What that means is would a client/OS 
that only understands what v2.0 is work with v2.1 h/w? If so, you should 
have fallback compatible.

> +
> +  reg:
> +    maxItems: 1
> +
> +  ranges: true
> +
> +  interrupts:
> +    minItems: 1
> +    items:
> +      - description: RX/TX interrupt
> +      - description: Port 0 Wake-on-LAN
> +      - description: Port 1 Wake-on-LAN
> +
> +  clocks:
> +    maxItems: 1
> +
> +  ethernet-ports:

The ethernet-switch.yaml schema doesn't work for you?

> +    type: object
> +    properties:
> +      '#address-cells':
> +        const: 1
> +      '#size-cells':
> +        const: 0
> +
> +    patternProperties:
> +      "^port@[0-9]+$":
> +        type: object
> +
> +        $ref: ethernet-controller.yaml#
> +
> +        properties:
> +          reg:
> +            maxItems: 1
> +            description: Port number
> +
> +          channel:
> +            maxItems: 1
> +            description: ASP channel number

Not a standard property, so it needs a type and vendor prefix. However, 
what's the difference between channel and port? Can the port numbers 
correspond to the channels?

> +
> +        required:
> +          - reg
> +          - channel
> +
> +    additionalProperties: false
> +
> +patternProperties:
> +  "^mdio@[0-9a-f]+$":
> +    type: object
> +    $ref: "brcm,unimac-mdio.yaml"

Drop quotes.

> +
> +    description:
> +      ASP internal UniMAC MDIO bus
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clocks
> +  - ranges
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +    ethernet@9c00000 {
> +        compatible = "brcm,asp-v2.0";
> +        reg = <0x9c00000 0x1fff14>;
> +        interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
> +        ranges;
> +        clocks = <&scmi 14>;
> +        #address-cells = <1>;
> +        #size-cells = <1>;
> +
> +        mdio@c614 {
> +            compatible = "brcm,asp-v2.0-mdio";
> +            reg = <0xc614 0x8>;

You have 1:1 ranges, is that really what you want? That means 0xc614 is 
an absolute address.

> +            reg-names = "mdio";
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            phy0: ethernet-phy@1 {
> +                reg = <1>;
> +            };
> +       };
> +
> +        mdio@ce14 {
> +            compatible = "brcm,asp-v2.0-mdio";
> +            reg = <0xce14 0x8>;
> +            reg-names = "mdio";
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            phy1: ethernet-phy@1 {
> +                reg = <1>;
> +            };
> +        };
> +
> +        ethernet-ports {
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            port@0 {
> +                reg = <0>;
> +                channel = <8>;
> +                phy-mode = "rgmii";
> +                phy-handle = <&phy0>;
> +            };
> +
> +            port@1 {
> +                reg = <1>;
> +                channel = <9>;
> +                phy-mode = "rgmii";
> +                phy-handle = <&phy1>;
> +            };
> +        };
> +    };
> -- 
> 2.7.4
> 

  reply	other threads:[~2023-04-27 17:17 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-26 18:54 [PATCH v2 net-next 0/6] Brcm ASP 2.0 Ethernet controller Justin Chen
2023-04-26 18:54 ` Justin Chen
2023-04-26 18:54 ` [PATCH v2 net-next 1/6] dt-bindings: net: brcm,unimac-mdio: Add asp-v2.0 Justin Chen
2023-04-26 18:54   ` [PATCH v2 net-next 1/6] dt-bindings: net: brcm, unimac-mdio: " Justin Chen
2023-04-27 17:03   ` [PATCH v2 net-next 1/6] dt-bindings: net: brcm,unimac-mdio: " Rob Herring
2023-04-27 17:03     ` Rob Herring
2023-04-27 17:05     ` Florian Fainelli
2023-04-27 17:05       ` Florian Fainelli
2023-04-26 18:54 ` [PATCH v2 net-next 2/6] dt-bindings: net: Brcm ASP 2.0 Ethernet controller Justin Chen
2023-04-26 18:54   ` Justin Chen
2023-04-27 17:16   ` Rob Herring [this message]
2023-04-27 17:16     ` Rob Herring
2023-04-27 18:36     ` Justin Chen
2023-04-27 18:36       ` Justin Chen
2023-04-26 18:54 ` [PATCH v2 net-next 3/6] net: bcmasp: Add support for ASP2.0 " Justin Chen
2023-04-26 18:54   ` Justin Chen
2023-05-02 19:43   ` Simon Horman
2023-05-02 19:43     ` Simon Horman
2023-05-02 21:26     ` Justin Chen
2023-05-02 21:26       ` Justin Chen
2023-05-03  7:15       ` Simon Horman
2023-05-03  7:15         ` Simon Horman
2023-05-02 20:24   ` Christophe JAILLET
2023-05-02 20:24     ` Christophe JAILLET
2023-04-26 18:54 ` [PATCH v2 net-next 4/6] net: phy: mdio-bcm-unimac: Add asp v2.0 support Justin Chen
2023-04-26 18:54   ` Justin Chen
2023-04-26 18:54 ` [PATCH v2 net-next 5/6] net: phy: bcm7xxx: Add EPHY entry for 74165 Justin Chen
2023-04-26 18:54   ` Justin Chen
2023-04-26 18:54 ` [PATCH v2 net-next 6/6] MAINTAINERS: ASP 2.0 Ethernet driver maintainers Justin Chen
2023-04-26 18:54   ` Justin Chen
2023-04-27  6:39 ` [PATCH v2 net-next 0/6] Brcm ASP 2.0 Ethernet controller Paolo Abeni
2023-04-27  6:39   ` Paolo Abeni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230427171625.GA3172205-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=andrew@lunn.ch \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=christian.koenig@amd.com \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=justin.chen@broadcom.com \
    --cc=justinpopo6@gmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=opendmb@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=richardcochran@gmail.com \
    --cc=sumit.semwal@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.