We have recently switched over to a Micrel switch (KSZ8463) that has 2 external PHY ports, which is connected via the 3rd host port to the TM4C129X PHY. We enabled the Tail-Tag feature on the Micrel switch, which adds a "tail-tag byte" to the end of the frame (before checksum) to indicate which port received the data (for incoming frames), or to indicate which port/s should send the data (for outgoing frames). With tail-tag feature turned-off, everything seems to be working correctly, although obviously the application can't distinguish the receiving port# and just sends the data to both ports (instead of being able to send to 1, 2, or both ports). When the tail-tag feature is turned on, the data received by the application seems to be correct with 1 more data byte, and the tail tag at the right location. Sending out seems to be failing for some reason. The frame is loaded correctly to the Tx descriptor but doesn't seem to go anywhere (nothing appears on Wireshark) although the buffer is released.
Is there an application note or instructions on what MAC config settings should be used?
The original firmware project (from many years ago) was made with the LWIP example included in the TI TIVAWARE example, and modified to work with an external PHY for single and dual-port. Maybe MAC controller doesn't like the extra byte for the control frames?