Hi,
In our board, T1024 connect to one port of Marvell switch chip by mac to mac. I change uboot code to adapt this, and ping works well in uboot. I changed the DTS and sdk_dpaa code in kernel. but it dose not work. Now I don't know how to do next step. Could you give me some advices?
the DTS changes: The bold lines are my changes
ethernet@e2000 {
/*phy-handle = <0x0>;*/
phy-connection-type = "sgmii";
#status = "enable";
phy_mode = "internal";
fixed-link = <0x0 0x1 1000 0 0>;
rcpm-wakeup = <0x9 0x40000000>;
cell-index = <0x1>;
compatible = "fsl,fman-memac";
reg = <0xe2000 0x1000>;
fsl,port-handles = <0xe 0xf>;
ptimer-handle = <0xd>;
linux,phandle = <0x21>;
phandle = <0x21>;
};
Hi,
We ran into the same problem and solved it by modifying the FMAN driver (memac) in the kernel. Even with a fixed-link set in the DTS, you still need to clear the autonegotiation bit when initializing the SerDes lanes, and avoid restarting them afterward.
Take a look at SetupSgmiiInternalPhy(). This issue shows up in a MAC-to-MAC setup with no external PHY. In that case, both ends (CPU and L2 switch) must be configured as direct links with no negotiation. Just force the link parameters.
https://community.nxp.com/t5/QorIQ/Mac-to-Mac-communication-over-SGMII/m-p/993299
Regards,
Bogdan
please ignore this issue. it has been fixed.