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/AM5718: RMII Interface in AM5718 processor, related changes in u-boot

Part Number: AM5718


Tool/software: Linux

HI,

We have developed a custom board with AM5718 processor and in hardware we have used RMII interface for eth0 instead of RGMII(in EVM). I am using DP83848 Phy device. I am using ti-processor-sdk-linux-am57xx-evm-02.00.01.07 SDK, so I have do I need to do some code changes in u-boot for RMII interface?


I have changed the pinmux file (mux_data.h), configured the pins as per RMII interface.

During testing when I connected to PC, I have observed these

1. Link is up, but when I send any data from board, I am not able to see any data in wireshark, means there is something wrong between Processor and Phy.

2. When I issue dhcp command from uboot prompt, I am getting speed 1000, it should not be because I am using RMII  and DP83848 Phy. itself not support, so some problem with uboot initializations.

U-Boot# dhcp
Trying cpsw
link up on port 0, speed 1000, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4

Abort
Initial value for argc=3
Final value for argc=3
Initial value for argc=3
Final value for argc=3



So, is there any initialization mistakes??

Best Regards,

Ganesh

  • Hi Ganesh,

    Could you post in attachment the changes you have made in the mux_data.h file?

    Also check weather CONFIG_DRIVER_TI_EMAC_USE_RMII is defined.



    BR
    Tsvetolin Shulev

  • Hi Tsvetolin Shulev,

    These are the changes in pinmux related to RMII,

    {RMII_MHZ_50_CLK, (M0 | PIN_INPUT_PULLUP)}, /* RMII_MHZ_50_CLK.gpio5_17 */
    {RGMII0_TXCTL, (M0 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* rgmii0_txctl.rgmii0_txctl */
    {RGMII0_TXD3, (M1 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* rmii0_crrsdv */
    {RGMII0_TXD2, (M1 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* rmii0_rx_er */
    {RGMII0_TXD1, (M1 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* rmii0_rx_d1 */
    {RGMII0_TXD0, (M1 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* rmii0_rx_d0 */
    {RGMII0_RXD2, (M1 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* rmii0_tx_en */
    {RGMII0_RXD1, (M1 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* rmii0_tx_d1 */
    {RGMII0_RXD0, (M1 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* rmii0_tx_d0 */
    I have enabled CONFIG_DRIVER_TI_EMAC_USE_RMII, but still not working, I am still getting speed as 1000

    U-Boot# dhcp
    Trying cpsw
    link up on port 0, speed 1000, full duplex
    BOOTP broadcast 1
    BOOTP broadcast 2
    BOOTP broadcast 3
    BOOTP broadcast 4
    BOOTP broadcast 5
    BOOTP broadcast 6




    Best Regards,
    Ganesh