I have been trying to set up the Wake-on-Lan on our custom LS1012-based board and so far no luck.
I can see WoL wakeup interrupt handler gets called when the system is up and running. But when system is put into 'mem' sleep it doesn't get woken up this way.
I have set the RCPM to not shut down PHYs during LPM20 (IPPDEXPCR = 0xf0000060) but still no luck.
I have also tried waking up on GPIO interrupt and it works just ok.
There is one detail: on our board both PHYs are connected via SGMII. Do I understand from the reference that WoL works only with RGMII-connected PHYs? Ethtool reports that interface supports WoL.
Would be very grategul for any help and pointers.
Kernel boot log is attached.
Here is my configuration of the pfe:
&pfe {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
ethernet@0 {
compatible = "fsl,pfe-gemac-port";
#address-cells = <1>;
#size-cells = <0>;
fsl,magic-packet;
reg = <0x0>; /* GEM_ID */
fsl,gemac-bus-id = <0x0>; /* BUS_ID */
fsl,gemac-phy-id = <0x1>; /* PHY_ID */
fsl,mdio-mux-val = <0x0>;
phy-mode = "sgmii";
fsl,pfe-phy-if-flags = <0x0>;mdio@0 {
reg = <0x1>; /* enabled/disabled */
};
};ethernet@1 {
compatible = "fsl,pfe-gemac-port";
#address-cells = <1>;
#size-cells = <0>;
fsl,magic-packet;
reg = <0x1>; /* GEM_ID */
fsl,gemac-bus-id = <0x1>; /* BUS_ID */
fsl,gemac-phy-id = <0x2>; /* PHY_ID */
fsl,mdio-mux-val = <0x0>;
phy-mode = "sgmii";
fsl,pfe-phy-if-flags = <0x0>;mdio@0 {
reg = <0x0>; /* enabled/disabled */
};
};
};