We are trying to bring-up the ENET interface on an iMX6 on a new revision of a PCBA. We are running off of the same SD card image (same BSP/driver) used for the previous version of the PCBA, the hardware design of the ENET interface on both revisions of the boards is essentially the same BUT we are seeing different behavior on the transmit traffic coming out of the iMX6 and we are unable to communicate with the Ethernet switch with the newest revision. The new revision of board appears to be sending about 30us worth of data less than the previous version. Comparing the registry settings for the 2 different revisions we see differences in the following (everything else is the same):
ENET.PALR Addr:0x021880E4 Value:0x921128B9
ENET.PALR.PADDR1(0..31) :0x921128b9
ENET.PAUR Addr:0x021880E8 Value:0xF1238808
ENET.PAUR.PADDR2(16..31) :0xf123
ENET.GAUR Addr:0x02188120 Value:0x00400010
ENET.GAUR.GADDR1(0..31) :0x400010
ENET.ATVR Addr:0x02188404 Value:0x20BA00D0
ENET.ATVR.ATIME(0..31) :0x20ba00d0
Comparing the package labeling on the 2 versions of the iMX6 we see:
OLD: PSCMMX6DZDK 08AB 03 YYEK1547W
NEW: PSCMMX6QZDK 08AB XCTAA1639E
Ideally we would like to get the new revision working the same as the old revision (because that worked with the Ethernet switch). Are there any changes in the processor dies that would cause this differing behavior?
Thanks
Most likely, these i.MX6 SCM modules use different DDR memories that affects the overall system performance. There are the LPDDR2 PoP packages on top of the i.MX6 SCM packages. Please check and provide the part markings of these LPDDR2 memories to define what they are.
Have a great day,
Artur
Thanks Artur. The images of each PoP are below. Do we need to adjust some timing settings with our DDR interface to get ENET working? Everything else on the new system (with the bottom "new" iMX6 PoP) seems to be working, so I'm not sure if we are having DDR issues...
iMX6 PoP that ENET works on:
iMX6 PoP that ENET does not work on:
Artur, can you provide a status update on this request? We need to get this resolved as soon as possible.
Ara
There are two differences found between the SCM modules, shown on your pictures.
1. The "old" ("working") one is based on the i.MX6Dual processor, whereas the "new" ("non-working") one - on i.MX6Quad.
2. The memory chips are different.
Most likely, the chips have different memory size (1GByte and 2GByte options are available), so, the different BSP builds for different memory sizes should be run on them. Ask your SCM module vendor for memory options for each of them.
Best Regards,
Artur