
On Wed, Mar 25, 2020 at 3:47 PM Andre Przywara andre.przywara@arm.com wrote:
The Arm Juno board was still somewhat stuck in "hardcoded land", even though there are stable DTs around, and one happens to actually be on the memory mapped NOR flash.
Enable the configuration options to let the board use OF_CONTROL, and add a routine to find the address of the DTB partition in NOR flash, to use that for U-Boot's own purposes. This can also passed on via $fdtcontroladdr to any kernel or EFI application, removing the need to actually load a device tree.
Since the existing "afs" command and its flash routines require flash_init() to be called before being usable, and this is done much later in the boot process, we introduce a stripped-down partition finder routine in vexpress64.c, to scan the NOR flash partitions for the DT partition. This location is then used for U-Boot to find and probe devices.
The name of the partition can be configured, if needed, but defaults to "board.dtb", which is used by Linaro's firmware image provided.
Signed-off-by: Andre Przywara andre.przywara@arm.com
It's a bit of duplication but what can we do. We need to inspect the flash to find the DTB that defines where the flash is. We can certainly live with this bootstrapping as a compromise. Reviewed-by: Linus Walleij linus.walleij@linaro.org
Yours, Linus Walleij