We have been struggling to get SYS/BIOS and NDK working on a AM3352 processor. It seems that the issue is related to our use of CPSW port two. The CPSW drivers in the sys_bios_driver library use the number of MAC ports to control several pieces of the Cpsw3gInitConfig data structure. It uses the number of MAC ports to then index into port arrays by using for loops.
for (i=0; i < cpsw_num_mac_ports; i++)
iCfg->baseConfig.port[i].phy_addr = mac_configuration.phyAddr[i];
The way the for loops are implemented assumes that port 1 is the first port. In our case port 1 is not used and the first port is port 2. We have tried to modify all the instances using the number of mac ports so that the drivers will use port 2 first. Prior to the modification we could see the NDK trying to send out packets, but afterwords it would not.
So we have a couple important questions:
1) Has the NDK stack ever been used with more than one port?
2) We have seen a couple threads saying the Dual MAC mode was not implemented, is that what needs to be implemented to use two ports?
Thanks,
John C.