I’m happy to announce the Amlogic ARM64 Device Tree is now fully documented in linux-next, ready for v6.12!
Since the beginning of Device Tree on Linux, we documented how it should be written so drivers could know what to expect, it’s called “bindings”, it’s a sort of “contract” between Device Tree and drivers.
But those were written in human readable open text format, without any automated way to verify Device Tree files. There were numerous attempts, but ultimately Rob Herring leveraged JSON Schema [1] into “dtschema” [2] leading to this patch serie https://lore.kernel.org/all/20181005165848.3474-1-robh@kernel.org/.
Thus “dtschema” made it possible to write bindings in YAML and the developed scripts would convert Device Tree in YAML and run a validation with JSON Schema validation. This was merged in end of 2018 then conversion of the text files in YAML files started.
For reference, there were 3278 text bindings in Linux 4.20 git tree, in today’s Linux next for v6.12 only 1250 text files remains but there’s 4345 yaml files now! In addition to the transition to yaml bindings, new platforms were introduced using the new format.
Around one year ago, I upstreamed support for the Snapdragon 8 Gen 3, and it was fully documented from day 1, and most of the changes was yaml bindings change since the SoC was mainly an upgrade from the Snapdragon 8 Gen 2 I helped upstream 2 years ago.
Let’s go back to Amlogic, were I started converting the text file to yaml bindings in August 2019 (see [3]), and finally ended the transition early this month with the patch [4]. This makes the Amlogic ARM64 Device Trees join fully documented along other platforms like Samsung Exynos
If you want to know more about Device Tree validation, you can look at my @LinaroLtd colleague @krzk talk he did in this year's #EOSS in Seattle https://sched.co/1aBEf!
Now the links:
[1] https://json-schema.org/
[2] https://github.com/devicetree-org/dt-schema
[3] https://lore.kernel.org/all/20190801135644.12843-1-narmstrong@baylibre.com/
[4] https://lore.kernel.org/all/20240905-topic-amlogic-upstream-gxlx-drop-iio-compat-v2-1-7a690eb95bc2@linaro.org/
Thanks for reading !
Hey, Google, not again! How am I supposed to send my patches?
smtplib.SMTPDataError: 5.4.5 Daily user sending limit exceeded.