Commit d00ba1d7 authored by Frank Li's avatar Frank Li Committed by Jakub Kicinski

dt-bindings: net: convert enetc to yaml

Convert enetc device binding file to yaml. Split to 3 yaml files,
'fsl,enetc.yaml', 'fsl,enetc-mdio.yaml', 'fsl,enetc-ierb.yaml'.

Additional Changes:
- Add pci<vendor id>,<production id> in compatible string.
- Ref to common ethernet-controller.yaml and mdio.yaml.
- Add Wei fang, Vladimir and Claudiu as maintainer.
- Update ENETC description.
- Remove fixed-link part.
Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20240709214841.570154-1-Frank.Li@nxp.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent ab896aa6
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/fsl,enetc-ierb.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Integrated Endpoint Register Block
description:
The fsl_enetc driver can probe on the Integrated Endpoint Register Block,
which preconfigures the FIFO limits for the ENETC ports.
maintainers:
- Frank Li <Frank.Li@nxp.com>
- Vladimir Oltean <vladimir.oltean@nxp.com>
- Wei Fang <wei.fang@nxp.com>
- Claudiu Manoil <claudiu.manoil@nxp.com>
properties:
compatible:
enum:
- fsl,ls1028a-enetc-ierb
reg:
maxItems: 1
required:
- compatible
- reg
additionalProperties: false
examples:
- |
endpoint-config@f0800000 {
compatible = "fsl,ls1028a-enetc-ierb";
reg = <0xf0800000 0x10000>;
};
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/fsl,enetc-mdio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: ENETC external MDIO PCIe endpoint device
description:
NETC provides an external master MDIO interface (EMDIO) for managing external
devices (PHYs). EMDIO supports both Clause 22 and 45 protocols. And the EMDIO
provides a means for different software modules to share a single set of MDIO
signals to access their PHYs.
maintainers:
- Frank Li <Frank.Li@nxp.com>
- Vladimir Oltean <vladimir.oltean@nxp.com>
- Wei Fang <wei.fang@nxp.com>
- Claudiu Manoil <claudiu.manoil@nxp.com>
properties:
compatible:
items:
- enum:
- pci1957,ee01
- const: fsl,enetc-mdio
reg:
maxItems: 1
required:
- compatible
- reg
allOf:
- $ref: mdio.yaml
- $ref: /schemas/pci/pci-device.yaml
unevaluatedProperties: false
examples:
- |
pcie{
#address-cells = <3>;
#size-cells = <2>;
mdio@0,3 {
compatible = "pci1957,ee01", "fsl,enetc-mdio";
reg = <0x000300 0 0 0 0>;
#address-cells = <1>;
#size-cells = <0>;
ethernet-phy@2 {
reg = <0x2>;
};
};
};
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/fsl,enetc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: The NIC functionality of NXP NETC
description:
The NIC functionality in NETC is known as EtherNET Controller (ENETC). ENETC
supports virtualization/isolation based on PCIe Single Root IO Virtualization
(SR-IOV), advanced QoS with 8 traffic classes and 4 drop resilience levels,
and a full range of TSN standards and NIC offload capabilities
maintainers:
- Frank Li <Frank.Li@nxp.com>
- Vladimir Oltean <vladimir.oltean@nxp.com>
- Wei Fang <wei.fang@nxp.com>
- Claudiu Manoil <claudiu.manoil@nxp.com>
properties:
compatible:
items:
- enum:
- pci1957,e100
- const: fsl,enetc
reg:
maxItems: 1
mdio:
$ref: mdio.yaml
unevaluatedProperties: false
description: Optional child node for ENETC instance, otherwise use NETC EMDIO.
required:
- compatible
- reg
allOf:
- $ref: /schemas/pci/pci-device.yaml
- $ref: ethernet-controller.yaml
unevaluatedProperties: false
examples:
- |
pcie {
#address-cells = <3>;
#size-cells = <2>;
ethernet@0,0 {
compatible = "pci1957,e100", "fsl,enetc";
reg = <0x000000 0 0 0 0>;
phy-handle = <&sgmii_phy0>;
phy-connection-type = "sgmii";
mdio {
#address-cells = <1>;
#size-cells = <0>;
phy@2 {
reg = <0x2>;
};
};
};
};
* ENETC ethernet device tree bindings
Depending on board design and ENETC port type (internal or
external) there are two supported link modes specified by
below device tree bindings.
Required properties:
- reg : Specifies PCIe Device Number and Function
Number of the ENETC endpoint device, according
to parent node bindings.
- compatible : Should be "fsl,enetc".
1. The ENETC external port is connected to a MDIO configurable phy
1.1. Using the local ENETC Port MDIO interface
In this case, the ENETC node should include a "mdio" sub-node
that in turn should contain the "ethernet-phy" node describing the
external phy. Below properties are required, their bindings
already defined in Documentation/devicetree/bindings/net/ethernet.txt or
Documentation/devicetree/bindings/net/phy.txt.
Required:
- phy-handle : Phandle to a PHY on the MDIO bus.
Defined in ethernet.txt.
- phy-connection-type : Defined in ethernet.txt.
- mdio : "mdio" node, defined in mdio.txt.
- ethernet-phy : "ethernet-phy" node, defined in phy.txt.
Example:
ethernet@0,0 {
compatible = "fsl,enetc";
reg = <0x000000 0 0 0 0>;
phy-handle = <&sgmii_phy0>;
phy-connection-type = "sgmii";
mdio {
#address-cells = <1>;
#size-cells = <0>;
sgmii_phy0: ethernet-phy@2 {
reg = <0x2>;
};
};
};
1.2. Using the central MDIO PCIe endpoint device
In this case, the mdio node should be defined as another PCIe
endpoint node, at the same level with the ENETC port nodes.
Required properties:
- reg : Specifies PCIe Device Number and Function
Number of the ENETC endpoint device, according
to parent node bindings.
- compatible : Should be "fsl,enetc-mdio".
The remaining required mdio bus properties are standard, their bindings
already defined in Documentation/devicetree/bindings/net/mdio.txt.
Example:
ethernet@0,0 {
compatible = "fsl,enetc";
reg = <0x000000 0 0 0 0>;
phy-handle = <&sgmii_phy0>;
phy-connection-type = "sgmii";
};
mdio@0,3 {
compatible = "fsl,enetc-mdio";
reg = <0x000300 0 0 0 0>;
#address-cells = <1>;
#size-cells = <0>;
sgmii_phy0: ethernet-phy@2 {
reg = <0x2>;
};
};
2. The ENETC port is an internal port or has a fixed-link external
connection
In this case, the ENETC port node defines a fixed link connection,
as specified by Documentation/devicetree/bindings/net/fixed-link.txt.
Required:
- fixed-link : "fixed-link" node, defined in "fixed-link.txt".
Example:
ethernet@0,2 {
compatible = "fsl,enetc";
reg = <0x000200 0 0 0 0>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
* Integrated Endpoint Register Block bindings
Optionally, the fsl_enetc driver can probe on the Integrated Endpoint Register
Block, which preconfigures the FIFO limits for the ENETC ports. This is a node
with the following properties:
- reg : Specifies the address in the SoC memory space.
- compatible : Must be "fsl,ls1028a-enetc-ierb".
Example:
ierb@1f0800000 {
compatible = "fsl,ls1028a-enetc-ierb";
reg = <0x01 0xf0800000 0x0 0x10000>;
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment