|
@@ -121,12 +121,22 @@ u-boot-spl-init := $(head-y)
|
|
|
u-boot-spl-main := $(libs-y)
|
|
|
ifdef CONFIG_$(SPL_TPL_)OF_PLATDATA
|
|
|
platdata-hdr := include/generated/dt-structs-gen.h include/generated/dt-decl.h
|
|
|
+platdata-inst := $(obj)/dts/dt-uclass.o $(obj)/dts/dt-device.o
|
|
|
+platdata-noinst := $(obj)/dts/dt-plat.o
|
|
|
+
|
|
|
ifdef CONFIG_$(SPL_TPL_)OF_PLATDATA_INST
|
|
|
-u-boot-spl-platdata := $(obj)/dts/dt-uclass.o $(obj)/dts/dt-device.o
|
|
|
+u-boot-spl-platdata := $(platdata-inst)
|
|
|
+u-boot-spl-old-platdata := $(platdata-noinst)
|
|
|
else
|
|
|
-u-boot-spl-platdata := $(obj)/dts/dt-plat.o
|
|
|
+u-boot-spl-platdata := $(platdata-noinst)
|
|
|
+u-boot-spl-old-platdata := $(platdata-inst)
|
|
|
endif
|
|
|
+
|
|
|
+# Files we need to generate
|
|
|
u-boot-spl-platdata_c := $(patsubst %.o,%.c,$(u-boot-spl-platdata))
|
|
|
+
|
|
|
+# Files we won't generate and should remove
|
|
|
+u-boot-spl-old-platdata_c := $(patsubst %.o,%.c,$(u-boot-spl-old-platdata))
|
|
|
endif # OF_PLATDATA
|
|
|
|
|
|
# Linker Script
|
|
@@ -334,6 +344,11 @@ $(obj)/dts/dt-%.o: $(obj)/dts/dt-%.c $(platdata-hdr)
|
|
|
# Don't use dts_dir here, since it forces running this expensive rule every time
|
|
|
$(platdata-hdr) $(u-boot-spl-platdata_c) &: $(obj)/$(SPL_BIN).dtb
|
|
|
@[ -d $(obj)/dts ] || mkdir -p $(obj)/dts
|
|
|
+ @# Remove old files since which ones we generate depends on the setting
|
|
|
+ @# of OF_PLATDATA_INST and this might change between builds. Leaving old
|
|
|
+ @# ones around is confusing and it is possible that switching the
|
|
|
+ @# setting again will use the old one instead of regenerating it.
|
|
|
+ @rm -f $(u-boot-spl-all-platdata_c) $(u-boot-spl-all-platdata)
|
|
|
$(call if_changed,dtoc)
|
|
|
|
|
|
ifdef CONFIG_SAMSUNG
|