xref: /linux/Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.yaml (revision e7e86d7697c6ed1dbbde18d7185c35b6967945ed)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2# Copyright 2018 Linaro Ltd.
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/net/intel,ixp4xx-ethernet.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Intel IXP4xx ethernet
9
10allOf:
11  - $ref: ethernet-controller.yaml#
12
13maintainers:
14  - Linus Walleij <linus.walleij@linaro.org>
15
16description: |
17  The Intel IXP4xx ethernet makes use of the IXP4xx NPE (Network
18  Processing Engine) and the IXP4xx Queue Manager to process
19  the ethernet frames. It can optionally contain an MDIO bus to
20  talk to PHYs.
21
22properties:
23  compatible:
24    const: intel,ixp4xx-ethernet
25
26  reg:
27    maxItems: 1
28    description: Ethernet MMIO address range
29
30  queue-rx:
31    $ref: /schemas/types.yaml#/definitions/phandle-array
32    items:
33      - items:
34          - description: phandle to the RX queue node
35          - description: RX queue instance to use
36    description: phandle to the RX queue on the NPE
37
38  queue-txready:
39    $ref: /schemas/types.yaml#/definitions/phandle-array
40    items:
41      - items:
42          - description: phandle to the TX READY queue node
43          - description: TX READY queue instance to use
44    description: phandle to the TX READY queue on the NPE
45
46  phy-mode: true
47
48  phy-handle: true
49
50  fixed-link: true
51
52  intel,npe-handle:
53    $ref: /schemas/types.yaml#/definitions/phandle-array
54    items:
55      - items:
56          - description: phandle to the NPE this ethernet instance is using
57          - description: the NPE instance to use
58    description: phandle to the NPE this ethernet instance is using
59      and the instance to use in the second cell
60
61  mdio:
62    $ref: mdio.yaml#
63    unevaluatedProperties: false
64    description: optional node for embedded MDIO controller
65
66required:
67  - compatible
68  - reg
69  - queue-rx
70  - queue-txready
71  - intel,npe-handle
72
73additionalProperties: false
74
75examples:
76  - |
77    npe: npe@c8006000 {
78      compatible = "intel,ixp4xx-network-processing-engine";
79      reg = <0xc8006000 0x1000>, <0xc8007000 0x1000>, <0xc8008000 0x1000>;
80    };
81
82    ethernet@c8009000 {
83      compatible = "intel,ixp4xx-ethernet";
84      reg = <0xc8009000 0x1000>;
85      queue-rx = <&qmgr 4>;
86      queue-txready = <&qmgr 21>;
87      intel,npe-handle = <&npe 1>;
88      phy-mode = "rgmii";
89      phy-handle = <&phy1>;
90    };
91
92    ethernet@c800c000 {
93      compatible = "intel,ixp4xx-ethernet";
94      reg = <0xc800c000 0x1000>;
95      queue-rx = <&qmgr 3>;
96      queue-txready = <&qmgr 20>;
97      intel,npe-handle = <&npe 2>;
98      phy-mode = "rgmii";
99      phy-handle = <&phy2>;
100
101      mdio {
102        #address-cells = <1>;
103        #size-cells = <0>;
104        phy1: ethernet-phy@1 {
105          reg = <1>;
106        };
107        phy2: ethernet-phy@2 {
108          reg = <2>;
109        };
110      };
111    };
112