
It's embarrassing to be the fool who asks all the stupid questions, but I actually can't help it... The task is the following:
I have a custom board. I've 64 MB SDRAM on CS#1 and 16MB flash on CS#0. I want to port the U-Boot to boot Linux.
So what I read out of the README and documentation is:
1. To setup the SDRAM is my own task. My <NAME>.c of my own custom U-Boot port implements a function initdram() that will take care of this. 2. I have to map the SDRAM to 0x0, as the U-Boot wants me to do that. 3. As the SDRAM must be at 0x0, I must map the Flash that was there before somewhere else. 4. In case I have "split" the U-Boot code into parts for I have other important information in the first sectors of my flash, I can have a CFG_MONITOR_BASE that is different from CFG_FLASH_BASE.
Are these assumptions right?
Unfortunately that was only the first question:
How does the U-Boot know which memory banks I use and which type of memory there is? Is it possible it doesn't know?
Especially I didn't understand why one would need to preliminary map some memory bank somewhere else. What reason could be there not to map the memory to it's final location in the first place? The comment in the cpu/mpc8xx/cpu_init.c (line 116 ff.) confused me even more when I was looking for answers there.
Peter Asemann