xref: /openbmc/u-boot/dts/Makefile (revision 66c433ed)
11a459660SWolfgang Denk# SPDX-License-Identifier: GPL-2.0+
2bbb0b128SSimon Glass#
383d290c5STom Rini# Copyright (c) 2011 The Chromium OS Authors.
4bbb0b128SSimon Glass
5bbb0b128SSimon Glass# This Makefile builds the internal U-Boot fdt if CONFIG_OF_CONTROL is
6bbb0b128SSimon Glass# enabled. See doc/README.fdt-control for more details.
7bbb0b128SSimon Glass
8efcf8619SMasahiro YamadaDEVICE_TREE ?= $(CONFIG_DEFAULT_DEVICE_TREE:"%"=%)
9efcf8619SMasahiro Yamadaifeq ($(DEVICE_TREE),)
103284c8b8SMasahiro YamadaDEVICE_TREE := unset
11efcf8619SMasahiro Yamadaendif
12bbb0b128SSimon Glass
13d18926afSSimon Glassifneq ($(EXT_DTB),)
14d18926afSSimon GlassDTB := $(EXT_DTB)
1563b4b5baSSimon Glasselse
16*a3444bd0SMasahiro YamadaDTB := arch/$(ARCH)/dts/$(DEVICE_TREE).dtb
1763b4b5baSSimon Glassendif
18bbb0b128SSimon Glass
199bd76b80SGoldschmidt Simon$(obj)/dt-spl.dtb: $(DTB) $(objtree)/tools/fdtgrep FORCE
209bd76b80SGoldschmidt Simon	$(call if_changed,fdtgrep)
219bd76b80SGoldschmidt Simon
223284c8b8SMasahiro Yamada$(obj)/dt.dtb: $(DTB) FORCE
23b9d1dbd4SMasahiro Yamada	$(call if_changed,shipped)
24bbb0b128SSimon Glass
259bd76b80SGoldschmidt Simontargets += dt.dtb dt-spl.dtb
26bbb0b128SSimon Glass
27*a3444bd0SMasahiro Yamada$(DTB): arch-dtbs
283284c8b8SMasahiro Yamada	$(Q)test -e $@ || (						\
293284c8b8SMasahiro Yamada	echo >&2;							\
303284c8b8SMasahiro Yamada	echo >&2 "Device Tree Source is not correctly specified.";	\
313284c8b8SMasahiro Yamada	echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'";		\
323284c8b8SMasahiro Yamada	echo >&2 "or build with 'DEVICE_TREE=<device_tree>' argument";	\
333284c8b8SMasahiro Yamada	echo >&2;							\
343284c8b8SMasahiro Yamada	/bin/false)
353284c8b8SMasahiro Yamada
362737dfe0SStephen WarrenPHONY += arch-dtbs
373284c8b8SMasahiro Yamadaarch-dtbs:
38*a3444bd0SMasahiro Yamada	$(Q)$(MAKE) $(build)=arch/$(ARCH)/dts dtbs
396ab6b2afSMasahiro Yamada
409bd76b80SGoldschmidt Simonifeq ($(CONFIG_SPL_BUILD),y)
419bd76b80SGoldschmidt Simonobj-$(CONFIG_OF_EMBED) := dt-spl.dtb.o
429bd76b80SGoldschmidt Simon# support "out-of-tree" build for dtb-spl
439bd76b80SGoldschmidt Simon$(obj)/dt-spl.dtb.o: $(obj)/dt-spl.dtb.S FORCE
449bd76b80SGoldschmidt Simon	$(call if_changed_dep,as_o_S)
459bd76b80SGoldschmidt Simonelse
466ab6b2afSMasahiro Yamadaobj-$(CONFIG_OF_EMBED) := dt.dtb.o
479bd76b80SGoldschmidt Simonendif
486ab6b2afSMasahiro Yamada
499bd76b80SGoldschmidt Simondtbs: $(obj)/dt.dtb $(obj)/dt-spl.dtb
506ab6b2afSMasahiro Yamada	@:
516ab6b2afSMasahiro Yamada
529bd76b80SGoldschmidt Simonclean-files := dt.dtb.S dt-spl.dtb.S
533284c8b8SMasahiro Yamada
543284c8b8SMasahiro Yamada# Let clean descend into dts directories
5517f2ffeaSLukas Auersubdir- += ../arch/arm/dts ../arch/microblaze/dts ../arch/mips/dts ../arch/sandbox/dts ../arch/x86/dts ../arch/powerpc/dts ../arch/riscv/dts
56