Commit aaed42d1 authored by Stephan Hoffmann's avatar Stephan Hoffmann Committed by Peter Korsgaard
Browse files

Microblaze: build kernel with device tree



This patch adds the options needed to build the SimpleImage containing
the device tree structure needed for the Microblaze architecture.

Handling Device Tree and SimpleImage will be handled in a general way
in the future.

I provide this patch to be able to build the system in the meantime.

Signed-off-by: default avatarStephan Hoffmann <sho@relinux.de>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent bb7788fd
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -120,6 +120,14 @@ config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
	help
	  Path to the kernel configuration file

config BR2_LINUX_KERNEL_DTS_FILE
    string "Device Tree dts file location"
    depends on BR2_microblaze
    help
      Path from where the dts file has to be copied
      The final "custom target" name depends on the
      dts file name:
          <name>.dts --> simpleImage.<name>
#
# Binary format
#
+16 −0
Original line number Diff line number Diff line
@@ -117,6 +117,18 @@ endef

LINUX_POST_PATCH_HOOKS += LINUX_APPLY_PATCHES

ifeq ($(KERNEL_ARCH),microblaze)
# on microblaze, we always want mkimage
LINUX_DEPENDENCIES+=host-uboot-tools

define LINUX_COPY_DTS
    if test -f "$(BR2_LINUX_KERNEL_DTS_FILE)" ; then \
        cp $(BR2_LINUX_KERNEL_DTS_FILE) $(@D)/arch/microblaze/boot/dts ; \
    else \
        echo "Cannot copy dts file!" ; \
    fi
endef
endif

ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y)
KERNEL_SOURCE_CONFIG = $(KERNEL_ARCH_PATH)/configs/$(call qstrip,$(BR2_LINUX_KERNEL_DEFCONFIG))_defconfig
@@ -131,6 +143,8 @@ define LINUX_CONFIGURE_CMDS
	$(if $(BR2_ARM_EABI),
		$(call KCONFIG_ENABLE_OPT,CONFIG_AEABI,$(@D)/.config),
		$(call KCONFIG_DISABLE_OPT,CONFIG_AEABI,$(@D)/.config))
    $(if $(BR2_microblaze),
        $(call LINUX_COPY_DTS))
	# As the kernel gets compiled before root filesystems are
	# built, we create a fake cpio file. It'll be
	# replaced later by the real cpio archive, and the kernel will be
@@ -215,6 +229,8 @@ $(LINUX_DIR)/.stamp_initramfs_rebuilt: $(LINUX_DIR)/.stamp_target_installed $(LI
	$(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_IMAGE_NAME)
	# Copy the kernel image to its final destination
	cp $(LINUX_IMAGE_PATH) $(BINARIES_DIR)
	# If there is a .ub file copy it to the final destination
	test -f $(LINUX_IMAGE_PATH).ub && cp $(LINUX_IMAGE_PATH).ub $(BINARIES_DIR)
	$(Q)touch $@

# The initramfs building code must make sure this target gets called