From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: zador-blood-stained Date: Sat, 11 Feb 2017 20:32:53 +0300 Subject: support for overlay compilation rpardini: copied from rockchip64 --- arch/arm/boot/.gitignore | 2 + scripts/Makefile.dtbinst | 14 ++++++- scripts/Makefile.lib | 20 ++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/.gitignore b/arch/arm/boot/.gitignore index 8c759326baf4..e6ce8f6ad4b1 100644 --- a/arch/arm/boot/.gitignore +++ b/arch/arm/boot/.gitignore @@ -4,3 +4,5 @@ zImage xipImage bootpImage uImage +*.dtb* +*.scr diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst index 4405d5b67578..4adbe6644d0c 100644 --- a/scripts/Makefile.dtbinst +++ b/scripts/Makefile.dtbinst @@ -18,9 +18,12 @@ include $(srctree)/scripts/Kbuild.include include $(kbuild-file) dtbs := $(addprefix $(dst)/, $(dtb-y) $(if $(CONFIG_OF_ALL_DTBS),$(dtb-))) +dtbos := $(addprefix $(dst)/, $(dtbo-y)) +scrs := $(addprefix $(dst)/, $(scr-y)) +readmes := $(addprefix $(dst)/, $(dtbotxt-y)) subdirs := $(addprefix $(obj)/, $(subdir-y) $(subdir-m)) -__dtbs_install: $(dtbs) $(subdirs) +__dtbs_install: $(dtbs) $(dtbos) $(scrs) $(readmes) $(subdirs) @: quiet_cmd_dtb_install = INSTALL $@ @@ -32,6 +35,15 @@ $(dst)/%.dtb: $(obj)/%.dtb $(dst)/%.dtbo: $(obj)/%.dtbo $(call cmd,dtb_install) +$(dst)/%.dtbo: $(obj)/%.dtbo + $(call cmd,dtb_install) + +$(dst)/%.scr: $(obj)/%.scr + $(call cmd,dtb_install) + +$(dst)/README.rockchip-overlays: $(src)/README.rockchip-overlays + $(call cmd,dtb_install) + PHONY += $(subdirs) $(subdirs): $(Q)$(MAKE) $(dtbinst)=$@ dst=$(if $(CONFIG_ARCH_WANT_FLAT_DTB_INSTALL),$(dst),$(patsubst $(obj)/%,$(dst)/%,$@)) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 68d0134bdbf9..9ea801a22569 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -343,6 +343,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 +424,23 @@ $(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) + +quiet_cmd_scr = MKIMAGE $@ +cmd_scr = mkimage -C none -A $(ARCH) -T script -d $< $@ + +$(obj)/%.scr: $(src)/%.scr-cmd FORCE + $(call if_changed,scr) + dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp) # Bzip2 -- Armbian