Part Number: AM623
Tool/software:
Team,
Our customer has used both AM335x and AM62x in various designs; they have the following discrepancy they'd like to discuss with us:
"
I work as part of a team which is in the process of porting one of our firmware applications from the AM335x platform to the AM62x. On the AM335x platform, certain variants of our hardware used the CPSW Ethernet peripheral in switch mode, such that the two physical Ethernet ports functioned as ports of a layer 2 switch, and a single Ethernet interface was created by the Linux OS which was bound to both physical ports. This was configured via the Linux device tree, with switch mode being the default operating mode, while independent interface operation could be enabled by adding the “dual_emac” property to the appropriate device tree entry.
The above does not appear to apply to the AM62x platform, or at least we have not found documentation that suggests it is possible. We did find the CPSW3g page of the processor SDK for AM62x which describes creating a Linux software bridge between the two interfaces in order to emulate the operation of a layer 2 switch between the two physical interfaces. We have implemented this during initial development and found it to be less-than-ideal for several reasons:
- It requires extra scripts and services which must be run each time the device boots.
- The bridge interface takes several seconds to become active and obtain an address. In some cases our application starts before this occurs, and thus is not able to bind to the interface as it does not yet have an address. Further delaying the startup of our application until the bridge is up is problematic as we already have customer complaints about startup being “too slow” which were part of the reason we are moving to the higher-performance AM62x platform.
- We are not able to determine when the interface goes down (i.e. is unplugged) by monitoring the bridge interface—we must instead monitor both member interfaces (eth0 and eth1) and try to determine which is or was up/active in order to determine whether it is now down/inactive.
- It would seem that using a software bridge would require host processor and kernel overhead to process each packet which traverses the bridge, likely impacting overall system performance relative to the hardware-based bridging used on the AM335x platform. Note that we have not yet confirmed this to be the case through testing, however.
Given the above, we would like to understand whether there is an alternate hardware-based means to use the interface in switched mode or if the software-based bridge is in fact the only solution on this platform.
Note that we have been directed not to post questions on public internet forums (the TI E2E processor forum), hence I am reaching out directly to you. Thanks for any assistance you can provide,
"
Comments welcomed!
TY,
CY