xref: /linux/Documentation/devicetree/bindings/net/fsl,enetc.yaml (revision d30c1683aaecb93d2ab95685dc4300a33d3cea7a)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/fsl,enetc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: The NIC functionality of NXP NETC
8
9description:
10  The NIC functionality in NETC is known as EtherNET Controller (ENETC). ENETC
11  supports virtualization/isolation based on PCIe Single Root IO Virtualization
12  (SR-IOV), advanced QoS with 8 traffic classes and 4 drop resilience levels,
13  and a full range of TSN standards and NIC offload capabilities
14
15maintainers:
16  - Frank Li <Frank.Li@nxp.com>
17  - Vladimir Oltean <vladimir.oltean@nxp.com>
18  - Wei Fang <wei.fang@nxp.com>
19  - Claudiu Manoil <claudiu.manoil@nxp.com>
20
21properties:
22  compatible:
23    oneOf:
24      - items:
25          - enum:
26              - pci1957,e100
27          - const: fsl,enetc
28      - enum:
29          - pci1131,e101
30          - pci1131,e110
31
32  reg:
33    maxItems: 1
34
35  clocks:
36    items:
37      - description: MAC transmit/receive reference clock
38
39  clock-names:
40    items:
41      - const: ref
42
43  mdio:
44    $ref: mdio.yaml
45    unevaluatedProperties: false
46    description: Optional child node for ENETC instance, otherwise use NETC EMDIO.
47
48required:
49  - compatible
50  - reg
51
52allOf:
53  - $ref: /schemas/pci/pci-device.yaml
54  - $ref: ethernet-controller.yaml
55  - if:
56      not:
57        properties:
58          compatible:
59            contains:
60              enum:
61                - pci1131,e101
62    then:
63      properties:
64        clocks: false
65        clock-names: false
66
67unevaluatedProperties: false
68
69examples:
70  - |
71    pcie {
72        #address-cells = <3>;
73        #size-cells = <2>;
74
75        ethernet@0,0 {
76            compatible = "pci1957,e100", "fsl,enetc";
77            reg = <0x000000 0 0 0 0>;
78            phy-handle = <&sgmii_phy0>;
79            phy-connection-type = "sgmii";
80
81            mdio {
82                #address-cells = <1>;
83                #size-cells = <0>;
84                phy@2 {
85                    reg = <0x2>;
86                };
87            };
88        };
89    };
90