summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/net/engleder,tsnep.yaml
blob: a6921e805e37e6200aaaaa5645b8ba637877c6d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/engleder,tsnep.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TSN endpoint Ethernet MAC binding

maintainers:
  - Gerhard Engleder <gerhard@engleder-embedded.com>

allOf:
  - $ref: ethernet-controller.yaml#

properties:
  compatible:
    const: engleder,tsnep

  reg:
    maxItems: 1

  interrupts:
    minItems: 1
    maxItems: 8

  interrupt-names:
    minItems: 1
    items:
      - const: mac
      - const: txrx-1
      - const: txrx-2
      - const: txrx-3
      - const: txrx-4
      - const: txrx-5
      - const: txrx-6
      - const: txrx-7
    description:
      The main interrupt for basic MAC features and the first TX/RX queue pair
      is named "mac". "txrx-[1-7]" are the interrupts for additional TX/RX
      queue pairs.

  dma-coherent: true

  local-mac-address: true

  mac-address: true

  nvmem-cells: true

  nvmem-cell-names: true

  phy-connection-type:
    enum:
      - mii
      - gmii
      - rgmii
      - rgmii-id

  phy-mode: true

  phy-handle: true

  mdio:
    type: object
    $ref: "mdio.yaml#"
    description: optional node for embedded MDIO controller

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    axi {
        #address-cells = <2>;
        #size-cells = <2>;
        tsnep0: ethernet@a0000000 {
            compatible = "engleder,tsnep";
            reg = <0x0 0xa0000000 0x0 0x10000>;
            interrupts = <0 89 1>;
            interrupt-parent = <&gic>;
            local-mac-address = [00 00 00 00 00 00];
            phy-mode = "rgmii";
            phy-handle = <&phy0>;
            mdio {
                #address-cells = <1>;
                #size-cells = <0>;
                suppress-preamble;
                phy0: ethernet-phy@1 {
                    reg = <1>;
                    rxc-skew-ps = <1080>;
                };
            };
        };

        tsnep1: ethernet@a0010000 {
            compatible = "engleder,tsnep";
            reg = <0x0 0xa0010000 0x0 0x10000>;
            interrupts = <0 93 1>, <0 94 1>, <0 95 1>, <0 96 1>;
            interrupt-names = "mac", "txrx-1", "txrx-2", "txrx-3";
            interrupt-parent = <&gic>;
            local-mac-address = [00 00 00 00 00 00];
            phy-mode = "rgmii";
            phy-handle = <&phy1>;
            mdio {
                #address-cells = <1>;
                #size-cells = <0>;
                suppress-preamble;
                phy1: ethernet-phy@1 {
                    reg = <1>;
                    rxc-skew-ps = <1080>;
                };
            };
        };
    };