Am 23.04.2017 um 21:42 schrieb H. Nikolaus Schaller hns@goldelico.com:
Am 23.04.2017 um 15:49 schrieb H. Nikolaus Schaller hns@goldelico.com:
parameters (I still need to check how to tell it via DT but classified that as non-urgent):
seems to be done by
common/fdt_support.c: fdt_fixup_memory_banks()
That function has u64 parameter for start[] and size[]. Maybe U-Boot configures our 4GB RAM with 2 banks but still assumes each one is 1GB size.
Now, the boring part begins: going through code to find out how the parameters are set by the board file...
I think I have it running. Cleaned up patch is coming.
Here it is:
http://git.goldelico.com/?p=gta04-uboot.git;a=commit;h=0c5e26e7886ea7d2d934f...
I have moved the emif definition to lc15.c so that this patch is self-contained and does not depend on upstream u-boot.
This is forgiveable since we can and do not want to change the DRAM e.g. on the OMAP5EVM...
The only ugly issue is that I have no idea if we can auto-detect the RAM type / size. And we forgot to assign different CPU board version resistors.
So it either works or the other u-boot.img has to be installed on the SD card.
This makes swapping bootable SD cards between both variants impossible. Which is annoying since(I always forget to write on them what they are good for...
You have to use either
pandora_pyra_lc15_4gb_defconfig for 4GB pandora_pyra_lc15_defconfig for 2GB
I have only tested if the lpae kernel works with 4GB and the non-lpae kernel works with 2GB.
BR, Nikolaus