
Hi Tom,
On Thu, Dec 28, 2023 at 1:48 PM Tom Rini trini@konsulko.com wrote:
On Thu, Dec 28, 2023 at 01:37:39PM +0000, Simon Glass wrote:
Hi Tom,
On Wed, Dec 27, 2023 at 8:06 PM Tom Rini trini@konsulko.com wrote:
On Wed, Dec 27, 2023 at 05:48:42PM +0000, Simon Glass wrote:
Hi Tom,
On Tue, Dec 26, 2023 at 12:07 PM Tom Rini trini@konsulko.com wrote:
On Tue, Dec 26, 2023 at 09:46:25AM +0000, Simon Glass wrote:
Standard passage provides for a bloblist to be passed from one firmware phase to the next. That can be used to pass the devicetree along as well. Add an option to support this.
Tests for this will be added as part of the Universal Payload work.
Signed-off-by: Simon Glass sjg@chromium.org
The discussion on this was not resolved and is now important due to the bloblist series from Raymond. So I am sending it again since I believe this is a better starting point than building on OF_BOARD
I really don't like adding another option for "DT is given to us". Why isn't adding another enum to fdt_source_t sufficient
That is added by this patch, but...
, and if we have bloblist enabled, that will look for and use if found?
...this is the question. I would like to be able to enable bloblist without *requiring* the DT to come from there, hence the separate Kconfig option.
Maybe some other code needs to be restructured and cleaned up too?
Possibly, but I really am not keen on this board-specific solution. I believe Ilias & I agreed that OF_BOARD should fade away, so I don't like adding another thing onto it.
I think you're missing something then. It should not be board specific to just find the dtb via bloblist, without a new CONFIG.
Yes, that is what I am looking for.
Whatever is stopping that is what needs to be refactored and then you can just extend fdt_source_t without a new CONFIG option.
OK, but I need a way to turn it off, at least for development.
[merging in the other thread:]
On Wed, Dec 27, 2023 at 8:11 PM Tom Rini trini@konsulko.com wrote:
On Wed, Dec 27, 2023 at 05:48:44PM +0000, Simon Glass wrote:
Hi Ilias,
On Wed, Dec 27, 2023 at 6:44 AM Ilias Apalodimas ilias.apalodimas@linaro.org wrote:
Hi Tom,
On Tue, 26 Dec 2023 at 14:07, Tom Rini trini@konsulko.com wrote:
On Tue, Dec 26, 2023 at 09:46:25AM +0000, Simon Glass wrote:
> Standard passage provides for a bloblist to be passed from one firmware > phase to the next. That can be used to pass the devicetree along as well. > Add an option to support this. > > Tests for this will be added as part of the Universal Payload work. > > Signed-off-by: Simon Glass sjg@chromium.org > --- > The discussion on this was not resolved and is now important due to the > bloblist series from Raymond. So I am sending it again since I believe > this is a better starting point than building on OF_BOARD
I really don't like adding another option for "DT is given to us". Why isn't adding another enum to fdt_source_t sufficient, and if we have bloblist enabled, that will look for and use if found? Maybe some other code needs to be restructured and cleaned up too?
Same here. On top of that the bloblist has a few items in there, e.g a TPM eventlog. What are we going to do? Add a Kconfig for each item?
No, but that is just a straw man. The DT is special and U-Boot reports where it comes from.
This has been going back and forth for a while. I've lost count of how many times I repeated the same proposal, but here it goes again. We have OF_BOARD and BLOBLIST options. The bloblist and its properties are scannable at runtime. Can't we use the combination of these 2 can be used to imply we expect things from a bloblist. If we want to be stricter in the future and explicitly expect the DT from a bloblist, we could add a Kconfig option failing the boot if that's missing.
I would like to have that Kconfig option now, not later. In my mind, the boot must be deterministic, so that if OF_BLOBLIST is enabled, the DT must come from there, or it is an error.
Determinism doesn't require a CONFIG option, it just requires an if/else tree where we say what the "correct" priority list should be and then set a flag so that we can tell the user where we found it too. This also means that we can get whatever is going to use this mechanism to migrate over, and have less of a chicken-and-egg type of problem.
OK I think I understand what is going on here. We need a way to enable OF_BLOBLIST while still allowing the prior stage to NOT provide a bloblist, at least for a transition period (= forever, I suspect, but that's another discussion).
How about if OF_BLOBLIST enables the option, but we allow a fallback to OF_BOARD if the DT is not there?
Oh, OK, so your use case is development. Why don't we just make OF_EMBEDDED be the first clause in the if/else (and yes, if (IS_ENABLED(CONFIG_OF_EMBEDDED) :)) and move on still not needing a knob for "bloblist has it"?
Because OF_EMBED doesn't work with binman, and takes a lot of different code paths, etc. It is somewhat useful when loading U-Boot using a debugger, but that is about it.
I sent a v5 that I hope does what is needed.
Regards, Simon