[PATCH v4 00/11] An effort to bring DT bindings compliance within U-Boot
Marek Vasut
marex at denx.de
Sun Jan 21 15:33:17 CET 2024
On 1/10/24 11:35, Sumit Garg wrote:
> Changes in v4:
> --------------
> - Switched subtree to be imported as dts/upstream sub-directory rather
> than devicetree-rebasing sub-directory to better suite U-Boot
> directory structure.
> - Since we now have v6.7-dts tag available now, so switch subtree to
> that from its beginning.
> - Patch #2: Incorporate build fix to adjust Bindings Makefile rules to
> old U-Boot Kbuild infrastructure.
> - Patch #3: Incorporate fix to resolve rk3399 migration issue reported
> by Simon.
> - Patch #4: New patch to reuse upstream DT includes by U-Boot as per
> Brian's use-case for TI K3 SoCs.
> - Patch #5: Added a note to OF_UPSTREAM Kconfig option.
> - Patch #6: New patch to add script dts/update-dts-subtree.sh as per
> Rob's comments.
> - Patch #7: Separate patch to align documentation to use Kconfig symbols
> instead.
> - Patch #8: Clarify subtree uprev schedule as a separate documentation
> section. Also, fixed documentation typos.
> - Patch #9: Added commit description.
>
> Changes in v3:
> --------------
> - Patch #4: Minor commit message update
> - Patch #5: Replace CONFIG_* with Kconfig options
> - Patch #7: Dropped Makefile portion and enabled OF_UPSTREAM for SoC
> instead.
> - Patch #1, #3, #6 and #8: Picked up review tags
>
> Changes in v2:
> --------------
> - Patch #1: excluded gitab CI config check and added commit description.
> - Patch #3: s/UBOOT_DTSI_LOC/u_boot_dtsi_loc/
> - Patch #4: s/DEVICE_TREE_LOC/dt_dir/ and s/U-boot/U-Boot/
> - Patch #5: s/U-boot/U-Boot/
> - Patch #6 and #7: Picked up review tags
>
> Prerequisite
> ------------
>
> This patch series requires devicetree-rebasing git repo to be added as a
> subtree to the main U-Boot repo via:
>
> $ git subtree add --prefix dts/upstream \
> git://git.kernel.org/pub/scm/linux/kernel/git/devicetree/devicetree-rebasing.git \
> v6.7-dts --squash
>
> Background
> ----------
>
> This effort started while I was reviewing patch series corresponding to
> Qcom platforms [1] which was about to import modified devicetree source
> files from Linux kernel. I suppose keeping devicetree files sync with
> Linux kernel without any DT bindings schema validation has been a pain
> for U-Boot SoC/platform maintainers. There has been past discussions
> about a single DT repo but that hasn't come up and Linux kernel remained
> the place where DT source files as well as bindings are placed and
> maintained.
>
> 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.
> `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.
I very much agree with the direction this is going in, but I do have two
simple questions:
How do you propose to handle fixes to DTs which are applied to
linux-stable releases ? For example, if Linux 6.6(.0) ships a DT which
has some defect that is fixed in 6.6.1, how will that fix get into
U-Boot DTs ?
Assume that there is some large breaking change in Linux 6.(n+1),
something which would be problematic for specific U-Boot platform (e.g.
i.MX) or would require a lot of work to sort out, will there be a way to
temporarily pin DTs for specific platform to older DT version until that
is resolved (e.g. pin to 6.n) ?
More information about the U-Boot
mailing list