The last release of starterWare there were several instances of trying to put more than 32 bits into 32 bit registers. I posted that on this forum. Now I see it is still being done in bl_platform.c which replaces bl_am335x.c in the latest release of starterWare. Anybody care to explain what the point is of putting something with more than 32 bits into a 32 bit register?
For example, the following is written into DATA0_RD_DQS_SLAVE_RATIO_0 using WREG(DATA0_RD_DQS_SLAVE_RATIO_0) = DDR2_DATA0_RD_DQS_SLAVE_RATIO_0;
#define DDR2_DATA0_RD_DQS_SLAVE_RATIO_0 ((0x40 << 30)|(0x40 << 20)|(0x40 << 10)|(0x40 << 0))