dtc: Switch to building and using our own dtc unless provided

This makes us act like the Linux Kernel does and allow for dtc to be
provided externally but otherwise we use the version of dtc that is
included in the sources.  This in turn means that we can drop the
checkdtc logic.  We select DTC in the cases where we will need the dtc
tool provided.

Signed-off-by: Tom Rini <trini@konsulko.com>
master
Tom Rini 7 years ago
parent 2d4c225993
commit 36dd5f1b8a
  1. 6
      .travis.yml
  2. 10
      Makefile
  3. 4
      dts/Kconfig
  4. 1
      scripts/Makefile

@ -26,11 +26,9 @@ addons:
- grub-efi-ia32-bin - grub-efi-ia32-bin
- rpm2cpio - rpm2cpio
- wget - wget
- device-tree-compiler
install: install:
# install latest device tree compiler
- git clone --depth=1 -b v1.4.3 git://git.kernel.org/pub/scm/utils/dtc/dtc.git /tmp/dtc
- make -j4 -C /tmp/dtc
# Clone uboot-test-hooks # Clone uboot-test-hooks
- git clone --depth=1 git://github.com/swarren/uboot-test-hooks.git /tmp/uboot-test-hooks - git clone --depth=1 git://github.com/swarren/uboot-test-hooks.git /tmp/uboot-test-hooks
- ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname` - ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname`
@ -51,7 +49,7 @@ install:
env: env:
global: global:
- PATH=/tmp/dtc:/tmp/qemu-install/bin:/tmp/uboot-test-hooks/bin:/usr/bin:/bin - PATH=/tmp/qemu-install/bin:/tmp/uboot-test-hooks/bin:/usr/bin:/bin
- PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci - PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci
- BUILD_DIR=build - BUILD_DIR=build
- HOSTCC="cc" - HOSTCC="cc"

@ -349,7 +349,7 @@ OBJDUMP = $(CROSS_COMPILE)objdump
AWK = awk AWK = awk
PERL = perl PERL = perl
PYTHON ?= python PYTHON ?= python
DTC ?= dtc DTC ?= $(objtree)/scripts/dtc/dtc
CHECK = sparse CHECK = sparse
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \ CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
@ -872,7 +872,7 @@ endif
PHONY += dtbs PHONY += dtbs
dtbs: dts/dt.dtb dtbs: dts/dt.dtb
@: @:
dts/dt.dtb: checkdtc u-boot dts/dt.dtb: u-boot
$(Q)$(MAKE) $(build)=dts dtbs $(Q)$(MAKE) $(build)=dts dtbs
quiet_cmd_copy = COPY $@ quiet_cmd_copy = COPY $@
@ -1447,12 +1447,6 @@ SYSTEM_MAP = \
System.map: u-boot System.map: u-boot
@$(call SYSTEM_MAP,$<) > $@ @$(call SYSTEM_MAP,$<) > $@
checkdtc:
@if test $(call dtc-version) -lt 010403; then \
echo '*** Your dtc is too old, please upgrade to dtc 1.4.3 or newer'; \
false; \
fi
######################################################################### #########################################################################
# ARM relocations should all be R_ARM_RELATIVE (32-bit) or # ARM relocations should all be R_ARM_RELATIVE (32-bit) or

@ -5,11 +5,15 @@
config SUPPORT_OF_CONTROL config SUPPORT_OF_CONTROL
bool bool
config DTC
bool
menu "Device Tree Control" menu "Device Tree Control"
depends on SUPPORT_OF_CONTROL depends on SUPPORT_OF_CONTROL
config OF_CONTROL config OF_CONTROL
bool "Run-time configuration via Device Tree" bool "Run-time configuration via Device Tree"
select DTC
help help
This feature provides for run-time configuration of U-Boot This feature provides for run-time configuration of U-Boot
via a flattened device tree. via a flattened device tree.

@ -21,3 +21,4 @@ build_docproc: $(obj)/docproc
# Let clean descend into subdirs # Let clean descend into subdirs
subdir- += basic kconfig subdir- += basic kconfig
subdir-$(CONFIG_DTC) += dtc

Loading…
Cancel
Save