Hi all,
We understood our problem some weeks ago but we missed to inform the community.
In fact , we modified the file " init-MX28.c" in the uboot source, but we took time to understand that the same kind of tables exist in the the kernel source and need to be modifed in the convenient file : mach-mx28/emi_setting.c => table "void DDR2EmiController_EDE1116_200MHz(void)" , 166MHz and 133MHz => DRAM_REG[31] value changed for "0x00000101" , for 4 banks 512Mbits setting) .
An other modification was the DRAM size deifinition in the Uboot sources "imx-bootlet_xxx/linux_prep/include/mx28/platform.h :
#define SDRAM_SIZE 0x08000000 //1Gb
changed for
#define SDRAM_SIZE 0x04000000 //512Mb
I think there are no other required changes.
Now kernel boots fine with our board, and I could check that EMI supports change from 200MHz to 166MHz parameters , but there is still a freeze problem with 133MHz parameter table.
To test that, I use the command lines as described in the "MX28_linux_BSP_RM.pdf" CPU Frequency Scaling (CPUFREQ) Driver p55. I have changed the DDR freq in file "bus_freq.c", struct profile profiles[] = {} associated to 360MHz cpu freq :
{ 454736, 151570, 205710, 0, 1550000,
1450000, 355000, 3300000, 1750000, 24000, 0 },
{ 360000, 120000, 166000, 0, 1350000, // DDR 166000 instead of default 130910
1250000, 200000, 3300000, 1750000, 24000, 0 },
{ 261818, 130910, 130910, 0, 1350000,
1250000, 173000, 3300000, 1750000, 24000, 0 },
{ 64000, 64000, 130910, 3, 1350000,
1250000, 150000, 3300000, 1750000, 24000, 0 },
{ 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 },
"cpu 454.736MHz/DDR 205.710MHz" setting and "cpu 360MHz/DDR 166MHz" setting are working fine but Cpu 261.818 / DDR 130.910 setting is not working.
regards
jy