Re: [PATCH 1/1 RFC] treewide: Deprecate OF_PRIOR_STAGE

Thomas Fitzsimmons
2021-10-13T16:26:36Z

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