05153702d3
At present the Freescale TSEC node DT bindings doc requires a <reg> property in the TSEC node. But this might not always be the case. In the upstream Linux kernel, there is no DT bindings doc for it but the kernel driver tests a subnode of a name prefixed with "queue-group", as we can see from gfar_of_init(): for_each_available_child_of_node(np, child) { if (!of_node_name_eq(child, "queue-group")) ... in drivers/net/ethernet/freescale/gianfar.c Update our DT bindings to describe this alternate description. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
82 lines
2.4 KiB
Plaintext
82 lines
2.4 KiB
Plaintext
* TSEC-compatible ethernet nodes
|
|
|
|
Properties:
|
|
|
|
- compatible : Should be "fsl,etsec2" or "gianfar"
|
|
- reg : Offset and length of the register set for the device. If this is
|
|
missing, a subnode with a name prefix "queue-group" must be provided to
|
|
provide the <reg> property.
|
|
- phy-handle : See ethernet.txt file in the same directory.
|
|
- phy-connection-type : See ethernet.txt file in the same directory. This
|
|
property is only really needed if the connection is of type "rgmii-id",
|
|
"rgmii-rxid" and "rgmii-txid" as all other connection types are detected
|
|
by hardware.
|
|
- ranges : an <empty> value if subnode "queue-group" is present, specifying
|
|
that no address translation is required between them TSEC parent node and
|
|
the child "queue-group" node.
|
|
|
|
Example:
|
|
ethernet@24000 {
|
|
compatible = "fsl,etsec2";
|
|
reg = <0x24000 0x1000>;
|
|
phy-handle = <&phy0>;
|
|
phy-connection-type = "sgmii";
|
|
};
|
|
|
|
An alternate description with "queue-group" subnode example:
|
|
ethernet@24000 {
|
|
compatible = "fsl,etsec2";
|
|
phy-handle = <&phy0>;
|
|
phy-connection-type = "sgmii";
|
|
ranges;
|
|
|
|
queue-group {
|
|
reg = <0x24000 0x1000>;
|
|
};
|
|
};
|
|
|
|
Child nodes of the TSEC controller are typically the individual PHY devices
|
|
connected via the MDIO bus (sometimes the MDIO bus controller is separate).
|
|
|
|
* MDIO IO device
|
|
|
|
The MDIO is a bus to which the PHY devices are connected. For each
|
|
device that exists on this bus, a PHY node should be created.
|
|
|
|
Required properties:
|
|
- compatible : Should define the compatible device type for the
|
|
mdio. Currently supported string/device is "fsl,etsec2-mdio".
|
|
- reg : Offset and length of the register set for the device
|
|
|
|
Example:
|
|
|
|
mdio@24520 {
|
|
compatible = "fsl,etsec2-mdio";
|
|
reg = <0x24520 0x20>;
|
|
|
|
ethernet-phy@0 {
|
|
reg = <0>;
|
|
};
|
|
};
|
|
|
|
* TBI Internal MDIO bus
|
|
|
|
As of this writing, every tsec is associated with an internal TBI PHY.
|
|
This PHY is accessed through the local MDIO bus. These buses are defined
|
|
similarly to the mdio buses. The TBI PHYs underneath them are similar to
|
|
normal PHYs, but the reg property is considered instructive, rather than
|
|
descriptive. The reg property should be chosen so it doesn't interfere
|
|
with other PHYs on the bus. The TBI PHYs are referred to by a "tbi-handle"
|
|
property under the tsec node, which has a similar meaning of "phy-handle".
|
|
|
|
Example:
|
|
ethernet@24000 {
|
|
phy-handle = <&tbi1>;
|
|
};
|
|
|
|
mdio@24520 {
|
|
tbi1: tbi-phy@1f {
|
|
reg = <0x1f>;
|
|
};
|
|
};
|