
Wolfgang Grandegger wrote:
But you need it anyhow in RAM for booting Linux. Why not doing it early, e.g. after relocation when memory is available.
Ok.
So the question is: do we want U-Boot to use this node to determine how much RAM there is, or do we want U-Boot to determine how much RAM there is and update this node?
Both makes sense, I think.
Well, we can't do both. We have to do one or the other. I think we should have U-Boot determine the amount of RAM and update the device tree accordingly.
How we finally use FDT it U-Boot is not yet clear, but exhaustive usage like in the kernel seems not attractive to me. Currently I just need it do enable some devices dynamically, like PCMCIA, RTC and CAN and configure the LCD controller for various panels.
Once we let the cat out of the bag, there's no telling what people will do. My guess is that we will probably never reach the kernel's level of usage, but we'll just keep getting closer and closer.
Don't like the "don't care" argument. If you can make your code faster, just do it.
I'm okay with waiting until RAM is enabled and then copying the device tree into RAM before using it. But again, that assumes that CFG_FDT_ADDR_RAM is defined.