[Buildroot] [PATCH v3 1/1] linux: make out-of-tree DTS work with newest kernels

Arnout Vandecappelle arnout at mind.be
Wed Jan 22 10:52:14 UTC 2025



On 22/01/2025 11:40, Romain Naour wrote:
[snip]
> The problem is that we define the path to the OOT dts file like this:
> 
> BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts"
> 
> So we can't extract the vendor prefix from it even if it would look like this:
> 
> BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/acmesystems/acqua-a5/dts/microchip/at91-sama5d3_acqua.dts"
> 
> Note: the vendor prefix is not always one sub-directory:
> 
>    arch/arm/boot/dts/ti/omap/dra7.dtsi
>    arch/arm64/boot/dts/exynos/google/gs101.dtsi
> 
> We probably need a new option to provide something like a dts "overlay"
> BR2_LINUX_KERNEL_CUSTOM_DTS_OVERLAY (similar to BR2_ROOTFS_OVERLAY) to copy a
> dts directory directly to $(LINUX_ARCH_PATH)/boot/dts/
> 
>    BR2_LINUX_KERNEL_CUSTOM_DTS_OVERLAY="board/acmesystems/acqua-a5/dts"
> 
>    board/acmesystems/acqua-a5/dts/
>    └── microchip
>        └── at91-sama5d3_acqua.dts
> 
> Doing so, the BR2_LINUX_KERNEL_CUSTOM_DTS_PATH should be deprecated.

  Alternatively, we can define an additional config variable 
BR2_LINUX_KERNEL_CUSTOM_DTS_DIRECTORY that contains the subdirectory to which 
the custom DTS is copied. So `microchip`, `ti/omap`, or `exynos/google`.

  Disadvantage: we can't support multiple dts from different vendors. Not sure 
if that is going to be an actual use case, but people do crazy things... But I 
think for the common case (of only a single or a low number of DTSes that all 
use the same CPU (family) so are in the same directory) it works well and is 
much easier for the user.

  Regards,
  Arnout

> 
> Thoughts?
> 
> [1]
> https://gitlab.com/buildroot.org/buildroot/-/commit/8fb52098859fa5cf7ecf4db30ff8e0276687832f
> 
> Best regards,
> Romain
> 
> 
>>
>> -michael
> 



More information about the buildroot mailing list