Re: [PATCH v4 10/11] dm: Add support for handling old u-boot, dm- tags
Hi Michal, On Mon, 13 Feb 2023 at 00:53, Michal Simek wrote: > > > > On 2/12/23 18:44, Tom Rini wrote: > > On Fri, Feb 10, 2023 at 08:28:56AM -0700, Simon Glass wrote: > > > >> Add a CONFIG option to deal with this automatically, printing a warning > >> when U-Boot starts up. This can be useful if the device tree comes from > >> another project. > >> > >> We will maintain this through the 2023.07 release, providing 6 months > >> for people to notice. > >> > >> Signed-off-by: Simon Glass > > > > Adding Michal since he got lost by accident on this iteration. Does that > > sound like enough time to get the tooling you know of updated? > > > > This patch makes sense to me and provide good migration path. Thanks! > > In connection to have tree working all the time for bisecting reasons I think > the whole series should be a little bit rearranged and this shouldn't be the > patch 10/11 but very early. > But I will let Tom to decide if this should be rearranged or not. > > Acked-by: Michal Simek With a bit of fiddling I think that is possible. I will send a v5. Regards, Simon
Re: [PATCH v4 10/11] dm: Add support for handling old u-boot, dm- tags
On 2/12/23 18:44, Tom Rini wrote: On Fri, Feb 10, 2023 at 08:28:56AM -0700, Simon Glass wrote: Add a CONFIG option to deal with this automatically, printing a warning when U-Boot starts up. This can be useful if the device tree comes from another project. We will maintain this through the 2023.07 release, providing 6 months for people to notice. Signed-off-by: Simon Glass Adding Michal since he got lost by accident on this iteration. Does that sound like enough time to get the tooling you know of updated? This patch makes sense to me and provide good migration path. Thanks! In connection to have tree working all the time for bisecting reasons I think the whole series should be a little bit rearranged and this shouldn't be the patch 10/11 but very early. But I will let Tom to decide if this should be rearranged or not. Acked-by: Michal Simek Thanks, Michal
Re: [PATCH v4 10/11] dm: Add support for handling old u-boot, dm- tags
Hi Tom, On Sun, 12 Feb 2023 at 18:10, Tom Rini wrote: > > On Sun, Feb 12, 2023 at 04:15:08PM -0700, Simon Glass wrote: > > Hi Tom, > > > > On Sun, 12 Feb 2023 at 10:44, Tom Rini wrote: > > > > > > On Fri, Feb 10, 2023 at 08:28:56AM -0700, Simon Glass wrote: > > > > > > > Add a CONFIG option to deal with this automatically, printing a warning > > > > when U-Boot starts up. This can be useful if the device tree comes from > > > > another project. > > > > > > > > We will maintain this through the 2023.07 release, providing 6 months > > > > for people to notice. > > > > > > > > Signed-off-by: Simon Glass > > > > > > Adding Michal since he got lost by accident on this iteration. Does that > > > sound like enough time to get the tooling you know of updated? > > > > Thanks...BTW is the membership of u-boot-custodians listed somewhere? > > Maybe via the normal mailman page once you've signed in? Not that I can see. Probably only the admin knows. Regards, Simon
Re: [PATCH v4 10/11] dm: Add support for handling old u-boot, dm- tags
On Sun, Feb 12, 2023 at 04:15:08PM -0700, Simon Glass wrote: > Hi Tom, > > On Sun, 12 Feb 2023 at 10:44, Tom Rini wrote: > > > > On Fri, Feb 10, 2023 at 08:28:56AM -0700, Simon Glass wrote: > > > > > Add a CONFIG option to deal with this automatically, printing a warning > > > when U-Boot starts up. This can be useful if the device tree comes from > > > another project. > > > > > > We will maintain this through the 2023.07 release, providing 6 months > > > for people to notice. > > > > > > Signed-off-by: Simon Glass > > > > Adding Michal since he got lost by accident on this iteration. Does that > > sound like enough time to get the tooling you know of updated? > > Thanks...BTW is the membership of u-boot-custodians listed somewhere? Maybe via the normal mailman page once you've signed in? -- Tom signature.asc Description: PGP signature
Re: [PATCH v4 10/11] dm: Add support for handling old u-boot, dm- tags
Hi Tom, On Sun, 12 Feb 2023 at 10:44, Tom Rini wrote: > > On Fri, Feb 10, 2023 at 08:28:56AM -0700, Simon Glass wrote: > > > Add a CONFIG option to deal with this automatically, printing a warning > > when U-Boot starts up. This can be useful if the device tree comes from > > another project. > > > > We will maintain this through the 2023.07 release, providing 6 months > > for people to notice. > > > > Signed-off-by: Simon Glass > > Adding Michal since he got lost by accident on this iteration. Does that > sound like enough time to get the tooling you know of updated? Thanks...BTW is the membership of u-boot-custodians listed somewhere? Regards, Simon
Re: [PATCH v4 10/11] dm: Add support for handling old u-boot, dm- tags
On Fri, Feb 10, 2023 at 08:28:56AM -0700, Simon Glass wrote: > Add a CONFIG option to deal with this automatically, printing a warning > when U-Boot starts up. This can be useful if the device tree comes from > another project. > > We will maintain this through the 2023.07 release, providing 6 months > for people to notice. > > Signed-off-by: Simon Glass Adding Michal since he got lost by accident on this iteration. Does that sound like enough time to get the tooling you know of updated? -- Tom signature.asc Description: PGP signature
[PATCH v4 10/11] dm: Add support for handling old u-boot,dm- tags
Add a CONFIG option to deal with this automatically, printing a warning when U-Boot starts up. This can be useful if the device tree comes from another project. We will maintain this through the 2023.07 release, providing 6 months for people to notice. Signed-off-by: Simon Glass --- Changes in v4: - Add a way to support handling old u-boot,dm- tags common/board_r.c | 7 +++ drivers/core/ofnode.c | 12 dts/Kconfig | 10 ++ include/asm-generic/global_data.h | 4 scripts/Makefile.lib | 17 ++--- 5 files changed, 47 insertions(+), 3 deletions(-) diff --git a/common/board_r.c b/common/board_r.c index 3618acad437..38dc97003c3 100644 --- a/common/board_r.c +++ b/common/board_r.c @@ -569,6 +569,13 @@ static int dm_announce(void) printf("Warning: Unexpected devicetree source (not from a prior stage)"); printf("Warning: U-Boot may not function properly\n"); } + if (IS_ENABLED(CONFIG_OF_TAG_MIGRATE) && + (gd->flags & GD_FLG_OF_TAG_MIGRATE)) + /* +* U-Boot will silently fail to work after 2023.07 if +* there are old tags present +*/ + printf("Warning: Device tree includes old 'u-boot,dm-' tags: please fix by 2023.07!\n"); } return 0; diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index 3883f07812b..f49ee493d3c 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -1330,6 +1330,18 @@ bool ofnode_pre_reloc(ofnode node) ofnode_read_bool(node, "bootph-pre-sram")) return true; + if (IS_ENABLED(CONFIG_OF_TAG_MIGRATE)) { + /* detect and handle old tags */ + if (ofnode_read_bool(node, "u-boot,dm-pre-reloc") || + ofnode_read_bool(node, "u-boot,dm-pre-proper") || + ofnode_read_bool(node, "u-boot,dm-spl") || + ofnode_read_bool(node, "u-boot,dm-tpl") || + ofnode_read_bool(node, "u-boot,dm-vpl")) { + gd->flags |= GD_FLG_OF_TAG_MIGRATE; + return true; + } + } + return false; #endif } diff --git a/dts/Kconfig b/dts/Kconfig index 147344dd8af..3b7489f0f87 100644 --- a/dts/Kconfig +++ b/dts/Kconfig @@ -342,6 +342,16 @@ config SPL_MULTI_DTB_FIT_USER_DEF_ADDR at compilation time. This is the address of this area. It must be aligned on 2-byte boundary. +config OF_TAG_MIGRATE + bool "Ease migration from old device trees with u-boot,dm- tags" + default y + help + U-Boot moved over to use new tags to mark device tree nodes which need + to be processed in SPL, before relocation, etc. Enable this option to + detect old tags and handle them. + + Note: This option will be removed after the 2023.07 release. + config OF_SPL_REMOVE_PROPS string "List of device tree properties to drop for SPL" depends on SPL_OF_CONTROL diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index da17ac8cbc8..987fb66c17a 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -650,6 +650,10 @@ enum gd_flags { * @GD_FLG_FDT_CHANGED: Device tree change has been detected by tests */ GD_FLG_FDT_CHANGED = 0x10, + /** +* @GD_FLG_OF_TAG_MIGRATE: Device tree has old u-boot,dm- tags +*/ + GD_FLG_OF_TAG_MIGRATE = 0x20, }; #endif /* __ASSEMBLY__ */ diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 8f251831307..3256abad8fa 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -588,13 +588,23 @@ cmd_mkimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -d $< $@ \ # 'bootph-all' property and thus are not needed by SPL. The second # pass removes various unused properties from the remaining nodes. # The output is typically a much smaller device tree file. + +ifdef CONFIG_OF_TAG_MIGRATE +# Support the old tags for a migration period +migrate_tpl := -b u-boot,dm-pre-reloc -b u-boot,dm-tpl +migrate_vpl := -b u-boot,dm-pre-reloc -b u-boot,dm-vpl +migrate_spl := -b u-boot,dm-pre-reloc -b u-boot,dm-spl +migrate_all := -P u-boot,dm-pre-reloc \ + -P u-boot,dm-spl -P u-boot,dm-tpl -P u-boot,dm-vpl +endif + ifeq ($(CONFIG_VPL_BUILD),y) -fdtgrep_props := -b bootph-all -b bootph-verify +fdtgrep_props := -b bootph-all -b bootph-verify $(migrate_vpl) else ifeq ($(CONFIG_TPL_BUILD),y) -fdtgrep_props := -b bootph-all -b bootph-pre-sram +fdtgrep_props := -b bootph-all -b bootph-pre-sram $(migrate_tpl) else -fdtgrep_props := -b bootph-all -b bootph-pre-ram +fdtgrep_props := -b bootph-all -b bootph-pre-ram $(migrate_spl) endif endif quiet_cmd_fdtgrep = FDTGREP $@ @@ -603,6