xref: /freebsd/sys/contrib/device-tree/Bindings/net/intel,ixp4xx-ethernet.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
22eb4d8dcSEmmanuel Vadot# Copyright 2018 Linaro Ltd.
32eb4d8dcSEmmanuel Vadot%YAML 1.2
42eb4d8dcSEmmanuel Vadot---
5*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/net/intel,ixp4xx-ethernet.yaml#
6*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
72eb4d8dcSEmmanuel Vadot
82eb4d8dcSEmmanuel Vadottitle: Intel IXP4xx ethernet
92eb4d8dcSEmmanuel Vadot
102eb4d8dcSEmmanuel VadotallOf:
11*fac71e4eSEmmanuel Vadot  - $ref: ethernet-controller.yaml#
122eb4d8dcSEmmanuel Vadot
132eb4d8dcSEmmanuel Vadotmaintainers:
142eb4d8dcSEmmanuel Vadot  - Linus Walleij <linus.walleij@linaro.org>
152eb4d8dcSEmmanuel Vadot
162eb4d8dcSEmmanuel Vadotdescription: |
172eb4d8dcSEmmanuel Vadot  The Intel IXP4xx ethernet makes use of the IXP4xx NPE (Network
182eb4d8dcSEmmanuel Vadot  Processing Engine) and the IXP4xx Queue Manager to process
192eb4d8dcSEmmanuel Vadot  the ethernet frames. It can optionally contain an MDIO bus to
202eb4d8dcSEmmanuel Vadot  talk to PHYs.
212eb4d8dcSEmmanuel Vadot
222eb4d8dcSEmmanuel Vadotproperties:
232eb4d8dcSEmmanuel Vadot  compatible:
242eb4d8dcSEmmanuel Vadot    const: intel,ixp4xx-ethernet
252eb4d8dcSEmmanuel Vadot
262eb4d8dcSEmmanuel Vadot  reg:
272eb4d8dcSEmmanuel Vadot    maxItems: 1
282eb4d8dcSEmmanuel Vadot    description: Ethernet MMIO address range
292eb4d8dcSEmmanuel Vadot
302eb4d8dcSEmmanuel Vadot  queue-rx:
31*fac71e4eSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
32c9ccf3a3SEmmanuel Vadot    items:
33c9ccf3a3SEmmanuel Vadot      - items:
34c9ccf3a3SEmmanuel Vadot          - description: phandle to the RX queue node
35c9ccf3a3SEmmanuel Vadot          - description: RX queue instance to use
362eb4d8dcSEmmanuel Vadot    description: phandle to the RX queue on the NPE
372eb4d8dcSEmmanuel Vadot
382eb4d8dcSEmmanuel Vadot  queue-txready:
39*fac71e4eSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
40c9ccf3a3SEmmanuel Vadot    items:
41c9ccf3a3SEmmanuel Vadot      - items:
42c9ccf3a3SEmmanuel Vadot          - description: phandle to the TX READY queue node
43c9ccf3a3SEmmanuel Vadot          - description: TX READY queue instance to use
442eb4d8dcSEmmanuel Vadot    description: phandle to the TX READY queue on the NPE
452eb4d8dcSEmmanuel Vadot
462eb4d8dcSEmmanuel Vadot  phy-mode: true
472eb4d8dcSEmmanuel Vadot
482eb4d8dcSEmmanuel Vadot  phy-handle: true
492eb4d8dcSEmmanuel Vadot
502eb4d8dcSEmmanuel Vadot  intel,npe-handle:
51*fac71e4eSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
52c9ccf3a3SEmmanuel Vadot    items:
53c9ccf3a3SEmmanuel Vadot      - items:
54c9ccf3a3SEmmanuel Vadot          - description: phandle to the NPE this ethernet instance is using
55c9ccf3a3SEmmanuel Vadot          - description: the NPE instance to use
562eb4d8dcSEmmanuel Vadot    description: phandle to the NPE this ethernet instance is using
572eb4d8dcSEmmanuel Vadot      and the instance to use in the second cell
582eb4d8dcSEmmanuel Vadot
592eb4d8dcSEmmanuel Vadot  mdio:
60e67e8565SEmmanuel Vadot    $ref: mdio.yaml#
61e67e8565SEmmanuel Vadot    unevaluatedProperties: false
622eb4d8dcSEmmanuel Vadot    description: optional node for embedded MDIO controller
632eb4d8dcSEmmanuel Vadot
642eb4d8dcSEmmanuel Vadotrequired:
652eb4d8dcSEmmanuel Vadot  - compatible
662eb4d8dcSEmmanuel Vadot  - reg
672eb4d8dcSEmmanuel Vadot  - queue-rx
682eb4d8dcSEmmanuel Vadot  - queue-txready
692eb4d8dcSEmmanuel Vadot  - intel,npe-handle
702eb4d8dcSEmmanuel Vadot
712eb4d8dcSEmmanuel VadotadditionalProperties: false
722eb4d8dcSEmmanuel Vadot
732eb4d8dcSEmmanuel Vadotexamples:
742eb4d8dcSEmmanuel Vadot  - |
752eb4d8dcSEmmanuel Vadot    npe: npe@c8006000 {
762eb4d8dcSEmmanuel Vadot      compatible = "intel,ixp4xx-network-processing-engine";
772eb4d8dcSEmmanuel Vadot      reg = <0xc8006000 0x1000>, <0xc8007000 0x1000>, <0xc8008000 0x1000>;
782eb4d8dcSEmmanuel Vadot    };
792eb4d8dcSEmmanuel Vadot
802eb4d8dcSEmmanuel Vadot    ethernet@c8009000 {
812eb4d8dcSEmmanuel Vadot      compatible = "intel,ixp4xx-ethernet";
822eb4d8dcSEmmanuel Vadot      reg = <0xc8009000 0x1000>;
832eb4d8dcSEmmanuel Vadot      queue-rx = <&qmgr 4>;
842eb4d8dcSEmmanuel Vadot      queue-txready = <&qmgr 21>;
852eb4d8dcSEmmanuel Vadot      intel,npe-handle = <&npe 1>;
862eb4d8dcSEmmanuel Vadot      phy-mode = "rgmii";
872eb4d8dcSEmmanuel Vadot      phy-handle = <&phy1>;
882eb4d8dcSEmmanuel Vadot    };
892eb4d8dcSEmmanuel Vadot
902eb4d8dcSEmmanuel Vadot    ethernet@c800c000 {
912eb4d8dcSEmmanuel Vadot      compatible = "intel,ixp4xx-ethernet";
922eb4d8dcSEmmanuel Vadot      reg = <0xc800c000 0x1000>;
932eb4d8dcSEmmanuel Vadot      queue-rx = <&qmgr 3>;
942eb4d8dcSEmmanuel Vadot      queue-txready = <&qmgr 20>;
952eb4d8dcSEmmanuel Vadot      intel,npe-handle = <&npe 2>;
962eb4d8dcSEmmanuel Vadot      phy-mode = "rgmii";
972eb4d8dcSEmmanuel Vadot      phy-handle = <&phy2>;
982eb4d8dcSEmmanuel Vadot
992eb4d8dcSEmmanuel Vadot      mdio {
1002eb4d8dcSEmmanuel Vadot        #address-cells = <1>;
1012eb4d8dcSEmmanuel Vadot        #size-cells = <0>;
1022eb4d8dcSEmmanuel Vadot        phy1: ethernet-phy@1 {
1032eb4d8dcSEmmanuel Vadot          reg = <1>;
1042eb4d8dcSEmmanuel Vadot        };
1052eb4d8dcSEmmanuel Vadot        phy2: ethernet-phy@2 {
1062eb4d8dcSEmmanuel Vadot          reg = <2>;
1072eb4d8dcSEmmanuel Vadot        };
1082eb4d8dcSEmmanuel Vadot      };
1092eb4d8dcSEmmanuel Vadot    };
110