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: status register related question

Part Number: DP83822I


Hi, Team.

this is MASA.

i've been asked by customer as below.

could you see below?

Q1.0x0001 Basic Mode Status Register (BMSR)

let me confirm that this register would be changed once "read".

its default is 0. correct ?

in case Customer doesnt read BMSR , what PHY Status Register (PHYSTS) Bit 0 Link Status will be?

pattern 1

customer inserts the cable into their system and make their system wake up

will link status bit 0 be 1?

pattern 2

they put the cable off from their system

will link status bit 0 be 0?

Pattern 3

they re-connect and insert the cable into their system.

will link status bit 0 be 0?

Q2

will PHYSTS bit be 0 if customer doesnt read the bit on BMSR?

  • Hi Takahashi-san,

    Register 0x1 link status bit is a LL (latch-low). If link is not present, the bit will transition to 0b0 and remain even if link is established.

    You must read the register twice to clear and then latch in the new value. PHYSTS follows the value in 0x1.

    If you have a link and you remove the cable, link bit will transition to 0b0.

    If you then plug the cable back and link is established, the first read will still be 0b0. The second time you read the register the value will be 0b1.

  • Hi, Ross-san.

    may i confirm below?

    should customer read BMSR register before PHYSTS register to update PHYSTS?

    could you put your answer for each of my question to avert confusion?

    Q1.0x0001 Basic Mode Status Register (BMSR)

    let me confirm that this register would be changed once "read".

    its default is 0. correct ?

    in case Customer doesnt read BMSR , what PHY Status Register (PHYSTS) Bit 0 Link Status will be?

    pattern 1

    customer inserts the cable into their system and make their system wake up

    will link status bit 0 be 1?

    pattern 2

    they put the cable off from their system

    will link status bit 0 be 0?

    Pattern 3

    they re-connect and insert the cable into their system.

    will link status bit 0 be 0?

    Q2

    will PHYSTS bit be 0 if customer doesnt read the bit on BMSR?

  • Here are your answers:

    should customer read BMSR register before PHYSTS register to update PHYSTS?

    [ross] yes.

    Q1.0x0001 Basic Mode Status Register (BMSR)

    let me confirm that this register would be changed once "read".

    its default is 0. correct ?

    [ross] yes. it is a LL (latch-low). you must read this register twice to get the current link status. this is documented in the datasheet.

    in case Customer doesnt read BMSR , what PHY Status Register (PHYSTS) Bit 0 Link Status will be?

    [ross] PHYSTS as documented in the datasheet will reflect the same value in BMSR. You must read BMSR to update PHYSTS.

    pattern 1

    customer inserts the cable into their system and make their system wake up

    will link status bit 0 be 1?

    [ross] No, you must read the register to clear the LL. Once you read it twice and there is a link established the bit will be set to 0b1. Just because the system wakes up does not mean a link is established.

    pattern 2

    they put the cable off from their system

    will link status bit 0 be 0?

    [ross] Yes, if link is dropped and detected the bit will change to 0b0. 

    Pattern 3

    they re-connect and insert the cable into their system.

    will link status bit 0 be 0?

    [ross] the first read will be 0b0 because of the LL. You have to read the register twice to get the current link status.

    Q2

    will PHYSTS bit be 0 if customer doesnt read the bit on BMSR?


    [ross] yes. you need to read BMSR to update bit[0] in PHYSTS.

  • Hi, Ross-san

    thanks your support.

    Customer understood it.