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: Frank Li <Frank.Li@nxp.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20240709214841.570154-1-Frank.Li@nxp.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
ab896aa62e
commit
d00ba1d734
38
Documentation/devicetree/bindings/net/fsl,enetc-ierb.yaml
Normal file
38
Documentation/devicetree/bindings/net/fsl,enetc-ierb.yaml
Normal file
@ -0,0 +1,38 @@
|
||||
# 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>;
|
||||
};
|
57
Documentation/devicetree/bindings/net/fsl,enetc-mdio.yaml
Normal file
57
Documentation/devicetree/bindings/net/fsl,enetc-mdio.yaml
Normal file
@ -0,0 +1,57 @@
|
||||
# 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>;
|
||||
};
|
||||
};
|
||||
};
|
66
Documentation/devicetree/bindings/net/fsl,enetc.yaml
Normal file
66
Documentation/devicetree/bindings/net/fsl,enetc.yaml
Normal file
@ -0,0 +1,66 @@
|
||||
# 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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
@ -1,119 +0,0 @@
|
||||
* 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>;
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user