Skip to content

Commit

Permalink
kernel: Support Qualcomm merge_dtbs script
Browse files Browse the repository at this point in the history
Script from clo kernel/build at kernel.lnx.5.10.r1-rel

Change-Id: Ia90975c895644b86d9f861ddd5a18b7cf6ce1470
  • Loading branch information
webgeek1234 authored and basamaryan committed Sep 14, 2023
1 parent 25af825 commit d7fd82f
Show file tree
Hide file tree
Showing 2 changed files with 468 additions and 2 deletions.
34 changes: 32 additions & 2 deletions build/tasks/kernel.mk
@@ -1,5 +1,5 @@
# Copyright (C) 2012 The CyanogenMod Project
# (C) 2017-2022 The LineageOS Project
# (C) 2017-2023 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -86,6 +86,10 @@ KERNEL_OUT := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ
RECOVERY_KERNEL_OUT := $(TARGET_OUT_INTERMEDIATES)/RECOVERY_KERNEL_OBJ
DTBO_OUT := $(TARGET_OUT_INTERMEDIATES)/DTBO_OBJ
DTB_OUT := $(TARGET_OUT_INTERMEDIATES)/DTB_OBJ
ifeq ($(BOARD_USES_QCOM_MERGE_DTBS_SCRIPT),true)
DTBS_BASE := $(DTB_OUT)/base
DTBS_OUT := $(DTB_OUT)/out
endif
KERNEL_CONFIG := $(KERNEL_OUT)/.config
KERNEL_RELEASE := $(KERNEL_OUT)/include/config/kernel.release
RECOVERY_KERNEL_CONFIG := $(RECOVERY_KERNEL_OUT)/.config
Expand Down Expand Up @@ -470,9 +474,17 @@ MKDTBOIMG := $(HOST_OUT_EXECUTABLES)/mkdtboimg.py$(HOST_EXECUTABLE_SUFFIX)
$(DTBO_OUT):
mkdir -p $(DTBO_OUT)

$(BOARD_PREBUILT_DTBOIMAGE): $(DTC) $(MKDTIMG) $(MKDTBOIMG) $(DTBO_OUT)
ifeq ($(BOARD_USES_QCOM_MERGE_DTBS_SCRIPT),true)
$(BOARD_PREBUILT_DTBOIMAGE): $(INSTALLED_DTBIMAGE_TARGET)
else
$(BOARD_PREBUILT_DTBOIMAGE): $(DTBO_OUT)
endif
$(BOARD_PREBUILT_DTBOIMAGE): $(DTC) $(MKDTIMG) $(MKDTBOIMG)
$(BOARD_PREBUILT_DTBOIMAGE):
@echo "Building dtbo.img"
ifeq ($(BOARD_USES_QCOM_MERGE_DTBS_SCRIPT),true)
$(MKDTBOIMG) create $@ --page_size=$(BOARD_KERNEL_PAGESIZE) $(shell find $(DTBS_OUT) -type f -name "*.dtbo" | sort)
else
$(hide) find $(DTBO_OUT)/arch/$(KERNEL_ARCH)/boot/dts -type f -name "*.dtbo" | xargs rm -f
$(call make-dtbo-target,$(KERNEL_DEFCONFIG))
$(call make-dtbo-target,$(TARGET_KERNEL_DTB))
Expand All @@ -486,6 +498,7 @@ else
$(call make-dtbo-target,$(TARGET_KERNEL_DTBO))
endif # BOARD_KERNEL_SEPARATED_DTBO
$(hide) touch -c $(DTBO_OUT)
endif # BOARD_USES_QCOM_MERGE_DTBS_SCRIPT
endif # BOARD_CUSTOM_DTBOIMG_MK
endif # TARGET_NEEDS_DTBOIMAGE/BOARD_KERNEL_SEPARATED_DTBO

Expand All @@ -496,11 +509,20 @@ else
ifeq ($(BOARD_PREBUILT_DTBIMAGE_DIR),)
$(DTB_OUT):
mkdir -p $(DTB_OUT)
ifeq ($(BOARD_USES_QCOM_MERGE_DTBS_SCRIPT),true)
$(DTBS_BASE):
mkdir -p $(DTBS_BASE)
$(DTBS_OUT):
mkdir -p $(DTBS_OUT)
endif

ifdef BOARD_DTB_CFG
MKDTBOIMG := $(HOST_OUT_EXECUTABLES)/mkdtboimg.py$(HOST_EXECUTABLE_SUFFIX)
$(INSTALLED_DTBIMAGE_TARGET): $(MKDTBOIMG)
endif
ifeq ($(BOARD_USES_QCOM_MERGE_DTBS_SCRIPT),true)
$(INSTALLED_DTBIMAGE_TARGET): $(HOST_OUT_EXECUTABLES)/fdtget $(HOST_OUT_EXECUTABLES)/fdtput $(HOST_OUT_EXECUTABLES)/fdtoverlay $(HOST_OUT_EXECUTABLES)/fdtoverlaymerge $(HOST_OUT_EXECUTABLES)/ufdt_apply_overlay $(DTBS_BASE) $(DTBS_OUT)
endif
$(INSTALLED_DTBIMAGE_TARGET): $(DTC) $(DTB_OUT)
ifeq ($(TARGET_WANTS_EMPTY_DTB),true)
@rm -f $@
Expand All @@ -512,8 +534,16 @@ else
$(call make-dtb-target,$(TARGET_KERNEL_DTB))
ifdef BOARD_DTB_CFG
$(MKDTBOIMG) cfg_create $@ $(BOARD_DTB_CFG) -d $(DTB_OUT)/arch/$(KERNEL_ARCH)/boot/dts
else
ifeq ($(BOARD_USES_QCOM_MERGE_DTBS_SCRIPT),true)
$(hide) find $(DTBS_BASE) -type f -name "*.dtb*" | xargs rm -f
$(hide) find $(DTBS_OUT) -type f -name "*.dtb*" | xargs rm -f
mv $(DTB_OUT)/arch/$(KERNEL_ARCH)/boot/dts/vendor/qcom/*.dtb $(DTB_OUT)/arch/$(KERNEL_ARCH)/boot/dts/vendor/qcom/*.dtbo $(DTBS_BASE)/
PATH=$(abspath $(HOST_OUT_EXECUTABLES)):$${PATH} python3 $(BUILD_TOP)/vendor/lineage/build/tools/merge_dtbs.py $(DTBS_BASE) $(DTB_OUT)/arch/$(KERNEL_ARCH)/boot/dts/vendor/qcom $(DTBS_OUT)
cat $(shell find $(DTB_OUT)/out -type f -name "*.dtb" | sort) > $@
else
cat $(shell find $(DTB_OUT)/arch/$(KERNEL_ARCH)/boot/dts -type f -name "*.dtb" | sort) > $@
endif # BOARD_USES_QCOM_MERGE_DTBS_SCRIPT
endif # BOARD_DTB_CFG
$(hide) touch -c $(DTB_OUT)
endif # !TARGET_WANTS_EMPTY_DTB
Expand Down

0 comments on commit d7fd82f

Please sign in to comment.