If you look at the function static void DDR2PhyInit(void) in bl_devam335x.c you will see this line
HWREG(DATA0_FIFO_WE_SLAVE_RATIO_0) = ((0x56 << 30)|(0x56 << 20)|(0x56<< 10)|(0x56 << 0));
I get integer operation result is out of range errors/warnings from this. I get this type of error in several places actually.
What tool set do you use to build it? I am using gcc and there are no warning/errors of any kind.
Note that we have:
define HWREG(x) (*((volatile unsigned int *)(x)))
Further note that we have
HWREG(DATA0_RD_DQS_SLAVE_RATIO_0) = ((0x40 << 30)|(0x40 << 20)|(0x40 << 10)|(0x40 << 0));
Located in static void DDR2PhyInit(void)
See that 0x40<<30 requires more than 32 bits
Also note that DATA0_RD_DQS_SLAVE_RATIO_0 is a 32 bit register.
I am using the ARM compiler RVDS 4.1
Hi,
Thanks for pointing out. These issues are carried over from leagacy. We will update the bootloader to fix this.
Regards
Baskaran