OSD3358 MDIO communication

Forums Devices OSD335x-BAS/IND OSD3358 MDIO communication

Viewing 2 reply threads
  • Author
    Posts
    • #10377
      Jack Knightjakthree
      Participant

      I have a custom board with an Octavo OSD3358-BAS and two LAN8710 PHYs. The PHYs are wired RMII to the OSD3358 MAC. Linux kernel is 4.19.106. The PHYs have two independent 25mhz crystals connected to XTAL1,2 (PINS-4,5). I found out latter the crystal should be 50mhz for RMII, but that is not the biggest problem. The PHYs crystals are not connected to the OSD3358 MAC REFCLK(s). The MDIO and MDC signals are connected. PHY-1 address is strapped as ‘0’ zero. PHY-2 address is 1. The mode straps are All. RMIISEL is high. Using a 4-channel o-scope during boot, MDIO to channel 1. MDC connected to channel 2. I understand that the OSD3358 supplies the MDC (clock) signal independent of the MAC REFCLK. When booting the board,
      During u-boot boot, the MDC line has a 488.5khz clock. The MDIO has bursts of data.
      During the kernel boot, MDC changes to 1.000mhz clock. The MDIO has bursts of data. I think this is where the LAN8710 should reply to the requests from the OSD3358, but the kernel reports no response from the PHY. The OSD3358 data sheet does not mention what minimum set of pins need connected for PHY to respond to MDIO requests.
      Just after the kernel completes probing for PHY, the MDC clock signal stops and stays high. The MDIO signal stops.
      The kernel continues to boot and the rootfs is loaded. I am able to login but there are no PHYs available to bring up Ethernet.

      Q. Will the OSD3358 attempt to send MDIO requests if the crystal is not connected MAC REFCLK?
      Q. Is the MAC REFCLK required for MDIO communications?

      Thank you

      • This topic was modified 3 years, 9 months ago by Jack Knightjakthree.
    • #10455
      Jack Knightjakthree
      Participant

      I have found that the MDIO_CLK, MDIO_DATA, address/mode straps and power to the PHY(s) is all that are needed for successful MDIO communications. You also need the correct external pullup resistor value for the MDIO_DATA line. The OSD3358 REFCLK is only used to synchronize the RMII signals.

    • #10462
      Neeraj Dantu
      Moderator

      Hey Jack,

      Hopefully you were able to communicate to the PHY with the offline inputs we have provided. Please let us know if you have additional questions.

      Best,

      Neeraj

Viewing 2 reply threads
  • You must be logged in to reply to this topic.