[PATCH v4 00/11] An effort to bring DT bindings compliance within U-Boot

Andre Przywara andre.przywara at arm.com
Mon Jan 22 12:45:15 CET 2024

On Wed, 10 Jan 2024 16:05:36 +0530
Sumit Garg <sumit.garg at linaro.org> wrote:


I certainly welcome this more automatic synchronisation of the DTs,
however have one comment about the upcoming sync process:

> ...
> However, Linux kernel DT maintainers proposed [2] for U-Boot to rather
> use devicetree-rebasing repo [3] which is a forked copy from Linux
> kernel for DT source files as well as bindings. It is tagged at every
> Linux kernel major release or intermideate release candidates. So here I
> have tried to reuse that to bring DT bingings compliance as well as a
> standard way to maintain a regular sync of DT source files with Linux
> kernel.
> In order to maintain devicetree files sync, U-Boot will maintains a Git
> subtree for devicetee-rebasing repo as `dts/upstream` sub-directory.
> U-Boot will regularly sync `dts/upstream/` subtree whenever the next window
> opens with the next available kernel major release.

I hope this doesn't need to stay that restricted? Can we either sync more
often, or at least on the kernel's -rc1, and not only on a "full" release?

The reason I ask is that we have a chicken-egg problem here: without a DT
merged into the kernel tree, no U-Boot board support can be merged. And
without U-Boot support, we cannot boot a kernel, at least not in the
canonical way.

Since the U-Boot and kernel merge windows are not in phase, for sunxi I try
to sync the kernel DTs either as early as possible (-rc1, sometimes even
before, when the maintainers have merged them into their tree), or
sometimes "out of season", if a board defconfig patch is coming up.

Otherwise new board support, which typically has a very low regression risk
for the rest of the code base, would need to be delayed until the next
release. In the worst case the U-Boot merge windows opens one week before
a kernel release, then new boards need to wait three months?


> `dts/update-dts-subtree.sh` script provides a wrapper around git subtree
> pull command, usage from the top level U-Boot source tree, run:
> $ ./dts/update-dts-subtree.sh <devicetree-rebasing-release-tag>
> The RFC/prototype for this series has been discussed with Linux DT
> maintainers as well as U-Boot maintainers here [4]. Now we would like to
> reach out to wider U-Boot community to seek feedback.
> [1] https://lore.kernel.org/all/CAFA6WYMLUD9cnkr=R0Uur+1UeTMkKjM2zDdMJtXb3nmrLk+pDg@mail.gmail.com/
> [2] https://lore.kernel.org/all/CAL_JsqKEjv2tSGmT+0ZiO7_qbBfhTycbGnhJhYpKDFzfO9jzDg@mail.gmail.com/
> [3] https://git.kernel.org/pub/scm/linux/kernel/git/devicetree/devicetree-rebasing.git/
> [4] https://github.com/u-boot/u-boot/pull/451

More information about the U-Boot-Custodians mailing list