Hi,
thank you for your help guys. With command md.l and mw.l I have ensure memory is not wrapped up. Memory location at 42000000 and 4a000000 are independent. I can write to 42000000 and I see my modification at 42000000 and I don't see the modification at 4a000000.
I have added mem=128M to bootlets/linux_prep/cmdlines/iMX28_EVK.txt at the end of console= line and when I boot I can see this:
Memory: 128MB = 128MB total
Memory: 120316k/120316k available, 10756k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xfde00000 - 0xffe00000 ( 32 MB)
vmalloc : 0xc8800000 - 0xf0000000 ( 632 MB)
lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0030000 ( 160 kB)
.text : 0xc0030000 - 0xc04df000 (4796 kB)
.data : 0xc04e0000 - 0xc051dce0 ( 248 kB)
instead of this
Memory: 256MB = 256MB total
Memory: 250264k/250264k available, 11880k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xfde00000 - 0xffe00000 ( 32 MB)
vmalloc : 0xd0800000 - 0xf0000000 ( 504 MB)
lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0030000 ( 160 kB)
.text : 0xc0030000 - 0xc04df000 (4796 kB)
.data : 0xc04e0000 - 0xc051dce0 ( 248 kB)
when mem=128M is not specified. But, the kernel hang at the same place: right after "mxs_cpu_init: cpufreq init finished".
I have the same RAM as you Mark and I have updated my registers with value from the xls (little differences for timing registers), but the board continue to do the same. The kernel hang at boot-up at the same place.
I have added a printk in setup_arch function right after the block that convert old style parameters to tag list and it report a value of 0 for tags->u.mem.size with two bootlets (128MB that boot fine and 256MB that hang during boot).
Do you have any other thoughts I can experiment?
Jim
PS: I have attached the output of console for each bootlets build (128MB and 256MB).
Edit: I had read many threads and found this Re: Kernel execution stops at decompress function to learn the function that init DDR is duplicated in kernel. I have done the same modifications to this function and now, it doesn't hang at boot, but it produce a kernel panic after mounting rootfs from sd card. I have attached the console output.