
On Tue, Oct 19, 2021 at 10:56:26AM +0300, Ilias Apalodimas wrote:
On Mon, Oct 18, 2021 at 08:29:24PM -0400, Tom Rini wrote:
On Mon, Oct 18, 2021 at 04:50:33PM -0400, Tom Rini wrote:
On Fri, Oct 15, 2021 at 11:42:40AM +0300, Ilias Apalodimas wrote:
OF_HOSTFILE is used on sandbox configs only. Although it's pretty unique and rarely causes confusion, we are better of having simpler config options for the DTB.
So let's replace that with the existing OF_BOARD. U-Boot would then have only three config options for the DTB origin.
- OF_SEPARATE, build separately from U-Boot
- OF_BOARD, board specific way of providing the DTB
- OF_EMBED embedded in the u-boot binary(should not be used in production)
Signed-off-by: Ilias Apalodimas ilias.apalodimas@linaro.org
Note that this must be applied on top of https://lore.kernel.org/u-boot/20211011210016.135929-1-ilias.apalodimas@lina... changes since v2:
- Rebased on top of the updated OF_BOARD patchset
Changes since v1:
- Added internal error value on board_fdt_blob_setup(). Arguably we can just check against NULL and simplify this even more if we don't care about the errno
- OF_BOARD is now default for sandbox builds
With the previous series applied, this breaks xilinx_zynq_virt: https://source.denx.de/u-boot/u-boot/-/jobs/337428
I had a little trouble in general getting the board to run locally, even without the patches, so I didn't debug further yet.
Here's another thing, that might be related. The dependency series has minor size changes, in basically expected platforms and places. This patch adds tons of size changes on virtually all platforms. That might provide a clue or two as to what's going on.
I'll have a look. What changes here is an extra argument to preserve the errno (which we can get rid of).
Is it the OF_HOSTFILE patch that breaks it? There's one thing this patch changes in functionality. In the new version fdtdec_setup() will return an error if the DTB is not found. Can I reproduce this locally?
Right, I did find a way to reproduce it locally. It's indeed the change in fdtdec_setup() that break this platform. Specifically board_fdt_blob_setup() in board/xilinx/common/board.c will return -ENXIO if the DTB is not found. Apparently that's ok for this platform so returning 0 there fixes the boot. It's also another reason why we need the errno instead of just checking the pointer .... Want me to send a v4 of the OF_HOSTFILE version?
Cheers /Ilias