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.

AM3358: AM3358 RGMII connection to port 6 of KSZ9477S ethernet switch IC

Part Number: AM3358

We want to build a board with multiple ethernet ports using AM3358 and KSZ9477S. We want to connect AM3358  to sixth port of KSZ9477S switch IC via RGMII. But  while searching through some forums I found some info that AM335x doesn't support MAC-to-MAC connection, also there is the following paragraph in AM335x's datasheet:

"The EMAC and Switch implemented in the AM335x device supports GMII mode, but the AM335x design does not pin out 9 of the 24 GMII signals. This was done to reduce the total number of package terminals. Therefore, the AM335x device does not support GMII mode. MII mode is supported with the remaining GMII signals."

So now I'm a little bit confused... On the other hand SAMA5D33 SoC can be connected to KSZ9477S via RGMII (according to the KSZ9477S's evaluation kit). Please, can you clarify this things for me... Can I connect AM3358 to the sixth port of KSZ9477S switch via RGMII?

  • RGMII is supported on AM335x devices, only full GMII is not available. The MAC-to-MAC use case is not supported by TI on this forum. This does not imply that it's not possible, we have information that customers have implemented it. However you will have to do it on your own. No support from TI is available on this use case.
  • Thank you for the response!) Could you please give me a clue what possible problems I can encounter if I connect AM3358 via rgmii2 to KSZ9477S switch. Will I have to take care of some PCB layout issues or will I have to solve some problems connected with firmware? Thanks)
  • Hello Andrey,
    We have no experience with the switch you are proposing. I personally haven't seen it implemented previously.

    I'd suggest you contact the switch manufacturer to ensure that it conforms to the RGMII specification, presents a RGMII-compliant PHY interface to the attached MAC, and that the RGMII interface can be closed for timing when paired with the AM335x.
  • Thank you for the response!)

  • Can you please specify what do you mean by "presents a RGMII-compliant PHY interface to the attached MAC". Does it mean that RGMII interface of KSZ9477S switch should work in PHY mode (instead of MAC mode)?
  • By the way, can the second EMAC interface of AM3358 be configured to be simple MII and how to do it (It is done in linux kernel drivers or we have to create our custom device tree file)? As far as I understand RGMII is almost the same thing as MII, so we can use MII.
  • Hi Andrey,
    The MAC(s) of AM335x expected to be connected to a PHY. Sitara-class devices do not support direct MAC-to-MAC connections.

    Please note that MII is 10/100 only and also requires significantly more pins to implement than RGMII, which is 10/100/1000 (Gigabit).
  • Thank you for the response!) I have some more questions. What version of RGMII AM3358 SoC compatible with (RGMII v1.3 or something else)? And can actually RGMII work in 100 Mbps mode? If it can, does it mean that we don't have to solve some PCB design issues, like matching trace lengths, root some nets for additional delays, etc. 

  • Andrey,
    AM335x is compliant to the RGMII 1.3 specification.

    The RGMII interface supports 10/100/1000Mbs operation. RGMII isn't particularly difficult from a layout perspective, but you will need to choose a PHY that implements Internal Delay Mode on both the TX and RX channels unless you want to implement the required delay on the PCB itself (nobody does this anymore; let the PHY do it).

    Are you planning to boot from RGMII?