RA6M3 with Ethernet switch ICs using RMII

We are migrating to an R7FA6M3AF3CFP (100 pin RA6M3) that only supports RMII and need to use a small Ethernet switch IC rather than a typical physical layer transceiver IC like a KSZ8041. We have done this previously using a Microchip microcontroller and MII using the Realtek RTL8306 and the Microchip KSZ8863MLL (with the ICs set to MII-PHY mode). At this stage we are testing the R7FA6M3AF3CFP with the options of either the RTL8306M, RTL8306MB or another Microchip part KSZ8893MQL (these are the only ICs that appear to be available on the market) but so far without success. We are currently faced with multiple unknowns:

1. The RA6M3 family is new to us, as is the FSP 4.0.0.

2. RMII is also unfamiliar territory.

3. The RTL8306M and RTL8306MB datasheets are ambiguous regarding their support of RMII for interfacing to a microcontroller like the R7FA6M3AF3CFP. The RTL8306MB datasheet has a diagram showing RMII connections to an external CPU but all its pins appear to operate as if it is the MAC (RMII-MAC mode). Neither datasheet makes any mention of operating the ICs back-to-back, which possibly indicates that they cannot interface with RMII MAC devices (such as the R7FA6M3AF3CFP).

4. We have also not used the KSZ8893MQL before. This is an obsolete part but it is the only one that is currently available. The datasheet states that the device works with RMII MAC and PHY devices and also states that they can be connected back-to-back.

So my question is, has anyone had success with connecting an RA6M3 microcontroller (or I suppose any RA micro) to either the RTL8306M, RTL8306MB or KSZ8893MQL via RMII? If so, how were they connected to the micro, what strapping options were required and any other particulars that are important?

Any alternatives to the RTL8306M/MB and KSZ8893MQL are also most welcome. We just need a 3 port switch (where the 3rd is the RMII one) that is available without stupidly long lead times.

Parents Reply
  • Thanks for the tips. Got it working with the KSZ8893MQL but it has one quirk that requires a "start switch" command to be sent using SMI, which is a non-standard extension of MIIM, otherwise it simply does nothing. We were expecting to have to swap around the RMII connections but this is not the case, so TXDn on the switch IC goes to the corresponding TXDn on the Renesas micro, RXDn to RXDn, etc. (Basically ignore the confusing "Table 5: RMII Signal Connections" part of the KSZ8893MQL datasheet and just use common sense and connect pins that are inputs to the micro's outputs and pins that are outputs to the micro's inputs.)

    The RTL8306M/MB does not appear to be able to be used in RMII mode with the micro. Its RMII port can only be connected to a PHY IC.

  • Hi Axium,

    When you access to control the "start switch" bit, what is the PHY address PHYAD[2:0] were you using?


  • I know Im late to the party, so this is more of a FYI, but we ran into an issue with a Microchip switch specifically the KSZ8863rll during the pandemic.  It went EOL and some other stuff.  Anyway we have almost finished designing it out.  We found Maxlinear and have almost completed the design in of their GSW125.  We are using it with the RMII interface.  We are not done with the project but the proto has had data move though it.  We are using ssp1.4 running threadx/Azure that came with synergy.  Ill most likely use MaxLinear on the next Renesas Ra project.