xref: /linux/Documentation/devicetree/bindings/net/fsl,enetc.yaml (revision cdd30ebb1b9f36159d66f088b61aee264e649d7a)
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
31  reg:
32    maxItems: 1
33
34  clocks:
35    items:
36      - description: MAC transmit/receive reference clock
37
38  clock-names:
39    items:
40      - const: ref
41
42  mdio:
43    $ref: mdio.yaml
44    unevaluatedProperties: false
45    description: Optional child node for ENETC instance, otherwise use NETC EMDIO.
46
47required:
48  - compatible
49  - reg
50
51allOf:
52  - $ref: /schemas/pci/pci-device.yaml
53  - $ref: ethernet-controller.yaml
54  - if:
55      not:
56        properties:
57          compatible:
58            contains:
59              enum:
60                - pci1131,e101
61    then:
62      properties:
63        clocks: false
64        clock-names: false
65
66unevaluatedProperties: false
67
68examples:
69  - |
70    pcie {
71        #address-cells = <3>;
72        #size-cells = <2>;
73
74        ethernet@0,0 {
75            compatible = "pci1957,e100", "fsl,enetc";
76            reg = <0x000000 0 0 0 0>;
77            phy-handle = <&sgmii_phy0>;
78            phy-connection-type = "sgmii";
79
80            mdio {
81                #address-cells = <1>;
82                #size-cells = <0>;
83                phy@2 {
84                    reg = <0x2>;
85                };
86            };
87        };
88    };
89