GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / net / engleder,tsnep.yaml
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
7 title: TSN endpoint Ethernet MAC binding
8
9 maintainers:
10   - Gerhard Engleder <gerhard@engleder-embedded.com>
11
12 allOf:
13   - $ref: ethernet-controller.yaml#
14
15 properties:
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
68 required:
69   - compatible
70   - reg
71   - interrupts
72
73 additionalProperties: false
74
75 examples:
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     };