xref: /freebsd/sys/contrib/device-tree/Bindings/net/engleder,tsnep.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1e67e8565SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2e67e8565SEmmanuel Vadot%YAML 1.2
3e67e8565SEmmanuel Vadot---
4e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/net/engleder,tsnep.yaml#
5e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6e67e8565SEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: TSN endpoint Ethernet MAC
8e67e8565SEmmanuel Vadot
9e67e8565SEmmanuel Vadotmaintainers:
10e67e8565SEmmanuel Vadot  - Gerhard Engleder <gerhard@engleder-embedded.com>
11e67e8565SEmmanuel Vadot
12e67e8565SEmmanuel VadotallOf:
13e67e8565SEmmanuel Vadot  - $ref: ethernet-controller.yaml#
14e67e8565SEmmanuel Vadot
15e67e8565SEmmanuel Vadotproperties:
16e67e8565SEmmanuel Vadot  compatible:
17e67e8565SEmmanuel Vadot    const: engleder,tsnep
18e67e8565SEmmanuel Vadot
19e67e8565SEmmanuel Vadot  reg:
20e67e8565SEmmanuel Vadot    maxItems: 1
21e67e8565SEmmanuel Vadot
22e67e8565SEmmanuel Vadot  interrupts:
237ef62cebSEmmanuel Vadot    minItems: 1
247ef62cebSEmmanuel Vadot    maxItems: 8
257ef62cebSEmmanuel Vadot
267ef62cebSEmmanuel Vadot  interrupt-names:
277ef62cebSEmmanuel Vadot    minItems: 1
287ef62cebSEmmanuel Vadot    items:
297ef62cebSEmmanuel Vadot      - const: mac
307ef62cebSEmmanuel Vadot      - const: txrx-1
317ef62cebSEmmanuel Vadot      - const: txrx-2
327ef62cebSEmmanuel Vadot      - const: txrx-3
337ef62cebSEmmanuel Vadot      - const: txrx-4
347ef62cebSEmmanuel Vadot      - const: txrx-5
357ef62cebSEmmanuel Vadot      - const: txrx-6
367ef62cebSEmmanuel Vadot      - const: txrx-7
377ef62cebSEmmanuel Vadot    description:
387ef62cebSEmmanuel Vadot      The main interrupt for basic MAC features and the first TX/RX queue pair
397ef62cebSEmmanuel Vadot      is named "mac". "txrx-[1-7]" are the interrupts for additional TX/RX
407ef62cebSEmmanuel Vadot      queue pairs.
417ef62cebSEmmanuel Vadot
427ef62cebSEmmanuel Vadot  dma-coherent: true
43e67e8565SEmmanuel Vadot
44e67e8565SEmmanuel Vadot  local-mac-address: true
45e67e8565SEmmanuel Vadot
46e67e8565SEmmanuel Vadot  mac-address: true
47e67e8565SEmmanuel Vadot
48e67e8565SEmmanuel Vadot  nvmem-cells: true
49e67e8565SEmmanuel Vadot
507ef62cebSEmmanuel Vadot  nvmem-cell-names: true
51e67e8565SEmmanuel Vadot
52e67e8565SEmmanuel Vadot  phy-connection-type:
53e67e8565SEmmanuel Vadot    enum:
54e67e8565SEmmanuel Vadot      - mii
55e67e8565SEmmanuel Vadot      - gmii
56e67e8565SEmmanuel Vadot      - rgmii
57e67e8565SEmmanuel Vadot      - rgmii-id
58e67e8565SEmmanuel Vadot
59e67e8565SEmmanuel Vadot  phy-mode: true
60e67e8565SEmmanuel Vadot
61e67e8565SEmmanuel Vadot  phy-handle: true
62e67e8565SEmmanuel Vadot
63e67e8565SEmmanuel Vadot  mdio:
64e67e8565SEmmanuel Vadot    type: object
65fac71e4eSEmmanuel Vadot    $ref: mdio.yaml#
66*84943d6fSEmmanuel Vadot    unevaluatedProperties: false
67e67e8565SEmmanuel Vadot    description: optional node for embedded MDIO controller
68e67e8565SEmmanuel Vadot
69e67e8565SEmmanuel Vadotrequired:
70e67e8565SEmmanuel Vadot  - compatible
71e67e8565SEmmanuel Vadot  - reg
72e67e8565SEmmanuel Vadot  - interrupts
73e67e8565SEmmanuel Vadot
74e67e8565SEmmanuel VadotadditionalProperties: false
75e67e8565SEmmanuel Vadot
76e67e8565SEmmanuel Vadotexamples:
77e67e8565SEmmanuel Vadot  - |
78e67e8565SEmmanuel Vadot    axi {
79e67e8565SEmmanuel Vadot        #address-cells = <2>;
80e67e8565SEmmanuel Vadot        #size-cells = <2>;
817ef62cebSEmmanuel Vadot        tsnep0: ethernet@a0000000 {
82e67e8565SEmmanuel Vadot            compatible = "engleder,tsnep";
83e67e8565SEmmanuel Vadot            reg = <0x0 0xa0000000 0x0 0x10000>;
84e67e8565SEmmanuel Vadot            interrupts = <0 89 1>;
85e67e8565SEmmanuel Vadot            interrupt-parent = <&gic>;
86e67e8565SEmmanuel Vadot            local-mac-address = [00 00 00 00 00 00];
87e67e8565SEmmanuel Vadot            phy-mode = "rgmii";
88e67e8565SEmmanuel Vadot            phy-handle = <&phy0>;
89e67e8565SEmmanuel Vadot            mdio {
90e67e8565SEmmanuel Vadot                #address-cells = <1>;
91e67e8565SEmmanuel Vadot                #size-cells = <0>;
92e67e8565SEmmanuel Vadot                suppress-preamble;
93e67e8565SEmmanuel Vadot                phy0: ethernet-phy@1 {
94e67e8565SEmmanuel Vadot                    reg = <1>;
95e67e8565SEmmanuel Vadot                    rxc-skew-ps = <1080>;
96e67e8565SEmmanuel Vadot                };
97e67e8565SEmmanuel Vadot            };
98e67e8565SEmmanuel Vadot        };
997ef62cebSEmmanuel Vadot
1007ef62cebSEmmanuel Vadot        tsnep1: ethernet@a0010000 {
1017ef62cebSEmmanuel Vadot            compatible = "engleder,tsnep";
1027ef62cebSEmmanuel Vadot            reg = <0x0 0xa0010000 0x0 0x10000>;
1037ef62cebSEmmanuel Vadot            interrupts = <0 93 1>, <0 94 1>, <0 95 1>, <0 96 1>;
1047ef62cebSEmmanuel Vadot            interrupt-names = "mac", "txrx-1", "txrx-2", "txrx-3";
1057ef62cebSEmmanuel Vadot            interrupt-parent = <&gic>;
1067ef62cebSEmmanuel Vadot            local-mac-address = [00 00 00 00 00 00];
1077ef62cebSEmmanuel Vadot            phy-mode = "rgmii";
1087ef62cebSEmmanuel Vadot            phy-handle = <&phy1>;
1097ef62cebSEmmanuel Vadot            mdio {
1107ef62cebSEmmanuel Vadot                #address-cells = <1>;
1117ef62cebSEmmanuel Vadot                #size-cells = <0>;
1127ef62cebSEmmanuel Vadot                suppress-preamble;
1137ef62cebSEmmanuel Vadot                phy1: ethernet-phy@1 {
1147ef62cebSEmmanuel Vadot                    reg = <1>;
1157ef62cebSEmmanuel Vadot                    rxc-skew-ps = <1080>;
1167ef62cebSEmmanuel Vadot                };
1177ef62cebSEmmanuel Vadot            };
1187ef62cebSEmmanuel Vadot        };
119e67e8565SEmmanuel Vadot    };
120