[U-Boot] [U-Boot-DM] pre-reloc fdt scan for non-top-level nodes

Simon Glass sjg at chromium.org
Sun Mar 10 21:51:50 UTC 2019


Hi Viktor,

On Wed, 6 Mar 2019 at 13:26, Simon Glass <sjg at chromium.org> wrote:
>
> (We don't use the -dm mailing list...perhaps it should be deleted?)
>
> On Wed, 27 Feb 2019 at 09:22, viktor babrian <viktor.babrian at gmail.com> wrote:
>>
>> Hi,
>>
>> as far as I understood, the pre-reloc device binding of drivers having
>> DM_FLAG_PRE_RELOC flag set is only performed for top-level devices -
>> at least that is what I experience. Is this intentional? What is the
>> concept there?

Well if the top-level node doesn't have it, then it doesn't look at
that node (and in fact in SPL it is removed from the DT during
compilation) so does not get to check child nodes.

>> I am trying to use a spi slave display that is by default described as
>> a node under root/soc/spiX. We have the device working under Linux. I
>> understand these displays are not supported as is in u-boot so I
>> ported some Linux code and made some minor mods in the video uclass.
>> Still I do not have memory reserved for the frame-buffer and debugging
>> shows that it is because bind() is not invoked pre-reloc. And it is
>> not invoked because dm_extended_scan_fdt() parses top-level nodes
>> only.
>> I wonder if that pre-reloc scan is so for some purpose because a
>> recursive scan would seemingly be justified in my case.
>> (or am I just missing something?)

See above. You can add u-boot,dm-pre-reloc to the node to make it be
scanned before relocation.

Regards,
Simon


More information about the U-Boot mailing list