Linux – Is a device tree blob tied to a specific linux kernel version

device-treedriversembeddedlinuxlinux-kernel

I was asking myself if a certain dtb that works with linux kernel version 3.18 is compatible with a linux kernel version 4.9.

I suppose not, because kernel code concerning the device tree likely changes over the time, but it somehow has to be compatible otherwise multiple dts/dtsi files have to change all the time.

I used google to investigate this, but even in the official documentation I couldn't find a word about compatibility throughout different kernel versions.

Best Answer

The Device Tree is supposed to be a stable ABI so a device tree written for any version of the kernel should work with any following kernel version.

However, for practical reasons, this is quite often not the case. You can have a look at the following presentation from Thomas, explaining why: http://free-electrons.com/pub/conferences/2015/elc/petazzoni-dt-as-stable-abi-fairy-tale/petazzoni-dt-as-stable-abi-fairy-tale.pdf

Video: https://www.youtube.com/watch?v=rPRqIS9q6CY

Related Question