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: Configure for RMII Master mode

Part Number: DP83822I

Hello

Im wondering how to configure the DP83822 for RMII Master mode.

I first tried it by writing to the register 0x17 and 0x462 via the SMI. I noticed that when I write to the IOCTRL1 register at address 0x0462 , it doesn't take over my value. When I read the value after writing, I still see the old default values. 

I then tried to setup the RMII master mode via bootstrap. I inserted a pullup and a pulldown resistor on the RX_DV pin (Mode 3). When I did that, I can't read any phy register anymore via the SMI. I can measure the 50MHz reference clock on PIN RX_D3, which indicates that RMII master mode is set. However my communcation is still not working. Is there any further configuration I need to do? Why can't I acces the register anymore when appling the bootstrap?

Kind regards

Kevin Fürst

  • Hi Kevin,

    For writing to register 0x462 are you using the indirect register access method? For the pull up and pull down resistors used on RX_DV, what is the values for those resistors?

    -Regards

    Aniruddha

  • Hi Aniruddha

    Thanks for your fast reply.

    It's hard to say which method im using, since I am using an abstraction layer to write to the regsiter. However, I do not distinguish between writing to the normal registers (0x00 - 0x1F) and to register 0x462. Could that be a problem? How does the indirect method work? Im using the 'Advanced Software Framework 4' from Microchip as an abstraction layer. 

    For the resistors: Im using a 5.6k pullup resistor and a 2.4k pulldown resistor.

    Kind regards
    Kevin

  • Hi Kevin,

    If you are using software framework from another vendor, chances are that they do not use the indirect register access in their software. This would explain why register 0x462 is not accepting the changes. Indirect register access is explained on page 35 of DP83822I datasheet. You can still use the current software to implement indirect register access manually. So instead of the software doing the work, you would need to implement the indirect method through individual register writes. Use section 8.4.2.8 and 8.4.2.9 of the datasheet as reference for implementing Write and Read operation for accessing register 0x462 and try again.

    For bootstrap method, can you check if the MAC has any internal pull resistors that are active when the PHY is sampling the bootstrap pins. The PHY will sample the bootstrap pins after every power up and reset. If the MAC does have internal pulls then they need to be accounted for in the calculation for selecting the external bootstrap resistors for the PHY. 

    -Regards

    Aniruddha

  • Hi Aniruddha

    It was indeed the problem with the indirect register access.
    I can ping my target now, so the communication is working.

    Thanks you very much for the support!

    Kind regards

    Kevin