Hi,
I have been working on the SD/MMC Card controller on Spectrum Digital AM1707 EVM board. I am using CCS4 with the GEL files available at Spectrum Digital site. My current configuration does not include any boot loader (ARM UBL or uboot) and I am relying upon the GEL scripts for the necessary board initialization.
I have been successful while working with the AM1707 processor when it is running at 300 MHz frequency (initialized with the help of GEL files which are intended for OMAPL137 processor originally). The code seems stable and passes in-house regression tests. But when I switch to 456 MHz operation using the GEL files that are meant specifically for AM1707 processor, I face instability issues during read and write operations resulting in exceptions.
I have observed that when working at 300 MHz processor clock, I can configure SD/MMC controller memory clock more precisely for my required value. For example if I intend to set the memory clock to 25 MHz, I can set CLKRT bitset in MMCLK register as 2 which will result in an exact 25 MHz value since SYSCLK2 is half the 300 MHz value.
In case, the processor is configured for 456 MHz value, SYSCLK2 would be 228 MHz. Setting CLKRT as 3 would get me a value of memory clock as 28.8 MHz while setting it to 2 would give me a memory clock of 38 MHz. This lack of precision in clock frequency is something that may or may not be a cause of the problem that I am facing.
Regards,
Awais