1
0
mirror of https://git.yoctoproject.org/meta-ti synced 2026-01-12 01:20:20 +00:00

meta-ti-bsp: convert DTB prefix matching into class

Convert devicetree prefix matching functionality into a generic
class that can be used by the kernel and wic images. That way
dynamically generated KERNEL_DEVICETREE list will be the same
when populating /boot dir of rootfs and/or FAT boot partition
of a wic image.

Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
This commit is contained in:
Denys Dmytriyenko
2025-07-25 16:48:36 -04:00
committed by Ryan Eatmon
parent 55b61e047d
commit 8200cee36c
6 changed files with 14 additions and 7 deletions

View File

@@ -1,3 +1,4 @@
# Generate list of DTBs from the kernel source
def get_dtbs_from_kernel(dts_dir, dts_prefix):
import os
import glob
@@ -17,6 +18,8 @@ def get_dtbs_from_kernel(dts_dir, dts_prefix):
matches.append(filename)
return ' '.join(matches)
# Generate list of "merged" DTBs from the kernel source
# It is TI custom feature to merge DTB overlays into a single DTB
def get_merge_dtbs_from_kernel(dts_dir, dts_pattern):
import os
matches = []
@@ -32,9 +35,9 @@ def get_merge_dtbs_from_kernel(dts_dir, dts_pattern):
matches.append(pattern)
return ' '.join(matches)
KERNEL_DEVICETREE_DTBMERGE ?= ""
KERNEL_DEVICETREE = " \
${@get_dtbs_from_kernel('${STAGING_KERNEL_DIR}/arch/${ARCH}/boot/dts/', '${KERNEL_DEVICETREE_PREFIX}')} \
${@get_merge_dtbs_from_kernel('${STAGING_KERNEL_DIR}/arch/${ARCH}/boot/dts/', '${KERNEL_DEVICETREE_DTBMERGE}')} \
"
do_image_wic[depends] += "virtual/kernel:do_shared_workdir"

View File

@@ -22,3 +22,11 @@ KERNEL_DTBVENDORED = "1"
# Also build a non-vendored list w/o dir structure
DEVICETREE_FILES = "${@' '.join([os.path.basename(f) for f in d.getVar("KERNEL_DEVICETREE").split()])}"
KERNEL_DEVICETREE_DTBMERGE ?= ""
# Dynamically build DTBs list based on prefix matching
CLASS_DEVICETREE_PREFIX = "${@ 'ti-devicetree-prefix' if d.getVar('KERNEL_DEVICETREE_PREFIX') else ''}"
KERNEL_CLASSES += "${CLASS_DEVICETREE_PREFIX}"
IMAGE_CLASSES += "${CLASS_DEVICETREE_PREFIX}"

View File

@@ -2,8 +2,6 @@ require linux-ti-mainline_git.bb
SUMMARY = "Linux-next kernel for TI devices"
include ${@ 'recipes-kernel/linux/ti-kernel-devicetree-prefix.inc' if d.getVar('KERNEL_DEVICETREE_PREFIX') else ''}
# 6.6.0-rc3+ version
SRCREV = "6465e260f48790807eef06b583b38ca9789b6072"
PV = "6.6.0-rc3+git"

View File

@@ -7,7 +7,6 @@ inherit ${KERNEL_BASE_CLASS}
require recipes-kernel/linux/setup-defconfig.inc
require recipes-kernel/linux/ti-kernel.inc
include ${@ 'recipes-kernel/linux/ti-kernel-devicetree-prefix.inc' if d.getVar('KERNEL_DEVICETREE_PREFIX') else ''}
include ${@ 'recipes-kernel/linux/ti-extras.inc' if d.getVar('TI_EXTRAS') else ''}
DEPENDS += "gmp-native libmpc-native"

View File

@@ -7,7 +7,6 @@ inherit ${KERNEL_BASE_CLASS}
require recipes-kernel/linux/setup-defconfig.inc
require recipes-kernel/linux/ti-kernel.inc
include ${@ 'recipes-kernel/linux/ti-kernel-devicetree-prefix.inc' if d.getVar('KERNEL_DEVICETREE_PREFIX') else ''}
include ${@ 'recipes-kernel/linux/ti-extras.inc' if d.getVar('TI_EXTRAS') else ''}
DEPENDS += "gmp-native libmpc-native"

View File

@@ -7,6 +7,6 @@ require recipes-kernel/linux/linux-yocto-fitimage.bb
inherit ti-secdev
include ${@ 'recipes-kernel/linux/ti-kernel-devicetree-prefix.inc' if d.getVar('KERNEL_DEVICETREE_PREFIX') else ''}
inherit ${@ 'ti-devicetree-prefix' if d.getVar('KERNEL_DEVICETREE_PREFIX') else ''}
do_compile[depends] += "virtual/kernel:do_shared_workdir"