diff mbox series

[1/2] global: Clean up arch/*/dts/Makefile

Message ID 20231117225214.2144414-1-trini@konsulko.com
State Deferred
Delegated to: Simon Glass
Headers show
Series [1/2] global: Clean up arch/*/dts/Makefile | expand

Commit Message

Tom Rini Nov. 17, 2023, 10:52 p.m. UTC
With commit 3609e1dc ("dts: automatically build necessary .dtb files")
we now have logic that will ensure that all device trees needed in the
binary are built automatically. Any device tree that the developer needs
while working can still be built normally via make arch/.../foo.dtb so
we can simply drop the rest of this logic.

Suggested-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
 arch/arc/dts/Makefile        |    8 -
 arch/arm/dts/Makefile        | 1436 +---------------------------------
 arch/m68k/dts/Makefile       |   18 -
 arch/microblaze/dts/Makefile |    2 -
 arch/mips/dts/Makefile       |   37 -
 arch/nios2/dts/Makefile      |    2 -
 arch/powerpc/dts/Makefile    |   32 -
 arch/riscv/dts/Makefile      |    9 -
 arch/sandbox/dts/Makefile    |    5 -
 arch/sh/dts/Makefile         |    2 +-
 arch/x86/dts/Makefile        |   22 -
 arch/xtensa/dts/Makefile     |    2 -
 configs/iot2050_defconfig    |    1 +
 13 files changed, 6 insertions(+), 1570 deletions(-)

Comments

Simon Glass Nov. 19, 2023, 7:09 p.m. UTC | #1
Hi Tom,

On Fri, 17 Nov 2023 at 15:52, Tom Rini <trini@konsulko.com> wrote:
>
> With commit 3609e1dc ("dts: automatically build necessary .dtb files")
> we now have logic that will ensure that all device trees needed in the
> binary are built automatically. Any device tree that the developer needs
> while working can still be built normally via make arch/.../foo.dtb so
> we can simply drop the rest of this logic.
>
> Suggested-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
>  arch/arc/dts/Makefile        |    8 -
>  arch/arm/dts/Makefile        | 1436 +---------------------------------
>  arch/m68k/dts/Makefile       |   18 -
>  arch/microblaze/dts/Makefile |    2 -
>  arch/mips/dts/Makefile       |   37 -
>  arch/nios2/dts/Makefile      |    2 -
>  arch/powerpc/dts/Makefile    |   32 -
>  arch/riscv/dts/Makefile      |    9 -
>  arch/sandbox/dts/Makefile    |    5 -
>  arch/sh/dts/Makefile         |    2 +-
>  arch/x86/dts/Makefile        |   22 -
>  arch/xtensa/dts/Makefile     |    2 -
>  configs/iot2050_defconfig    |    1 +
>  13 files changed, 6 insertions(+), 1570 deletions(-)

I can see the motivation for this, but it ends up moving us away from
driver model and devicetree, IMO. For example, rk3399 and other
rockchip boards use DT for their init so the same U-Boot can be used
for all, mostly. Ideally that is the way all boards would be, as they
are in Linux.

But here I have to manually add all the rk3399 boards to OF_LIST for
each board and enable SPL_LOAD_FIT (and SPL_FRAMEWORK but that is
fine) to make this work.

So this is teaching people to use a board.c file, to use #ifdefs for
device-specific differences, etc. It will be easier to do that than to
do the right thing.

One day I predict distros will be updating U-Boot on boards as a
matter of course, perhaps using fwupd. Having a full U-Boot build for
every single board is going to take up a lot of space and create a lot
of confusion for people trying to figure out which one to use to
update.

Could we instead reduce it down to a rule for each SoC that lists all
the DTs for that SoC? The consistent naming of these files (with the
rk3399- prefix for example) might make this easier?

With Linux right now I can build an arm64 build which supports most of
the boards...with about 990 devicetree files. Do we really want 990
U-Boot builds?

Regards,
Simon
Tom Rini Nov. 19, 2023, 8:28 p.m. UTC | #2
On Sun, Nov 19, 2023 at 12:09:07PM -0700, Simon Glass wrote:
> Hi Tom,
> 
> On Fri, 17 Nov 2023 at 15:52, Tom Rini <trini@konsulko.com> wrote:
> >
> > With commit 3609e1dc ("dts: automatically build necessary .dtb files")
> > we now have logic that will ensure that all device trees needed in the
> > binary are built automatically. Any device tree that the developer needs
> > while working can still be built normally via make arch/.../foo.dtb so
> > we can simply drop the rest of this logic.
> >
> > Suggested-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
> > Signed-off-by: Tom Rini <trini@konsulko.com>
> > ---
> >  arch/arc/dts/Makefile        |    8 -
> >  arch/arm/dts/Makefile        | 1436 +---------------------------------
> >  arch/m68k/dts/Makefile       |   18 -
> >  arch/microblaze/dts/Makefile |    2 -
> >  arch/mips/dts/Makefile       |   37 -
> >  arch/nios2/dts/Makefile      |    2 -
> >  arch/powerpc/dts/Makefile    |   32 -
> >  arch/riscv/dts/Makefile      |    9 -
> >  arch/sandbox/dts/Makefile    |    5 -
> >  arch/sh/dts/Makefile         |    2 +-
> >  arch/x86/dts/Makefile        |   22 -
> >  arch/xtensa/dts/Makefile     |    2 -
> >  configs/iot2050_defconfig    |    1 +
> >  13 files changed, 6 insertions(+), 1570 deletions(-)
> 
> I can see the motivation for this, but it ends up moving us away from
> driver model and devicetree, IMO. For example, rk3399 and other
> rockchip boards use DT for their init so the same U-Boot can be used
> for all, mostly. Ideally that is the way all boards would be, as they
> are in Linux.
> 
> But here I have to manually add all the rk3399 boards to OF_LIST for
> each board and enable SPL_LOAD_FIT (and SPL_FRAMEWORK but that is
> fine) to make this work.

How are you doing this today on N rk3399 boards if you aren't tweaking a
CONFIG option to get the correct dtb in to the final binary? That I
think is where we go back-and-forth on stuff like this. If there's
deconfigs that can support N boards, but only list a, or only a few, dtb
files in the right CONFIG variable how do you get it to run on the
others? I know you noted some Exynos platforms it's a simple concat to
make another platform work instead. But I really don't know how common
that is in theory, and even less so in practice. Picking up rk3399, you
need bl31 and op-tee and you can only get those so generic too.

And part of the issue is that with Linux, the "do board specific things"
just gets pushed down a layer, to us. We have to just know X/Y/Z at
build time so that someone else can know it at run time.
Rasmus Villemoes Nov. 19, 2023, 9:10 p.m. UTC | #3
On 19/11/2023 20.09, Simon Glass wrote:

> On Fri, 17 Nov 2023 at 15:52, Tom Rini <trini@konsulko.com> wrote:
>>
>> With commit 3609e1dc ("dts: automatically build necessary .dtb files")
>> we now have logic that will ensure that all device trees needed in the
>> binary are built automatically. Any device tree that the developer needs
>> while working can still be built normally via make arch/.../foo.dtb so
>> we can simply drop the rest of this logic.

>>  13 files changed, 6 insertions(+), 1570 deletions(-)
> 
> I can see the motivation for this, but it ends up moving us away from
> driver model and devicetree, IMO. 

No, it does not.

> For example, rk3399 and other
> rockchip boards use DT for their init so the same U-Boot can be used
> for all, mostly. 

Huh? I just took a look at a few random _defconfigs that mention various
rk3399-* as CONFIG_DEFAULT_DEVICE_TREE. And they vary _wildly_ beyond
just that DEFAULT_DEVICE_TREE, so the U-Boot binary (as in the ELF file,
before being concat'ed with a .dtb or wrapped in some container) that
comes out of those must be similarly wildly different.

> Ideally that is the way all boards would be, as they
> are in Linux.

As Tom notes, that's just not gonna happen, ever, not even within a
single SOC. Something as simple as the amount of RAM may need to be
hardcoded by _some_ stage of the boot process. (Not all, I'm sure you
can find examples of SOCs where it is possible to actually build a quite
generic u-boot binary, but how that binary is then going to figure out
which .dtb is relevant either to itself or to the kernel its job is to
load is then hard to know... something like a top-level compatible
string would still need to be hard-coded somewhere in the binary).

> But here I have to manually add all the rk3399 boards to OF_LIST for
> each board

No, why? If you want to create such a generic U-Boot, you create one
single _defconfig that has all the options needed by all the various
rk3399 variants it's supposed to support, and add all the relevant .dtbs
to that defconfig's OF_LIST.

> So this is teaching people to use a board.c file, to use #ifdefs for
> device-specific differences, etc. It will be easier to do that than to
> do the right thing.

I'm sorry, but I really don't see how that follows. All this does is
eliminate duplication in our build system. Each defconfig already lists
the dtbs it works with (/is supposed to work with), which can be a wide
or narrow range of boards; some boards have multiple defconfigs simply
because the users may choose to store U-Boot (or its environment, or...)
in nand or emmc or SPI-NOR or... Sure, some of that info could come from
a .dtb, and the .dtb could somehow be chosen at run-time or some earlier
stage be tasked with figuring it out (which just leads to an elephants
all the way down problem).

> With Linux right now I can build an arm64 build which supports most of
> the boards...with about 990 devicetree files. 

Well, the kernel can get away with a kitchen-sink defconfig build
resulting in a 40+MB kernel image plus hundreds of MB of modules on top.
And relying on an earlier stage picking the right .dtb for it. U-Boot
simply doesn't have that luxury, because U-Boot is that earlier stage.

Rasmus
Simon Glass Nov. 21, 2023, 2:16 a.m. UTC | #4
Hi Tom,

On Sun, 19 Nov 2023 at 13:28, Tom Rini <trini@konsulko.com> wrote:
>
> On Sun, Nov 19, 2023 at 12:09:07PM -0700, Simon Glass wrote:
> > Hi Tom,
> >
> > On Fri, 17 Nov 2023 at 15:52, Tom Rini <trini@konsulko.com> wrote:
> > >
> > > With commit 3609e1dc ("dts: automatically build necessary .dtb files")
> > > we now have logic that will ensure that all device trees needed in the
> > > binary are built automatically. Any device tree that the developer needs
> > > while working can still be built normally via make arch/.../foo.dtb so
> > > we can simply drop the rest of this logic.
> > >
> > > Suggested-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
> > > Signed-off-by: Tom Rini <trini@konsulko.com>
> > > ---
> > >  arch/arc/dts/Makefile        |    8 -
> > >  arch/arm/dts/Makefile        | 1436 +---------------------------------
> > >  arch/m68k/dts/Makefile       |   18 -
> > >  arch/microblaze/dts/Makefile |    2 -
> > >  arch/mips/dts/Makefile       |   37 -
> > >  arch/nios2/dts/Makefile      |    2 -
> > >  arch/powerpc/dts/Makefile    |   32 -
> > >  arch/riscv/dts/Makefile      |    9 -
> > >  arch/sandbox/dts/Makefile    |    5 -
> > >  arch/sh/dts/Makefile         |    2 +-
> > >  arch/x86/dts/Makefile        |   22 -
> > >  arch/xtensa/dts/Makefile     |    2 -
> > >  configs/iot2050_defconfig    |    1 +
> > >  13 files changed, 6 insertions(+), 1570 deletions(-)
> >
> > I can see the motivation for this, but it ends up moving us away from
> > driver model and devicetree, IMO. For example, rk3399 and other
> > rockchip boards use DT for their init so the same U-Boot can be used
> > for all, mostly. Ideally that is the way all boards would be, as they
> > are in Linux.
> >
> > But here I have to manually add all the rk3399 boards to OF_LIST for
> > each board and enable SPL_LOAD_FIT (and SPL_FRAMEWORK but that is
> > fine) to make this work.
>
> How are you doing this today on N rk3399 boards if you aren't tweaking a
> CONFIG option to get the correct dtb in to the final binary? That I
> think is where we go back-and-forth on stuff like this.

Basically without SPL_FIT_LOAD it works by stuffing the correct DT
into the final image just before it is flashed. But I do imagine in a
world where (say) TPL is different for each board but SPL, TF-A,
OP-TEE and U-Boot proper are the same for each board.

But really we need to encourage these complex SoCs to use runtime
configuration from go to whoa. Where DT cannot be used (e.g. TPL) we
can do the Zephyr trick or perhaps create a little SoC-specific config
block which is provided separately and tacked onto the generic TPL
image. Having said that, TPL images are small, so the impact of having
one per board is not great.

> If there's
> deconfigs that can support N boards, but only list a, or only a few, dtb
> files in the right CONFIG variable how do you get it to run on the
> others? I know you noted some Exynos platforms it's a simple concat to
> make another platform work instead. But I really don't know how common
> that is in theory, and even less so in practice. Picking up rk3399, you
> need bl31 and op-tee and you can only get those so generic too.

I understand that they are 100% generic for rk3399. E.g. for TF-A you
use PLAT=rk3399 and that is that.

>
> And part of the issue is that with Linux, the "do board specific things"
> just gets pushed down a layer, to us. We have to just know X/Y/Z at
> build time so that someone else can know it at run time.

Sure, and naturally that gets pushed down from U-Boot proper (which I
think is becoming quite generic) to SPL, TPL, etc.

If it would help, I could try out (say) rockpro64-rk3399 and
firefly-rk3399 to show how this works?

I know it is tempting to build everything individually, but it won't
be nice. Binman knows what is needed for each board and can be used
(one day) to create update files for an SoC without duplication. As
soon as you give up on the commonality, everything just explodes in
size, complexity and user confusion.

Regards,
Simon
Tom Rini Nov. 21, 2023, 2:03 p.m. UTC | #5
On Mon, Nov 20, 2023 at 07:16:12PM -0700, Simon Glass wrote:
> Hi Tom,
> 
> On Sun, 19 Nov 2023 at 13:28, Tom Rini <trini@konsulko.com> wrote:
> >
> > On Sun, Nov 19, 2023 at 12:09:07PM -0700, Simon Glass wrote:
> > > Hi Tom,
> > >
> > > On Fri, 17 Nov 2023 at 15:52, Tom Rini <trini@konsulko.com> wrote:
> > > >
> > > > With commit 3609e1dc ("dts: automatically build necessary .dtb files")
> > > > we now have logic that will ensure that all device trees needed in the
> > > > binary are built automatically. Any device tree that the developer needs
> > > > while working can still be built normally via make arch/.../foo.dtb so
> > > > we can simply drop the rest of this logic.
> > > >
> > > > Suggested-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
> > > > Signed-off-by: Tom Rini <trini@konsulko.com>
> > > > ---
> > > >  arch/arc/dts/Makefile        |    8 -
> > > >  arch/arm/dts/Makefile        | 1436 +---------------------------------
> > > >  arch/m68k/dts/Makefile       |   18 -
> > > >  arch/microblaze/dts/Makefile |    2 -
> > > >  arch/mips/dts/Makefile       |   37 -
> > > >  arch/nios2/dts/Makefile      |    2 -
> > > >  arch/powerpc/dts/Makefile    |   32 -
> > > >  arch/riscv/dts/Makefile      |    9 -
> > > >  arch/sandbox/dts/Makefile    |    5 -
> > > >  arch/sh/dts/Makefile         |    2 +-
> > > >  arch/x86/dts/Makefile        |   22 -
> > > >  arch/xtensa/dts/Makefile     |    2 -
> > > >  configs/iot2050_defconfig    |    1 +
> > > >  13 files changed, 6 insertions(+), 1570 deletions(-)
> > >
> > > I can see the motivation for this, but it ends up moving us away from
> > > driver model and devicetree, IMO. For example, rk3399 and other
> > > rockchip boards use DT for their init so the same U-Boot can be used
> > > for all, mostly. Ideally that is the way all boards would be, as they
> > > are in Linux.
> > >
> > > But here I have to manually add all the rk3399 boards to OF_LIST for
> > > each board and enable SPL_LOAD_FIT (and SPL_FRAMEWORK but that is
> > > fine) to make this work.
> >
> > How are you doing this today on N rk3399 boards if you aren't tweaking a
> > CONFIG option to get the correct dtb in to the final binary? That I
> > think is where we go back-and-forth on stuff like this.
> 
> Basically without SPL_FIT_LOAD it works by stuffing the correct DT
> into the final image just before it is flashed. But I do imagine in a
> world where (say) TPL is different for each board but SPL, TF-A,
> OP-TEE and U-Boot proper are the same for each board.
> 
> But really we need to encourage these complex SoCs to use runtime
> configuration from go to whoa. Where DT cannot be used (e.g. TPL) we
> can do the Zephyr trick or perhaps create a little SoC-specific config
> block which is provided separately and tacked onto the generic TPL
> image. Having said that, TPL images are small, so the impact of having
> one per board is not great.
> 
> > If there's
> > deconfigs that can support N boards, but only list a, or only a few, dtb
> > files in the right CONFIG variable how do you get it to run on the
> > others? I know you noted some Exynos platforms it's a simple concat to
> > make another platform work instead. But I really don't know how common
> > that is in theory, and even less so in practice. Picking up rk3399, you
> > need bl31 and op-tee and you can only get those so generic too.
> 
> I understand that they are 100% generic for rk3399. E.g. for TF-A you
> use PLAT=rk3399 and that is that.
> 
> >
> > And part of the issue is that with Linux, the "do board specific things"
> > just gets pushed down a layer, to us. We have to just know X/Y/Z at
> > build time so that someone else can know it at run time.
> 
> Sure, and naturally that gets pushed down from U-Boot proper (which I
> think is becoming quite generic) to SPL, TPL, etc.
> 
> If it would help, I could try out (say) rockpro64-rk3399 and
> firefly-rk3399 to show how this works?
> 
> I know it is tempting to build everything individually, but it won't
> be nice. Binman knows what is needed for each board and can be used
> (one day) to create update files for an SoC without duplication. As
> soon as you give up on the commonality, everything just explodes in
> size, complexity and user confusion.

I guess with all of what you said I still don't understand why we need
the sometimes wrong and not really used lists of dtb files in
arch/*/dts/Makefile. A rockpro64-rk3399-tpl-only_defconfig still needs
to say CONFIG_DEFAULT_DEVICETREE="rk3399-rockpro64" so that you build
the tree so that it's available to binman. We have configs today that
build and support N boards, and so use SPL_LOAD_FIT and are as generic
as they can be. The only thing that this patch here changes is that
you're relying on an implicit CONFIG symbol to list whatever device
trees you want to be built and this patch says that you need to use one
of the explicit CONFIG symbols instead.

If you want to try and demonstrate a more generic way of doing things,
sunxi is probably the best bet for that because there's no TARGET
configs there, everything is SoC + device tree. But it's not making any
use of the lists that get removed here.
Simon Glass Nov. 21, 2023, 10:11 p.m. UTC | #6
Hi Tom,

On Tue, 21 Nov 2023 at 07:03, Tom Rini <trini@konsulko.com> wrote:
>
> On Mon, Nov 20, 2023 at 07:16:12PM -0700, Simon Glass wrote:
> > Hi Tom,
> >
> > On Sun, 19 Nov 2023 at 13:28, Tom Rini <trini@konsulko.com> wrote:
> > >
> > > On Sun, Nov 19, 2023 at 12:09:07PM -0700, Simon Glass wrote:
> > > > Hi Tom,
> > > >
> > > > On Fri, 17 Nov 2023 at 15:52, Tom Rini <trini@konsulko.com> wrote:
> > > > >
> > > > > With commit 3609e1dc ("dts: automatically build necessary .dtb files")
> > > > > we now have logic that will ensure that all device trees needed in the
> > > > > binary are built automatically. Any device tree that the developer needs
> > > > > while working can still be built normally via make arch/.../foo.dtb so
> > > > > we can simply drop the rest of this logic.
> > > > >
> > > > > Suggested-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
> > > > > Signed-off-by: Tom Rini <trini@konsulko.com>
> > > > > ---
> > > > >  arch/arc/dts/Makefile        |    8 -
> > > > >  arch/arm/dts/Makefile        | 1436 +---------------------------------
> > > > >  arch/m68k/dts/Makefile       |   18 -
> > > > >  arch/microblaze/dts/Makefile |    2 -
> > > > >  arch/mips/dts/Makefile       |   37 -
> > > > >  arch/nios2/dts/Makefile      |    2 -
> > > > >  arch/powerpc/dts/Makefile    |   32 -
> > > > >  arch/riscv/dts/Makefile      |    9 -
> > > > >  arch/sandbox/dts/Makefile    |    5 -
> > > > >  arch/sh/dts/Makefile         |    2 +-
> > > > >  arch/x86/dts/Makefile        |   22 -
> > > > >  arch/xtensa/dts/Makefile     |    2 -
> > > > >  configs/iot2050_defconfig    |    1 +
> > > > >  13 files changed, 6 insertions(+), 1570 deletions(-)
> > > >
> > > > I can see the motivation for this, but it ends up moving us away from
> > > > driver model and devicetree, IMO. For example, rk3399 and other
> > > > rockchip boards use DT for their init so the same U-Boot can be used
> > > > for all, mostly. Ideally that is the way all boards would be, as they
> > > > are in Linux.
> > > >
> > > > But here I have to manually add all the rk3399 boards to OF_LIST for
> > > > each board and enable SPL_LOAD_FIT (and SPL_FRAMEWORK but that is
> > > > fine) to make this work.
> > >
> > > How are you doing this today on N rk3399 boards if you aren't tweaking a
> > > CONFIG option to get the correct dtb in to the final binary? That I
> > > think is where we go back-and-forth on stuff like this.
> >
> > Basically without SPL_FIT_LOAD it works by stuffing the correct DT
> > into the final image just before it is flashed. But I do imagine in a
> > world where (say) TPL is different for each board but SPL, TF-A,
> > OP-TEE and U-Boot proper are the same for each board.
> >
> > But really we need to encourage these complex SoCs to use runtime
> > configuration from go to whoa. Where DT cannot be used (e.g. TPL) we
> > can do the Zephyr trick or perhaps create a little SoC-specific config
> > block which is provided separately and tacked onto the generic TPL
> > image. Having said that, TPL images are small, so the impact of having
> > one per board is not great.
> >
> > > If there's
> > > deconfigs that can support N boards, but only list a, or only a few, dtb
> > > files in the right CONFIG variable how do you get it to run on the
> > > others? I know you noted some Exynos platforms it's a simple concat to
> > > make another platform work instead. But I really don't know how common
> > > that is in theory, and even less so in practice. Picking up rk3399, you
> > > need bl31 and op-tee and you can only get those so generic too.
> >
> > I understand that they are 100% generic for rk3399. E.g. for TF-A you
> > use PLAT=rk3399 and that is that.
> >
> > >
> > > And part of the issue is that with Linux, the "do board specific things"
> > > just gets pushed down a layer, to us. We have to just know X/Y/Z at
> > > build time so that someone else can know it at run time.
> >
> > Sure, and naturally that gets pushed down from U-Boot proper (which I
> > think is becoming quite generic) to SPL, TPL, etc.
> >
> > If it would help, I could try out (say) rockpro64-rk3399 and
> > firefly-rk3399 to show how this works?
> >
> > I know it is tempting to build everything individually, but it won't
> > be nice. Binman knows what is needed for each board and can be used
> > (one day) to create update files for an SoC without duplication. As
> > soon as you give up on the commonality, everything just explodes in
> > size, complexity and user confusion.
>
> I guess with all of what you said I still don't understand why we need
> the sometimes wrong and not really used lists of dtb files in
> arch/*/dts/Makefile. A rockpro64-rk3399-tpl-only_defconfig still needs
> to say CONFIG_DEFAULT_DEVICETREE="rk3399-rockpro64" so that you build
> the tree so that it's available to binman. We have configs today that
> build and support N boards, and so use SPL_LOAD_FIT and are as generic
> as they can be. The only thing that this patch here changes is that
> you're relying on an implicit CONFIG symbol to list whatever device
> trees you want to be built and this patch says that you need to use one
> of the explicit CONFIG symbols instead.

It's really just that this patch is making this very hard.

For example, all ROCKCHIP_RK3399 (should be ARCH_ROCKCHIP_RK3399?)
should boot with just a DT change. We should be setting that as the
standard, just as is done in Linux.

By splitting everything out into individual targets, there really is
no chance that people will do the right thing, here.

>
> If you want to try and demonstrate a more generic way of doing things,
> sunxi is probably the best bet for that because there's no TARGET
> configs there, everything is SoC + device tree. But it's not making any
> use of the lists that get removed here.

There is lots of ridiculous stuff in arch/arm/dts/Makefile - it is a
real mess and I agree we should clean it up. I have not done a good
job of reviewing it and I don't think people understand devicetree
very well in firmware. I could take that on if that is what is needed
here.

Looking at Linux arm32 now it has a subdir for each arch and inside
that it has only ARCH (e.g. for rockchip) or MACH (for sunxi) or SOC
(for some reason, microchip). For U-Boot we don't have a separate
arm64 dir so would need to think about that, too.

OK I will take a look at sunxi and see what can be done there. There
is an active maintainer there, which helps.

Regards,
Simon
diff mbox series

Patch

diff --git a/arch/arc/dts/Makefile b/arch/arc/dts/Makefile
index 532a8131c599..a71db58d48a9 100644
--- a/arch/arc/dts/Makefile
+++ b/arch/arc/dts/Makefile
@@ -1,13 +1,5 @@ 
 # SPDX-License-Identifier: GPL-2.0+
 
-dtb-$(CONFIG_TARGET_AXS101) +=  axs101.dtb
-dtb-$(CONFIG_TARGET_AXS103) +=  axs103.dtb
-dtb-$(CONFIG_TARGET_NSIM) +=  nsim.dtb
-dtb-$(CONFIG_TARGET_TB100) +=  abilis_tb100.dtb
-dtb-$(CONFIG_TARGET_EMSDP) +=  emsdp.dtb
-dtb-$(CONFIG_TARGET_HSDK) +=  hsdk.dtb hsdk-4xd.dtb
-dtb-$(CONFIG_TARGET_IOT_DEVKIT) +=  iot_devkit.dtb
-
 include $(srctree)/scripts/Makefile.dts
 
 targets += $(dtb-y)
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index e0a0d430dab8..a8eb6a156eb1 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -1,424 +1,11 @@ 
 # SPDX-License-Identifier: GPL-2.0+
 
-dtb-$(CONFIG_TARGET_SMARTWEB) += at91sam9260-smartweb.dtb
-dtb-$(CONFIG_TARGET_TAURUS) += at91sam9g20-taurus.dtb
-dtb-$(CONFIG_TARGET_CORVUS) += at91sam9g45-corvus.dtb
-dtb-$(CONFIG_TARGET_GURNARD) += at91sam9g45-gurnard.dtb
-
-dtb-$(CONFIG_TARGET_SMDKC100) += s5pc1xx-smdkc100.dtb
-dtb-$(CONFIG_TARGET_S5P_GONI) += s5pc1xx-goni.dtb
-dtb-$(CONFIG_ARCH_EXYNOS4) += exynos4210-origen.dtb \
-	exynos4210-smdkv310.dtb \
-	exynos4210-universal_c210.dtb \
-	exynos4210-trats.dtb \
-	exynos4412-trats2.dtb \
-	exynos4412-odroid.dtb
-
-dtb-$(CONFIG_TARGET_HIKEY) += hi6220-hikey.dtb
-dtb-$(CONFIG_TARGET_HIKEY960) += hi3660-hikey960.dtb
-
-dtb-$(CONFIG_TARGET_POPLAR) += hi3798cv200-poplar.dtb
-
-dtb-$(CONFIG_ARCH_EXYNOS5) += exynos5250-arndale.dtb \
-	exynos5250-snow.dtb \
-	exynos5250-spring.dtb \
-	exynos5250-smdk5250.dtb \
-	exynos5420-smdk5420.dtb \
-	exynos5420-peach-pit.dtb \
-	exynos5800-peach-pi.dtb \
-	exynos5422-odroidxu3.dtb
-dtb-$(CONFIG_EXYNOS7420) += exynos7420-espresso7420.dtb
-dtb-$(CONFIG_TARGET_A5Y17LTE) += exynos78x0-axy17lte.dtb
-dtb-$(CONFIG_TARGET_A3Y17LTE) += exynos78x0-axy17lte.dtb
-dtb-$(CONFIG_TARGET_A7Y17LTE) += exynos78x0-axy17lte.dtb
-
-dtb-$(CONFIG_ARCH_APPLE) += \
-	t8103-j274.dtb \
-	t8103-j293.dtb \
-	t8103-j313.dtb \
-	t8103-j456.dtb \
-	t8103-j457.dtb
-
-dtb-$(CONFIG_ARCH_DAVINCI) += \
-	da850-evm.dtb \
-	da850-lcdk.dtb \
-	da850-lego-ev3.dtb
-
-dtb-$(CONFIG_ARCH_KIRKWOOD) += \
-	kirkwood-atl-sbx81lifkw.dtb \
-	kirkwood-atl-sbx81lifxcat.dtb \
-	kirkwood-blackarmor-nas220.dtb \
-	kirkwood-d2net.dtb \
-	kirkwood-dns325.dtb \
-	kirkwood-dockstar.dtb \
-	kirkwood-dreamplug.dtb \
-	kirkwood-ds109.dtb \
-	kirkwood-goflexnet.dtb \
-	kirkwood-guruplug-server-plus.dtb \
-	kirkwood-ib62x0.dtb \
-	kirkwood-iconnect.dtb \
-	kirkwood-is2.dtb \
-	kirkwood-lsxhl.dtb \
-	kirkwood-lschlv2.dtb \
-	kirkwood-net2big.dtb \
-	kirkwood-ns2.dtb \
-	kirkwood-ns2lite.dtb \
-	kirkwood-ns2max.dtb \
-	kirkwood-ns2mini.dtb \
-	kirkwood-nsa310s.dtb \
-	kirkwood-nsa325.dtb \
-	kirkwood-openrd-base.dtb \
-	kirkwood-openrd-client.dtb \
-	kirkwood-openrd-ultimate.dtb \
-	kirkwood-pogo_e02.dtb \
-	kirkwood-pogoplug-series-4.dtb \
-	kirkwood-sheevaplug.dtb
-
-dtb-$(CONFIG_MACH_S900) += \
-	bubblegum_96.dtb
-dtb-$(CONFIG_MACH_S700) += \
-	s700-cubieboard7.dtb
-
-dtb-$(CONFIG_ROCKCHIP_PX30) += \
-	px30-evb.dtb \
-	px30-firefly.dtb \
-	px30-engicam-px30-core-ctouch2.dtb \
-	px30-engicam-px30-core-ctouch2-of10.dtb \
-	px30-engicam-px30-core-edimm2.2.dtb \
-	rk3326-odroid-go2.dtb
-
-dtb-$(CONFIG_ROCKCHIP_RK3036) += \
-	rk3036-sdk.dtb
-
-dtb-$(CONFIG_ROCKCHIP_RK3066) += \
-	rk3066a-mk808.dtb
-
-dtb-$(CONFIG_ROCKCHIP_RK3128) += \
-	rk3128-evb.dtb
-
-dtb-$(CONFIG_ROCKCHIP_RK3188) += \
-	rk3188-radxarock.dtb
-
-dtb-$(CONFIG_ROCKCHIP_RK322X) += \
-	rk3229-evb.dtb
-
-dtb-$(CONFIG_ROCKCHIP_RK3288) += \
-	rk3288-evb.dtb \
-	rk3288-firefly.dtb \
-	rk3288-miqi.dtb \
-	rk3288-phycore-rdk.dtb \
-	rk3288-popmetal.dtb \
-	rk3288-rock2-square.dtb \
-	rk3288-rock-pi-n8.dtb \
-	rk3288-tinker.dtb \
-	rk3288-tinker-s.dtb \
-	rk3288-veyron-jerry.dtb \
-	rk3288-veyron-mickey.dtb \
-	rk3288-veyron-minnie.dtb \
-	rk3288-veyron-speedy.dtb \
-	rk3288-vyasa.dtb
-
-dtb-$(CONFIG_ROCKCHIP_RK3308) += \
-	rk3308-evb.dtb \
-	rk3308-roc-cc.dtb \
-	rk3308-rock-pi-s.dtb
-
-dtb-$(CONFIG_ROCKCHIP_RK3328) += \
-	rk3328-evb.dtb \
-	rk3328-nanopi-r2c.dtb \
-	rk3328-nanopi-r2s.dtb \
-	rk3328-orangepi-r1-plus.dtb \
-	rk3328-orangepi-r1-plus-lts.dtb \
-	rk3328-roc-cc.dtb \
-	rk3328-rock64.dtb \
-	rk3328-rock-pi-e.dtb
-
-dtb-$(CONFIG_ROCKCHIP_RK3368) += \
-	rk3368-lion-haikou.dtb \
-	rk3368-sheep.dtb \
-	rk3368-geekbox.dtb \
-	rk3368-px5-evb.dtb \
-
-dtb-$(CONFIG_ROCKCHIP_RK3399) += \
-	rk3399-evb.dtb \
-	rk3399-eaidk-610.dtb \
-	rk3399-ficus.dtb \
-	rk3399-firefly.dtb \
-	rk3399-gru-bob.dtb \
-	rk3399-gru-kevin.dtb \
-	rk3399-khadas-edge.dtb \
-	rk3399-khadas-edge-captain.dtb \
-	rk3399-khadas-edge-v.dtb \
-	rk3399-leez-p710.dtb \
-	rk3399-nanopc-t4.dtb \
-	rk3399-nanopi-m4.dtb \
-	rk3399-nanopi-m4-2gb.dtb \
-	rk3399-nanopi-m4b.dtb \
-	rk3399-nanopi-neo4.dtb \
-	rk3399-nanopi-r4s.dtb \
-	rk3399-orangepi.dtb \
-	rk3399-pinebook-pro.dtb \
-	rk3399-pinephone-pro.dtb \
-	rk3399-puma-haikou.dtb \
-	rk3399-roc-pc.dtb \
-	rk3399-roc-pc-mezzanine.dtb \
-	rk3399-rock-4c-plus.dtb \
-	rk3399-rock-4se.dtb \
-	rk3399-rock-pi-4a.dtb \
-	rk3399-rock-pi-4c.dtb \
-	rk3399-rock960.dtb \
-	rk3399-rockpro64.dtb \
-	rk3399pro-rock-pi-n10.dtb
-
-dtb-$(CONFIG_ROCKCHIP_RK3568) += \
-	rk3566-anbernic-rgxx3.dtb \
-	rk3566-quartz64-a.dtb \
-	rk3566-quartz64-b.dtb \
-	rk3566-radxa-cm3-io.dtb \
-	rk3566-soquartz-blade.dtb \
-	rk3566-soquartz-cm4.dtb \
-	rk3566-soquartz-model-a.dtb \
-	rk3568-bpi-r2-pro.dtb \
-	rk3568-evb.dtb \
-	rk3568-lubancat-2.dtb \
-	rk3568-nanopi-r5c.dtb \
-	rk3568-nanopi-r5s.dtb \
-	rk3568-odroid-m1.dtb \
-	rk3568-radxa-e25.dtb \
-	rk3568-rock-3a.dtb
-
-dtb-$(CONFIG_ROCKCHIP_RK3588) += \
-	rk3588-edgeble-neu6a-io.dtb \
-	rk3588-edgeble-neu6b-io.dtb \
-	rk3588-evb1-v10.dtb \
-	rk3588-nanopc-t6.dtb \
-	rk3588s-orangepi-5.dtb \
-	rk3588-orangepi-5-plus.dtb \
-	rk3588s-rock-5a.dtb \
-	rk3588-rock-5b.dtb
-
-dtb-$(CONFIG_ROCKCHIP_RV1108) += \
-	rv1108-elgin-r1.dtb \
-	rv1108-evb.dtb
-
-dtb-$(CONFIG_ROCKCHIP_RV1126) += \
-	rv1126-edgeble-neu2-io.dtb
-
-dtb-$(CONFIG_ARCH_S5P4418) += \
-	s5p4418-nanopi2.dtb
-
-dtb-$(CONFIG_ARCH_MESON) += \
-	meson-a1-ad401.dtb \
-	meson-axg-s400.dtb \
-	meson-axg-jethome-jethub-j100.dtb \
-	meson-gxbb-kii-pro.dtb \
-	meson-gxbb-nanopi-k2.dtb \
-	meson-gxbb-odroidc2.dtb \
-	meson-gxbb-nanopi-k2.dtb \
-	meson-gxbb-p200.dtb \
-	meson-gxbb-p201.dtb \
-	meson-gxbb-wetek-hub.dtb \
-	meson-gxbb-wetek-play2.dtb \
-	meson-gxl-s805x-libretech-ac.dtb \
-	meson-gxl-s905d-libretech-pc.dtb \
-	meson-gxl-s905w-jethome-jethub-j80.dtb \
-	meson-gxl-s905x-khadas-vim.dtb \
-	meson-gxl-s905x-libretech-cc.dtb \
-	meson-gxl-s905x-libretech-cc-v2.dtb \
-	meson-gxl-s905x-p212.dtb \
-	meson-gxm-gt1-ultimate.dtb \
-	meson-gxm-khadas-vim2.dtb \
-	meson-gxm-s912-libretech-pc.dtb \
-	meson-gxm-wetek-core2.dtb \
-	meson-g12a-radxa-zero.dtb \
-	meson-g12a-sei510.dtb \
-	meson-g12a-u200.dtb \
-	meson-g12b-a311d-bananapi-m2s.dtb \
-	meson-g12b-a311d-khadas-vim3.dtb \
-	meson-g12b-bananapi-cm4-cm4io.dtb \
-	meson-g12b-gsking-x.dtb \
-	meson-g12b-gtking.dtb \
-	meson-g12b-gtking-pro.dtb \
-	meson-g12b-odroid-go-ultra.dtb \
-	meson-g12b-odroid-n2.dtb \
-	meson-g12b-odroid-n2l.dtb \
-	meson-g12b-odroid-n2-plus.dtb \
-	meson-g12b-radxa-zero2.dtb \
-	meson-sm1-bananapi-m2-pro.dtb \
-	meson-sm1-bananapi-m5.dtb \
-	meson-sm1-khadas-vim3l.dtb \
-	meson-sm1-odroid-c4.dtb \
-	meson-sm1-odroid-hc4.dtb \
-	meson-sm1-sei610.dtb
-dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
-	tegra20-medcom-wide.dtb \
-	tegra20-paz00.dtb \
-	tegra20-plutux.dtb \
-	tegra20-seaboard.dtb \
-	tegra20-tec.dtb \
-	tegra20-trimslice.dtb \
-	tegra20-ventana.dtb \
-	tegra20-colibri.dtb \
-	tegra30-apalis.dtb \
-	tegra30-asus-nexus7-grouper-PM269.dtb \
-	tegra30-asus-nexus7-grouper-E1565.dtb \
-	tegra30-asus-nexus7-tilapia-E1565.dtb \
-	tegra30-asus-p1801-t.dtb \
-	tegra30-asus-tf201.dtb \
-	tegra30-asus-tf300t.dtb \
-	tegra30-asus-tf300tg.dtb \
-	tegra30-asus-tf300tl.dtb \
-	tegra30-asus-tf600t.dtb \
-	tegra30-asus-tf700t.dtb \
-	tegra30-beaver.dtb \
-	tegra30-cardhu.dtb \
-	tegra30-colibri.dtb \
-	tegra30-htc-endeavoru.dtb \
-	tegra30-lg-p880.dtb \
-	tegra30-lg-p895.dtb \
-	tegra30-tec-ng.dtb \
-	tegra114-dalmore.dtb \
-	tegra124-apalis.dtb \
-	tegra124-jetson-tk1.dtb \
-	tegra124-nyan-big.dtb \
-	tegra124-cei-tk1-som.dtb \
-	tegra124-venice2.dtb \
-	tegra186-p2771-0000-000.dtb \
-	tegra186-p2771-0000-500.dtb \
-	tegra210-p2371-0000.dtb \
-	tegra210-p2371-2180.dtb \
-	tegra210-p2571.dtb \
-	tegra210-p3450-0000.dtb
-
-ifdef CONFIG_ARMADA_32BIT
-ifdef CONFIG_ARMADA_375
-dtb-$(CONFIG_ARCH_MVEBU) +=			\
-	armada-375-db.dtb
-else
-dtb-$(CONFIG_ARCH_MVEBU) +=			\
-	armada-385-atl-x530.dtb			\
-	armada-385-atl-x530DP.dtb		\
-	armada-385-db-88f6820-amc.dtb		\
-	armada-385-synology-ds116.dtb		\
-	armada-385-thecus-n2350.dtb		\
-	armada-385-turris-omnia.dtb		\
-	armada-388-clearfog.dtb			\
-	armada-388-gp.dtb			\
-	armada-388-helios4.dtb			\
-	armada-38x-controlcenterdc.dtb		\
-	armada-xp-crs305-1g-4s.dtb		\
-	armada-xp-crs305-1g-4s-bit.dtb		\
-	armada-xp-crs326-24g-2s.dtb		\
-	armada-xp-crs326-24g-2s-bit.dtb		\
-	armada-xp-crs328-4c-20s-4s.dtb		\
-	armada-xp-crs328-4c-20s-4s-bit.dtb	\
-	armada-xp-db-xc3-24g4xg.dtb		\
-	armada-xp-gp.dtb			\
-	armada-xp-maxbcm.dtb			\
-	armada-xp-synology-ds414.dtb		\
-	armada-xp-theadorable.dtb
-endif
-else
-dtb-$(CONFIG_ARCH_MVEBU) +=			\
-	armada-3720-db.dtb			\
-	armada-3720-espressobin.dtb		\
-	armada-3720-ripe-atlas.dtb		\
-	armada-3720-turris-mox.dtb		\
-	armada-3720-eDPU.dtb			\
-	armada-3720-uDPU.dtb			\
-	armada-7040-db-nand.dtb			\
-	armada-7040-db.dtb			\
-	armada-8040-clearfog-gt-8k.dtb		\
-	armada-8040-db.dtb			\
-	armada-8040-mcbin.dtb			\
-	armada-8040-puzzle-m801.dtb		\
-	cn9130-db-A.dtb				\
-	cn9130-db-B.dtb				\
-	cn9131-db-A.dtb				\
-	cn9131-db-B.dtb				\
-	cn9132-db-A.dtb				\
-	cn9132-db-B.dtb				\
-	cn9130-crb-A.dtb			\
-	cn9130-crb-B.dtb			\
-	ac5-98dx35xx-rd.dtb			\
-	ac5-98dx35xx-atl-x240.dtb
-endif
-
-dtb-$(CONFIG_ARCH_SYNQUACER) += synquacer-sc2a11-developerbox.dtb
-dtb-$(CONFIG_ARCH_UNIPHIER_LD11) += \
-	uniphier-ld11-global.dtb \
-	uniphier-ld11-ref.dtb
-dtb-$(CONFIG_ARCH_UNIPHIER_LD20) += \
-	uniphier-ld20-akebi96.dtb \
-	uniphier-ld20-global.dtb \
-	uniphier-ld20-ref.dtb
-dtb-$(CONFIG_ARCH_UNIPHIER_LD4) += \
-	uniphier-ld4-ref.dtb
-dtb-$(CONFIG_ARCH_UNIPHIER_LD6B) += \
-	uniphier-ld6b-ref.dtb
-dtb-$(CONFIG_ARCH_UNIPHIER_PRO4) += \
-	uniphier-pro4-ace.dtb \
-	uniphier-pro4-ref.dtb \
-	uniphier-pro4-sanji.dtb
-dtb-$(CONFIG_ARCH_UNIPHIER_PRO5) += \
-	uniphier-pro5-4kbox.dtb
-dtb-$(CONFIG_ARCH_UNIPHIER_PXS2) += \
-	uniphier-pxs2-gentil.dtb \
-	uniphier-pxs2-vodka.dtb
-dtb-$(CONFIG_ARCH_UNIPHIER_PXS3) += \
-	uniphier-pxs3-ref.dtb
-dtb-$(CONFIG_ARCH_UNIPHIER_SLD8) += \
-	uniphier-sld8-ref.dtb
-
-dtb-$(CONFIG_ARCH_ZYNQ) += \
-	bitmain-antminer-s9.dtb \
-	zynq-cc108.dtb \
-	zynq-cse-nand.dtb \
-	zynq-cse-nor.dtb \
-	zynq-cse-qspi-single.dtb \
-	zynq-dlc20-rev1.0.dtb \
-	zynq-microzed.dtb \
-	zynq-minized.dtb \
-	zynq-picozed.dtb \
-	zynq-syzygy-hub.dtb \
-	zynq-topic-miami.dtb \
-	zynq-topic-miamilite.dtb \
-	zynq-topic-miamiplus.dtb \
-	zynq-zc702.dtb \
-	zynq-zc706.dtb \
-	zynq-zc770-xm010.dtb \
-	zynq-zc770-xm011.dtb \
-	zynq-zc770-xm011-x16.dtb \
-	zynq-zc770-xm012.dtb \
-	zynq-zc770-xm013.dtb \
-	zynq-zed.dtb \
-	zynq-zturn.dtb \
-	zynq-zturn-v5.dtb \
-	zynq-zybo.dtb \
-	zynq-zybo-z7.dtb
 dtb-$(CONFIG_ARCH_ZYNQMP) += \
-	avnet-ultra96-rev1.dtb			\
-	zynqmp-a2197-revA.dtb			\
-	zynqmp-dlc21-revA.dtb			\
-	zynqmp-e-a2197-00-revA.dtb		\
-	zynqmp-e-a2197-00-revB.dtb		\
-	zynqmp-g-a2197-00-revA.dtb		\
-	zynqmp-m-a2197-01-revA.dtb		\
-	zynqmp-m-a2197-02-revA.dtb		\
-	zynqmp-m-a2197-03-revA.dtb		\
-	zynqmp-p-a2197-00-revA.dtb		\
 	zynqmp-p-a2197-00-revA-x-prc-01-revA.dtbo	\
 	zynqmp-p-a2197-00-revA-x-prc-02-revA.dtbo	\
 	zynqmp-p-a2197-00-revA-x-prc-03-revA.dtbo	\
 	zynqmp-p-a2197-00-revA-x-prc-04-revA.dtbo	\
 	zynqmp-p-a2197-00-revA-x-prc-05-revA.dtbo	\
-	zynqmp-mini.dtb				\
-	zynqmp-mini-emmc0.dtb			\
-	zynqmp-mini-emmc1.dtb			\
-	zynqmp-mini-nand.dtb			\
-	zynqmp-mini-qspi.dtb			\
-	zynqmp-sc-revB.dtb			\
-	zynqmp-sc-revC.dtb			\
 	zynqmp-sc-vek280-revA.dtbo		\
 	zynqmp-sc-vek280-revB.dtbo		\
 	zynqmp-sc-vhk158-revA.dtbo		\
@@ -426,1028 +13,24 @@  dtb-$(CONFIG_ARCH_ZYNQMP) += \
 	zynqmp-sc-vpk180-revA.dtbo		\
 	zynqmp-sc-vpk180-revB.dtbo		\
 	zynqmp-sc-vn-p-b2197-00-revA.dtbo	\
-	zynqmp-sm-k24-revA.dtb			\
-	zynqmp-smk-k24-revA.dtb			\
-	zynqmp-sm-k26-revA.dtb			\
-	zynqmp-smk-k26-revA.dtb			\
 	zynqmp-sck-kd-g-revA.dtbo		\
 	zynqmp-sck-kr-g-revA.dtbo		\
 	zynqmp-sck-kr-g-revB.dtbo		\
 	zynqmp-sck-kv-g-revA.dtbo		\
-	zynqmp-sck-kv-g-revB.dtbo		\
-	zynqmp-topic-miamimp-xilinx-xdp-v1r1.dtb	\
-	zynqmp-vpk120-revA.dtb			\
-	zynqmp-vp-x-a2785-00-revA.dtb		\
-	zynqmp-zcu100-revC.dtb			\
-	zynqmp-zcu102-revA.dtb			\
-	zynqmp-zcu102-revB.dtb			\
-	zynqmp-zcu102-rev1.0.dtb		\
-	zynqmp-zcu102-rev1.1.dtb		\
-	zynqmp-zcu104-revA.dtb			\
-	zynqmp-zcu104-revC.dtb			\
-	zynqmp-zcu106-revA.dtb			\
-	zynqmp-zcu106-rev1.0.dtb		\
-	zynqmp-zcu111-revA.dtb			\
-	zynqmp-zcu1275-revA.dtb			\
-	zynqmp-zcu1275-revB.dtb			\
-	zynqmp-zcu1285-revA.dtb			\
-	zynqmp-zcu208-revA.dtb			\
-	zynqmp-zcu216-revA.dtb			\
-	zynqmp-zcu670-revA.dtb			\
-	zynqmp-zcu670-revB.dtb			\
-	zynqmp-zc1232-revA.dtb			\
-	zynqmp-zc1254-revA.dtb			\
-	zynqmp-zc1751-xm015-dc1.dtb		\
-	zynqmp-zc1751-xm016-dc2.dtb		\
-	zynqmp-zc1751-xm017-dc3.dtb		\
-	zynqmp-zc1751-xm018-dc4.dtb		\
-	zynqmp-zc1751-xm019-dc5.dtb
-dtb-$(CONFIG_ARCH_VERSAL) += \
-	versal-mini.dtb \
-	versal-mini-emmc0.dtb \
-	versal-mini-emmc1.dtb \
-	versal-mini-ospi-single.dtb \
-	versal-mini-qspi-single.dtb \
-	xilinx-versal-virt.dtb
-dtb-$(CONFIG_ARCH_VERSAL_NET) += \
-	versal-net-mini.dtb \
-	versal-net-mini-emmc.dtb \
-	versal-net-mini-ospi-single.dtb \
-	versal-net-mini-qspi-single.dtb \
-	xilinx-versal-net-virt.dtb
-dtb-$(CONFIG_ARCH_ZYNQMP_R5) += \
-	zynqmp-r5.dtb
-dtb-$(CONFIG_AM33XX) += \
-	am335x-baltos.dtb \
-	am335x-bone.dtb \
-	am335x-boneblack.dtb \
-	am335x-boneblack-wireless.dtb \
-	am335x-boneblue.dtb \
-	am335x-brppt1-mmc.dtb \
-	am335x-brxre1.dtb \
-	am335x-brsmarc1.dtb \
-	am335x-draco.dtb \
-	am335x-evm.dtb \
-	am335x-evmsk.dtb \
-	am335x-bonegreen.dtb \
-	am335x-bonegreen-wireless.dtb \
-	am335x-icev2.dtb \
-	am335x-pocketbeagle.dtb \
-	am335x-pxm50.dtb \
-	am335x-rut.dtb \
-	am335x-sancloud-bbe.dtb \
-	am335x-sancloud-bbe-lite.dtb \
-	am335x-sancloud-bbe-extended-wifi.dtb \
-	am335x-shc.dtb \
-	am335x-pdu001.dtb \
-	am335x-chiliboard.dtb \
-	am335x-sl50.dtb \
-	am335x-base0033.dtb \
-	am335x-guardian.dtb \
-	am335x-wega-rdk.dtb \
-	am335x-regor-rdk.dtb
-dtb-$(CONFIG_AM43XX) += am437x-gp-evm.dtb am437x-sk-evm.dtb	\
-	am43x-epos-evm.dtb \
-	am437x-idk-evm.dtb \
-	am4372-generic.dtb \
-	am437x-cm-t43.dtb
-dtb-$(CONFIG_TARGET_AM3517_EVM) += am3517-evm.dtb
-dtb-$(CONFIG_TARGET_THUNDERX_88XX) += thunderx-88xx.dtb
-
-dtb-$(CONFIG_ARCH_SOCFPGA) +=				\
-	socfpga_agilex_socdk.dtb			\
-	socfpga_arria5_secu1.dtb			\
-	socfpga_arria5_socdk.dtb			\
-	socfpga_arria10_chameleonv3_270_2.dtb		\
-	socfpga_arria10_chameleonv3_270_3.dtb		\
-	socfpga_arria10_chameleonv3_480_2.dtb		\
-	socfpga_arria10_socdk_sdmmc.dtb			\
-	socfpga_cyclone5_mcvevk.dtb			\
-	socfpga_cyclone5_is1.dtb			\
-	socfpga_cyclone5_socdk.dtb			\
-	socfpga_cyclone5_dbm_soc1.dtb			\
-	socfpga_cyclone5_de0_nano_soc.dtb		\
-	socfpga_cyclone5_de1_soc.dtb			\
-	socfpga_cyclone5_de10_nano.dtb			\
-	socfpga_cyclone5_sockit.dtb			\
-	socfpga_cyclone5_socrates.dtb			\
-	socfpga_cyclone5_sr1500.dtb			\
-	socfpga_cyclone5_vining_fpga.dtb		\
-	socfpga_n5x_socdk.dtb				\
-	socfpga_stratix10_socdk.dtb
-
-dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb dra7-evm.dtb	\
-	dra72-evm-revc.dtb dra71-evm.dtb dra76-evm.dtb
-dtb-$(CONFIG_TARGET_AM57XX_EVM) += am57xx-beagle-x15.dtb \
-	am57xx-beagle-x15-revb1.dtb \
-	am57xx-beagle-x15-revc.dtb \
-	am5729-beagleboneai.dtb \
-	am574x-idk.dtb \
-	am572x-idk.dtb	\
-	am571x-idk.dtb
-dtb-$(CONFIG_TARGET_STV0991) += stv0991.dtb
-
-dtb-$(CONFIG_ARCH_LS1021A) += ls1021a-qds-duart.dtb \
-	ls1021a-qds-lpuart.dtb \
-	ls1021a-twr-duart.dtb ls1021a-twr-lpuart.dtb \
-	ls1021a-iot-duart.dtb ls1021a-tsn.dtb
-dtb-$(CONFIG_TARGET_PG_WCOM_SELI8) += ls1021a-pg-wcom-seli8.dtb
-dtb-$(CONFIG_TARGET_PG_WCOM_EXPU1) += ls1021a-pg-wcom-expu1.dtb
-
-dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \
-	fsl-ls2080a-qds-42-x.dtb \
-	fsl-ls2080a-rdb.dtb \
-	fsl-ls2081a-rdb.dtb \
-	fsl-ls2088a-rdb-qspi.dtb \
-	fsl-ls1088a-rdb.dtb \
-	fsl-ls1088a-qds.dtb \
-	fsl-ls1088a-qds-21-x.dtb \
-	fsl-ls1088a-qds-29-x.dtb \
-	fsl-ls1028a-rdb.dtb \
-	fsl-ls1028a-qds-duart.dtb \
-	fsl-ls1028a-qds-lpuart.dtb \
-	fsl-lx2160a-rdb.dtb \
-	fsl-lx2160a-qds.dtb \
-	fsl-lx2160a-qds-3-x-x.dtb \
-	fsl-lx2160a-qds-3-11-x.dtb \
-	fsl-lx2160a-qds-7-x-x.dtb \
-	fsl-lx2160a-qds-7-11-x.dtb \
-	fsl-lx2160a-qds-19-x-x.dtb \
-	fsl-lx2160a-qds-19-11-x.dtb \
-	fsl-lx2160a-qds-20-x-x.dtb \
-	fsl-lx2160a-qds-20-11-x.dtb \
-	fsl-lx2162a-qds.dtb\
-	fsl-lx2162a-qds-17-x.dtb\
-	fsl-lx2162a-qds-18-x.dtb\
-	fsl-lx2162a-qds-20-x.dtb
-dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \
-	fsl-ls1043a-qds-lpuart.dtb \
-	fsl-ls1043a-rdb.dtb \
-	fsl-ls1046a-qds-duart.dtb \
-	fsl-ls1046a-qds-lpuart.dtb \
-	fsl-ls1046a-rdb.dtb \
-	fsl-ls1046a-frwy.dtb \
-	fsl-ls1012a-qds.dtb \
-	fsl-ls1012a-rdb.dtb \
-	fsl-ls1012a-2g5rdb.dtb \
-	fsl-ls1012a-frdm.dtb \
-	fsl-ls1012a-frwy.dtb
-dtb-$(CONFIG_TARGET_SL28) += fsl-ls1028a-kontron-sl28.dtb \
-	fsl-ls1028a-kontron-sl28-var1.dtb \
-	fsl-ls1028a-kontron-sl28-var2.dtb \
-	fsl-ls1028a-kontron-sl28-var3.dtb \
-	fsl-ls1028a-kontron-sl28-var4.dtb \
-
-dtb-$(CONFIG_TARGET_TEN64) += fsl-ls1088a-ten64.dtb
-
-dtb-$(CONFIG_TARGET_DRAGONBOARD410C) += dragonboard410c.dtb
-dtb-$(CONFIG_TARGET_DRAGONBOARD820C) += dragonboard820c.dtb
-dtb-$(CONFIG_TARGET_STARQLTECHN) += starqltechn.dtb
-dtb-$(CONFIG_TARGET_QCS404EVB) += qcs404-evb.dtb
-
-dtb-$(CONFIG_TARGET_STEMMY) += ste-ux500-samsung-stemmy.dtb
-
-dtb-$(CONFIG_STM32F4) += stm32f429-disco.dtb \
-	stm32429i-eval.dtb \
-	stm32f469-disco.dtb
-
-dtb-$(CONFIG_STM32F7) += stm32f746-disco.dtb \
-	stm32f769-disco.dtb \
-	stm32746g-eval.dtb
-dtb-$(CONFIG_STM32H7) += stm32h743i-disco.dtb \
-	stm32h743i-eval.dtb \
-	stm32h750i-art-pi.dtb
-
-dtb-$(CONFIG_MACH_SUNIV) += \
-	suniv-f1c100s-licheepi-nano.dtb
-dtb-$(CONFIG_MACH_SUN4I) += \
-	sun4i-a10-a1000.dtb \
-	sun4i-a10-ba10-tvbox.dtb \
-	sun4i-a10-chuwi-v7-cw0825.dtb \
-	sun4i-a10-cubieboard.dtb \
-	sun4i-a10-dserve-dsrv9703c.dtb \
-	sun4i-a10-gemei-g9.dtb \
-	sun4i-a10-hackberry.dtb \
-	sun4i-a10-hyundai-a7hd.dtb \
-	sun4i-a10-inet1.dtb \
-	sun4i-a10-inet-3f.dtb \
-	sun4i-a10-inet-3w.dtb \
-	sun4i-a10-inet97fv2.dtb \
-	sun4i-a10-inet9f-rev03.dtb \
-	sun4i-a10-itead-iteaduino-plus.dtb \
-	sun4i-a10-jesurun-q5.dtb \
-	sun4i-a10-marsboard.dtb \
-	sun4i-a10-mini-xplus.dtb \
-	sun4i-a10-mk802.dtb \
-	sun4i-a10-mk802ii.dtb \
-	sun4i-a10-olinuxino-lime.dtb \
-	sun4i-a10-pcduino.dtb \
-	sun4i-a10-pcduino2.dtb \
-	sun4i-a10-pov-protab2-ips9.dtb \
-	sun4i-a10-topwise-a721.dtb
-dtb-$(CONFIG_MACH_SUN5I) += \
-	sun5i-a10s-auxtek-t003.dtb \
-	sun5i-a10s-auxtek-t004.dtb \
-	sun5i-a10s-mk802.dtb \
-	sun5i-a10s-olinuxino-micro.dtb \
-	sun5i-a10s-r7-tv-dongle.dtb \
-	sun5i-a10s-wobo-i5.dtb \
-	sun5i-a13-ampe-a76.dtb \
-	sun5i-a13-difrnce-dit4350.dtb \
-	sun5i-a13-empire-electronix-d709.dtb \
-	sun5i-a13-empire-electronix-m712.dtb \
-	sun5i-a13-hsg-h702.dtb \
-	sun5i-a13-inet-86vs.dtb \
-	sun5i-a13-inet-98v-rev2.dtb \
-	sun5i-a13-licheepi-one.dtb \
-	sun5i-a13-olinuxino.dtb \
-	sun5i-a13-olinuxino-micro.dtb \
-	sun5i-a13-pocketbook-touch-lux-3.dtb \
-	sun5i-a13-q8-tablet.dtb \
-	sun5i-a13-utoo-p66.dtb \
-	sun5i-gr8-chip-pro.dtb \
-	sun5i-gr8-evb.dtb \
-	sun5i-r8-chip.dtb
-dtb-$(CONFIG_MACH_SUN6I) += \
-	sun6i-a31-app4-evb1.dtb \
-	sun6i-a31-colombus.dtb \
-	sun6i-a31-hummingbird.dtb \
-	sun6i-a31-i7.dtb \
-	sun6i-a31-m9.dtb \
-	sun6i-a31-mele-a1000g-quad.dtb \
-	sun6i-a31-mixtile-loftq.dtb \
-	sun6i-a31s-colorfly-e708-q1.dtb \
-	sun6i-a31s-cs908.dtb \
-	sun6i-a31s-inet-q972.dtb \
-	sun6i-a31s-primo81.dtb \
-	sun6i-a31s-sina31s.dtb \
-	sun6i-a31s-sinovoip-bpi-m2.dtb \
-	sun6i-a31s-yones-toptech-bs1078-v2.dtb
-dtb-$(CONFIG_MACH_SUN7I) += \
-	sun7i-a20-ainol-aw1.dtb \
-	sun7i-a20-bananapi.dtb \
-	sun7i-a20-bananapi-m1-plus.dtb \
-	sun7i-a20-bananapro.dtb \
-	sun7i-a20-cubieboard2.dtb \
-	sun7i-a20-cubietruck.dtb \
-	sun7i-a20-haoyu-marsboard.dtb \
-	sun7i-a20-hummingbird.dtb \
-	sun7i-a20-i12-tvbox.dtb \
-	sun7i-a20-icnova-swac.dtb \
-	sun7i-a20-itead-ibox.dtb \
-	sun7i-a20-lamobo-r1.dtb \
-	sun7i-a20-linutronix-testbox-v2.dtb \
-	sun7i-a20-m3.dtb \
-	sun7i-a20-m5.dtb \
-	sun7i-a20-mk808c.dtb \
-	sun7i-a20-olimex-som-evb.dtb \
-	sun7i-a20-olimex-som204-evb.dtb \
-	sun7i-a20-olimex-som204-evb-emmc.dtb \
-	sun7i-a20-olinuxino-lime.dtb \
-	sun7i-a20-olinuxino-lime-emmc.dtb \
-	sun7i-a20-olinuxino-lime2.dtb \
-	sun7i-a20-olinuxino-lime2-emmc.dtb \
-	sun7i-a20-olinuxino-micro.dtb \
-	sun7i-a20-olinuxino-micro-emmc.dtb \
-	sun7i-a20-orangepi.dtb \
-	sun7i-a20-orangepi-mini.dtb \
-	sun7i-a20-pcduino3.dtb \
-	sun7i-a20-pcduino3-nano.dtb \
-	sun7i-a20-primo73.dtb \
-	sun7i-a20-wexler-tab7200.dtb \
-	sun7i-a20-wits-pro-a20-dkt.dtb \
-	sun7i-a20-yones-toptech-bd1078.dtb
-dtb-$(CONFIG_MACH_SUN8I_A23) += \
-	sun8i-a23-evb.dtb \
-	sun8i-a23-gt90h-v4.dtb \
-	sun8i-a23-inet86dz.dtb \
-	sun8i-a23-ippo-q8h-v1.2.dtb \
-	sun8i-a23-ippo-q8h-v5.dtb \
-	sun8i-a23-polaroid-mid2407pxe03.dtb \
-	sun8i-a23-polaroid-mid2809pxe04.dtb \
-	sun8i-a23-q8-tablet.dtb
-dtb-$(CONFIG_MACH_SUN8I_A33) += \
-	sun8i-a33-et-q8-v1.6.dtb \
-	sun8i-a33-ga10h-v1.1.dtb \
-	sun8i-a33-inet-d978-rev2.dtb \
-	sun8i-a33-ippo-q8h-v1.2.dtb \
-	sun8i-a33-olinuxino.dtb \
-	sun8i-a33-q8-tablet.dtb \
-	sun8i-a33-sinlinx-sina33.dtb \
-	sun8i-r16-bananapi-m2m.dtb \
-	sun8i-r16-nintendo-nes-classic.dtb \
-	sun8i-r16-nintendo-super-nes-classic.dtb \
-	sun8i-r16-parrot.dtb
-dtb-$(CONFIG_MACH_SUN8I_A83T) += \
-	sun8i-a83t-allwinner-h8homlet-v2.dtb \
-	sun8i-a83t-bananapi-m3.dtb \
-	sun8i-a83t-cubietruck-plus.dtb \
-	sun8i-a83t-tbs-a711.dtb
-dtb-$(CONFIG_MACH_SUN8I_H3) += \
-	sun8i-h2-plus-bananapi-m2-zero.dtb \
-	sun8i-h2-plus-libretech-all-h3-cc.dtb \
-	sun8i-h2-plus-orangepi-r1.dtb \
-	sun8i-h2-plus-orangepi-zero.dtb \
-	sun8i-h3-bananapi-m2-plus.dtb \
-	sun8i-h3-bananapi-m2-plus-v1.2.dtb \
-	sun8i-h3-beelink-x2.dtb \
-	sun8i-h3-emlid-neutis-n5h3-devboard.dtb \
-	sun8i-h3-libretech-all-h3-cc.dtb \
-	sun8i-h3-mapleboard-mp130.dtb \
-	sun8i-h3-nanopi-duo2.dtb \
-	sun8i-h3-nanopi-m1.dtb \
-	sun8i-h3-nanopi-m1-plus.dtb \
-	sun8i-h3-nanopi-neo.dtb \
-	sun8i-h3-nanopi-neo-air.dtb \
-	sun8i-h3-nanopi-r1.dtb \
-	sun8i-h3-orangepi-2.dtb \
-	sun8i-h3-orangepi-lite.dtb \
-	sun8i-h3-orangepi-one.dtb \
-	sun8i-h3-orangepi-pc.dtb \
-	sun8i-h3-orangepi-pc-plus.dtb \
-	sun8i-h3-orangepi-plus.dtb \
-	sun8i-h3-orangepi-plus2e.dtb \
-	sun8i-h3-orangepi-zero-plus2.dtb \
-	sun8i-h3-rervision-dvk.dtb \
-	sun8i-h3-zeropi.dtb
-dtb-$(CONFIG_MACH_SUN8I_R40) += \
-	sun8i-r40-bananapi-m2-ultra.dtb \
-	sun8i-r40-oka40i-c.dtb \
-	sun8i-t3-cqa3t-bv3.dtb \
-	sun8i-v40-bananapi-m2-berry.dtb
-dtb-$(CONFIG_MACH_SUN8I_V3S) += \
-	sun8i-s3-elimo-initium.dtb \
-	sun8i-s3-pinecube.dtb \
-	sun8i-v3-sl631-imx179.dtb \
-	sun8i-v3s-licheepi-zero.dtb
-dtb-$(CONFIG_MACH_SUN8I_R528) += \
-	sun8i-t113s-mangopi-mq-r-t113.dtb
-dtb-$(CONFIG_MACH_SUN50I_H5) += \
-	sun50i-h5-bananapi-m2-plus.dtb \
-	sun50i-h5-emlid-neutis-n5-devboard.dtb \
-	sun50i-h5-libretech-all-h3-cc.dtb \
-	sun50i-h5-libretech-all-h3-it.dtb \
-	sun50i-h5-libretech-all-h5-cc.dtb \
-	sun50i-h5-nanopi-neo2.dtb \
-	sun50i-h5-nanopi-neo-plus2.dtb \
-	sun50i-h5-nanopi-r1s-h5.dtb \
-	sun50i-h5-orangepi-zero-plus.dtb \
-	sun50i-h5-orangepi-pc2.dtb \
-	sun50i-h5-orangepi-prime.dtb \
-	sun50i-h5-orangepi-zero-plus2.dtb
-dtb-$(CONFIG_MACH_SUN50I_H6) += \
-	sun50i-h6-beelink-gs1.dtb \
-	sun50i-h6-orangepi-3.dtb \
-	sun50i-h6-orangepi-lite2.dtb \
-	sun50i-h6-orangepi-one-plus.dtb \
-	sun50i-h6-pine-h64.dtb \
-	sun50i-h6-pine-h64-model-b.dtb \
-	sun50i-h6-tanix-tx6.dtb \
-	sun50i-h6-tanix-tx6-mini.dtb
-dtb-$(CONFIG_MACH_SUN50I_H616) += \
-	sun50i-h616-orangepi-zero2.dtb \
-	sun50i-h616-x96-mate.dtb
-dtb-$(CONFIG_MACH_SUN50I) += \
-	sun50i-a64-amarula-relic.dtb \
-	sun50i-a64-bananapi-m64.dtb \
-	sun50i-a64-nanopi-a64.dtb \
-	sun50i-a64-oceanic-5205-5inmfd.dtb \
-	sun50i-a64-olinuxino.dtb \
-	sun50i-a64-olinuxino-emmc.dtb \
-	sun50i-a64-orangepi-win.dtb \
-	sun50i-a64-pine64-lts.dtb \
-	sun50i-a64-pine64-plus.dtb \
-	sun50i-a64-pine64.dtb \
-	sun50i-a64-pinebook.dtb \
-	sun50i-a64-pinephone-1.0.dtb \
-	sun50i-a64-pinephone-1.1.dtb \
-	sun50i-a64-pinephone-1.2.dtb \
-	sun50i-a64-pinetab.dtb \
-	sun50i-a64-sopine-baseboard.dtb \
-	sun50i-a64-teres-i.dtb
-dtb-$(CONFIG_MACH_SUN9I) += \
-	sun9i-a80-optimus.dtb \
-	sun9i-a80-cubieboard4.dtb \
-	sun9i-a80-cx-a99.dtb
-
-dtb-$(CONFIG_VF610) += vf610-colibri-eval-v3.dtb \
-	vf610-twr.dtb \
-	vf610-pcm052.dtb \
-	vf610-bk4r1.dtb
-
-dtb-$(CONFIG_MX23) += \
-	imx23-evk.dtb
-
-dtb-$(CONFIG_TARGET_MX23_OLINUXINO) += \
-	imx23-olinuxino.dtb
-
-dtb-$(CONFIG_MX28) += \
-	imx28-evk.dtb \
-	imx28-xea.dtb
-
-dtb-$(CONFIG_MX51) += \
-	imx51-babbage.dtb
-
-dtb-$(CONFIG_MX53) += imx53-cx9020.dtb \
-	imx53-qsb.dtb \
-	imx53-kp.dtb \
-	imx53-m53menlo.dtb \
-	imx53-usbarmory.dtb
-
-ifneq ($(CONFIG_MX6DL)$(CONFIG_MX6QDL)$(CONFIG_MX6S),)
-dtb-y += \
-	imx6dl-aristainetos2c_7.dtb \
-	imx6dl-aristainetos2c_cslb_7.dtb \
-	imx6dl-brppt2.dtb \
-	imx6dl-cubox-i.dtb \
-	imx6dl-cubox-i-emmc-som-v15.dtb \
-	imx6dl-cubox-i-som-v15.dtb \
-	imx6dl-dhcom-pdk2.dtb \
-	imx6dl-dhcom-picoitx.dts \
-	imx6dl-gw51xx.dtb \
-	imx6dl-gw52xx.dtb \
-	imx6dl-gw53xx.dtb \
-	imx6dl-gw54xx.dtb \
-	imx6dl-gw551x.dtb \
-	imx6dl-gw552x.dtb \
-	imx6dl-gw553x.dtb \
-	imx6dl-gw560x.dtb \
-	imx6dl-gw5903.dtb \
-	imx6dl-gw5904.dtb \
-	imx6dl-gw5907.dtb \
-	imx6dl-gw5910.dtb \
-	imx6dl-gw5912.dtb \
-	imx6dl-gw5913.dtb \
-	imx6dl-hummingboard2.dtb \
-	imx6dl-hummingboard2-emmc-som-v15.dtb \
-	imx6dl-hummingboard2-som-v15.dtb \
-	imx6dl-hummingboard.dtb \
-	imx6dl-hummingboard-emmc-som-v15.dtb \
-	imx6dl-hummingboard-som-v15.dtb \
-	imx6dl-icore.dtb \
-	imx6dl-icore-mipi.dtb \
-	imx6dl-icore-rqs.dtb \
-	imx6dl-mba6a.dtb \
-	imx6dl-mba6b.dtb \
-	imx6dl-mamoj.dtb \
-	imx6dl-nitrogen6x.dtb \
-	imx6dl-pico.dtb \
-	imx6dl-udoo.dtb \
-	imx6dl-riotboard.dtb \
-	imx6dl-sabreauto.dtb \
-	imx6dl-sabresd.dtb \
-	imx6dl-wandboard-revd1.dtb \
-	imx6s-dhcom-drc02.dtb
-
-endif
-
-ifneq ($(CONFIG_MX6Q)$(CONFIG_MX6QDL),)
-dtb-y += \
-	imx6q-apalis-eval.dtb \
-	imx6q-bosch-acc.dtb \
-	imx6q-cm-fx6.dtb \
-	imx6q-cubox-i.dtb \
-	imx6q-cubox-i-emmc-som-v15.dtb \
-	imx6q-cubox-i-som-v15.dtb \
-	imx6q-dhcom-pdk2.dtb \
-	imx6q-display5.dtb \
-	imx6q-gw51xx.dtb \
-	imx6q-gw52xx.dtb \
-	imx6q-gw53xx.dtb \
-	imx6q-gw54xx.dtb \
-	imx6q-gw551x.dtb \
-	imx6q-gw552x.dtb \
-	imx6q-gw553x.dtb \
-	imx6q-gw560x.dtb \
-	imx6q-gw5903.dtb \
-	imx6q-gw5904.dtb \
-	imx6q-gw5907.dtb \
-	imx6q-gw5910.dtb \
-	imx6q-gw5912.dtb \
-	imx6q-gw5913.dtb \
-	imx6q-hummingboard2.dtb \
-	imx6q-hummingboard2-emmc-som-v15.dtb \
-	imx6q-hummingboard2-som-v15.dtb \
-	imx6q-hummingboard.dtb \
-	imx6q-hummingboard-emmc-som-v15.dtb \
-	imx6q-hummingboard-som-v15.dtb \
-	imx6q-icore.dtb \
-	imx6q-icore-mipi.dtb \
-	imx6q-icore-rqs.dtb \
-	imx6q-kp.dtb \
-	imx6q-logicpd.dtb \
-	imx6q-marsboard.dtb \
-	imx6q-mba6a.dtb \
-	imx6q-mba6b.dtb \
-	imx6q-mccmon6.dtb\
-	imx6q-nitrogen6x.dtb \
-	imx6q-novena.dtb \
-	imx6q-pico.dtb \
-	imx6q-phytec-mira-rdk-nand.dtb \
-	imx6q-udoo.dtb \
-	imx6q-sabreauto.dtb \
-	imx6q-sabrelite.dtb \
-	imx6q-sabresd.dtb \
-	imx6q-tbs2910.dtb \
-	imx6q-wandboard-revd1.dtb \
-	imx6qp-sabreauto.dtb \
-	imx6qp-sabresd.dtb \
-	imx6qp-wandboard-revd1.dtb \
-
-endif
-
-dtb-$(CONFIG_MX6SL) += imx6sl-evk.dtb
-
-dtb-$(CONFIG_MX6SLL) += imx6sll-evk.dtb
-
-dtb-$(CONFIG_MX6SX) += \
-	imx6sx-sabreauto.dtb \
-	imx6sx-sdb.dtb \
-	imx6sx-softing-vining-2000.dtb \
-	imx6sx-udoo-neo-basic.dtb \
-	imx6sx-udoo-neo-extended.dtb \
-	imx6sx-udoo-neo-full.dtb
-
-dtb-$(CONFIG_MX6UL) += \
-	imx6ul-geam.dtb \
-	imx6ul-isiot-emmc.dtb \
-	imx6ul-isiot-nand.dtb \
-	imx6ul-opos6uldev.dtb \
-	imx6ul-14x14-evk.dtb \
-	imx6ul-9x9-evk.dtb \
-	imx6ul-9x9-evk.dtb \
-	imx6ul-liteboard.dtb \
-	imx6ul-phytec-segin-ff-rdk-nand.dtb \
-	imx6ul-pico-hobbit.dtb \
-	imx6ul-pico-pi.dtb \
-	imx6ul-kontron-bl.dtb \
-	imx6ull-kontron-bl.dtb
-
-dtb-$(CONFIG_MX6ULL) += \
-	imx6ull-14x14-evk.dtb \
-	imx6ull-colibri-emmc-eval-v3.dtb \
-	imx6ull-colibri-eval-v3.dtb \
-	imx6ull-myir-mys-6ulx-eval.dtb \
-	imx6ull-seeed-npi-imx6ull-dev-board.dtb \
-	imx6ull-phytec-segin-ff-rdk-emmc.dtb \
-	imx6ull-dart-6ul.dtb \
-	imx6ull-somlabs-visionsom.dtb \
-	imx6ulz-bsh-smm-m2.dtb \
-	imx6ulz-14x14-evk.dtb
-
-dtb-$(CONFIG_ARCH_MX6) += \
-	imx6q-apalis-eval.dtb \
-	imx6dl-colibri-eval-v3.dtb
-
-dtb-$(CONFIG_O4_IMX_NANO) += \
-	o4-imx-nano.dtb
-
-dtb-$(CONFIG_EV_IMX280_NANO_X_MB) += \
-	ev-imx280-nano-x-mb.dtb
-
-dtb-$(CONFIG_MX7) += imx7d-sdb.dtb \
-	imx7d-sdb-qspi.dtb \
-	imx7-cm.dtb \
-	imx7d-colibri-emmc-eval-v3.dtb \
-	imx7d-colibri-eval-v3.dtb \
-	imx7s-warp.dtb \
-	imx7d-meerkat96.dtb \
-	imx7d-pico-pi.dtb \
-	imx7d-pico-hobbit.dtb \
-	imx7d-smegw01.dtb
-
-dtb-$(CONFIG_ARCH_MX7ULP) += imx7ulp-com.dtb \
-	imx7ulp-evk.dtb
-
-dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
-
-dtb-$(CONFIG_ARCH_IMX8) += \
-	fsl-imx8qm-apalis.dtb \
-	fsl-imx8qm-mek.dtb \
-	imx8qm-cgtqmx8.dtb \
-	imx8qm-dmsse20-a1.dtb \
-	imx8qm-rom7720-a1.dtb \
-	fsl-imx8qxp-ai_ml.dtb \
-	fsl-imx8qxp-colibri.dtb \
-	fsl-imx8qxp-mek.dtb \
-	imx8-deneb.dtb \
-	imx8-giedi.dtb
-
-dtb-$(CONFIG_ARCH_IMX8ULP) += \
-	imx8ulp-evk.dtb
+	zynqmp-sck-kv-g-revB.dtbo
 
 dtb-$(CONFIG_ARCH_IMX8M) += \
-	imx8mm-data-modul-edm-sbc.dtb \
-	imx8mm-evk.dtb \
-	imx8mm-icore-mx8mm-ctouch2.dtb \
-	imx8mm-icore-mx8mm-edimm2.2.dtb \
-	imx8mm-kontron-bl.dtb \
-	imx8mm-kontron-bl-osm-s.dtb \
-	imx8mm-mx8menlo.dtb \
-	imx8mm-phg.dtb \
-	imx8mm-venice.dtb \
-	imx8mm-venice-gw71xx-0x.dtb \
-	imx8mm-venice-gw72xx-0x.dtb \
-	imx8mm-venice-gw73xx-0x.dtb \
-	imx8mm-venice-gw7901.dtb \
-	imx8mm-venice-gw7902.dtb \
-	imx8mm-venice-gw7903.dtb \
-	imx8mm-venice-gw7904.dtb \
-	imx8mm-venice-gw7905-0x.dtb \
-	imx8mm-verdin-wifi-dev.dtb \
-	phycore-imx8mm.dtb \
-	imx8mn-bsh-smm-s2.dtb \
-	imx8mn-bsh-smm-s2pro.dtb \
-	imx8mn-ddr4-evk.dtb \
-	imx8mq-cm.dtb \
-	imx8mn-evk.dtb \
-	imx8mn-var-som-symphony.dtb \
-	imx8mn-venice.dtb \
-	imx8mn-venice-gw7902.dtb \
-	imx8mq-evk.dtb \
-	imx8mm-beacon-kit.dtb \
-	imx8mn-beacon-kit.dtb \
-	imx8mq-mnt-reform2.dtb \
-	imx8mq-phanbell.dtb \
-	imx8mp-beacon-kit.dtb \
-	imx8mp-data-modul-edm-sbc.dtb \
 	imx8mp-dhcom-som-overlay-rev100.dtbo \
 	imx8mp-dhcom-som-overlay-eth1xfast.dtbo \
 	imx8mp-dhcom-som-overlay-eth2xfast.dtbo \
 	imx8mp-dhcom-pdk-overlay-eth2xfast.dtbo \
-	imx8mp-dhcom-pdk2.dtb \
-	imx8mp-dhcom-pdk3.dtb \
-	imx8mp-dhcom-pdk3-overlay-rev100.dtbo \
-	imx8mp-evk.dtb \
-	imx8mp-icore-mx8mp-edimm2.2.dtb \
-	imx8mp-msc-sm2s.dtb \
-	imx8mp-phyboard-pollux-rdk.dtb \
-	imx8mp-venice.dtb \
-	imx8mp-venice-gw71xx-2x.dtb \
-	imx8mp-venice-gw72xx-2x.dtb \
-	imx8mp-venice-gw73xx-2x.dtb \
-	imx8mp-venice-gw74xx.dtb \
-	imx8mp-venice-gw7905-2x.dtb \
-	imx8mp-verdin-wifi-dev.dtb \
-	imx8mq-pico-pi.dtb \
-	imx8mq-kontron-pitx-imx8m.dtb \
-	imx8mq-librem5-r4.dtb
-
-dtb-$(CONFIG_ARCH_IMX9) += \
-	imx93-11x11-evk.dtb
-
-dtb-$(CONFIG_ARCH_IMXRT) += imxrt1050-evk.dtb \
-	imxrt1020-evk.dtb \
-	imxrt1170-evk.dtb \
-
-dtb-$(CONFIG_RCAR_GEN2) += \
-	r8a7790-lager-u-boot.dtb \
-	r8a7790-stout-u-boot.dtb \
-	r8a7791-koelsch-u-boot.dtb \
-	r8a7791-porter-u-boot.dtb \
-	r8a7792-blanche-u-boot.dtb \
-	r8a7793-gose-u-boot.dtb \
-	r8a7794-alt-u-boot.dtb \
-	r8a7794-silk-u-boot.dtb
-
-dtb-$(CONFIG_RCAR_GEN3) += \
-	r8a774a1-beacon-rzg2m-kit.dtb \
-	r8a774b1-beacon-rzg2n-kit.dtb \
-	r8a774e1-beacon-rzg2h-kit.dtb \
-	r8a774a1-hihope-rzg2m-u-boot.dtb \
-	r8a774b1-hihope-rzg2n-u-boot.dtb \
-	r8a774c0-ek874-u-boot.dtb \
-	r8a774e1-hihope-rzg2h-u-boot.dtb \
-	r8a77950-ulcb-u-boot.dtb \
-	r8a77950-salvator-x-u-boot.dtb \
-	r8a77960-ulcb-u-boot.dtb \
-	r8a77960-salvator-x-u-boot.dtb \
-	r8a77965-ulcb-u-boot.dtb \
-	r8a77965-salvator-x-u-boot.dtb \
-	r8a77970-eagle-u-boot.dtb \
-	r8a77970-v3msk-u-boot.dtb \
-	r8a77980-condor-u-boot.dtb \
-	r8a77980-v3hsk-u-boot.dtb \
-	r8a77990-ebisu-u-boot.dtb \
-	r8a77995-draak-u-boot.dtb
-
-dtb-$(CONFIG_RCAR_GEN4) += \
-	r8a779a0-falcon-u-boot.dtb \
-	r8a779f0-spider-u-boot.dtb \
-	r8a779g0-white-hawk-u-boot.dtb
-
-dtb-$(CONFIG_TARGET_RZG2L) += \
-	r9a07g044l2-smarc.dts
-
-ifdef CONFIG_RCAR_64
-DTC_FLAGS += -R 4 -p 0x1000
-endif
-
-dtb-$(CONFIG_RZA1) += \
-	r7s72100-gr-peach-u-boot.dtb
-
-dtb-$(CONFIG_ARCH_KEYSTONE) += keystone-k2hk-evm.dtb \
-	keystone-k2l-evm.dtb \
-	keystone-k2e-evm.dtb \
-	keystone-k2g-evm.dtb \
-	keystone-k2g-generic.dtb \
-	keystone-k2g-ice.dtb
-
-dtb-$(CONFIG_TARGET_AT91SAM9261EK) += at91sam9261ek.dtb
-
-dtb-$(CONFIG_TARGET_PM9261) += at91sam9261ek.dtb
-
-dtb-$(CONFIG_TARGET_PM9263) += at91sam9263ek.dtb
-
-dtb-$(CONFIG_TARGET_MEESC) += at91sam9263ek.dtb
-
-dtb-$(CONFIG_TARGET_AT91SAM9263EK) += at91sam9263ek.dtb
-
-dtb-$(CONFIG_TARGET_AT91SAM9RLEK) += at91sam9rlek.dtb
-
-dtb-$(CONFIG_TARGET_AT91SAM9260EK) += \
-	at91sam9260ek.dtb	\
-	at91sam9g20ek.dtb	\
-	at91sam9g20ek_2mmc.dtb
-
-dtb-$(CONFIG_TARGET_AT91SAM9M10G45EK) += at91sam9m10g45ek.dtb
-
-dtb-$(CONFIG_TARGET_PM9G45) += at91sam9m10g45ek.dtb
-
-dtb-$(CONFIG_TARGET_AT91SAM9X5EK) += \
-	at91sam9g15ek.dtb	\
-	at91sam9g25ek.dtb	\
-	at91sam9g35ek.dtb	\
-	at91sam9x25ek.dtb	\
-	at91sam9x35ek.dtb
-
-dtb-$(CONFIG_TARGET_SAM9X60EK) += sam9x60ek.dtb
-
-dtb-$(CONFIG_TARGET_SAM9X60_CURIOSITY) += at91-sam9x60_curiosity.dtb
-
-dtb-$(CONFIG_TARGET_AT91SAM9N12EK) += at91sam9n12ek.dtb
-
-dtb-$(CONFIG_TARGET_GARDENA_SMART_GATEWAY_AT91SAM) += \
-	at91sam9g25-gardena-smart-gateway.dtb
-
-dtb-$(CONFIG_TARGET_ETHERNUT5) += ethernut5.dtb
-
-dtb-$(CONFIG_TARGET_USB_A9263) += usb_a9263.dtb
-
-dtb-$(CONFIG_TARGET_OMAP3_LOGIC) += \
-	logicpd-som-lv-35xx-devkit.dtb \
-	logicpd-som-lv-37xx-devkit.dtb \
-	logicpd-torpedo-35xx-devkit.dtb \
-	logicpd-torpedo-37xx-devkit.dtb
-
-dtb-$(CONFIG_TARGET_OMAP3_EVM) += \
-	omap3-evm-37xx.dtb \
-	omap3-evm.dtb
-
-dtb-$(CONFIG_TARGET_OMAP3_BEAGLE) += \
-	omap3-beagle-xm-ab.dtb \
-	omap3-beagle-xm.dtb \
-	omap3-beagle.dtb
-
-dtb-$(CONFIG_TARGET_DEVKIT8000) += omap3-devkit8000.dtb
-
-dtb-$(CONFIG_TARGET_OMAP3_IGEP00X0) += \
-	omap3-igep0020.dtb
-
-dtb-$(CONFIG_TARGET_OMAP4_PANDA) += \
-	omap4-panda.dtb \
-	omap4-panda-es.dtb
-
-dtb-$(CONFIG_TARGET_OMAP4_SDP4430) += \
-	omap4-sdp.dtb \
-	omap4-sdp-es23plus.dtb
-
-dtb-$(CONFIG_TARGET_SAMA7G5EK) += \
-	at91-sama7g5ek.dtb
-
-dtb-$(CONFIG_TARGET_SAMA5D2_PTC_EK) += \
-	at91-sama5d2_ptc_ek.dtb
-
-dtb-$(CONFIG_TARGET_SAMA5D2_XPLAINED) += \
-	at91-sama5d2_xplained.dtb
-
-dtb-$(CONFIG_TARGET_SAMA5D27_SOM1_EK) += \
-	at91-sama5d27_som1_ek.dtb   \
-	at91-sama5d27_giantboard.dtb
-
-dtb-$(CONFIG_TARGET_SAMA5D27_WLSOM1_EK) += \
-	at91-sama5d27_wlsom1_ek.dtb
-
-dtb-$(CONFIG_TARGET_KSTR_SAMA5D27) += \
-	at91-kstr-sama5d27.dtb
-
-dtb-$(CONFIG_TARGET_SAMA5D2_ICP) += \
-	at91-sama5d2_icp.dtb
-
-dtb-$(CONFIG_TARGET_SAMA5D29_CURIOSITY) += \
-	at91-sama5d29_curiosity.dtb
-
-dtb-$(CONFIG_TARGET_SAMA5D3XEK) += \
-	sama5d31ek.dtb \
-	sama5d33ek.dtb \
-	sama5d34ek.dtb \
-	sama5d35ek.dtb \
-	sama5d36ek.dtb \
-	sama5d36ek_cmp.dtb
-
-dtb-$(CONFIG_TARGET_SAMA5D3_XPLAINED) += \
-	at91-sama5d3_xplained.dtb
-
-dtb-$(CONFIG_TARGET_SAMA5D4EK) += \
-	at91-sama5d4ek.dtb
-
-dtb-$(CONFIG_TARGET_SAMA5D4_XPLAINED) += \
-	at91-sama5d4_xplained.dtb
-
-dtb-$(CONFIG_TARGET_VINCO) += \
-	at91-vinco.dtb
-
-dtb-$(CONFIG_ARCH_BCM283X) += \
-	bcm2835-rpi-a.dtb \
-	bcm2835-rpi-a-plus.dtb \
-	bcm2835-rpi-b.dtb \
-	bcm2835-rpi-b-plus.dtb \
-	bcm2835-rpi-b-rev2.dtb \
-	bcm2835-rpi-cm1-io1.dtb \
-	bcm2835-rpi-zero.dtb \
-	bcm2835-rpi-zero-w.dtb\
-	bcm2836-rpi-2-b.dtb \
-	bcm2837-rpi-3-a-plus.dtb \
-	bcm2837-rpi-3-b.dtb \
-	bcm2837-rpi-3-b-plus.dtb \
-	bcm2837-rpi-cm3-io3.dtb \
-	bcm2711-rpi-4-b.dtb
-
-dtb-$(CONFIG_TARGET_BCMNS) += ns-board.dtb
-
-dtb-$(CONFIG_TARGET_BCMNS3) += ns3-board.dtb
-
-dtb-$(CONFIG_ARCH_BCMSTB) += bcm7xxx.dtb
-
-dtb-$(CONFIG_BCM47622) += \
-	bcm947622.dtb
-dtb-$(CONFIG_BCM4908) += \
-	bcm94908.dtb
-dtb-$(CONFIG_BCM4912) += \
-	bcm94912.dtb
-dtb-$(CONFIG_BCM63138) += \
-	bcm963138.dtb
-dtb-$(CONFIG_BCM63146) += \
-	bcm963146.dtb
-dtb-$(CONFIG_BCM63148) += \
-	bcm963148.dtb
-dtb-$(CONFIG_BCM63158) += \
-	bcm963158.dtb
-dtb-$(CONFIG_BCM63178) += \
-	bcm963178.dtb
-dtb-$(CONFIG_BCM6756) += \
-	bcm96756.dtb
-dtb-$(CONFIG_BCM6813) += \
-	bcm96813.dtb
-dtb-$(CONFIG_BCM6846) += \
-	bcm96846.dtb
-dtb-$(CONFIG_BCM6855) += \
-	bcm96855.dtb \
-	bcm96753ref.dtb
-dtb-$(CONFIG_BCM6856) += \
-	bcm96856.dtb \
-	bcm968360bg.dtb
-dtb-$(CONFIG_BCM6858) += \
-	bcm96858.dtb \
-	bcm968580xref.dtb
-dtb-$(CONFIG_BCM6878) += \
-	bcm96878.dtb
-
-dtb-$(CONFIG_ASPEED_AST2500) += ast2500-evb.dtb
-dtb-$(CONFIG_ASPEED_AST2600) += ast2600-evb.dtb
-
-dtb-$(CONFIG_ARCH_STI) += stih410-b2260.dtb
-
-dtb-$(CONFIG_STM32MP13x) += \
-	stm32mp135f-dk.dtb
-
-dtb-$(CONFIG_STM32MP15x) += \
-	stm32mp157a-dk1.dtb \
-	stm32mp157a-dk1-scmi.dtb \
-	stm32mp157a-icore-stm32mp1-ctouch2.dtb \
-	stm32mp157a-icore-stm32mp1-edimm2.2.dtb \
-	stm32mp157a-microgea-stm32mp1-microdev2.0.dtb \
-	stm32mp157a-microgea-stm32mp1-microdev2.0-of7.dtb \
-	stm32mp157c-dk2.dtb \
-	stm32mp157c-dk2-scmi.dtb \
-	stm32mp157c-ed1.dtb \
-	stm32mp157c-ed1-scmi.dtb \
-	stm32mp157c-ev1.dtb \
-	stm32mp157c-ev1-scmi.dtb \
-	stm32mp157c-odyssey.dtb \
-	stm32mp15xx-dhcom-drc02.dtb \
-	stm32mp15xx-dhcom-pdk2.dtb \
-	stm32mp15xx-dhcom-picoitx.dtb \
-	stm32mp15xx-dhcor-avenger96.dtb \
-	stm32mp15xx-dhcor-drc-compact.dtb \
-	stm32mp15xx-dhcor-testbench.dtb
-
-dtb-$(CONFIG_STM32MP25X) += \
-	stm32mp257f-ev1.dtb
+	imx8mp-dhcom-pdk3-overlay-rev100.dtbo
 
 dtb-$(CONFIG_SOC_K3_AM654) += \
-	k3-am654-base-board.dtb \
-	k3-am654-r5-base-board.dtb \
-	k3-am65-iot2050-spl.dtb \
-	k3-am6528-iot2050-basic.dtb \
-	k3-am6528-iot2050-basic-pg2.dtb \
-	k3-am6548-iot2050-advanced.dtb \
-	k3-am6548-iot2050-advanced-pg2.dtb \
-	k3-am6548-iot2050-advanced-m2.dtb \
 	k3-am6548-iot2050-advanced-m2-bkey-usb3-overlay.dtbo \
 	k3-am6548-iot2050-advanced-m2-bkey-ekey-pcie-overlay.dtbo
-dtb-$(CONFIG_SOC_K3_J721E) += k3-j721e-common-proc-board.dtb \
-			      k3-j721e-r5-common-proc-board.dtb \
-			      k3-j7200-common-proc-board.dtb \
-			      k3-j7200-r5-common-proc-board.dtb \
-			      k3-j721e-sk.dtb \
-			      k3-j721e-r5-sk.dtb
-dtb-$(CONFIG_SOC_K3_J721S2) += k3-am68-sk-base-board.dtb\
-			       k3-am68-sk-r5-base-board.dtb\
-			       k3-j721s2-common-proc-board.dtb\
-			       k3-j721s2-r5-common-proc-board.dtb
-dtb-$(CONFIG_SOC_K3_AM642) += k3-am642-evm.dtb \
-			      k3-am642-r5-evm.dtb \
-			      k3-am642-sk.dtb \
-			      k3-am642-r5-sk.dtb
 
-dtb-$(CONFIG_SOC_K3_AM625) += k3-am625-sk.dtb \
-			      k3-am625-r5-sk.dtb \
-			      k3-am625-beagleplay.dtb \
-			      k3-am625-r5-beagleplay.dtb \
-			      k3-am625-verdin-wifi-dev.dtb \
-			      k3-am625-verdin-r5.dtb
-
-dtb-$(CONFIG_SOC_K3_AM62A7) += k3-am62a7-sk.dtb \
-			      k3-am62a7-r5-sk.dtb
-
-dtb-$(CONFIG_ARCH_MEDIATEK) += \
-	mt7622-rfb.dtb \
-	mt7623a-unielec-u7623-02-emmc.dtb \
-	mt7622-bananapi-bpi-r64.dtb \
-	mt7623n-bananapi-bpi-r2.dtb \
-	mt7629-rfb.dtb \
-	mt7981-rfb.dtb \
-	mt7981-emmc-rfb.dtb \
-	mt7981-sd-rfb.dtb \
-	mt7986a-bpi-r3-sd.dtb \
-	mt7986a-bpi-r3-emmc.dtb \
-	mt7986a-rfb.dtb \
-	mt7986b-rfb.dtb \
-	mt7986a-sd-rfb.dtb \
-	mt7986b-sd-rfb.dtb \
-	mt7986a-emmc-rfb.dtb \
-	mt7986b-emmc-rfb.dtb \
-	mt7988-rfb.dtb \
-	mt7988-sd-rfb.dtb \
-	mt8183-pumpkin.dtb \
-	mt8512-bm1-emmc.dtb \
-	mt8516-pumpkin.dtb \
-	mt8518-ap1-emmc.dtb
-
-dtb-$(CONFIG_ARCH_NPCM7xx) += nuvoton-npcm750-evb.dtb
-dtb-$(CONFIG_ARCH_NPCM8XX) += nuvoton-npcm845-evb.dtb
-dtb-$(CONFIG_XEN) += xenguest-arm64.dtb
-
-dtb-$(CONFIG_ARCH_OCTEONTX) += octeontx.dtb
-dtb-$(CONFIG_ARCH_OCTEONTX2) += octeontx.dtb
-
-dtb-$(CONFIG_TARGET_GE_BX50V3) += \
-	imx6q-bx50v3.dtb \
-	imx6q-b850v3.dtb \
-	imx6q-b650v3.dtb \
-	imx6q-b450v3.dtb
-
-dtb-$(CONFIG_TARGET_GE_B1X5V2) += imx6dl-b1x5v2.dtb
-dtb-$(CONFIG_TARGET_MX53PPD) += imx53-ppd.dtb
-
-# TODO(Linus Walleij <linus.walleij@linaro.org>): Should us a single vexpress
-# Kconfig option to build all of these. See examples above.
-dtb-$(CONFIG_TARGET_VEXPRESS_CA9X4) += vexpress-v2p-ca9.dtb
-dtb-$(CONFIG_TARGET_VEXPRESS64_BASE_FVP) += fvp-base-revc.dtb
-dtb-$(CONFIG_TARGET_VEXPRESS64_BASER_FVP) += arm_fvp.dtb
-dtb-$(CONFIG_TARGET_VEXPRESS64_JUNO) += juno-r2.dtb
-
-dtb-$(CONFIG_TARGET_TOTAL_COMPUTE) += total_compute.dtb
-
-dtb-$(CONFIG_TARGET_DURIAN) += phytium-durian.dtb
-dtb-$(CONFIG_TARGET_POMELO) += phytium-pomelo.dtb
-
-dtb-$(CONFIG_TARGET_PRESIDIO_ASIC) += ca-presidio-engboard.dtb
-
-dtb-$(CONFIG_TARGET_GXP) += hpe-bmc-dl360gen10.dts
-
-dtb-$(CONFIG_TARGET_IMX8MM_CL_IOT_GATE) += imx8mm-cl-iot-gate.dtb \
+dtb-$(CONFIG_TARGET_IMX8MM_CL_IOT_GATE) += \
 					imx8mm-cl-iot-gate-ied.dtbo \
 					imx8mm-cl-iot-gate-ied-adc0.dtbo \
 					imx8mm-cl-iot-gate-ied-adc1.dtbo \
@@ -1456,7 +39,7 @@  dtb-$(CONFIG_TARGET_IMX8MM_CL_IOT_GATE) += imx8mm-cl-iot-gate.dtb \
 					imx8mm-cl-iot-gate-ied-tpm0.dtbo \
 					imx8mm-cl-iot-gate-ied-tpm1.dtbo
 
-dtb-$(CONFIG_TARGET_IMX8MM_CL_IOT_GATE_OPTEE) += imx8mm-cl-iot-gate-optee.dtb \
+dtb-$(CONFIG_TARGET_IMX8MM_CL_IOT_GATE_OPTEE) += \
 					imx8mm-cl-iot-gate-ied.dtbo \
 					imx8mm-cl-iot-gate-ied-adc0.dtbo \
 					imx8mm-cl-iot-gate-ied-adc1.dtbo \
@@ -1465,17 +48,6 @@  dtb-$(CONFIG_TARGET_IMX8MM_CL_IOT_GATE_OPTEE) += imx8mm-cl-iot-gate-optee.dtb \
 					imx8mm-cl-iot-gate-ied-tpm0.dtbo \
 					imx8mm-cl-iot-gate-ied-tpm1.dtbo
 
-ifneq ($(CONFIG_TARGET_IMX8MP_RSB3720A1_4G)$(CONFIG_TARGET_IMX8MP_RSB3720A1_6G),)
-dtb-y += imx8mp-rsb3720-a1.dtb
-endif
-
-dtb-$(CONFIG_TARGET_EA_LPC3250DEVKITV2) += lpc3250-ea3250.dtb
-
-dtb-$(CONFIG_ARCH_QEMU) += qemu-arm.dtb qemu-arm64.dtb
-
-dtb-$(CONFIG_TARGET_CORSTONE1000) += corstone1000-mps3.dtb \
-				corstone1000-fvp.dtb
-
 include $(srctree)/scripts/Makefile.dts
 
 targets += $(dtb-y)
diff --git a/arch/m68k/dts/Makefile b/arch/m68k/dts/Makefile
index 7988522eb98c..a71db58d48a9 100644
--- a/arch/m68k/dts/Makefile
+++ b/arch/m68k/dts/Makefile
@@ -1,23 +1,5 @@ 
 # SPDX-License-Identifier: GPL-2.0+
 
-dtb-$(CONFIG_TARGET_M5235EVB) += M5235EVB.dtb \
-	M5235EVB_Flash32.dtb
-dtb-$(CONFIG_TARGET_COBRA5272) += cobra5272.dtb
-dtb-$(CONFIG_TARGET_EB_CPU5282) += eb_cpu5282.dtb \
-	eb_cpu5282_internal.dtb
-dtb-$(CONFIG_TARGET_M5208EVBE) += M5208EVBE.dtb
-dtb-$(CONFIG_TARGET_M5249EVB) += M5249EVB.dtb
-dtb-$(CONFIG_TARGET_M5253DEMO) += M5253DEMO.dtb
-dtb-$(CONFIG_TARGET_M5272C3) += M5272C3.dtb
-dtb-$(CONFIG_TARGET_M5275EVB) += M5275EVB.dtb
-dtb-$(CONFIG_TARGET_M5282EVB) += M5282EVB.dtb
-dtb-$(CONFIG_TARGET_ASTRO_MCF5373L) += astro_mcf5373l.dtb
-dtb-$(CONFIG_TARGET_M53017EVB) += M53017EVB.dtb
-dtb-$(CONFIG_TARGET_M5329EVB) += M5329AFEE.dtb M5329BFEE.dtb
-dtb-$(CONFIG_TARGET_M5373EVB) += M5373EVB.dtb
-dtb-$(CONFIG_TARGET_AMCORE) += amcore.dtb
-dtb-$(CONFIG_TARGET_STMARK2) += stmark2.dtb
-
 include $(srctree)/scripts/Makefile.dts
 
 targets += $(dtb-y)
diff --git a/arch/microblaze/dts/Makefile b/arch/microblaze/dts/Makefile
index 427a8f9aaca3..a71db58d48a9 100644
--- a/arch/microblaze/dts/Makefile
+++ b/arch/microblaze/dts/Makefile
@@ -1,7 +1,5 @@ 
 # SPDX-License-Identifier: GPL-2.0+
 
-dtb-y += $(shell echo $(CONFIG_DEFAULT_DEVICE_TREE)).dtb
-
 include $(srctree)/scripts/Makefile.dts
 
 targets += $(dtb-y)
diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile
index 14fbce597b9e..168fc5a38021 100644
--- a/arch/mips/dts/Makefile
+++ b/arch/mips/dts/Makefile
@@ -1,42 +1,5 @@ 
 # SPDX-License-Identifier: GPL-2.0+
 
-dtb-$(CONFIG_TARGET_AP121) += ap121.dtb
-dtb-$(CONFIG_TARGET_AP143) += ap143.dtb
-dtb-$(CONFIG_TARGET_AP152) += ap152.dtb
-dtb-$(CONFIG_TARGET_BOSTON) += img,boston.dtb
-dtb-$(CONFIG_TARGET_MALTA) += mti,malta.dtb
-dtb-$(CONFIG_TARGET_PIC32MZDASK) += pic32mzda_sk.dtb
-dtb-$(CONFIG_TARGET_XILFPGA) += nexys4ddr.dtb
-dtb-$(CONFIG_BOARD_BROADCOM_BCM968380GERG) += brcm,bcm968380gerg.dtb
-dtb-$(CONFIG_BOARD_COMTREND_AR5315U) += comtrend,ar-5315u.dtb
-dtb-$(CONFIG_BOARD_COMTREND_AR5387UN) += comtrend,ar-5387un.dtb
-dtb-$(CONFIG_BOARD_COMTREND_CT5361) += comtrend,ct-5361.dtb
-dtb-$(CONFIG_BOARD_COMTREND_VR3032U) += comtrend,vr-3032u.dtb
-dtb-$(CONFIG_BOARD_COMTREND_WAP5813N) += comtrend,wap-5813n.dtb
-dtb-$(CONFIG_BOARD_HUAWEI_HG556A) += huawei,hg556a.dtb
-dtb-$(CONFIG_BOARD_INTENO_XG6846) += inteno,xg6846.dtb
-dtb-$(CONFIG_BOARD_MT7620_RFB) += mediatek,mt7620-rfb.dtb
-dtb-$(CONFIG_BOARD_MT7620_MT7530_RFB) += mediatek,mt7620-mt7530-rfb.dtb
-dtb-$(CONFIG_BOARD_MT7621_RFB) += mediatek,mt7621-rfb.dtb
-dtb-$(CONFIG_BOARD_MT7621_NAND_RFB) += mediatek,mt7621-nand-rfb.dtb
-dtb-$(CONFIG_BOARD_MT7628_RFB) += mediatek,mt7628-rfb.dtb
-dtb-$(CONFIG_BOARD_GARDENA_SMART_GATEWAY_MT7688) += gardena-smart-gateway-mt7688.dtb
-dtb-$(CONFIG_BOARD_LINKIT_SMART_7688) += linkit-smart-7688.dtb
-dtb-$(CONFIG_TARGET_OCTEON_EBB7304) += mrvl,octeon-ebb7304.dtb
-dtb-$(CONFIG_TARGET_OCTEON_NIC23) += mrvl,octeon-nic23.dtb
-dtb-$(CONFIG_BOARD_NETGEAR_CG3100D) += netgear,cg3100d.dtb
-dtb-$(CONFIG_BOARD_NETGEAR_DGND3700V2) += netgear,dgnd3700v2.dtb
-dtb-$(CONFIG_BOARD_SAGEM_FAST1704) += sagem,f@st1704.dtb
-dtb-$(CONFIG_BOARD_SFR_NB4_SER) += sfr,nb4-ser.dtb
-dtb-$(CONFIG_BOARD_TPLINK_WDR4300) += tplink_wdr4300.dtb
-dtb-$(CONFIG_BOARD_VOCORE2) += vocore_vocore2.dtb
-dtb-$(CONFIG_TARGET_JZ4780_CI20) += ci20.dtb
-dtb-$(CONFIG_SOC_LUTON) += luton_pcb090.dtb luton_pcb091.dtb
-dtb-$(CONFIG_SOC_OCELOT) += ocelot_pcb120.dtb ocelot_pcb123.dtb
-dtb-$(CONFIG_SOC_JR2) += jr2_pcb110.dtb jr2_pcb111.dtb serval2_pcb112.dtb
-dtb-$(CONFIG_SOC_SERVALT) += servalt_pcb116.dtb
-dtb-$(CONFIG_SOC_SERVAL) += serval_pcb105.dtb serval_pcb106.dtb
-
 include $(srctree)/scripts/Makefile.dts
 
 targets += $(dtb-y)
diff --git a/arch/nios2/dts/Makefile b/arch/nios2/dts/Makefile
index 2b29fa90f6c8..a71db58d48a9 100644
--- a/arch/nios2/dts/Makefile
+++ b/arch/nios2/dts/Makefile
@@ -1,7 +1,5 @@ 
 # SPDX-License-Identifier: GPL-2.0+
 
-dtb-y += $(CONFIG_DEFAULT_DEVICE_TREE:"%"=%).dtb
-
 include $(srctree)/scripts/Makefile.dts
 
 targets += $(dtb-y)
diff --git a/arch/powerpc/dts/Makefile b/arch/powerpc/dts/Makefile
index bb436f02bcfd..168fc5a38021 100644
--- a/arch/powerpc/dts/Makefile
+++ b/arch/powerpc/dts/Makefile
@@ -1,37 +1,5 @@ 
 # SPDX-License-Identifier: GPL-2.0+
 
-dtb-$(CONFIG_TARGET_KMCENT2) += kmcent2.dtb
-dtb-$(CONFIG_TARGET_KMCOGE5NE) += kmcoge5ne.dtb
-dtb-$(CONFIG_TARGET_KMETER1) += kmeter1.dtb
-dtb-$(CONFIG_TARGET_KMOPTI2) += kmopti2.dtb
-dtb-$(CONFIG_TARGET_KMSUPX5) += kmsupc5.dtb kmsupm5.dtb
-dtb-$(CONFIG_TARGET_KMTEGR1) += kmtegr1.dtb
-dtb-$(CONFIG_TARGET_KMTEPR2) += kmtepr2.dtb
-dtb-$(CONFIG_TARGET_MPC837XERDB) += mpc8379erdb.dtb
-dtb-$(CONFIG_TARGET_MPC8548CDS) += mpc8548cds.dtb mpc8548cds_36b.dtb
-dtb-$(CONFIG_TARGET_P1010RDB_PA) += p1010rdb-pa.dtb p1010rdb-pa_36b.dtb
-dtb-$(CONFIG_TARGET_P1010RDB_PB) += p1010rdb-pb.dtb p1010rdb-pb_36b.dtb
-dtb-$(CONFIG_TARGET_P1020RDB_PC) += p1020rdb-pc.dtb p1020rdb-pc_36b.dtb
-dtb-$(CONFIG_TARGET_P1020RDB_PD) += p1020rdb-pd.dtb
-dtb-$(CONFIG_TARGET_P2020RDB) += p2020rdb-pc.dtb p2020rdb-pc_36b.dtb
-dtb-$(CONFIG_TARGET_P2041RDB) += p2041rdb.dtb
-dtb-$(CONFIG_TARGET_P3041DS) += p3041ds.dtb
-dtb-$(CONFIG_TARGET_P4080DS) += p4080ds.dtb
-dtb-$(CONFIG_TARGET_P5040DS) += p5040ds.dtb
-dtb-$(CONFIG_TARGET_QEMU_PPCE500) += qemu-ppce500.dtb
-dtb-$(CONFIG_TARGET_SOCRATES) += socrates.dtb
-dtb-$(CONFIG_TARGET_T1024RDB) += t1024rdb.dtb
-dtb-$(CONFIG_TARGET_T1042D4RDB) += t1042d4rdb.dtb
-dtb-$(CONFIG_TARGET_T2080QDS) += t2080qds.dtb
-dtb-$(CONFIG_TARGET_T2080RDB) += t2080rdb.dtb
-dtb-$(CONFIG_TARGET_T4240RDB) += t4240rdb.dtb
-dtb-$(CONFIG_TARGET_TUGE1) += kmtuge1.dtb
-dtb-$(CONFIG_TARGET_TUXX1) += kmtuxa1.dtb
-dtb-$(CONFIG_TARGET_MCR3000) += mcr3000.dtb
-dtb-$(CONFIG_TARGET_GAZERBEAM) += gazerbeam.dtb
-dtb-$(CONFIG_TARGET_CMPC885) += cmpc885.dtb
-dtb-$(CONFIG_TARGET_CMPCPRO) += cmpcpro.dtb
-
 include $(srctree)/scripts/Makefile.dts
 
 targets += $(dtb-y)
diff --git a/arch/riscv/dts/Makefile b/arch/riscv/dts/Makefile
index be6c8a422729..a71db58d48a9 100644
--- a/arch/riscv/dts/Makefile
+++ b/arch/riscv/dts/Makefile
@@ -1,14 +1,5 @@ 
 # SPDX-License-Identifier: GPL-2.0+
 
-dtb-$(CONFIG_TARGET_ANDES_AE350) += ae350_32.dtb ae350_64.dtb
-dtb-$(CONFIG_TARGET_MICROCHIP_ICICLE) += mpfs-icicle-kit.dtb
-dtb-$(CONFIG_TARGET_QEMU_VIRT) += qemu-virt32.dtb qemu-virt64.dtb
-dtb-$(CONFIG_TARGET_OPENPITON_RISCV64) += openpiton-riscv64.dtb
-dtb-$(CONFIG_TARGET_SIFIVE_UNLEASHED) += hifive-unleashed-a00.dtb
-dtb-$(CONFIG_TARGET_SIFIVE_UNMATCHED) += hifive-unmatched-a00.dtb
-dtb-$(CONFIG_TARGET_SIPEED_MAIX) += k210-maix-bit.dtb
-dtb-$(CONFIG_TARGET_STARFIVE_VISIONFIVE2) += jh7110-starfive-visionfive-2.dtb
-dtb-$(CONFIG_TARGET_TH1520_LPI4A) += th1520-lichee-pi-4a.dtb
 include $(srctree)/scripts/Makefile.dts
 
 targets += $(dtb-y)
diff --git a/arch/sandbox/dts/Makefile b/arch/sandbox/dts/Makefile
index f810b4752f5a..b3cc3c05bd41 100644
--- a/arch/sandbox/dts/Makefile
+++ b/arch/sandbox/dts/Makefile
@@ -1,10 +1,5 @@ 
 # SPDX-License-Identifier: GPL-2.0+
 
-ifdef CONFIG_SANDBOX64
-dtb-$(CONFIG_SANDBOX) += sandbox64.dtb
-else
-dtb-$(CONFIG_SANDBOX) += sandbox.dtb
-endif
 dtb-$(CONFIG_UT_DM) += test.dtb other.dtb
 dtb-$(CONFIG_CMD_EXTENSION) += overlay0.dtbo overlay1.dtbo
 
diff --git a/arch/sh/dts/Makefile b/arch/sh/dts/Makefile
index 144fd3e7d224..f150d03c6b3e 100644
--- a/arch/sh/dts/Makefile
+++ b/arch/sh/dts/Makefile
@@ -1,4 +1,4 @@ 
-dtb-y += sh7751-r2dplus.dtb
+# SPDX-License-Identifier: GPL-2.0+
 
 include $(srctree)/scripts/Makefile.dts
 
diff --git a/arch/x86/dts/Makefile b/arch/x86/dts/Makefile
index cd77f4c4e814..b494d23a6465 100644
--- a/arch/x86/dts/Makefile
+++ b/arch/x86/dts/Makefile
@@ -1,27 +1,5 @@ 
 # SPDX-License-Identifier: GPL-2.0+
 
-dtb-y += bayleybay.dtb \
-	cherryhill.dtb \
-	chromebook_coral.dtb \
-	chromebook_link.dtb \
-	chromebox_panther.dtb \
-	chromebook_samus.dtb \
-	conga-qeval20-qa3-e3845.dtb \
-	coreboot.dtb \
-	cougarcanyon2.dtb \
-	crownbay.dtb \
-	dfi-bt700-q7x-151.dtb \
-	edison.dtb \
-	efi-x86_app.dtb \
-	efi-x86_payload.dtb \
-	galileo.dtb \
-	minnowmax.dtb \
-	qemu-x86_i440fx.dtb \
-	qemu-x86_q35.dtb \
-	theadorable-x86-dfi-bt700.dtb \
-	slimbootloader.dtb \
-	baytrail_som-db5800-som-6867.dtb
-
 include $(srctree)/scripts/Makefile.dts
 
 targets += $(dtb-y)
diff --git a/arch/xtensa/dts/Makefile b/arch/xtensa/dts/Makefile
index c22c50ac4e5d..b7dea2ee759d 100644
--- a/arch/xtensa/dts/Makefile
+++ b/arch/xtensa/dts/Makefile
@@ -1,7 +1,5 @@ 
 # SPDX-License-Identifier: GPL-2.0+
 
-dtb-$(CONFIG_XTENSA) += ml605.dtb ml605_nommu.dtb kc705.dtb kc705_nommu.dtb
-
 include $(srctree)/scripts/Makefile.dts
 
 targets += $(dtb-y)
diff --git a/configs/iot2050_defconfig b/configs/iot2050_defconfig
index c2def974efaf..bc87e6aa9c9f 100644
--- a/configs/iot2050_defconfig
+++ b/configs/iot2050_defconfig
@@ -78,6 +78,7 @@  CONFIG_CMD_TIME=y
 # CONFIG_ISO_PARTITION is not set
 CONFIG_OF_CONTROL=y
 CONFIG_SPL_OF_CONTROL=y
+CONFIG_OF_LIST="k3-am6528-iot2050-basic k3-am6548-iot2050-advanced k3-am6528-iot2050-basic-pg2 k3-am6548-iot2050-advanced-pg2 k3-am6548-iot2050-advanced-m2"
 CONFIG_SPL_MULTI_DTB_FIT=y
 CONFIG_SPL_OF_LIST="k3-am65-iot2050-spl"
 CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y