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: Setting issue

Part Number: DP83822I
Other Parts Discussed in Thread: TLK105L, , AM4377, TLK105

Hi Sirs,

Sorry to bother you. 

AM437X IDK EVM Ethernet PHY is TLK105L

TLK105L use COL(MLED) pin (pin 29) to connect AM437X RXLINK pin

Our Ethernet PHY is DP83822I

But DP83822I is use LED_1/GPIO1 pin (pin 24) to connect AM437X RXLINK pin

From EVM SW, the TLK105L register 0x0025 is setting to 00 (Link OK)

So on DP83822I 0x0460, what should I set besides 11:8 to be set to 00? then LED_1 will active?

P.S. Our LED_1 is setting to Mode 2 on boot strap,

  • Hi Shu-Cheng,

    I assume that you want to configure LED_1 of DP83822 as Link OK, similar to COL(MLED) of TLK105L.

    - Set register 0x462, bit 2:0 to 3'b001 (LED_1 = Speed, High for 100Base-TX). If you strap LED_1 to Mode 2, register 0x462[2:0] should be 3'b001. You can read these 3 bits to confirm the strap is correct.

    - Set register 0x460, bit 11:8 to 4'b0000 (LED_1 = Link OK)

    Regards,

    Hung Nguyen
  • Hi Sirs,

    Thanks for your reply.

    I assume that you want to configure LED_1 of DP83822 as Link OK, similar to COL(MLED) of TLK105L.
    => Yes 

    I tried yesterday, 

    0x0460 bit 11:8 to 4'b0000 and 0x0462 bit 2:0 to 3'b001, it's still fail

    Because it's urgent case, so i also try DP83822I COL pin jump to AM4377 RXLINK pin, NC two resistor as below

    Use EVM EtherCAT TLK105L register setting

    For now the first PHY(Schematic U18) is pass, but second PHY (Schematic U20) still fail.

    There only different are no PU resistor on U20 PHY COL pin. 

    Could you help double confirm it?

    Schematic: 

    1680.DP83822.pdf

    EVM TLK105L register setting as below.

    Register Name

    Register

    idk phy 1

    idk phy 2

    BMCR

    00h

    0x3100

    0x3100

    BMSR

    01h

    0x7849

    0x7849

    PHYIDR 1

    02h

    0x2000

    0x2000

    PHYIDR 2

    03h

    0xA212

    0xA212

    ANAR

    04h

    0x01E1

    0x01E1

    ANLPAR

    05h

    0x0000

    0x0000

    CR1

    09h

    0x7C00

    0x7C00

    CR2

    0Ah

    0x0126

    0x0126

    CR3

    0Bh

    0x1009

    0x1009

    REGCR

    0Dh

    0x401F

    0x401F

    ADDRAR

    0Eh

    0x0628

    0x0428

    RCSR

    17h

    0x0000

    0x0000

    MLED

    25h

    0x0000

    0x0000

    LEDs Configuration

    460h

    0x3100

    0x3100

    IO MUX GPIO Control Register

    462h

    0x2000

    0x2000

  • Hi Sirs,

    Update state as below

    We try two DP83822I COL pin jumping to AM4377 RXLINK pin

    We found DP83822I register setting will effect  EtherCAT pass or fail

    If DP83822I Phy register 0x000D setting to 0x401F

    Change DP83822I Phy register 0x000E Port 1 = 0x0628, Port 2 = 0x428 . port 1 OK, port 2 could detect first time but still have error.

    It' won't the first port then connect second port.

    1. Port 1 = 0x0628, Port 2 = 0x628 .port 1, Port 2 both can't connect to master
    2. Port 1 = 0x0428, Port 2 = 0x628 . port 1, Port 2 both can't connect to master
    3. Port1, 2 no setting. Both are disconnect. So could you help explain how to use register 0x000D, 0x000E?

     P.S. To read EVM two TLK105L PHY register 0x000E are 0x0628, 0x0428

    tHANKS!!

  • Hi Shu-Cheng,

    Register 0x000D and 0x000E are used to access register addresses above 0x001F.

    Please refer to section 8.4.2.1 in DP83822 datasheet or section 5.3.1.13 in TLK105 datasheet for more details.

    Regards,

    Hung Nguyen
  • Hi Sirs,
    Could we write 0x0460 directly?
    Because looks need to use Extended Register Space Access.
    Right?
    If yes, how could we setting to 0X0460?

    Thanks!!
  • Hi Shu-Cheng,

    Register 0x460 cannot be written directly.

    You will need to use indirect register access to read/write to these extended registers.

    Section 8.4.2.1 also includes examples how to read and write extended registers. Please go thru them. I'm copying the write example here for your reference:

    1. Write the value 0x001F to register 0x000D.
    2. Write the value 0x0461 to register 0x000E. (Sets desired register to the IOCTRL)
    3. Write the value 0x401F to register 0x000D.
    4. Write the value 0x0400 to register 0x000E. (Sets MAC impedance to 99.25Ω)

    Regards,

    Hung Nguyen
  • Hi Sirs,

    Thanks for your reply.

    Could you help check two of register setting are correct?  (0x460, 0x462)

     

    l   Set register 0x460, bit 11:8 to 4'b0000 (LED_1 = Link OK):

    1. Write the value 0x001F to register 0x000D.

    2. Write the value 0x0460 to register 0x000E. (Sets desired register to the LEDCFG1)

    3. Write the value 0x401F to register 0x000D.

    4. Write the value 0x0051 to register 0x000E. (Sets LED_1 Control to LINK OK)

     

    l   Set register 0x462, bit 2:0 to 3'b001 (LED_1 = Speed, High for 100Base-TX):

    1. Write the value 0x001F to register 0x000D.

    2. Write the value 0x0462 to register 0x000E. (Sets desired register to the IOCTRL1)

    3. Write the value 0x401F to register 0x000D.

    4. Write the value 0x0001 to register 0x000E. (Sets LED_1 GPIO to  LED_1)

  • Hi Shu-Cheng,

    The register settings are correct for configuring LED_1 = Link OK.

    Regards,

    Hung Nguyen