-
Notifications
You must be signed in to change notification settings - Fork 15
Freescale FslFec
This page covers the link layer FslFec from NXP, formerly Freescale. The link layer is built into the i.MX6, i.MX7 and i.MX8 SoC families, among others.
The acontis internal name for this link layer is emllFslFec
To use the Toradex Colibri iMX7D 1GB SoM, the LDO1 controller must be activated, as the standard Linux Ethernet driver switches it off when it is unloaded.
The property regulator-always-on
must add to the LDO1
node:
Before:
LDO1 {
regulator-min-microvolt = <0x1b7740>;
regulator-max-microvolt = <0x325aa0>;
regulator-boot-on;
linux,phandle = <0x56>;
phandle = <0x56>;
};
After:
LDO1 {
regulator-min-microvolt = <0x1b7740>;
regulator-max-microvolt = <0x325aa0>;
regulator-boot-on;
regulator-always-on;
linux,phandle = <0x56>;
phandle = <0x56>;
};
Two Ethernet MACs are implemented on the Toradex Verdin iMX8M Plus module. On the one hand the DWMAC-EQOS
which is currently not compatible with the Acontis link layers and on the other hand the fsl-fec
, which can be used with the link layer emllFslFec
.
To run the emllFslFec
link layer with the parameter EC_T_LINK_PARMS_FSLFEC::ePhyInterface = ePHY_OSDRIVER
the interrupts in the ethernet-phy
node must be disabled.
ethernet@30be0000 {
compatible = "fsl,imx8mm-fec\0fsl,imx8mq-fec\0fsl,imx6sx-fec\0atemsys";
atemsys-Ident = "FslFec";
...
ethernet-phy@7 {
compatible = "ethernet-phy-ieee802.3-c22";
#interrupt-parent = <0x3d>;
#interrupts = <0x12 0x08>;
};
The Mdio bus is shared between the dwmac
and the fsl-fec
. The dwmac
is the Mdio master and must assigned to Linux.
Link layer emllFslFec
then uses the Linux Mdio driver to communicate with the PHY. To activate this operating mode, the emllFslFec
parameter EC_T_LINK_PARMS_FSLFEC::ePhyInterface = ePHY_OSDRIVER
must be set.
ethernet@30be0000 {
compatible = "fsl,imx8mm-fec\0fsl,imx8mq-fec\0fsl,imx6sx-fec\0atemsys";
atemsys-Ident = "FslFec";
atemsys-Instance = <0x1>;
...
phy-mode = "rgmii-id";
phy-handle = <0x48>;
};