AnsweredAssumed Answered

Wake on lan using ls1012a and SGMII phy

Question asked by Nicholas Pridybailo on Sep 4, 2018

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

Attachments

Outcomes