
Simon Glass sjg@chromium.org writes:
[...]
I think one option is better than two. I have a slight preference for OF_PRIOR_STAGE because it is board-agnostic, but I'm not sure it matters, since some of these boards are doing strange things anyway and cannot use OF_PRIOR_STAGE. So let's go with this.
For now it's easier getting rid of OF_PRIOR_STAGE than OF_BOARD. Once we unify OF_PRIOR_STAGE/OF_BOARD and OF_HOSTFILE, then I can send a patch on top of that, which removes the board_fdt_blob_setup() and just stores the address in a similar fashion to the removed 'prior_stage_fdt_address'. That way we can get rid of architecture specific constructs wrt to DT in gd. The callback is a bit more of a pain to maintain for multiple boards but is more flexible than an address in a register. In any case we can do something along the lines of:
Check register (or blob list or whatever) if (valid dtb) fixup/amend/use (depending on what we decide) else arch specific callback
That should give us enough flexibility to deal with future boards (famous last words).
SGTM
This sounds like a good generalization that would still work for the bcm7445 and bcm7260 boards. I'll test this approach on the evaluation boards I have.
For the BCM7445 I may be able to import the evaluation board device tree that Broadcom publishes as part of stblinux. At runtime I may need to merge some of the in-memory items generated by BOLT, but I'll try to make this work.
The BCM7260 DTS is not publicly available though, as far as I know.
Thomas