mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
dts: generate multiple device tree blobs
It is convenient to have all device trees on the same SoC compiled. It allows for later easy repackaging without the need to re-run the make file. - Build device trees with the same SoC under arch/$(ARCH)/dts - Copy the one specified by CONFIG_DEFAULT_DEVICE_TREE or DEVICE_TREE=... to dts/dt.dtb Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
This commit is contained in:
parent
5ab502cb89
commit
3284c8b8ca
7 changed files with 83 additions and 11 deletions
1
arch/arm/dts/.gitignore
vendored
Normal file
1
arch/arm/dts/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
*.dtb
|
37
arch/arm/dts/Makefile
Normal file
37
arch/arm/dts/Makefile
Normal file
|
@ -0,0 +1,37 @@
|
|||
dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \
|
||||
exynos5250-snow.dtb \
|
||||
exynos5250-smdk5250.dtb \
|
||||
exynos5420-smdk5420.dtb
|
||||
|
||||
dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \
|
||||
tegra20-medcom-wide.dtb \
|
||||
tegra20-paz00.dtb \
|
||||
tegra20-plutux.dtb \
|
||||
tegra20-seaboard.dtb \
|
||||
tegra20-tec.dtb \
|
||||
tegra20-trimslice.dtb \
|
||||
tegra20-ventana.dtb \
|
||||
tegra20-whistler.dtb \
|
||||
tegra20-colibri_t20_iris.dtb \
|
||||
tegra30-beaver.dtb \
|
||||
tegra30-cardhu.dtb \
|
||||
tegra30-tec-ng.dtb \
|
||||
tegra114-dalmore.dtb
|
||||
|
||||
dtb-$(CONFIG_ZYNQ) += zynq-zc702.dtb \
|
||||
zynq-zc706.dtb \
|
||||
zynq-zed.dtb \
|
||||
zynq-microzed.dtb \
|
||||
zynq-zc770-xm010.dtb \
|
||||
zynq-zc770-xm012.dtb \
|
||||
zynq-zc770-xm013.dtb
|
||||
|
||||
targets += $(dtb-y)
|
||||
|
||||
DTC_FLAGS += -R 4 -p 0x1000
|
||||
|
||||
PHONY += dtbs
|
||||
dtbs: $(addprefix $(obj)/, $(dtb-y))
|
||||
@:
|
||||
|
||||
clean-files := *.dtb
|
1
arch/microblaze/dts/.gitignore
vendored
Normal file
1
arch/microblaze/dts/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
*.dtb
|
11
arch/microblaze/dts/Makefile
Normal file
11
arch/microblaze/dts/Makefile
Normal file
|
@ -0,0 +1,11 @@
|
|||
dtb-y += microblaze-generic.dtb
|
||||
|
||||
targets += $(dtb-y)
|
||||
|
||||
DTC_FLAGS += -R 4 -p 0x1000
|
||||
|
||||
PHONY += dtbs
|
||||
dtbs: $(addprefix $(obj)/, $(dtb-y))
|
||||
@:
|
||||
|
||||
clean-files := *.dtb
|
1
arch/x86/dts/.gitignore
vendored
Normal file
1
arch/x86/dts/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
*.dtb
|
12
arch/x86/dts/Makefile
Normal file
12
arch/x86/dts/Makefile
Normal file
|
@ -0,0 +1,12 @@
|
|||
dtb-y += link.dtb \
|
||||
alex.dtb
|
||||
|
||||
targets += $(dtb-y)
|
||||
|
||||
DTC_FLAGS += -R 4 -p 0x1000
|
||||
|
||||
PHONY += dtbs
|
||||
dtbs: $(addprefix $(obj)/, $(dtb-y))
|
||||
@:
|
||||
|
||||
clean-files := *.dtb
|
31
dts/Makefile
31
dts/Makefile
|
@ -9,24 +9,30 @@
|
|||
|
||||
DEVICE_TREE ?= $(CONFIG_DEFAULT_DEVICE_TREE:"%"=%)
|
||||
ifeq ($(DEVICE_TREE),)
|
||||
DEVICE_TREE := notfound
|
||||
DEVICE_TREE := unset
|
||||
endif
|
||||
|
||||
DTS := $(srctree)/arch/$(ARCH)/dts/$(DEVICE_TREE).dts
|
||||
DTB := arch/$(ARCH)/dts/$(DEVICE_TREE).dtb
|
||||
|
||||
DTC_FLAGS += -R 4 -p 0x1000
|
||||
quiet_cmd_copy = COPY $@
|
||||
cmd_copy = cp $< $@
|
||||
|
||||
$(obj)/dt.dtb: $(DTS) FORCE
|
||||
$(call if_changed_dep,dtc)
|
||||
$(obj)/dt.dtb: $(DTB) FORCE
|
||||
$(call if_changed,copy)
|
||||
|
||||
targets += dt.dtb
|
||||
|
||||
$(DTS):
|
||||
@echo >&2
|
||||
@echo >&2 "Device Tree Source is not specified."
|
||||
@echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'"
|
||||
@echo >&2 "or build with 'DEVICE_TREE=<dts-file-name>' argument"
|
||||
@/bin/false
|
||||
$(DTB): arch-dtbs
|
||||
$(Q)test -e $@ || ( \
|
||||
echo >&2; \
|
||||
echo >&2 "Device Tree Source is not correctly specified."; \
|
||||
echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'"; \
|
||||
echo >&2 "or build with 'DEVICE_TREE=<device_tree>' argument"; \
|
||||
echo >&2; \
|
||||
/bin/false)
|
||||
|
||||
arch-dtbs:
|
||||
$(Q)$(MAKE) $(build)=arch/$(ARCH)/dts dtbs
|
||||
|
||||
.SECONDARY: $(obj)/dt.dtb.S
|
||||
|
||||
|
@ -36,3 +42,6 @@ dtbs: $(obj)/dt.dtb
|
|||
@:
|
||||
|
||||
clean-files := dt.dtb.S
|
||||
|
||||
# Let clean descend into dts directories
|
||||
subdir- += ../arch/*/dts
|
||||
|
|
Loading…
Reference in a new issue