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.

DP83822I: PHY hung up when changing LED setting

Part Number: DP83822I

Hi Team,

My customer design in DP83822 and the PHY’s function is OK(link OK, can transmit packet). But PHY will be hung up when customer tried to modify LED_1’s setting.

When customer set reg0x0460 to 0x0800, LED_1 is at on status, after about 4~5 sec both LED_0, LED_1 turn off and PHY shut down.

When customer set reg0x0460 to 0x0151, LED_1 is blink, after about 4~5 sec both LEDs turn off and PHY shut down.

Without setting Reg0x0460, PHY can work well and I have no idea why changing reg0x0460 can affect PHY’s function. Besides, it is not shutting down immediately right after 0x0460 is set.

I asked customer to readout register settings as following and provide us SCH. I am looking at this issue, if you have any advice or any experiments that we can try please let me know.

 

rd_phy_reg_0x0 = 0x3100

rd_phy_reg_0x1 = 0x786d

rd_phy_reg_0x2 = 0x2000

rd_phy_reg_0x3 = 0xa240

rd_phy_reg_0x4 = 0x1e1

rd_phy_reg_0x5 = 0xc1e1

rd_phy_reg_0x6 = 0xf          

rd_phy_reg_0x7 = 0x2001

rd_phy_reg_0x8 = 0x4806

rd_phy_reg_0x9 = 0x0

rd_phy_reg_0xa = 0x100

rd_phy_reg_0xb = 0x1000

rd_phy_reg_0xc = 0x0

rd_phy_reg_0xd = 0x401f

rd_phy_reg_0xe = 0x1         

rd_phy_reg_0xf = 0x0

rd_phy_reg_0x10 = 0x4215      

rd_phy_reg_0x11 = 0x108

rd_phy_reg_0x12 = 0x7400         

rd_phy_reg_0x13 = 0x2800         

rd_phy_reg_0x14 = 0x0

rd_phy_reg_0x15 = 0x0

rd_phy_reg_0x16 = 0x100

rd_phy_reg_0x17 = 0x65        

rd_phy_reg_0x18 = 0x400

rd_phy_reg_0x19 = 0x8c21

rd_phy_reg_0x1a = 0x0

rd_phy_reg_0x1b = 0x7d

rd_phy_reg_0x1c = 0x5ee

rd_phy_reg_0x1d = 0x0

rd_phy_reg_0x1e = 0x102

rd_phy_reg_0x1f = 0x0

 

rd_phy_reg_0460 = 0x151

rd_phy_reg_0462 = 0x1

 

Thanks a lot. 

Vincent Chen

  • Hi Vincent,

    Just to be sure :

    1. as these register addresses are greater than 0x1F, is customer using the following procedure to program and read these registers :

    write procedure :

    write reg<000D> = 0x001F
    write reg<000E> = <address>
    write reg<000D> = 0x401F
    write reg<000E> = <value>

    read procedure :

    write reg<000D> = 0x001F
    write reg<000E> = <address>
    write reg<000D> = 0x401F
    read reg<000E>

    2. Do you see 50MHz clock on rx_d3 going away in the issue case?

    --

    Regards,

    Vikram

  • Hi Vikram,

    Correct some information, customer encountered hang up issue when setting 0x0462, not 0x0460 and we found the root cause.

    Customer's setting is RMII master mode, so reg0x0462 will be set to 0x0300 during bootstrap detection period. Once set 0x0001 to reg0x0462 then 50MHz reference clock will be turned off that cause DP83822 hang up.

    Change setting to 0x3001 that can configure LED_1 function without hang up issue.

    Thanks a lot.

    Vincent Chen