diff mbox series

[1/3,net-next,v4] net: ethernet: ixp4xx: Add DT bindings

Message ID 20210425003038.2937498-1-linus.walleij@linaro.org (mailing list archive)
State Accepted
Commit 48ac0b5805dd9b10546d5a89a2702fd78a8ca69f
Delegated to: Netdev Maintainers
Headers show
Series [1/3,net-next,v4] net: ethernet: ixp4xx: Add DT bindings | expand

Checks

Context Check Description
netdev/cover_letter warning Series does not have a cover letter
netdev/fixes_present success Link
netdev/patch_count success Link
netdev/tree_selection success Clearly marked for net-next
netdev/subject_prefix success Link
netdev/cc_maintainers warning 2 maintainers not CCed: robh+dt@kernel.org kuba@kernel.org
netdev/source_inline success Was 0 now: 0
netdev/verify_signedoff success Link
netdev/module_param success Was 0 now: 0
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/verify_fixes success Link
netdev/checkpatch warning WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/header_inline success Link

Commit Message

Linus Walleij April 25, 2021, 12:30 a.m. UTC
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 v3->v4:
- Use a phandle to reference the NPE
- Make a more verbose example with two ethernet devices
  sharing a MDIO bus on just one of them
- Spelling fix
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   | 102 ++++++++++++++++++
 1 file changed, 102 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.yaml

Comments

Andrew Lunn April 25, 2021, 12:39 a.m. UTC | #1
On Sun, Apr 25, 2021 at 02:30:36AM +0200, Linus Walleij wrote:
> 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>

I'm not a YAML guy, but this looks O.K. to me.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew
patchwork-bot+netdevbpf@kernel.org April 26, 2021, 1:30 a.m. UTC | #2
Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Sun, 25 Apr 2021 02:30:36 +0200 you wrote:
> 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>
> 
> [...]

Here is the summary with links:
  - [1/3,net-next,v4] net: ethernet: ixp4xx: Add DT bindings
    https://git.kernel.org/netdev/net-next/c/48ac0b5805dd
  - [2/3,net-next,v4] net: ethernet: ixp4xx: Retire ancient phy retrieveal
    https://git.kernel.org/netdev/net-next/c/3e8047a98553
  - [3/3,net-next,v4] net: ethernet: ixp4xx: Support device tree probing
    https://git.kernel.org/netdev/net-next/c/95aafe911db6

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
Rob Herring (Arm) April 29, 2021, 9:44 p.m. UTC | #3
On Mon, Apr 26, 2021 at 01:30:15AM +0000, patchwork-bot+netdevbpf@kernel.org wrote:
> Hello:
> 
> This series was applied to netdev/net-next.git (refs/heads/master):
> 
> On Sun, 25 Apr 2021 02:30:36 +0200 you wrote:
> > 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>
> > 
> > [...]
> 
> Here is the summary with links:
>   - [1/3,net-next,v4] net: ethernet: ixp4xx: Add DT bindings
>     https://git.kernel.org/netdev/net-next/c/48ac0b5805dd
>   - [2/3,net-next,v4] net: ethernet: ixp4xx: Retire ancient phy retrieveal
>     https://git.kernel.org/netdev/net-next/c/3e8047a98553
>   - [3/3,net-next,v4] net: ethernet: ixp4xx: Support device tree probing
>     https://git.kernel.org/netdev/net-next/c/95aafe911db6

What happened to net-next being closed during the merge window? Oh 
well, I'm sure someone is checking the schemas...

Rob
diff mbox series

Patch

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..f2e91d1bf7d7
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.yaml
@@ -0,0 +1,102 @@ 
+# 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 Manager 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-mode: true
+
+  phy-handle: true
+
+  intel,npe-handle:
+    $ref: '/schemas/types.yaml#/definitions/phandle-array'
+    maxItems: 1
+    description: phandle to the NPE this ethernet instance is using
+      and the instance to use in the second cell
+
+  mdio:
+    type: object
+    $ref: "mdio.yaml#"
+    description: optional node for embedded MDIO controller
+
+required:
+  - compatible
+  - reg
+  - queue-rx
+  - queue-txready
+  - intel,npe-handle
+
+additionalProperties: false
+
+examples:
+  - |
+    npe: npe@c8006000 {
+      compatible = "intel,ixp4xx-network-processing-engine";
+      reg = <0xc8006000 0x1000>, <0xc8007000 0x1000>, <0xc8008000 0x1000>;
+    };
+
+    ethernet@c8009000 {
+      compatible = "intel,ixp4xx-ethernet";
+      reg = <0xc8009000 0x1000>;
+      status = "disabled";
+      queue-rx = <&qmgr 4>;
+      queue-txready = <&qmgr 21>;
+      intel,npe-handle = <&npe 1>;
+      phy-mode = "rgmii";
+      phy-handle = <&phy1>;
+    };
+
+    ethernet@c800c000 {
+      compatible = "intel,ixp4xx-ethernet";
+      reg = <0xc800c000 0x1000>;
+      status = "disabled";
+      queue-rx = <&qmgr 3>;
+      queue-txready = <&qmgr 20>;
+      intel,npe-handle = <&npe 2>;
+      phy-mode = "rgmii";
+      phy-handle = <&phy2>;
+
+      mdio {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        phy1: ethernet-phy@1 {
+          reg = <1>;
+        };
+        phy2: ethernet-phy@2 {
+          reg = <2>;
+        };
+      };
+    };