xref: /freebsd/sys/contrib/device-tree/Bindings/net/fsl,enetc.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*0e8011faSEmmanuel Vadot%YAML 1.2
3*0e8011faSEmmanuel Vadot---
4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/net/fsl,enetc.yaml#
5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadottitle: The NIC functionality of NXP NETC
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadotdescription:
10*0e8011faSEmmanuel Vadot  The NIC functionality in NETC is known as EtherNET Controller (ENETC). ENETC
11*0e8011faSEmmanuel Vadot  supports virtualization/isolation based on PCIe Single Root IO Virtualization
12*0e8011faSEmmanuel Vadot  (SR-IOV), advanced QoS with 8 traffic classes and 4 drop resilience levels,
13*0e8011faSEmmanuel Vadot  and a full range of TSN standards and NIC offload capabilities
14*0e8011faSEmmanuel Vadot
15*0e8011faSEmmanuel Vadotmaintainers:
16*0e8011faSEmmanuel Vadot  - Frank Li <Frank.Li@nxp.com>
17*0e8011faSEmmanuel Vadot  - Vladimir Oltean <vladimir.oltean@nxp.com>
18*0e8011faSEmmanuel Vadot  - Wei Fang <wei.fang@nxp.com>
19*0e8011faSEmmanuel Vadot  - Claudiu Manoil <claudiu.manoil@nxp.com>
20*0e8011faSEmmanuel Vadot
21*0e8011faSEmmanuel Vadotproperties:
22*0e8011faSEmmanuel Vadot  compatible:
23*0e8011faSEmmanuel Vadot    items:
24*0e8011faSEmmanuel Vadot      - enum:
25*0e8011faSEmmanuel Vadot          - pci1957,e100
26*0e8011faSEmmanuel Vadot      - const: fsl,enetc
27*0e8011faSEmmanuel Vadot
28*0e8011faSEmmanuel Vadot  reg:
29*0e8011faSEmmanuel Vadot    maxItems: 1
30*0e8011faSEmmanuel Vadot
31*0e8011faSEmmanuel Vadot  mdio:
32*0e8011faSEmmanuel Vadot    $ref: mdio.yaml
33*0e8011faSEmmanuel Vadot    unevaluatedProperties: false
34*0e8011faSEmmanuel Vadot    description: Optional child node for ENETC instance, otherwise use NETC EMDIO.
35*0e8011faSEmmanuel Vadot
36*0e8011faSEmmanuel Vadotrequired:
37*0e8011faSEmmanuel Vadot  - compatible
38*0e8011faSEmmanuel Vadot  - reg
39*0e8011faSEmmanuel Vadot
40*0e8011faSEmmanuel VadotallOf:
41*0e8011faSEmmanuel Vadot  - $ref: /schemas/pci/pci-device.yaml
42*0e8011faSEmmanuel Vadot  - $ref: ethernet-controller.yaml
43*0e8011faSEmmanuel Vadot
44*0e8011faSEmmanuel VadotunevaluatedProperties: false
45*0e8011faSEmmanuel Vadot
46*0e8011faSEmmanuel Vadotexamples:
47*0e8011faSEmmanuel Vadot  - |
48*0e8011faSEmmanuel Vadot    pcie {
49*0e8011faSEmmanuel Vadot        #address-cells = <3>;
50*0e8011faSEmmanuel Vadot        #size-cells = <2>;
51*0e8011faSEmmanuel Vadot
52*0e8011faSEmmanuel Vadot        ethernet@0,0 {
53*0e8011faSEmmanuel Vadot            compatible = "pci1957,e100", "fsl,enetc";
54*0e8011faSEmmanuel Vadot            reg = <0x000000 0 0 0 0>;
55*0e8011faSEmmanuel Vadot            phy-handle = <&sgmii_phy0>;
56*0e8011faSEmmanuel Vadot            phy-connection-type = "sgmii";
57*0e8011faSEmmanuel Vadot
58*0e8011faSEmmanuel Vadot            mdio {
59*0e8011faSEmmanuel Vadot                #address-cells = <1>;
60*0e8011faSEmmanuel Vadot                #size-cells = <0>;
61*0e8011faSEmmanuel Vadot                phy@2 {
62*0e8011faSEmmanuel Vadot                    reg = <0x2>;
63*0e8011faSEmmanuel Vadot                };
64*0e8011faSEmmanuel Vadot            };
65*0e8011faSEmmanuel Vadot        };
66*0e8011faSEmmanuel Vadot    };
67