mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-17 12:41:32 +00:00
fdt: Build an SPL binary without device tree
At present u-boot-spl.bin holds the plain SPL binary without the device tree. This is somewhat annoying since you need either u-boot-spl.bin or u-boot-spl-dtb.bin depending on whether device tree is used. Adjust the build such that u-boot-spl.bin includes a device tree (if enabled), and the plain binary is in u-boot-spl-nodtb.bin. For now u-boot-spl-dtb.bin remains the same. Tested-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
ad1ecd2063
commit
03c25bcd26
1 changed files with 16 additions and 9 deletions
|
@ -131,16 +131,12 @@ boot.bin: $(obj)/u-boot-spl.bin
|
||||||
else
|
else
|
||||||
MKIMAGEFLAGS_boot.bin = -T zynqimage
|
MKIMAGEFLAGS_boot.bin = -T zynqimage
|
||||||
|
|
||||||
spl/boot.bin: $(obj)/u-boot-spl-dtb.bin
|
spl/boot.bin: $(obj)/u-boot-spl.bin
|
||||||
$(call if_changed,mkimage)
|
$(call if_changed,mkimage)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ALL-y += $(obj)/$(SPL_BIN).bin $(obj)/$(SPL_BIN).cfg
|
ALL-y += $(obj)/$(SPL_BIN).bin $(obj)/$(SPL_BIN).cfg
|
||||||
|
|
||||||
ifdef CONFIG_SPL_OF_CONTROL
|
|
||||||
ALL-$(CONFIG_OF_SEPARATE) += $(obj)/$(SPL_BIN)-pad.bin $(obj)/$(SPL_BIN)-dtb.bin
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef CONFIG_SAMSUNG
|
ifdef CONFIG_SAMSUNG
|
||||||
ALL-y += $(obj)/$(BOARD)-spl.bin
|
ALL-y += $(obj)/$(BOARD)-spl.bin
|
||||||
endif
|
endif
|
||||||
|
@ -166,11 +162,22 @@ all: $(ALL-y)
|
||||||
quiet_cmd_cat = CAT $@
|
quiet_cmd_cat = CAT $@
|
||||||
cmd_cat = cat $(filter-out $(PHONY), $^) > $@
|
cmd_cat = cat $(filter-out $(PHONY), $^) > $@
|
||||||
|
|
||||||
$(obj)/$(SPL_BIN)-dtb.bin: $(obj)/$(SPL_BIN).bin $(obj)/$(SPL_BIN)-pad.bin \
|
quiet_cmd_copy = COPY $@
|
||||||
|
cmd_copy = cp $< $@
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_SPL_OF_CONTROL),y)
|
||||||
|
$(obj)/$(SPL_BIN)-dtb.bin: $(obj)/$(SPL_BIN)-nodtb.bin $(obj)/$(SPL_BIN)-pad.bin \
|
||||||
$(obj)/$(SPL_BIN).dtb FORCE
|
$(obj)/$(SPL_BIN).dtb FORCE
|
||||||
$(call if_changed,cat)
|
$(call if_changed,cat)
|
||||||
|
|
||||||
# Create a file that pads from the end of u-boot-spl.bin to bss_end
|
$(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-dtb.bin FORCE
|
||||||
|
$(call if_changed,copy)
|
||||||
|
else
|
||||||
|
$(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-nodtb.bin FORCE
|
||||||
|
$(call if_changed,copy)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Create a file that pads from the end of u-boot-spl-nodtb.bin to bss_end
|
||||||
$(obj)/$(SPL_BIN)-pad.bin: $(obj)/$(SPL_BIN)
|
$(obj)/$(SPL_BIN)-pad.bin: $(obj)/$(SPL_BIN)
|
||||||
@bss_size_str=$(shell $(NM) $< | awk 'BEGIN {size = 0} /__bss_size/ {size = $$1} END {print "ibase=16; " toupper(size)}' | bc); \
|
@bss_size_str=$(shell $(NM) $< | awk 'BEGIN {size = 0} /__bss_size/ {size = $$1} END {print "ibase=16; " toupper(size)}' | bc); \
|
||||||
dd if=/dev/zero of=$@ bs=1 count=$${bss_size_str} 2>/dev/null;
|
dd if=/dev/zero of=$@ bs=1 count=$${bss_size_str} 2>/dev/null;
|
||||||
|
@ -211,9 +218,9 @@ endif
|
||||||
quiet_cmd_objcopy = OBJCOPY $@
|
quiet_cmd_objcopy = OBJCOPY $@
|
||||||
cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@
|
cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@
|
||||||
|
|
||||||
OBJCOPYFLAGS_$(SPL_BIN).bin = $(SPL_OBJCFLAGS) -O binary
|
OBJCOPYFLAGS_$(SPL_BIN)-nodtb.bin = $(SPL_OBJCFLAGS) -O binary
|
||||||
|
|
||||||
$(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN) FORCE
|
$(obj)/$(SPL_BIN)-nodtb.bin: $(obj)/$(SPL_BIN) FORCE
|
||||||
$(call if_changed,objcopy)
|
$(call if_changed,objcopy)
|
||||||
|
|
||||||
LDFLAGS_$(SPL_BIN) += -T u-boot-spl.lds $(LDFLAGS_FINAL)
|
LDFLAGS_$(SPL_BIN) += -T u-boot-spl.lds $(LDFLAGS_FINAL)
|
||||||
|
|
Loading…
Add table
Reference in a new issue