mirror of https://github.com/armbian/build.git
rk3588: edge: Fix dtb overlay compilation and installation
"general-add-overlay-compilation-support.patch" became obsolete in Linux 6.9 (see AR-2352 [1]). Fix this problem: - Rename *.dts sources in overlay directory to *.dtso - Change "target +=" line to "dts-y +=" in overlay Makefile - Remove "always +=" line in overlay Makefile - Add .scr compilation support in kernel scripts/Makefile.lib - Patch kernel scripts/Makefile.dtbinst to avoid flattening overlay directory For the last two points, see general-add-overlay-compilation-support.patch Credits for this fix go to @paolosabatino [1] https://armbian.atlassian.net/browse/AR-2352
This commit is contained in:
parent
40ae7ac877
commit
de8d91b45f
|
@ -1,84 +1,76 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
|
||||
Date: Sat, 11 Feb 2017 20:32:53 +0300
|
||||
Subject: add overlay support
|
||||
From 088e1cd9b9dd113f0a5e9e19a7f31c37532e002a Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
Date: Sun, 2 Jun 2024 21:53:01 +0200
|
||||
Subject: [PATCH] compile .scr and install overlays in right path
|
||||
|
||||
- rpardini: real overlays are now bare in "overlay" directory and are handled
|
||||
directly by the patching scripts. No more null-patching of overlays.
|
||||
- no readme, no fixups
|
||||
---
|
||||
scripts/Makefile.dtbinst | 6 +++-
|
||||
scripts/Makefile.lib | 17 ++++++++++
|
||||
2 files changed, 22 insertions(+), 1 deletion(-)
|
||||
scripts/Makefile.dtbinst | 2 +-
|
||||
scripts/Makefile.lib | 8 +++++++-
|
||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
|
||||
index 4405d5b67578..9b8c57722947 100644
|
||||
index 67956f6496a5..151687728a60 100644
|
||||
--- a/scripts/Makefile.dtbinst
|
||||
+++ b/scripts/Makefile.dtbinst
|
||||
@@ -18,9 +18,10 @@ include $(srctree)/scripts/Kbuild.include
|
||||
include $(kbuild-file)
|
||||
@@ -33,7 +33,18 @@ endef
|
||||
|
||||
dtbs := $(addprefix $(dst)/, $(dtb-y) $(if $(CONFIG_OF_ALL_DTBS),$(dtb-)))
|
||||
+dtbos := $(addprefix $(dst)/, $(dtbo-y))
|
||||
subdirs := $(addprefix $(obj)/, $(subdir-y) $(subdir-m))
|
||||
$(foreach d, $(sort $(dir $(dtbs))), $(eval $(call gen_install_rules,$(d))))
|
||||
|
||||
-__dtbs_install: $(dtbs) $(subdirs)
|
||||
+__dtbs_install: $(dtbs) $(dtbos) $(subdirs)
|
||||
@:
|
||||
|
||||
quiet_cmd_dtb_install = INSTALL $@
|
||||
@@ -32,6 +33,9 @@ $(dst)/%.dtb: $(obj)/%.dtb
|
||||
$(dst)/%.dtbo: $(obj)/%.dtbo
|
||||
$(call cmd,dtb_install)
|
||||
|
||||
+$(dst)/%.dtbo: $(obj)/%.dtbo
|
||||
+ $(call cmd,dtb_install)
|
||||
-dtbs := $(notdir $(dtbs))
|
||||
+# Very convoluted way to flatten all the device tree
|
||||
+# directories, but keep the "/overlay/" directory
|
||||
+
|
||||
PHONY += $(subdirs)
|
||||
$(subdirs):
|
||||
$(Q)$(MAKE) $(dtbinst)=$@ dst=$(if $(CONFIG_ARCH_WANT_FLAT_DTB_INSTALL),$(dst),$(patsubst $(obj)/%,$(dst)/%,$@))
|
||||
+# topmost directory (ie: from rockchip/overlay/rk322x-emmc.dtbo extracts rockchip)
|
||||
+topmost_dir = $(firstword $(subst /, ,$(dtbs)))
|
||||
+# collect dtbs entries which starts with "$topmost_dir/overlay/", then remove "$topmost_dir"
|
||||
+dtbs_overlays = $(subst $(topmost_dir)/,,$(filter $(topmost_dir)/overlay/%, $(dtbs)))
|
||||
+# collect the non-overlay dtbs
|
||||
+dtbs_regular = $(filter-out $(topmost_dir)/overlay/%, $(dtbs))
|
||||
+# compose the dtbs variable flattening all the non-overlays entries
|
||||
+# and appending the overlays entries
|
||||
+dtbs := $(notdir $(dtbs_regular)) $(dtbs_overlays)
|
||||
|
||||
endif # CONFIG_ARCH_WANT_FLAT_DTB_INSTALL
|
||||
|
||||
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
|
||||
index cd5b181060f1..7e71f4935fbd 100644
|
||||
index 9f06f6aaf7fc..a8254bab1b96 100644
|
||||
--- a/scripts/Makefile.lib
|
||||
+++ b/scripts/Makefile.lib
|
||||
@@ -88,6 +88,9 @@ base-dtb-y := $(filter %.dtb, $(call real-search, $(multi-dtb-y), .dtb, -dtbs))
|
||||
@@ -400,11 +400,11 @@ $(obj)/%.dtb.S: $(obj)/%.dtb FORCE
|
||||
$(obj)/%.dtbo.S: $(obj)/%.dtbo FORCE
|
||||
$(call if_changed,wrap_S_dtb)
|
||||
|
||||
always-y += $(dtb-y)
|
||||
quiet_cmd_dtc = DTC $@
|
||||
cmd_dtc = $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
|
||||
- $(DTC) -o $@ -b 0 \
|
||||
+ $(DTC) -@ -o $@ -b 0 \
|
||||
$(addprefix -i,$(dir $<) $(DTC_INCLUDE)) $(DTC_FLAGS) \
|
||||
-d $(depfile).dtc.tmp $(dtc-tmp) ; \
|
||||
cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
|
||||
|
||||
+# Overlay targets
|
||||
+extra-y += $(dtbo-y)
|
||||
quiet_cmd_fdtoverlay = DTOVL $@
|
||||
@@ -425,16 +425,22 @@ quiet_cmd_dtb = DTC_CHK $@
|
||||
else
|
||||
quiet_cmd_dtb = $(quiet_cmd_dtc)
|
||||
cmd_dtb = $(cmd_dtc)
|
||||
endif
|
||||
|
||||
+quiet_cmd_scr = MKIMAGE $@
|
||||
+cmd_scr = mkimage -C none -A $(ARCH) -T script -d $< $@
|
||||
+
|
||||
# Add subdir path
|
||||
$(obj)/%.dtb: $(obj)/%.dts $(DTC) $(DT_TMP_SCHEMA) FORCE
|
||||
$(call if_changed_dep,dtb)
|
||||
|
||||
ifneq ($(obj),.)
|
||||
@@ -343,6 +346,9 @@ DTC ?= $(objtree)/scripts/dtc/dtc
|
||||
DTC_FLAGS += -Wno-interrupt_provider \
|
||||
-Wno-unique_unit_address
|
||||
|
||||
+# Overlay support
|
||||
+DTC_FLAGS += -@ -Wno-unit_address_format -Wno-simple_bus_reg
|
||||
+
|
||||
# Disable noisy checks by default
|
||||
ifeq ($(findstring 1,$(KBUILD_EXTRA_WARN)),)
|
||||
DTC_FLAGS += -Wno-unit_address_vs_reg \
|
||||
@@ -421,6 +427,17 @@ $(obj)/%.dtb: $(src)/%.dts $(DTC) $(DT_TMP_SCHEMA) FORCE
|
||||
$(obj)/%.dtbo: $(src)/%.dtso $(DTC) FORCE
|
||||
$(call if_changed_dep,dtc)
|
||||
|
||||
+quiet_cmd_dtco = DTCO $@
|
||||
+cmd_dtco = mkdir -p $(dir ${dtc-tmp}) ; \
|
||||
+ $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
|
||||
+ $(DTC) -O dtb -o $@ -b 0 \
|
||||
+ -i $(dir $<) $(DTC_FLAGS) \
|
||||
+ -d $(depfile).dtc.tmp $(dtc-tmp) ; \
|
||||
+ cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
|
||||
+
|
||||
+$(obj)/%.dtbo: $(src)/%.dts FORCE
|
||||
+ $(call if_changed_dep,dtco)
|
||||
+$(obj)/%.scr: $(src)/%.scr-cmd FORCE
|
||||
+ $(call if_changed,scr)
|
||||
+
|
||||
dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
|
||||
|
||||
# Bzip2
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
||||
Created with Armbian build tools https://github.com/armbian/build
|
||||
|
|
|
@ -33,8 +33,6 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
|
|||
rockchip-rk3588-pwm15-m2.dtbo \
|
||||
rockchip-rk3588-pwm15-m3.dtbo
|
||||
|
||||
targets += $(dtbo-y)
|
||||
dtb-y += $(dtbo-y)
|
||||
|
||||
always := $(dtbo-y)
|
||||
clean-files := *.dtbo
|
||||
|
||||
|
|
Loading…
Reference in New Issue