All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Rini <trini@konsulko.com>
To: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>,
	Mark Kettenis <mark.kettenis@xs4all.nl>,
	francois.ozog@linaro.org, sjg@chromium.org,
	awilliams@marvell.com, albert.u.boot@aribaud.net,
	agraf@csgraf.de, anastasiia_lukianenko@epam.com,
	andre.przywara@arm.com, bmeng.cn@gmail.com, vanbaren@cideas.com,
	linus.walleij@linaro.org, mbrugger@suse.com,
	michal.simek@xilinx.com, oleksandr_andrushchenko@epam.com,
	peter.maydell@linaro.org, seanga2@gmail.com,
	swarren@wwwdotorg.org, swarren@nvidia.com, fitzsim@fitzsim.org,
	tuomas.tynkkynen@iki.fi, u-boot@lists.denx.de
Subject: Re: [PATCH v6 00/25] fdt: Make OF_BOARD a boolean option
Date: Fri, 3 Dec 2021 09:35:20 -0500	[thread overview]
Message-ID: <20211203143520.GH1220664@bill-the-cat> (raw)
In-Reply-To: <YaoqEHmZZ5eAbQEr@apalos.home>

[-- Attachment #1: Type: text/plain, Size: 4237 bytes --]

On Fri, Dec 03, 2021 at 04:30:40PM +0200, Ilias Apalodimas wrote:
> Hi Heinrich, 
> 
> On Fri, Dec 03, 2021 at 02:59:44PM +0100, Heinrich Schuchardt wrote:
> > On 12/3/21 11:27, Mark Kettenis wrote:
> > > > Date: Fri, 3 Dec 2021 09:50:44 +0200
> > > > From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
> > > > 
> > > > Hi Mark,
> > > > 
> > > > > > > > > 
> > > > 
> > > > [...]
> > > > 
> > > > > > > > > Changes in v6:
> > > > > > > > > - Fix description of OF_BOARD so it refers just to the current state
> > > > > > > > > - Explain that the 'two devicetrees' refers to two *control* devicetrees
> > > > > > > > > - Expand the commit message based on comments
> > > > > > > > > - Expand the commit message based on comments
> > > > > > > > 
> > > > > > > > You haven’t addressed any concerns expressed on the mailing list.so I am
> > > > > > > > not in favor of this new version either.
> > > > > > > > If you make a version without « fake DTs » as you name them, there are good
> > > > > > > > advances in the documentation and other areas that would be better in
> > > > > > > > mainline….
> > > > > > > > If I am the only one thinking this way and the patch can be accepted, I
> > > > > > > > would love there is a warning in capital letters at the top of the DTS fake
> > > > > > > > files that explains the intent of this fake DT, the possible outcomes of
> > > > > > > > not using the one provided by the platform and the right way of dealing
> > > > > > > > with DTs for the platform.
> > > > > > > 
> > > > > > > This is the part that I too am still unhappy about.  I do not want
> > > > > > > reference or fake or whatever device trees in the U-Boot source tree.
> > > > > > > We should be able to _remove_ the ones we have, that are not required,
> > > > > > > with doc/board/...rst explaining how to get / view one.  Not adding
> > > > > > > more.
> > > > > > 
> > > > > > So this is a key point for me and the reason I completely disagree
> > > > > > with this approach.  This proposal is working in the *exact* opposite
> > > > > > direction and we'll never be able to get rid of device trees from
> > > > > > U-Boot, even if at some point they move out of the kernel to a
> > > > > > 'common' repo'.  I'll just repeat what I've been saying since v1.
> > > > > > Personally I'd be way happier if we could figure out were the specific
> > > > > > U-Boot config nodes are needed and when are they needed.  Based on
> > > > > > what we figure out we could, pick up the device tree from a previous
> > > > > > state bootloader and fix it up with our special nodes before we start
> > > > > > using it, using internal DTS files (compiled to .dtbos or similar)
> > > > > > that indeed belong in the u-boot tree.
> 
> > 
> > Applying a devicetree overlay can be implemented in common/board_f.c
> > before the first usage of the devicetree to initialize devices (there
> > are some that are initialized before relocation).
> 
> Thanks for digging this up.  Tbh I misunderstood the original mail from
> Mark.  When I read pre-reloc I assumed no C environment was up yet.
> However this raises a few questions.
> 1. The .dtbos will need to be embedded in the u-boot binary since
> there's no FS access (or in some cases storage access to begin with)
> 2. The RAM we have is going to be limited if we want to apply the overlays
> before consoles etc are up, since it basically has to happen at some point
> near 'fdtdec_setup'
> 3.Are we are going to need some logic on how to apply the .dtbos? E.g think of
> the same hardware with different configuration.  You'll be able to use the
> same binary, if you can somehow configure which overlays you want to apply.

This has come up before and the answer has been "doing it this early
will be too large" where large can mean either of .text space (we have
many constrained platforms) or memory usage (this is before DRAM
potentially).  It's also on the flip side one of those places where
maybe it's less of a problem on arm64 (where prior stages will have
initialized much already) than arm32 (where we are very early) and other
platforms.  And we need solutions that work for both cases.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

  reply	other threads:[~2021-12-03 14:35 UTC|newest]

Thread overview: 136+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-02 15:58 [PATCH v6 00/25] fdt: Make OF_BOARD a boolean option Simon Glass
2021-12-02 15:58 ` [PATCH v6 01/25] doc: Add documentation about devicetree usage Simon Glass
2021-12-03 12:34   ` Heinrich Schuchardt
2021-12-03 13:09     ` Heinrich Schuchardt
2021-12-03 20:13       ` Simon Glass
2021-12-03 20:28         ` Heinrich Schuchardt
2021-12-04  1:02           ` Simon Glass
2021-12-04 11:06             ` François Ozog
2021-12-04 17:42               ` Simon Glass
2021-12-05  1:14                 ` François Ozog
2021-12-06 15:23                   ` Simon Glass
2021-12-07 22:02                     ` François Ozog
2021-12-02 15:58 ` [PATCH v6 02/25] arm: qemu: Mention -nographic in the docs Simon Glass
2021-12-02 15:58 ` [PATCH v6 03/25] arm: riscv: qemu: Explain how to extract the generated dt Simon Glass
2021-12-02 16:30   ` Heinrich Schuchardt
2021-12-02 16:51     ` Simon Glass
2021-12-02 17:03     ` Tom Rini
2021-12-02 15:58 ` [PATCH v6 04/25] arm: qemu: Add a devicetree file for qemu_arm Simon Glass
2021-12-02 15:58 ` [PATCH v6 05/25] arm: qemu: Add a devicetree file for qemu_arm64 Simon Glass
2021-12-02 15:59 ` [PATCH v6 06/25] riscv: qemu: Add devicetree files for qemu_riscv32/64 Simon Glass
2021-12-02 15:59 ` [PATCH v6 07/25] arm: rpi: Add a devicetree file for rpi_4 Simon Glass
2021-12-02 17:34   ` Mark Kettenis
2021-12-02 18:20     ` François Ozog
2021-12-02 18:25     ` Simon Glass
2021-12-03 12:16       ` Peter Robinson
2021-12-03 20:13         ` Simon Glass
2021-12-02 15:59 ` [PATCH v6 08/25] arm: vexpress: Add a devicetree file for juno Simon Glass
2021-12-02 15:59 ` [PATCH v6 09/25] arm: xenguest_arm64: Add a fake devicetree file Simon Glass
2021-12-02 17:40   ` Oleksandr Andrushchenko
2021-12-02 17:56     ` Tom Rini
2021-12-02 18:05       ` Simon Glass
2021-12-02 18:07         ` Tom Rini
2021-12-02 18:16         ` François Ozog
2021-12-02 18:29           ` Simon Glass
2021-12-02 18:44             ` François Ozog
2021-12-02 19:23               ` Simon Glass
2021-12-03 12:14                 ` Tom Rini
2021-12-03 16:04                   ` Simon Glass
2021-12-03 17:02                     ` François Ozog
2021-12-03 20:14                       ` Simon Glass
2021-12-03 20:21                         ` Tom Rini
2021-12-03 20:27                         ` François Ozog
2021-12-02 17:57     ` Simon Glass
2021-12-03  5:41       ` Oleksandr Andrushchenko
2021-12-03 16:23         ` Simon Glass
2021-12-03 17:02           ` Oleksandr Andrushchenko
2021-12-02 15:59 ` [PATCH v6 10/25] arm: octeontx: " Simon Glass
2021-12-02 15:59 ` [PATCH v6 11/25] arm: xilinx_versal_virt: Add a " Simon Glass
2021-12-02 15:59 ` [PATCH v6 12/25] arm: bcm7xxx: " Simon Glass
2021-12-02 15:59 ` [PATCH v6 13/25] arm: qemu-ppce500: " Simon Glass
2021-12-02 15:59 ` [PATCH v6 14/25] arm: highbank: Add a fake " Simon Glass
2021-12-02 15:59 ` [PATCH v6 15/25] fdt: Make OF_BOARD a bool option Simon Glass
2021-12-02 15:59 ` [PATCH v6 16/25] Drop CONFIG_BINMAN_STANDALONE_FDT Simon Glass
2021-12-02 15:59 ` [PATCH v6 17/25] doc: Update info on devicetree update Simon Glass
2021-12-02 15:59 ` [PATCH v6 18/25] fdt: Move MULTI_DTB_FIT handling out of fdtdec_setup() Simon Glass
2021-12-02 15:59 ` [PATCH v6 19/25] fdt: Drop #ifdefs with MULTI_DTB_FIT Simon Glass
2021-12-02 15:59 ` [PATCH v6 20/25] fdt: Drop CONFIG_SPL_BUILD check in fdtdec_setup() Simon Glass
2021-12-02 15:59 ` [PATCH v6 21/25] fdt: Drop #ifdef around board_fdt_blob_setup() Simon Glass
2021-12-02 15:59 ` [PATCH v6 22/25] fdt: Use if() for fdtcontroladdr check Simon Glass
2021-12-02 15:59 ` [PATCH v6 25/25] fdt: Don't call board_fdt_blob_setup() without OF_BOARD Simon Glass
2021-12-02 16:33 ` [PATCH v6 00/25] fdt: Make OF_BOARD a boolean option François Ozog
2021-12-02 16:38   ` Tom Rini
2021-12-02 16:49     ` Simon Glass
2021-12-02 16:59       ` Tom Rini
2021-12-02 17:07         ` Simon Glass
2021-12-02 18:03           ` Tom Rini
2021-12-02 18:17             ` Simon Glass
2021-12-02 18:34               ` Tom Rini
2021-12-02 19:12                 ` Simon Glass
2021-12-02 22:47                   ` Tom Rini
2021-12-02 23:46                     ` Simon Glass
2021-12-02 22:36                 ` François Ozog
2021-12-02 22:52                   ` Tom Rini
2021-12-02 22:55                     ` Simon Glass
2021-12-03 15:14                       ` Tom Rini
2021-12-03 15:47                         ` Simon Glass
2021-12-03  1:57                 ` Andre Przywara
2021-12-03  2:03                   ` Simon Glass
2021-12-03 20:43                     ` Tom Rini
2021-12-04  1:02                       ` Simon Glass
2021-12-03  1:29               ` Andre Przywara
2021-12-03  1:43                 ` Simon Glass
2021-12-02 17:03     ` Ilias Apalodimas
2021-12-02 17:09       ` Simon Glass
2021-12-03  7:54         ` Ilias Apalodimas
2021-12-02 18:15       ` Mark Kettenis
2021-12-02 18:21         ` Simon Glass
2021-12-02 18:38           ` Tom Rini
2021-12-02 18:47           ` Mark Kettenis
2021-12-02 18:53             ` Simon Glass
2021-12-02 19:22               ` Mark Kettenis
2021-12-02 19:24                 ` Simon Glass
2021-12-02 21:53                   ` Tom Rini
2021-12-02 22:42                     ` Simon Glass
2021-12-02 18:32         ` François Ozog
2021-12-02 19:00           ` Mark Kettenis
2021-12-03  7:50         ` Ilias Apalodimas
2021-12-03 10:27           ` Mark Kettenis
2021-12-03 13:59             ` Heinrich Schuchardt
2021-12-03 14:30               ` Ilias Apalodimas
2021-12-03 14:35                 ` Tom Rini [this message]
2021-12-03 15:10                   ` Ilias Apalodimas
2021-12-03  1:19       ` Andre Przywara
2021-12-02 16:39   ` Simon Glass
2021-12-02 16:58     ` Peter Maydell
2021-12-02 16:59     ` François Ozog
2021-12-03  1:10     ` Andre Przywara
2021-12-02 16:47 ` Heinrich Schuchardt
2021-12-02 16:50   ` Simon Glass
2021-12-03 10:03     ` Heinrich Schuchardt
2021-12-06 15:22       ` Simon Glass
2021-12-03 14:55 ` Tom Rini
2021-12-03 15:39   ` Simon Glass
2021-12-03 15:57     ` Tom Rini
2021-12-03 16:18       ` Simon Glass
2021-12-03 16:30         ` Tom Rini
2021-12-03 16:45           ` Simon Glass
2021-12-03 19:25             ` Tom Rini
2021-12-04  1:01               ` Simon Glass
2021-12-04 13:52                 ` Tom Rini
2021-12-04 15:20                   ` Simon Glass
2021-12-04 15:58                     ` Ilias Apalodimas
2021-12-04 17:25                       ` Simon Glass
2021-12-04 18:46                         ` Ilias Apalodimas
2021-12-04 16:02                     ` Mark Kettenis
2021-12-04 17:25                       ` Simon Glass
2021-12-04 16:55                     ` François Ozog
2021-12-04 17:35                       ` Simon Glass
2021-12-04 18:52                         ` François Ozog
2021-12-05 13:32                           ` Tom Rini
2021-12-04 18:03                     ` Tom Rini
2021-12-04 22:09                       ` Simon Glass
2021-12-05 13:32                         ` Tom Rini
2021-12-06 15:24                           ` Simon Glass
2021-12-06 15:43                             ` Tom Rini
     [not found] ` <20211202155919.2429190-25-sjg@chromium.org>
2021-12-06 18:45   ` [PATCH v6 24/25] fdt: Drop remaining preprocessor macros in fdtdec_setup() Ilias Apalodimas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211203143520.GH1220664@bill-the-cat \
    --to=trini@konsulko.com \
    --cc=agraf@csgraf.de \
    --cc=albert.u.boot@aribaud.net \
    --cc=anastasiia_lukianenko@epam.com \
    --cc=andre.przywara@arm.com \
    --cc=awilliams@marvell.com \
    --cc=bmeng.cn@gmail.com \
    --cc=fitzsim@fitzsim.org \
    --cc=francois.ozog@linaro.org \
    --cc=ilias.apalodimas@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=mark.kettenis@xs4all.nl \
    --cc=mbrugger@suse.com \
    --cc=michal.simek@xilinx.com \
    --cc=oleksandr_andrushchenko@epam.com \
    --cc=peter.maydell@linaro.org \
    --cc=seanga2@gmail.com \
    --cc=sjg@chromium.org \
    --cc=swarren@nvidia.com \
    --cc=swarren@wwwdotorg.org \
    --cc=tuomas.tynkkynen@iki.fi \
    --cc=u-boot@lists.denx.de \
    --cc=vanbaren@cideas.com \
    --cc=xypron.glpk@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.