fpga: e31x/e320/n3xx/x400: Rework device tree file generation

... to support custom image core name, example:

    rfnoc_image_builder -y n310_rfnoc_image_core.yml -n my_custom_name

The device tree source files were renamed to match the target
name used in the Makefile.

    example:
        old: dts/usrp_n310_fpga_hg.dts
        new: dts/N310_HG.dts

The source file is used to compile the final .dts file in the BUILD_DIR.

    example: build-my_custom_name/N310_HG.dts

The final .dts file is copied to the BUILD_OUTPUT_DIR as part of the
post build steps and renamed to the custom image core name.

    example: build/my_custom_name.dts

This completes the change that was introduced with commit 2afc66f132.


Original-commit: d40db57f2e03c322ac6b0001e0a59d4a14a5a3b9
This commit is contained in:
Joerg Hofrichter
2024-09-13 08:44:30 -05:00
committed by Wade Fife
parent 264b33a416
commit e01ce08634
29 changed files with 57 additions and 53 deletions
+11 -10
View File
@@ -57,6 +57,8 @@ ifeq ($(TARGET),bin)
cp $(BUILD_DIR)/e31x.bit $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).bit; \ cp $(BUILD_DIR)/e31x.bit $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).bit; \
echo "Exporting build report..."; \ echo "Exporting build report..."; \
cp $(BUILD_DIR)/build.rpt $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).rpt; \ cp $(BUILD_DIR)/build.rpt $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).rpt; \
echo "Exporting devicetree file..."; \
cp $(BUILD_DIR)/$(1).dts $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts; \
echo "Build DONE ... $(1)"; echo "Build DONE ... $(1)";
else else
post_build = @echo "Skipping bitfile export." post_build = @echo "Skipping bitfile export."
@@ -91,27 +93,26 @@ ifndef BUILD_DIR
endif endif
##E310_SG1_IDLE: Build USRP E3XX idle design (Speed Grade 1). ##E310_SG1_IDLE: Build USRP E3XX idle design (Speed Grade 1).
E310_SG1_IDLE E3XX_idle: check-variables E310_SG1_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts E310_SG1_IDLE E3XX_idle: check-variables E310_SG1_IP $(BUILD_DIR)/E310_SG1_IDLE.dts
$(call vivado_build,E310_SG1,$(DEFS) E310_IDLE_IMAGE=1 E310_SG1=1) $(call vivado_build,E310_SG1,$(DEFS) E310_IDLE_IMAGE=1 E310_SG1=1)
$(call post_build,$@) $(call post_build,E310_SG1_IDLE)
##E310_SG3_IDLE: Build USRP E3XX idle design (Speed Grade 3). ##E310_SG3_IDLE: Build USRP E3XX idle design (Speed Grade 3).
E310_SG3_IDLE E3XX_idle_sg3: check-variables E310_SG3_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts E310_SG3_IDLE E3XX_idle_sg3: check-variables E310_SG3_IP $(BUILD_DIR)/E310_SG3_IDLE.dts
$(call vivado_build,E310_SG3,$(DEFS) E310_IDLE_IMAGE=1 E310_SG3=1) $(call vivado_build,E310_SG3,$(DEFS) E310_IDLE_IMAGE=1 E310_SG3=1)
$(call post_build,$@) $(call post_build,E310_SG3_IDLE)
##E310_SG1: Build USRP E3XX (Speed Grade 1). ##E310_SG1: Build USRP E3XX (Speed Grade 1).
E310_SG1 E310: check-variables E310_SG1_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts E310_SG1 E310: check-variables E310_SG1_IP $(BUILD_DIR)/E310_SG1.dts
$(call vivado_build,E310_SG1,$(DEFS) E310_SG1=1 $(if $(DRAM),ENABLE_DRAM=1,)) $(call vivado_build,E310_SG1,$(DEFS) E310_SG1=1 $(if $(DRAM),ENABLE_DRAM=1,))
$(call post_build,$@) $(call post_build,E310_SG1)
##E310_SG3: Build USRP E3XX (Speed Grade 3). ##E310_SG3: Build USRP E3XX (Speed Grade 3).
E310_SG3 E310_sg3: check-variables E310_SG3_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts E310_SG3 E310_sg3: check-variables E310_SG3_IP $(BUILD_DIR)/E310_SG3.dts
$(call vivado_build,E310_SG3,$(DEFS) E310_SG3=1 $(if $(DRAM),ENABLE_DRAM=1,)) $(call vivado_build,E310_SG3,$(DEFS) E310_SG3=1 $(if $(DRAM),ENABLE_DRAM=1,))
$(call post_build,$@) $(call post_build,E310_SG3)
$(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts: dts/*.dts dts/*.dtsi $(BUILD_DIR)/%.dts: dts/%.dts dts/*.dtsi
-mkdir -p $(BUILD_OUTPUT_DIR)
${CC} -o $@ -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $< ${CC} -o $@ -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $<
## ##
+6 -5
View File
@@ -60,6 +60,8 @@ ifeq ($(TARGET),bin)
cp $(BUILD_DIR)/e320.bit $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).bit; \ cp $(BUILD_DIR)/e320.bit $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).bit; \
echo "Exporting build report..."; \ echo "Exporting build report..."; \
cp $(BUILD_DIR)/build.rpt $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).rpt; \ cp $(BUILD_DIR)/build.rpt $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).rpt; \
echo "Exporting devicetree file..."; \
cp $(BUILD_DIR)/$(1).dts $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts; \
echo "Build DONE ... $(1)"; echo "Build DONE ... $(1)";
else else
post_build = @echo "Skipping bitfile export." post_build = @echo "Skipping bitfile export."
@@ -91,22 +93,21 @@ ifndef BUILD_DIR
endif endif
##E320_1G: 1GigE on SFP+ Port. ##E320_1G: 1GigE on SFP+ Port.
E320_1G: check-variables E320_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts E320_1G: check-variables E320_IP $(BUILD_DIR)/E320_1G.dts
$(call vivado_build,E320,$(1G_DEFS) E320=1) $(call vivado_build,E320,$(1G_DEFS) E320=1)
$(call post_build,E320_1G) $(call post_build,E320_1G)
##E320_XG: 10GigE on SFP+ Port. ##E320_XG: 10GigE on SFP+ Port.
E320_XG: check-variables E320_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts E320_XG: check-variables E320_IP $(BUILD_DIR)/E320_XG.dts
$(call vivado_build,E320,$(XG_DEFS) E320=1) $(call vivado_build,E320,$(XG_DEFS) E320=1)
$(call post_build,E320_XG) $(call post_build,E320_XG)
##E320_AA: Aurora on SFP+ Port. ##E320_AA: Aurora on SFP+ Port.
E320_AA: check-variables E320_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts E320_AA: check-variables E320_IP $(BUILD_DIR)/E320_AA.dts
$(call vivado_build,E320,$(AA_DEFS) E320=1) $(call vivado_build,E320,$(AA_DEFS) E320=1)
$(call post_build,E320_AA) $(call post_build,E320_AA)
$(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts: dts/*.dts dts/*.dtsi $(BUILD_DIR)/%.dts: dts/%.dts dts/*.dtsi
-mkdir -p $(BUILD_OUTPUT_DIR)
${CC} -o $@ -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $< ${CC} -o $@ -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $<
## ##
+21 -20
View File
@@ -86,6 +86,8 @@ ifeq ($(TARGET),bin)
cp $(BUILD_DIR)/n3xx.bit $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).bit; \ cp $(BUILD_DIR)/n3xx.bit $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).bit; \
echo "Exporting build report..."; \ echo "Exporting build report..."; \
cp $(BUILD_DIR)/build.rpt $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).rpt; \ cp $(BUILD_DIR)/build.rpt $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).rpt; \
echo "Exporting devicetree file..."; \
cp $(BUILD_DIR)/$(1)_$(2).dts $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts; \
echo "Build DONE ... $(1)_$(2)"; echo "Build DONE ... $(1)_$(2)";
else else
post_build = @echo "Skipping bitfile export." post_build = @echo "Skipping bitfile export."
@@ -122,97 +124,96 @@ ifndef BUILD_DIR
endif endif
##N310_WX: 1GigE White Rabbit on SFP+ Port0, 10Gig on SFP+ Port1. ##N310_WX: 1GigE White Rabbit on SFP+ Port0, 10Gig on SFP+ Port1.
N310_WX: check-variables N3X0_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N310_WX: check-variables N3X0_IP $(BUILD_DIR)/N310_WX.dts
$(call vivado_build,N310,$(WX_DEFS) N310=1,$(N310_DEFAULTS)) $(call vivado_build,N310,$(WX_DEFS) N310=1,$(N310_DEFAULTS))
$(call post_build,N310,WX) $(call post_build,N310,WX)
##N310_HG: 1GigE on SFP+ Port0, 10Gig on SFP+ Port1. ##N310_HG: 1GigE on SFP+ Port0, 10Gig on SFP+ Port1.
N310_HG: check-variables N3X0_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N310_HG: check-variables N3X0_IP $(BUILD_DIR)/N310_HG.dts
$(call vivado_build,N310,$(HG_DEFS) N310=1,$(N310_DEFAULTS)) $(call vivado_build,N310,$(HG_DEFS) N310=1,$(N310_DEFAULTS))
$(call post_build,N310,HG) $(call post_build,N310,HG)
##N310_XG: 10GigE on SFP+ Port0, 10Gig on SFP+ Port1. ##N310_XG: 10GigE on SFP+ Port0, 10Gig on SFP+ Port1.
N310_XG: check-variables N3X0_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N310_XG: check-variables N3X0_IP $(BUILD_DIR)/N310_XG.dts
$(call vivado_build,N310,$(XG_DEFS) N310=1,$(N310_DEFAULTS)) $(call vivado_build,N310,$(XG_DEFS) N310=1,$(N310_DEFAULTS))
$(call post_build,N310,XG) $(call post_build,N310,XG)
##N310_HA: 1Gig on SFP+ Port0, Aurora on SFP+ Port1. ##N310_HA: 1Gig on SFP+ Port0, Aurora on SFP+ Port1.
N310_HA: check-variables N3X0_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N310_HA: check-variables N3X0_IP $(BUILD_DIR)/N310_HA.dts
$(call vivado_build,N310,$(HA_DEFS) N310=1,$(N310_DEFAULTS)) $(call vivado_build,N310,$(HA_DEFS) N310=1,$(N310_DEFAULTS))
$(call post_build,N310,HA) $(call post_build,N310,HA)
##N310_XA: 10Gig on SFP+ Port0, Aurora on SFP+ Port1. ##N310_XA: 10Gig on SFP+ Port0, Aurora on SFP+ Port1.
N310_XA: check-variables N3X0_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N310_XA: check-variables N3X0_IP $(BUILD_DIR)/N310_XA.dts
$(call vivado_build,N310,$(XA_DEFS) N310=1,$(N310_DEFAULTS)) $(call vivado_build,N310,$(XA_DEFS) N310=1,$(N310_DEFAULTS))
$(call post_build,N310,XA) $(call post_build,N310,XA)
##N310_AA: Aurora on SFP+ Port0, Aurora on SFP+ Port1. ##N310_AA: Aurora on SFP+ Port0, Aurora on SFP+ Port1.
N310_AA: check-variables N3X0_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N310_AA: check-variables N3X0_IP $(BUILD_DIR)/N310_AA.dts
$(call vivado_build,N310,$(AA_DEFS) N310=1,$(N310AA_DEFAULTS)) $(call vivado_build,N310,$(AA_DEFS) N310=1,$(N310AA_DEFAULTS))
$(call post_build,N310,AA) $(call post_build,N310,AA)
##N300_WX: 1GigE White Rabbit on SFP+ Port0, 10Gig on SFP+ Port1. ##N300_WX: 1GigE White Rabbit on SFP+ Port0, 10Gig on SFP+ Port1.
N300_WX: check-variables N300_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N300_WX: check-variables N300_IP $(BUILD_DIR)/N300_WX.dts
$(call vivado_build,N300,$(WX_DEFS) N300=1,$(N300_DEFAULTS)) $(call vivado_build,N300,$(WX_DEFS) N300=1,$(N300_DEFAULTS))
$(call post_build,N300,WX) $(call post_build,N300,WX)
##N300_HG: 1GigE on SFP+ Port0, 10Gig on SFP+ Port1. ##N300_HG: 1GigE on SFP+ Port0, 10Gig on SFP+ Port1.
N300_HG: check-variables N300_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N300_HG: check-variables N300_IP $(BUILD_DIR)/N300_HG.dts
$(call vivado_build,N300,$(HG_DEFS) N300=1,$(N300_DEFAULTS)) $(call vivado_build,N300,$(HG_DEFS) N300=1,$(N300_DEFAULTS))
$(call post_build,N300,HG) $(call post_build,N300,HG)
##N300_XG: 10GigE on SFP+ Port0, 10Gig on SFP+ Port1. ##N300_XG: 10GigE on SFP+ Port0, 10Gig on SFP+ Port1.
N300_XG: check-variables N300_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N300_XG: check-variables N300_IP $(BUILD_DIR)/N300_XG.dts
$(call vivado_build,N300,$(XG_DEFS) N300=1,$(N300_DEFAULTS)) $(call vivado_build,N300,$(XG_DEFS) N300=1,$(N300_DEFAULTS))
$(call post_build,N300,XG) $(call post_build,N300,XG)
##N300_HA: 1Gig on SFP+ Port0, Aurora on SFP+ Port1. ##N300_HA: 1Gig on SFP+ Port0, Aurora on SFP+ Port1.
N300_HA: check-variables N300_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N300_HA: check-variables N300_IP $(BUILD_DIR)/N300_HA.dts
$(call vivado_build,N300,$(HA_DEFS) N300=1,$(N300_DEFAULTS)) $(call vivado_build,N300,$(HA_DEFS) N300=1,$(N300_DEFAULTS))
$(call post_build,N300,HA) $(call post_build,N300,HA)
##N300_XA: 10Gig on SFP+ Port0, Aurora on SFP+ Port1. ##N300_XA: 10Gig on SFP+ Port0, Aurora on SFP+ Port1.
N300_XA: check-variables N300_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N300_XA: check-variables N300_IP $(BUILD_DIR)/N300_XA.dts
$(call vivado_build,N300,$(XA_DEFS) N300=1,$(N300_DEFAULTS)) $(call vivado_build,N300,$(XA_DEFS) N300=1,$(N300_DEFAULTS))
$(call post_build,N300,XA) $(call post_build,N300,XA)
##N300_AA: Aurora on SFP+ Port0, Aurora on SFP+ Port1. ##N300_AA: Aurora on SFP+ Port0, Aurora on SFP+ Port1.
N300_AA: check-variables N300_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N300_AA: check-variables N300_IP $(BUILD_DIR)/N300_AA.dts
$(call vivado_build,N300,$(AA_DEFS) N300=1,$(N300AA_DEFAULTS)) $(call vivado_build,N300,$(AA_DEFS) N300=1,$(N300AA_DEFAULTS))
$(call post_build,N300,AA) $(call post_build,N300,AA)
##N320_WX: 1GigE White Rabbit on SFP+ Port0, 10Gig on SFP+ Port1. ##N320_WX: 1GigE White Rabbit on SFP+ Port0, 10Gig on SFP+ Port1.
N320_WX: check-variables N3X0_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N320_WX: check-variables N3X0_IP $(BUILD_DIR)/N320_WX.dts
$(call vivado_build,N320,$(WX_DEFS) N320=1,$(N320_DEFAULTS)) $(call vivado_build,N320,$(WX_DEFS) N320=1,$(N320_DEFAULTS))
$(call post_build,N320,WX) $(call post_build,N320,WX)
##N320_HG: 1GigE on SFP+ Port0, 10Gig on SFP+ Port1. ##N320_HG: 1GigE on SFP+ Port0, 10Gig on SFP+ Port1.
N320_HG: check-variables N3X0_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N320_HG: check-variables N3X0_IP $(BUILD_DIR)/N320_HG.dts
$(call vivado_build,N320,$(HG_DEFS) N320=1,$(N320_DEFAULTS)) $(call vivado_build,N320,$(HG_DEFS) N320=1,$(N320_DEFAULTS))
$(call post_build,N320,HG) $(call post_build,N320,HG)
##N320_XG: 10GigE on SFP+ Port0, 10Gig on SFP+ Port1. ##N320_XG: 10GigE on SFP+ Port0, 10Gig on SFP+ Port1.
N320_XG: check-variables N3X0_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N320_XG: check-variables N3X0_IP $(BUILD_DIR)/N320_XG.dts
$(call vivado_build,N320,$(XG_DEFS) N320=1,$(N320_DEFAULTS)) $(call vivado_build,N320,$(XG_DEFS) N320=1,$(N320_DEFAULTS))
$(call post_build,N320,XG) $(call post_build,N320,XG)
##N320_XQ: WR on SFP+ Port0, 10Gig on QSFP+ Port0,1. ##N320_XQ: WR on SFP+ Port0, 10Gig on QSFP+ Port0,1.
N320_XQ: check-variables N3X0_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N320_XQ: check-variables N3X0_IP $(BUILD_DIR)/N320_XQ.dts
$(call vivado_build,N320,$(XQ_DEFS) N320=1,$(N320_DEFAULTS)) $(call vivado_build,N320,$(XQ_DEFS) N320=1,$(N320_DEFAULTS))
$(call post_build,N320,XQ) $(call post_build,N320,XQ)
##N320_AQ: 10Gig on SFP+ Port0,1 Aurora on QSFP+ Port0,1,2,3. ##N320_AQ: 10Gig on SFP+ Port0,1 Aurora on QSFP+ Port0,1,2,3.
N320_AQ: check-variables N3X0_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N320_AQ: check-variables N3X0_IP $(BUILD_DIR)/N320_AQ.dts
$(call vivado_build,N320,$(AQ_DEFS) N320=1,$(N320_DEFAULTS)) $(call vivado_build,N320,$(AQ_DEFS) N320=1,$(N320_DEFAULTS))
$(call post_build,N320,AQ) $(call post_build,N320,AQ)
##N320_AA: Aurora on SFP+ Port0, Aurora on SFP+ Port1. ##N320_AA: Aurora on SFP+ Port0, Aurora on SFP+ Port1.
N320_AA: check-variables N3X0_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts N320_AA: check-variables N3X0_IP $(BUILD_DIR)/N320_AA.dts
$(call vivado_build,N320,$(AA_DEFS) N320=1,$(N320AA_DEFAULTS)) $(call vivado_build,N320,$(AA_DEFS) N320=1,$(N320AA_DEFAULTS))
$(call post_build,N320,AA) $(call post_build,N320,AA)
$(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts: dts/*.dts dts/*.dtsi $(BUILD_DIR)/%.dts: dts/%.dts dts/*.dtsi
-mkdir -p $(BUILD_OUTPUT_DIR)
${CC} -o $@ -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $< ${CC} -o $@ -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $<
## ##
+19 -18
View File
@@ -75,6 +75,8 @@ ifeq ($(TARGET),bin)
cp $(BUILD_DIR)/x4xx.bit $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).bit; \ cp $(BUILD_DIR)/x4xx.bit $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).bit; \
echo "Exporting build report..."; \ echo "Exporting build report..."; \
cp $(BUILD_DIR)/build.rpt $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).rpt; \ cp $(BUILD_DIR)/build.rpt $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).rpt; \
echo "Exporting devicetree file..."; \
cp $(BUILD_DIR)/$(1).dts $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts; \
echo "Build DONE ... $(IMAGE_CORE_NAME)"; echo "Build DONE ... $(IMAGE_CORE_NAME)";
else else
post_build = @echo "Skipping bitfile export." post_build = @echo "Skipping bitfile export."
@@ -112,10 +114,10 @@ ifndef BUILD_DIR
$(error BUILD_DIR is not set! Use rfnoc_image_builder to create valid make commands) $(error BUILD_DIR is not set! Use rfnoc_image_builder to create valid make commands)
endif endif
X410: check-variables X410_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts X410: check-variables X410_IP $(BUILD_DIR)/X410.dts
$(call vivado_build,X410,$(DEFS) X410=1) $(call vivado_build,X410,$(DEFS) X410=1)
$(call post_build,X410) $(call post_build,X410)
X440: check-variables X440_IP $(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts X440: check-variables X440_IP $(BUILD_DIR)/X440.dts
$(call vivado_build,X440,$(DEFS) X440=1) $(call vivado_build,X440,$(DEFS) X440=1)
$(call post_build,X440) $(call post_build,X440)
@@ -132,26 +134,25 @@ X410_IP: ##Build X410 IP only. Use the -j option to build multiple IP block
X440_IP: ##Build X440 IP only. Use the -j option to build multiple IP blocks simultaneously. X440_IP: ##Build X440 IP only. Use the -j option to build multiple IP blocks simultaneously.
+$(call vivado_ip,X440,$(DEFS) X440=1) +$(call vivado_ip,X440,$(DEFS) X440=1)
ifeq ($(MAKECMDGOALS),X410) dts/x410-version-info.dtsi: regmap/x410/versioning_regs_regmap_utils.vh
$(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts: dts/*.dts dts/*.dtsi $(BUILD_DIR)/device_tree.dts
-mkdir -p $(BUILD_OUTPUT_DIR)
tools/parse_versions_for_dts.py \ tools/parse_versions_for_dts.py \
--input regmap/x410/versioning_regs_regmap_utils.vh \ --input $< --output $@ \
--output dts/x410-version-info.dtsi \
--components fpga,cpld_ifc,db_gpio_ifc,rf_core_100m,rf_core_400m --components fpga,cpld_ifc,db_gpio_ifc,rf_core_100m,rf_core_400m
${CC} -o $@ -C -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ \
$(BUILD_DIR)/device_tree.dts dts/x440-version-info.dtsi: regmap/x440/versioning_regs_regmap_utils.vh
endif
ifeq ($(MAKECMDGOALS),X440)
$(BUILD_OUTPUT_DIR)/$(IMAGE_CORE_NAME).dts: dts/*.dts dts/*.dtsi $(BUILD_DIR)/device_tree.dts
-mkdir -p $(BUILD_OUTPUT_DIR)
tools/parse_versions_for_dts.py \ tools/parse_versions_for_dts.py \
--input regmap/x440/versioning_regs_regmap_utils.vh \ --input $< --output $@ \
--output dts/x440-version-info.dtsi \
--components fpga,cpld_ifc,db_gpio_ifc,rf_core_full --components fpga,cpld_ifc,db_gpio_ifc,rf_core_full
${CC} -o $@ -C -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ \
$(BUILD_DIR)/device_tree.dts # The device tree source file $(BUILD_DIR)/device_tree.dts is generated by the
endif # RFNoC image builder.
$(BUILD_DIR)/X410.dts: $(BUILD_DIR)/device_tree.dts dts/x410-version-info.dtsi dts/*.dtsi
${CC} -o $@ -C -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $<
# The device tree source file $(BUILD_DIR)/device_tree.dts is generated by the
# RFNoC image builder.
$(BUILD_DIR)/X440.dts: $(BUILD_DIR)/device_tree.dts dts/x440-version-info.dtsi dts/*.dtsi
${CC} -o $@ -C -E -I dts -nostdinc -undef -x assembler-with-cpp -D__DTS__ $<
clean: ##Clean up all target build outputs. clean: ##Clean up all target build outputs.
@echo "Cleaning targets..." @echo "Cleaning targets..."