
On Wed, 10 Jan 2024 16:05:36 +0530 Sumit Garg sumit.garg@linaro.org wrote:
Hi,
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?
Cheers, Andre
`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+... [2] https://lore.kernel.org/all/CAL_JsqKEjv2tSGmT+0ZiO7_qbBfhTycbGnhJhYpKDFzfO9j... [3] https://git.kernel.org/pub/scm/linux/kernel/git/devicetree/devicetree-rebasi... [4] https://github.com/u-boot/u-boot/pull/451