I hope you're doing well and sorry for the late response.
it could be connected with RX/TX delay setting for ethernet PHY.
QoS Windows driver sets those delays in function MII_Rtl8211fInit in imx-windows-iot\driver\net\ndis\imxqosmini\mp_enet_phy.c.
NTSTATUS MII_Rtl8211fInit(PMP_ADAPTER pAdapter)
{
NTSTATUS Status = STATUS_SUCCESS;
UINT16 Val;
UINT8 PhyAddr = pAdapter->MiiCfg.PhyAddr;
// Select Page 0x0d08*/
MII_Write(pAdapter, PhyAddr, 0x1F, 0x0d08);
// Enable TX-delay for rgmii-id and rgmii-txid
Val = MII_Read(pAdapter, PhyAddr, 0x11);
if (pAdapter->MiiCfg.MiiInterfaceType == RGMII) {
// RGMII config
Val |= 0x0100;
} else {
Val &= ~0x0100;
}
MII_Write(pAdapter, PhyAddr, 0x11, Val);
// Enable RX-delay for rgmii-id and rgmii-rxid
Val = MII_Read(pAdapter, PhyAddr, 0x15);
if (pAdapter->MiiCfg.MiiInterfaceType == RGMII) {
// RGMII config
Val |= 0x0008;
} else {
Val &= ~0x0008;
}
MII_Write(pAdapter, PhyAddr, 0x15, Val);
// Restore to default page 0
MII_Write(pAdapter, PhyAddr, 0x1F, 0x0000);
// Set green LED for Link, yellow LED for Active
MII_Write(pAdapter, PhyAddr, 0x1F, 0x0D04);
MII_Write(pAdapter, PhyAddr, 0x10, 0x617F);
MII_Write(pAdapter, PhyAddr, 0x1F, 0x0000);
return Status;
}
But the other driver for ENET is using setting in ACPI table, which is for 8MP empty and thus it relays on PHY setting done in U-boot. ACPI table for i.MX93 have this setting filled and it can be used for 8MP:
mu_platform_nxp/NXP/MX93_11X11_EVK/AcpiTables/Dsdt-Enet.asl
Package (2) {"ConfigCmds", Package () {
MII_REG_WR (0x1F, 0x0d08), // Select page
MII_REG_RMW(0x11, 0x0000, 0x0100), // Enable Tx-delay
MII_REG_RMW(0x15, 0x0000, 0x0008), // Enable Rx-delay
MII_REG_WR (0x1F, 0x0d04), // Select page
MII_REG_WR (0x10, 0x617F), // Set green LED for Link, yellow LED for Active
MII_REG_WR (0x1F, 0x0000), // Set default page
ENET_MII_END}}
It can be put in mu_platform_nxp/NXP/MX8M_PLUS_EVK/AcpiTables/Dsdt-Enet.asl which it by default empty:
Package (2) {"ConfigCmds", Package () {
// Enable GTX_CLK delay
//MII_WRITE_COMMAND(0x11, 0x0100),
//MII_WRITE_COMMAND(0x15, 0x0008),
ENET_MII_END}}
There is one difference, QoS driver have one line more there which is not in ACPI setting in i.MX93:
// Restore to default page 0
MII_Write(pAdapter, PhyAddr, 0x1F, 0x0000);
To have it same like QoS driver, I would add it there too:
Package (2) {"ConfigCmds", Package () {
MII_REG_WR (0x1F, 0x0d08), // Select page
MII_REG_RMW(0x11, 0x0000, 0x0100), // Enable Tx-delay
MII_REG_RMW(0x15, 0x0000, 0x0008), // Enable Rx-delay
MII_REG_WR (0x1F, 0x0000), // Set default page
MII_REG_WR (0x1F, 0x0d04), // Select page
MII_REG_WR (0x10, 0x617F), // Set green LED for Link, yellow LED for Active
MII_REG_WR (0x1F, 0x0000), // Set default page
ENET_MII_END}}
Best regards,
Hector.