Linux 6.7-rc7
[linux-modified.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
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     unevaluatedProperties: false
67     description: optional node for embedded MDIO controller
68
69 required:
70   - compatible
71   - reg
72   - interrupts
73
74 additionalProperties: false
75
76 examples:
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     };