Hi Laurent, On 07. 12. 20 23:16, Laurent Pinchart wrote: > Hi Michal, > > On Mon, Dec 07, 2020 at 10:39:25AM +0100, Michal Simek wrote: >> On 06. 12. 20 23:46, Laurent Pinchart wrote: >>> On Wed, Dec 02, 2020 at 03:06:05PM +0100, Michal Simek wrote: >>>> Add label which is used by bootloader for adding bootloader specific flag. >>>> >>>> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> >>>> --- >>>> >>>> U-Boot needs to add u-boot,dm-pre-reloc; property >>> >>> I'm not entirely sure what best practice rules are in this area, but >>> shouldn't U-Boot locate the node by name instead of label ? >> >> Labels are not listed in dt binding and there are two approaches how to >> reference nodes. Via full path with node name or via labels. >> I do normally use labels which are much simple. > > Note that labels require the DTB to be compiled with the -@ option, > otherwise they're not present in the binary. U-Boot is using different concept. You can see that there are a lot of -u-boot.dtsi files in dts folders. These are automatically included to DTS before DTC is called. It means you don't need to build overlay to get merged. > >> And also if you take a look how dtb looks like (convert back to dts) you >> can see that for example aliases are using full path (just &label) but >> clocks/gic which is the part of <> is handled via phandles as numbers. >> >> And labels names can vary and shouldn't be the part of binding doc as >> far as I know. But I can be wrong of course. > > The DT bindings should document the interface with the operating system, > and if applicable, the boot loader. If the boot loader requires a > particular label, then it becomes part of the ABI, and I think it should > be documented in the bindings. We have been discussing with Rob some month ago but didn't have a time to do step further. Just keep it short Rob was ok to keep bootloader binding inside Linux repo. There is no hardcoding for a particular name. There is just a need to have any label. U-Boot needs to have one property(e.g. u-boot,dm-pre-reloc;) just to do early allocation. The name is just reference and none is really looking for it. It is just a way how to include it in much easier way. Thanks, Michal