1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/engleder,tsnep.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TSN endpoint Ethernet MAC
8
9maintainers:
10  - Gerhard Engleder <gerhard@engleder-embedded.com>
11
12allOf:
13  - $ref: ethernet-controller.yaml#
14
15properties:
16  compatible:
17    const: engleder,tsnep
18
19  reg:
20    maxItems: 1
21
22  interrupts:
23    minItems: 1
24    maxItems: 8
25
26  interrupt-names:
27    minItems: 1
28    items:
29      - const: mac
30      - const: txrx-1
31      - const: txrx-2
32      - const: txrx-3
33      - const: txrx-4
34      - const: txrx-5
35      - const: txrx-6
36      - const: txrx-7
37    description:
38      The main interrupt for basic MAC features and the first TX/RX queue pair
39      is named "mac". "txrx-[1-7]" are the interrupts for additional TX/RX
40      queue pairs.
41
42  dma-coherent: true
43
44  local-mac-address: true
45
46  mac-address: true
47
48  nvmem-cells: true
49
50  nvmem-cell-names: true
51
52  phy-connection-type:
53    enum:
54      - mii
55      - gmii
56      - rgmii
57      - rgmii-id
58
59  phy-mode: true
60
61  phy-handle: true
62
63  mdio:
64    type: object
65    $ref: mdio.yaml#
66    description: optional node for embedded MDIO controller
67
68required:
69  - compatible
70  - reg
71  - interrupts
72
73additionalProperties: false
74
75examples:
76  - |
77    axi {
78        #address-cells = <2>;
79        #size-cells = <2>;
80        tsnep0: ethernet@a0000000 {
81            compatible = "engleder,tsnep";
82            reg = <0x0 0xa0000000 0x0 0x10000>;
83            interrupts = <0 89 1>;
84            interrupt-parent = <&gic>;
85            local-mac-address = [00 00 00 00 00 00];
86            phy-mode = "rgmii";
87            phy-handle = <&phy0>;
88            mdio {
89                #address-cells = <1>;
90                #size-cells = <0>;
91                suppress-preamble;
92                phy0: ethernet-phy@1 {
93                    reg = <1>;
94                    rxc-skew-ps = <1080>;
95                };
96            };
97        };
98
99        tsnep1: ethernet@a0010000 {
100            compatible = "engleder,tsnep";
101            reg = <0x0 0xa0010000 0x0 0x10000>;
102            interrupts = <0 93 1>, <0 94 1>, <0 95 1>, <0 96 1>;
103            interrupt-names = "mac", "txrx-1", "txrx-2", "txrx-3";
104            interrupt-parent = <&gic>;
105            local-mac-address = [00 00 00 00 00 00];
106            phy-mode = "rgmii";
107            phy-handle = <&phy1>;
108            mdio {
109                #address-cells = <1>;
110                #size-cells = <0>;
111                suppress-preamble;
112                phy1: ethernet-phy@1 {
113                    reg = <1>;
114                    rxc-skew-ps = <1080>;
115                };
116            };
117        };
118    };
119