Skip to main content
Explorer
November 13, 2024
Solved

Ethernet software reset is not clearing

  • November 13, 2024
  • 3 replies
  • 1485 views

The Ethernet reset is not clearing (ETH_DMABMR_SR in DMABMR).
I am having a similar issue as others but have not seen a solution in the forum.
I am working with the stm3210c-eval board. I know it is no longer available; but it has a version of the processor that I wish to use and Ethernet support.
I verified that the Ethernet clocks are enabled in AHBENR:
RCC_AHBENR_ETHMACEN, RCC_AHBENR_ETHMACTXEN & RCC_AHBENR_ETHMACTXEN.
I verified that the port IO clocks are enabled.
The pins ETH_MDC, ETH_TXD2, ETH_TX_CLK, ETH_CRS, ETH_RX_CLK, ETH_MDIO, ETH_COL, ETH_TX_EN, ETH_TXD0, ETH_TXD1, ETH_TXD3, ETH_RX_DV, ETH_RXD0, ETH_RXD1, ETH_RXD2 & ETH_RXD3 pin's modes are set to GPIO_MODE_AF_PP.
And pin ETH_RX_ER is set to input, no pull.
I verified that there is a 25 mHz clock signal at PA1 & PC3.
It is configured for MII mode (MAPR AFIO_MAPR_MII_RMII_SEL = 0).
Note that the Ethernet link & activity LEDs are working.
Is there anything else I can check?

    This topic has been closed for replies.
    Best answer by waclawek.jan

    The table above says you should set those pins to Input, not AF.

    JW

    3 replies

    Super User
    November 14, 2024

    IIRC this can indicate a problem with the PHY.

     

    Super User
    November 14, 2024

    > The pins ETH_MDC, ETH_TXD2, ETH_TX_CLK, ETH_CRS, ETH_RX_CLK, ETH_MDIO, ETH_COL, ETH_TX_EN, ETH_TXD0, ETH_TXD1, ETH_TXD3, ETH_RX_DV, ETH_RXD0, ETH_RXD1, ETH_RXD2 & ETH_RXD3 pin's modes are set to GPIO_MODE_AF_PP.

    The 'F1 has a rather strange GPIO arrangement. RM0008 says:

    waclawekjan_0-1731589370997.png

    JW

    vneffAuthor
    Explorer
    November 14, 2024

    If the mode is set to GPIO_MODE_AF_PP, the HAL does not control the input pull state.

    The HAL_ETH_MspInit function does sometimes set

    GPIO_InitStruct.Pull = GPIO_NOPULL

    but HAL_GPIO_Init does not bother checking GPIO_InitStruct.Pull if mode = GPIO_MODE_AF_PP.

    Super User
    November 14, 2024

    The table above says you should set those pins to Input, not AF.

    JW