This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/DP83TC811R-Q1: How to control the DP83TC811R-Q1 PHY wake up and sleep?

Part Number: DP83TC811R-Q1

Tool/software: Linux

Hi, my questions are as follows:

The WAKE pin of DP83TC811R-Q1 is tied to gpio11 from llinux. When linux os boot up, it pull the gpio high  and  PHY beigin to work. How can the linux control the phy's sleep and wake mode? 

  • Hi,

    You will need to implement this yourself. We have an app note that discusses how you can get the PHY to go to SLEEP:
    www.ti.com/.../snla275.pdf
  • Thank you very much for your reply.
    I have read the attached note , i wonder whether i had got the point.

    1) if mpu transmits from normal to sleep, the phy needs transmit form normal to sleep with it
    action needed: set setting bit[1] in PWRM Register (0x018C) , phy will go to sleep mode at last

    2)if mpu wakeup, phy needs to transmit from sleep to normal
    action needed: Forcing Normal state by setting bit[0] in PWRM Register (0x018C), and POR once it wakeup

    Please help review the methods, and i want to know all the actions are taken in kernel space(driver) or userspace?
  • To get the PHY to enter into sleep you need to follow 8.4.11.3 register configs (State Transition #3 - Normal to Sleep Request) found in the datasheet.
    To go from sleep to normal operation there are two ways:
    1. toggle WAKE pin
    2. energy detection on the MDI (link partner sending our IDLEs to wake the device)