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    unevaluatedProperties: false
67    description: optional node for embedded MDIO controller
68
69required:
70  - compatible
71  - reg
72  - interrupts
73
74additionalProperties: false
75
76examples:
77  - |
78    axi {
79        #address-cells = <2>;
80        #size-cells = <2>;
81        tsnep0: ethernet@a0000000 {
82            compatible = "engleder,tsnep";
83            reg = <0x0 0xa0000000 0x0 0x10000>;
84            interrupts = <0 89 1>;
85            interrupt-parent = <&gic>;
86            local-mac-address = [00 00 00 00 00 00];
87            phy-mode = "rgmii";
88            phy-handle = <&phy0>;
89            mdio {
90                #address-cells = <1>;
91                #size-cells = <0>;
92                suppress-preamble;
93                phy0: ethernet-phy@1 {
94                    reg = <1>;
95                    rxc-skew-ps = <1080>;
96                };
97            };
98        };
99
100        tsnep1: ethernet@a0010000 {
101            compatible = "engleder,tsnep";
102            reg = <0x0 0xa0010000 0x0 0x10000>;
103            interrupts = <0 93 1>, <0 94 1>, <0 95 1>, <0 96 1>;
104            interrupt-names = "mac", "txrx-1", "txrx-2", "txrx-3";
105            interrupt-parent = <&gic>;
106            local-mac-address = [00 00 00 00 00 00];
107            phy-mode = "rgmii";
108            phy-handle = <&phy1>;
109            mdio {
110                #address-cells = <1>;
111                #size-cells = <0>;
112                suppress-preamble;
113                phy1: ethernet-phy@1 {
114                    reg = <1>;
115                    rxc-skew-ps = <1080>;
116                };
117            };
118        };
119    };
120