130 lines
3.7 KiB
Diff
130 lines
3.7 KiB
Diff
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
|
index 554985b52..c4629fc51 100644
|
|
--- a/arch/arm/Makefile
|
|
+++ b/arch/arm/Makefile
|
|
@@ -338,6 +338,12 @@ $(INSTALL_TARGETS):
|
|
%.dtb: | scripts
|
|
$(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@
|
|
|
|
+%.dtbo: | scripts
|
|
+ $(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@
|
|
+
|
|
+%.scr: | scripts
|
|
+ $(Q)$(MAKE) $(build)=$(boot)/dts ARCH=$(ARCH) $(boot)/dts/$@
|
|
+
|
|
PHONY += dtbs dtbs_install
|
|
|
|
dtbs: prepare scripts
|
|
diff --git a/arch/arm/boot/.gitignore b/arch/arm/boot/.gitignore
|
|
index ad7a0253e..e064e5f27 100644
|
|
--- a/arch/arm/boot/.gitignore
|
|
+++ b/arch/arm/boot/.gitignore
|
|
@@ -3,5 +3,6 @@ zImage
|
|
xipImage
|
|
bootpImage
|
|
uImage
|
|
-*.dtb
|
|
-zImage-dtb
|
|
\ No newline at end of file
|
|
+*.dtb*
|
|
+*.scr
|
|
+zImage-dtb
|
|
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
|
index 4d9f7b328..743b62522 100644
|
|
--- a/arch/arm/boot/dts/Makefile
|
|
+++ b/arch/arm/boot/dts/Makefile
|
|
@@ -850,7 +850,10 @@ DTB_LIST := $(dtb-y)
|
|
endif
|
|
|
|
targets += dtbs dtbs_install
|
|
-targets += $(DTB_LIST)
|
|
+targets += $(dtb-y)
|
|
|
|
-always := $(DTB_LIST)
|
|
+always := $(dtb-y)
|
|
+subdir-y := overlay
|
|
clean-files := *.dtb
|
|
+
|
|
+dts-dirs += overlay
|
|
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
|
|
index 1c15717e0..bcc0fc524 100644
|
|
--- a/scripts/Makefile.dtbinst
|
|
+++ b/scripts/Makefile.dtbinst
|
|
@@ -29,6 +29,9 @@ ifeq ("$(dtbinst-root)", "$(obj)")
|
|
endif
|
|
|
|
dtbinst-files := $(dtb-y)
|
|
+dtboinst-files := $(dtbo-y)
|
|
+script-files := $(scr-y)
|
|
+readme-files := $(dtbotxt-y)
|
|
dtbinst-dirs := $(dts-dirs)
|
|
|
|
# Helper targets for Installing DTBs into the boot directory
|
|
@@ -37,15 +40,25 @@ quiet_cmd_dtb_install = INSTALL $<
|
|
|
|
install-dir = $(patsubst $(dtbinst-root)%,$(INSTALL_DTBS_PATH)%,$(obj))
|
|
|
|
-$(dtbinst-files) $(dtbinst-dirs): | __dtbs_install_prep
|
|
+$(dtbinst-files) $(dtboinst-files) $(dtbinst-dirs): | __dtbs_install_prep
|
|
|
|
$(dtbinst-files): %.dtb: $(obj)/%.dtb
|
|
$(call cmd,dtb_install,$(install-dir))
|
|
|
|
+
|
|
+$(dtboinst-files): %.dtbo: $(obj)/%.dtbo
|
|
+ $(call cmd,dtb_install,$(install-dir))
|
|
+
|
|
+$(script-files): %.scr: $(obj)/%.scr
|
|
+ $(call cmd,dtb_install,$(install-dir))
|
|
+
|
|
+$(readme-files): %: $(src)/%
|
|
+ $(call cmd,dtb_install,$(install-dir))
|
|
+
|
|
$(dtbinst-dirs):
|
|
$(Q)$(MAKE) $(dtbinst)=$(obj)/$@
|
|
|
|
-PHONY += $(dtbinst-files) $(dtbinst-dirs)
|
|
-__dtbs_install: $(dtbinst-files) $(dtbinst-dirs)
|
|
+PHONY += $(dtbinst-files) $(dtboinst-files) $(script-files) $(readme-files) $(dtbinst-dirs)
|
|
+__dtbs_install: $(dtbinst-files) $(dtboinst-files) $(script-files) $(readme-files) $(dtbinst-dirs)
|
|
|
|
.PHONY: $(PHONY)
|
|
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
|
|
index 3fb2aaa00..7956778c3 100644
|
|
--- a/scripts/Makefile.lib
|
|
+++ b/scripts/Makefile.lib
|
|
@@ -270,6 +270,9 @@ cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -n -f -9 > $@) || \
|
|
# ---------------------------------------------------------------------------
|
|
DTC ?= $(objtree)/scripts/dtc/dtc
|
|
|
|
+# Overlay support
|
|
+DTC_FLAGS += -@ -Wno-unit_address_format -Wno-simple_bus_reg
|
|
+
|
|
# Generation of symbols for Android
|
|
ifeq ($(CONFIG_ANDROID),y)
|
|
DTC_FLAGS += -@
|
|
@@ -319,6 +322,23 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
|
|
$(obj)/%.dtb: $(src)/%.dts 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)
|
|
|
|
# cat
|