Hi Paul
Too posting because I think we also need to address this at a higher level.
i think we discussed this topic quite a while back. I may be wrong but it may be Bill Mills who proposed to have an eeprom on the extensions that the carrier board can use to detect and fetch proper overlay. Another way would be that the contract between the extension board and the carrier board includes an i2c accessible storage to fetch an overlay that would identify the board and give all details. Bottom line, a software only solution seems not entirely satisfying. In that suboptimal case, U-Boot shall be able to assemble a DT for itself and another for OS (may be same in some cases) through scripting. And in this case, come your questions below
.
Le sam. 18 sept. 2021 à 01:21, Ying-Chun Liu (PaulLiu) paulliu@debian.org a écrit :
François-Frédéric Ozog | *Director Business Development* T: +33.67221.6485 francois.ozog@linaro.org | Skype: ffozog
Le sam. 18 sept. 2021 à 08:49, François Ozog francois.ozog@linaro.org a écrit :
i just forgot to state that the mode is well known: SPD for DIMMs.
François-Frédéric Ozog | *Director Business Development* T: +33.67221.6485 francois.ozog@linaro.org | Skype: ffozog
On 9/18/21 8:54 AM, François Ozog wrote:
You could implement the weak function board_fdt_blob_setup() to detect your addon boards and extend the devicetree.
Measured boot is provided in U-Boot v2021.10-rc4 based on TPMv2. Just enable CONFIG_EFI_TCG2_PROTOCOL.
U-Boot has a fdt command which you could use to apply overlays. Or implement function board_fdt_blob_setup().
Best regards
Heinrich
On Sat, Sep 18, 2021 at 08:49:48AM +0200, François Ozog wrote:
What you're describing sounds exactly like Raspberry Pi HATs work: https://github.com/raspberrypi/hats/blob/master/devicetree-guide.md
Similarly Beagleboard capes use rely on I2C EEPROMs for make them discoverable, although I don't think all have to have a built-in overlay (IIRC because they joined the party too early).
In other words there's plenty of prior art here and, as new hardware standards come out, it should be much easier for them to find this prior art. However I'm near certain mistakes will still be made...
Sub-optimal or not[1] the u-boot extension board code still looks like it would be a good starting point even for boards with non-discoverable extensions (96Boards CE 1.0 for example).
If implementing on a board with non-discoverable extensions then I would consider implementing "extension scan" to report non-discoverable modules (e.g. from an internal list) and proposing patches to that "extension apply all" would not enable non-discoverable boards (so that non- discoverable boards would have to be enabled by injecting a "extension apply <id>" into the boot scripts).
Of course, I may have overlooked a better existing mechanism in u-boot but that's what I would start with until I was corrected by maintainers ;-) .
Daniel.
[1] And also extremely off-topic for Paul since his (a) boards are discoverable and (b) the extension framework can't fire up early enough for TPM extensions ;-) .
Le lun. 20 sept. 2021 à 13:32, Daniel Thompson daniel.thompson@linaro.org a écrit :
I believe this would be a great SystemReady addition: define details of the DT lifecycle and probably adopt one of the two models. Or worst case define a consolidated one. I hope this is also adoptable by 96boards…
boot-architecture@lists.linaro.org