devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] net: ethernet: ixp4xx: Add DT bindings
@ 2021-04-19 22:51 Linus Walleij
  2021-04-20  1:26 ` Andrew Lunn
  0 siblings, 1 reply; 6+ messages in thread
From: Linus Walleij @ 2021-04-19 22:51 UTC (permalink / raw)
  To: netdev, David S . Miller, Jakub Kicinski
  Cc: Linus Walleij, Zoltan HERPAI, Raylynn Knight, devicetree

This adds device tree bindings for the IXP4xx ethernet
controller with optional MDIO bridge.

Cc: Zoltan HERPAI <wigyori@uid0.hu>
Cc: Raylynn Knight <rayknight@me.com>
Cc: devicetree@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
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   | 80 +++++++++++++++++++
 1 file changed, 80 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..55ef6ff7d171
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.yaml
@@ -0,0 +1,80 @@
+# 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 <linus.walleij@linaro.org>
+
+description: |
+  The Intel IXP4xx ethernet makes use of the IXP4xx NPE (Network
+  Processing Engine) and the IXP4xx Queue Mangager to process
+  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-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
+
+  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-handle = <&phy1>;
+
+      mdio {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        phy1: phy@1 {
+          #phy-cells = <0>;
+          reg = <1>;
+        };
+      };
+    };
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] net: ethernet: ixp4xx: Add DT bindings
  2021-04-19 22:51 [PATCH 1/3] net: ethernet: ixp4xx: Add DT bindings Linus Walleij
@ 2021-04-20  1:26 ` Andrew Lunn
  2021-04-22 15:39   ` Linus Walleij
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Lunn @ 2021-04-20  1:26 UTC (permalink / raw)
  To: Linus Walleij
  Cc: netdev, David S . Miller, Jakub Kicinski, Zoltan HERPAI,
	Raylynn Knight, devicetree

> +      mdio {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +        phy1: phy@1 {
> +          #phy-cells = <0>;

Hi Linus

phy-cells is not part of the Ethernet PHY binding.

	  Andrew

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] net: ethernet: ixp4xx: Add DT bindings
  2021-04-20  1:26 ` Andrew Lunn
@ 2021-04-22 15:39   ` Linus Walleij
  2021-04-22 15:56     ` Andrew Lunn
  0 siblings, 1 reply; 6+ messages in thread
From: Linus Walleij @ 2021-04-22 15:39 UTC (permalink / raw)
  To: Andrew Lunn, Rob Herring
  Cc: netdev, David S . Miller, Jakub Kicinski, Zoltan HERPAI,
	Raylynn Knight,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS

On Tue, Apr 20, 2021 at 3:26 AM Andrew Lunn <andrew@lunn.ch> wrote:

> > +      mdio {
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;
> > +        phy1: phy@1 {
> > +          #phy-cells = <0>;
>
> Hi Linus
>
> phy-cells is not part of the Ethernet PHY binding.

Nevertheless:

  CHECK   Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.example.dt.yaml
/var/linus/linux-nomadik/build-ixp4/Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.example.dt.yaml:
phy@1: '#phy-cells' is a required property
    From schema:
/home/linus/.local/lib/python3.9/site-packages/dtschema/schemas/phy/phy-provider.yaml

It has been hardcoded as required into the dtschema python package.
Looks like this:

properties:
  $nodename:
    pattern: "^(|usb-|usb2-|usb3-|pci-|pcie-|sata-)phy(@[0-9a-f,]+)*$"

  "#phy-cells": true

  phy-supply: true

required:
  - "#phy-cells"

additionalProperties: true

If this is wrong I bet Rob needs to hear about it.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] net: ethernet: ixp4xx: Add DT bindings
  2021-04-22 15:39   ` Linus Walleij
@ 2021-04-22 15:56     ` Andrew Lunn
  2021-04-22 17:33       ` Linus Walleij
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Lunn @ 2021-04-22 15:56 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Rob Herring, netdev, David S . Miller, Jakub Kicinski,
	Zoltan HERPAI, Raylynn Knight,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS

On Thu, Apr 22, 2021 at 05:39:07PM +0200, Linus Walleij wrote:
> On Tue, Apr 20, 2021 at 3:26 AM Andrew Lunn <andrew@lunn.ch> wrote:
> 
> > > +      mdio {
> > > +        #address-cells = <1>;
> > > +        #size-cells = <0>;
> > > +        phy1: phy@1 {
> > > +          #phy-cells = <0>;
> >
> > Hi Linus
> >
> > phy-cells is not part of the Ethernet PHY binding.
> 
> Nevertheless:
> 
>   CHECK   Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.example.dt.yaml
> /var/linus/linux-nomadik/build-ixp4/Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.example.dt.yaml:
> phy@1: '#phy-cells' is a required property
>     From schema:
> /home/linus/.local/lib/python3.9/site-packages/dtschema/schemas/phy/phy-provider.yaml
> 
> It has been hardcoded as required into the dtschema python package.
> Looks like this:
> 
> properties:
>   $nodename:
>     pattern: "^(|usb-|usb2-|usb3-|pci-|pcie-|sata-)phy(@[0-9a-f,]+)*$"
> 
>   "#phy-cells": true
> 
>   phy-supply: true
> 
> required:
>   - "#phy-cells"
> 
> additionalProperties: true
> 
> If this is wrong I bet Rob needs to hear about it.

That is the wrong sort of PHY. That is a generic PHY, not a PHY, aka
Ethernet PHY. Maybe you need to change the label to ethernet-phy ?

	 Andrew

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] net: ethernet: ixp4xx: Add DT bindings
  2021-04-22 15:56     ` Andrew Lunn
@ 2021-04-22 17:33       ` Linus Walleij
  2021-04-22 20:13         ` Andrew Lunn
  0 siblings, 1 reply; 6+ messages in thread
From: Linus Walleij @ 2021-04-22 17:33 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Rob Herring, netdev, David S . Miller, Jakub Kicinski,
	Zoltan HERPAI, Raylynn Knight,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS

On Thu, Apr 22, 2021 at 5:56 PM Andrew Lunn <andrew@lunn.ch> wrote:
> On Thu, Apr 22, 2021 at 05:39:07PM +0200, Linus Walleij wrote:
> > On Tue, Apr 20, 2021 at 3:26 AM Andrew Lunn <andrew@lunn.ch> wrote:
> >
> > > > +      mdio {
> > > > +        #address-cells = <1>;
> > > > +        #size-cells = <0>;
> > > > +        phy1: phy@1 {
> > > > +          #phy-cells = <0>;
> > >
> > > Hi Linus
> > >
> > > phy-cells is not part of the Ethernet PHY binding.
> >
> > Nevertheless:
> >
> >   CHECK   Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.example.dt.yaml
> > /var/linus/linux-nomadik/build-ixp4/Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.example.dt.yaml:
> > phy@1: '#phy-cells' is a required property
> >     From schema:
> > /home/linus/.local/lib/python3.9/site-packages/dtschema/schemas/phy/phy-provider.yaml
> >
> > It has been hardcoded as required into the dtschema python package.
> > Looks like this:
> >
> > properties:
> >   $nodename:
> >     pattern: "^(|usb-|usb2-|usb3-|pci-|pcie-|sata-)phy(@[0-9a-f,]+)*$"
> >
> >   "#phy-cells": true
> >
> >   phy-supply: true
> >
> > required:
> >   - "#phy-cells"
> >
> > additionalProperties: true
> >
> > If this is wrong I bet Rob needs to hear about it.
>
> That is the wrong sort of PHY. That is a generic PHY, not a PHY, aka
> Ethernet PHY.

It is a bit confusing :D not to mention that the term
"phy" or "physical interface" as I suppose it is meant to
be understood is a bit ambiguous to begin with.

> Maybe you need to change the label to ethernet-phy ?

Yeah that works, I'll do that.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] net: ethernet: ixp4xx: Add DT bindings
  2021-04-22 17:33       ` Linus Walleij
@ 2021-04-22 20:13         ` Andrew Lunn
  0 siblings, 0 replies; 6+ messages in thread
From: Andrew Lunn @ 2021-04-22 20:13 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Rob Herring, netdev, David S . Miller, Jakub Kicinski,
	Zoltan HERPAI, Raylynn Knight,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS

> It is a bit confusing :D not to mention that the term
> "phy" or "physical interface" as I suppose it is meant to
> be understood is a bit ambiguous to begin with.

Yes. For a long time, phy meant Ethernet PHY. And then the generic PHY
framework came along, and decided to reuse the phy prefix, rather than
genphy, or something unique. And now we have confusion.

	Andrew

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-04-22 20:13 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-19 22:51 [PATCH 1/3] net: ethernet: ixp4xx: Add DT bindings Linus Walleij
2021-04-20  1:26 ` Andrew Lunn
2021-04-22 15:39   ` Linus Walleij
2021-04-22 15:56     ` Andrew Lunn
2021-04-22 17:33       ` Linus Walleij
2021-04-22 20:13         ` Andrew Lunn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).