Wake on lan using ls1012a and SGMII phy

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Wake on lan using ls1012a and SGMII phy

843 Views
nicholaspridyba
Contributor I

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 */
    };
  };
};

0 Kudos
0 Replies