mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
288a91d5cd
The on-chip PCIe root complex that integrates the ENETC ethernet controllers also integrates a PCIe endpoint for the MDIO controller providing for centralized control of the ENETC mdio bus. Add bindings for this "central" MDIO Integrated PCIe Endpoint. Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
105 lines
2.5 KiB
Plaintext
105 lines
2.5 KiB
Plaintext
* 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;
|
|
};
|
|
};
|