
Hi Tom,
On Sun, 10 Dec 2023 at 03:33, Tom Rini trini@konsulko.com wrote:
On Mon, Dec 04, 2023 at 11:02:57AM +0530, Sumit Garg wrote:
[snip]
But currently u-boot doesn't have a proper way to validate those DTS against DT bindings (maintained in Linux kernel). Although there are Devicetree schema tools available here [2], there isn't a versioned release package of DT bindings which one should use to validate DTS files.
I will have more / other things to say but I want to chime in here. That U-Boot cannot validate the DTS files is a bug, not a feature. I would very much appreciate if someone(s) with time and skills to do so would re-sync us with the kernel Kbuild again so that we can both stay in sync again and have the validation targets / functionality available here too.
Agree, the Kbuild changes to add dtbs_check was the first thing I implemented after importing devicetree-rebasing repo in u-boot (see commit [1] for details). Usage with PR [2] included:
While building any u-boot target, just add make target: "dtbs_check" and you will see the DT schema checks being performed. Steps:
$ make <target>_defconfig $ make -j`nproc` dtbs_check
Currently there are a lot of incompatibility warnings I have seen for the platforms I built. This shows how much difficult it has been to keep DT in sync with upstream DT bindings.
TBH, this was the only motivation for me to get into discussion with DT bindings maintainers for a separate repo. But since with devicetree-rebasing, we get devictree files bundled along and then I got into reusing them for building DTBs in u-boot. This has the other benefit of reducing maintainer's pain to keep DT in sync with Linux kernel major releases (see amlogic platforms to be the first migrator [3]).
[1] https://github.com/u-boot/u-boot/pull/451/commits/7ea2dc2477992a603fa881d0da... [2] https://github.com/u-boot/u-boot/pull/451 [3] https://github.com/u-boot/u-boot/pull/451/commits/38c2ac62e9134604d1a56179d5...
-Sumit
-- Tom