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/DP83TC811S-Q1: I find that the DP83TC811S-Q1 0x13 register bit14 is 1, that means overvoltage event, how to solve

Part Number: DP83TC811S-Q1
Other Parts Discussed in Thread: DP83TC811

Tool/software: Linux

Dear Sir:

     I find that the DP83TC811S-Q1 0x13 register bit14 is 1, that means overvoltage event, how to solve

Thanks

  • Hi user,

    You may have an issue with the threshold configuration of the voltage monitor. Please see the diagnostic toolkit app note for the DP83TC811.

    www.ti.com/.../snla291.pdf

    Section 4.3 shows the code to set the thresholds.

    Best Regards,
  • Dear Sir:

       I  write the 0x13 as 0x0000, but when I read 0x13, it always display 0x4000, it means overvoltage. But I have disabled the overvoltage interrupt, why?

    mdiobus_write(regnum=0x13, val=0x0000)=0 //write

    mdiobus_read( regnum=0x13)=0x4000  //read

    Thanks~

  • Hi user,

    Register 0x13bit[14] is read only. Writing 0 to 0x13.14 will not clear the overvoltage condition.

    Setting 0x13.6 to 0 will not stop the condition from occuring. Bit[6] only causes the status shown in bit[14] to toggle the INT pin.

    Did you set the threshold in register 0x482 and the cycle time in register 0x480?

    Best Regards,
  • Dear Sir:

       How to switch  DP83TC811S-Q1 master and slave mode?please help to give correct methods to switch master and slave mode

      I also see some people used those method as belows: but I do not know why do this?

            master:
             echo 0xd 0x1 > /sys/class/net/eth0/device/phy_regnum
             echo 0xe 0x0834 > /sys/class/net/eth0/device/phy_regnum
             echo 0xd 0x4001 > /sys/class/net/eth0/device/phy_regnum
             echo 0xe 0xc000> /sys/class/net/eth0/device/phy_regnum
             ;;
          slave:
            echo 0xd 0x1 > /sys/class/net/eth0/device/phy_regnum
            echo 0xe 0x0834 > /sys/class/net/eth0/device/phy_regnum
            echo 0xd 0x4001 > /sys/class/net/eth0/device/phy_regnum
            echo 0xe 0x8000> /sys/class/net/eth0/device/phy_regnum

    Brs~

  • Hi user,

    Yes, the above method is correct to set the PHY into master or slave mode.

    You need to perform 4 register transactions because you are accessing register 0x834 which is in MMD1 of the extended register area.

    See table 25 in the DP83TC811 datasheet, MMD1.

    You must write 0x1 to register 0xD, sets MMD1 access
    Write 0x834 to 0xE, sets register address
    write 0x4001 to 0xD, tells registers it is write command
    write <data> to 0xE, sets the data value written to address 0x834

    0x834 must be set to 0xC000 for master, 0x8000 for slave.

    Best Regards,
  • Dear Sir:

         I understand. Thanks for your reply.

    Best Thanks~