Hello,
we are found problem on the EMIF external bus. We are using 16 bit bus configuration, but it looks like broken endianity somewhere in silicon.
Problem is byte order on external bus. Lets have this test line:
*(U16 *)0x60000000u = 0x0001u;
But during write cycle, we see "1" on EMIF_DATA8 (ball L5) wire, not EMIF_DATA0 (ball K15) as expected. And vice versa for 0x100 value.
Used chip is TMP570LC4357BZWTQQ1 (rev.B) on Texas Hercules launchapd board.
Can you describe it better (ex errata)? Where is it crossed? Has it impact for 8bit EMIF configuration, where is LSB in this case (L5/K15) ?
Many thanks for information,
Jiri Dobry
PS: Here is used external bus configuration:
emifREG->CE2CFG = (0U << EMIF_BIT_SS) | (0U << EMIF_BIT_EW) | (0U << EMIF_BIT_W_SETUP) | (0U << EMIF_BIT_W_STROBE) | (0U << EMIF_BIT_W_HOLD) | (0U << EMIF_BIT_R_SETUP) | (1U << EMIF_BIT_R_STROBE) | (0U << EMIF_BIT_R_HOLD) | (1U << EMIF_BIT_TA) | (1U << EMIF_BIT_ASIZE); /* 16-bit bus */