Skip to content
Snippets Groups Projects
Commit 7aa24bca authored by Ye Li's avatar Ye Li
Browse files

imx8m: Add build target for DDR4 and DDR3L ARM2 boards


Add DDR4 and DDR3L build targets:
flash_ddr4_arm2 and flash_ddr3l_arm2 with HDMI FW contained
flash_ddr4_arm2_no_hdmi and flash_ddr3l_arm2_no_hdmi without HDMI FW.

Rename flash_hdmi_spl_uboot and flash_spl_uboot to
flash_evk and flash_evk_no_hdmi. But still keep the old targets for compatible.

U-boot files for DDR3L or DDR4 build:
  Copy u-boot/u-boot-nodtb.bin to iMX8M/
  Copy u-boot/spl/u-boot-spl.bin to iMX8M/
  Copy u-boot/arch/arm/dts/fsl-imx8mq-ddr3l-arm2.dtb or fsl-imx8mq-ddr4-arm2.dtb
  to iMX8M/
  Copy u-boot/tools/mkimage to iMX8M/mkimage_uboot

DDR FW for DDR3L or DDR4:
  Copy ddr3_dmem_1d.bin and ddr3_imem_1d.bin from linux-imx-firmware
  Copy ddr4_dmem_1d.bin, ddr4_imem_1d.bin, ddr4_dmem_2d.bin and ddr4_imem_2d.bin
  from linux-imx-firmware

Signed-off-by: default avatarYe Li <ye.li@nxp.com>
(cherry picked from commit 4f375525)
parent 7c3a73f0
No related branches found
No related tags found
No related merge requests found
...@@ -30,6 +30,21 @@ u-boot-spl-ddr.bin: u-boot-spl.bin lpddr4_pmu_train_1d_imem.bin lpddr4_pmu_train ...@@ -30,6 +30,21 @@ u-boot-spl-ddr.bin: u-boot-spl.bin lpddr4_pmu_train_1d_imem.bin lpddr4_pmu_train
@cat u-boot-spl.bin lpddr4_pmu_train_1d_fw.bin lpddr4_pmu_train_2d_fw.bin > u-boot-spl-ddr.bin @cat u-boot-spl.bin lpddr4_pmu_train_1d_fw.bin lpddr4_pmu_train_2d_fw.bin > u-boot-spl-ddr.bin
@rm -f lpddr4_pmu_train_1d_fw.bin lpddr4_pmu_train_2d_fw.bin lpddr4_pmu_train_1d_imem_pad.bin lpddr4_pmu_train_1d_dmem_pad.bin lpddr4_pmu_train_2d_imem_pad.bin @rm -f lpddr4_pmu_train_1d_fw.bin lpddr4_pmu_train_2d_fw.bin lpddr4_pmu_train_1d_imem_pad.bin lpddr4_pmu_train_1d_dmem_pad.bin lpddr4_pmu_train_2d_imem_pad.bin
u-boot-spl-ddr4.bin: u-boot-spl.bin ddr4_imem_1d.bin ddr4_dmem_1d.bin ddr4_imem_2d.bin ddr4_dmem_2d.bin
@objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 ddr4_imem_1d.bin ddr4_imem_1d_pad.bin
@objcopy -I binary -O binary --pad-to 0x4000 --gap-fill=0x0 ddr4_dmem_1d.bin ddr4_dmem_1d_pad.bin
@objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 ddr4_imem_2d.bin ddr4_imem_2d_pad.bin
@cat ddr4_imem_1d_pad.bin ddr4_dmem_1d_pad.bin > ddr4_1d_fw.bin
@cat ddr4_imem_2d_pad.bin ddr4_dmem_2d.bin > ddr4_2d_fw.bin
@cat u-boot-spl.bin ddr4_1d_fw.bin ddr4_2d_fw.bin > u-boot-spl-ddr4.bin
@rm -f ddr4_1d_fw.bin ddr4_2d_fw.bin ddr4_imem_1d_pad.bin ddr4_dmem_1d_pad.bin ddr4_imem_2d_pad.bin
u-boot-spl-ddr3l.bin: u-boot-spl.bin ddr3_imem_1d.bin ddr3_dmem_1d.bin
@objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 ddr3_imem_1d.bin ddr3_imem_1d.bin_pad.bin
@cat ddr3_imem_1d.bin_pad.bin ddr3_dmem_1d.bin > ddr3_pmu_train_fw.bin
@cat u-boot-spl.bin ddr3_pmu_train_fw.bin > u-boot-spl-ddr3l.bin
@rm -f ddr3_pmu_train_fw.bin ddr3_imem_1d.bin_pad.bin
u-boot-atf.bin: u-boot.bin bl31.bin u-boot-atf.bin: u-boot.bin bl31.bin
@cp bl31.bin u-boot-atf.bin @cp bl31.bin u-boot-atf.bin
@dd if=u-boot.bin of=u-boot-atf.bin bs=1K seek=128 @dd if=u-boot.bin of=u-boot-atf.bin bs=1K seek=128
...@@ -41,7 +56,7 @@ u-boot-atf-tee.bin: u-boot.bin bl31.bin tee.bin ...@@ -41,7 +56,7 @@ u-boot-atf-tee.bin: u-boot.bin bl31.bin tee.bin
.PHONY: clean .PHONY: clean
clean: clean:
@rm -f $(MKIMG) $(DCD_CFG) .imx8mq_dcd.cfg.cfgtmp.d u-boot-atf.bin u-boot-atf-tee.bin u-boot-spl-ddr.bin u-boot.itb u-boot.its $(OUTIMG) @rm -f $(MKIMG) $(DCD_CFG) .imx8mq_dcd.cfg.cfgtmp.d u-boot-atf.bin u-boot-atf-tee.bin u-boot-spl-ddr.bin u-boot.itb u-boot.its u-boot-ddr3l.itb u-boot-ddr3l.its u-boot-spl-ddr3l.bin u-boot-ddr4.itb u-boot-ddr4.its u-boot-spl-ddr4.bin $(OUTIMG)
dtbs = fsl-imx8mq-evk.dtb dtbs = fsl-imx8mq-evk.dtb
u-boot.itb: $(dtbs) u-boot.itb: $(dtbs)
...@@ -49,17 +64,37 @@ u-boot.itb: $(dtbs) ...@@ -49,17 +64,37 @@ u-boot.itb: $(dtbs)
./mkimage_uboot -E -p 0x3000 -f u-boot.its u-boot.itb ./mkimage_uboot -E -p 0x3000 -f u-boot.its u-boot.itb
@rm -f u-boot.its @rm -f u-boot.its
flash_hdmi_spl_uboot: $(MKIMG) signed_hdmi_imx8m.bin u-boot-spl-ddr.bin u-boot.itb dtbs_ddr3l = fsl-imx8mq-ddr3l-arm2.dtb
u-boot-ddr3l.itb: $(dtbs_ddr3l)
./mkimage_fit_atf.sh $(dtbs_ddr3l) > u-boot-ddr3l.its
./mkimage_uboot -E -p 0x3000 -f u-boot-ddr3l.its u-boot-ddr3l.itb
dtbs_ddr4 = fsl-imx8mq-ddr4-arm2.dtb
u-boot-ddr4.itb: $(dtbs_ddr4)
./mkimage_fit_atf.sh $(dtbs_ddr4) > u-boot-ddr4.its
./mkimage_uboot -E -p 0x3000 -f u-boot-ddr4.its u-boot-ddr4.itb
flash_evk: $(MKIMG) signed_hdmi_imx8m.bin u-boot-spl-ddr.bin u-boot.itb
./mkimage_imx8 -fit -signed_hdmi signed_hdmi_imx8m.bin -loader u-boot-spl-ddr.bin 0x7E1000 -second_loader u-boot.itb 0x40200000 0x60000 -out $(OUTIMG) ./mkimage_imx8 -fit -signed_hdmi signed_hdmi_imx8m.bin -loader u-boot-spl-ddr.bin 0x7E1000 -second_loader u-boot.itb 0x40200000 0x60000 -out $(OUTIMG)
flash_hdmi_spl_uboot_tee: $(MKIMG) signed_hdmi_imx8m.bin u-boot-spl-ddr.bin u-boot-atf-tee.bin flash_ddr3l_arm2: $(MKIMG) signed_hdmi_imx8m.bin u-boot-spl-ddr3l.bin u-boot-ddr3l.itb
./mkimage_imx8 -signed_hdmi signed_hdmi_imx8m.bin -loader u-boot-spl-ddr.bin 0x7E1000 -second_loader u-boot-atf-tee.bin 0x40200000 0x60000 -out $(OUTIMG) ./mkimage_imx8 -fit -signed_hdmi signed_hdmi_imx8m.bin -loader u-boot-spl-ddr3l.bin 0x7E1000 -second_loader u-boot-ddr3l.itb 0x40200000 0x60000 -out $(OUTIMG)
flash_ddr4_arm2: $(MKIMG) signed_hdmi_imx8m.bin u-boot-spl-ddr4.bin u-boot-ddr4.itb
./mkimage_imx8 -fit -signed_hdmi signed_hdmi_imx8m.bin -loader u-boot-spl-ddr4.bin 0x7E1000 -second_loader u-boot-ddr4.itb 0x40200000 0x60000 -out $(OUTIMG)
flash_spl_uboot: $(MKIMG) u-boot-spl-ddr.bin u-boot.itb flash_evk_no_hdmi: $(MKIMG) u-boot-spl-ddr.bin u-boot.itb
./mkimage_imx8 -fit -loader u-boot-spl-ddr.bin 0x7E1000 -second_loader u-boot.itb 0x40200000 0x60000 -out $(OUTIMG) ./mkimage_imx8 -fit -loader u-boot-spl-ddr.bin 0x7E1000 -second_loader u-boot.itb 0x40200000 0x60000 -out $(OUTIMG)
flash_spl_uboot_tee: $(MKIMG) u-boot-spl-ddr.bin u-boot-atf-tee.bin flash_ddr3l_arm2_no_hdmi: $(MKIMG) u-boot-spl-ddr3l.bin u-boot-ddr3l.itb
./mkimage_imx8 -loader u-boot-spl-ddr.bin 0x7E1000 -second_loader u-boot-atf-tee.bin 0x40200000 0x60000 -out $(OUTIMG) ./mkimage_imx8 -fit -loader u-boot-spl-ddr3l.bin 0x7E1000 -second_loader u-boot-ddr3l.itb 0x40200000 0x60000 -out $(OUTIMG)
flash_ddr4_arm2_no_hdmi: $(MKIMG) u-boot-spl-ddr4.bin u-boot-ddr4.itb
./mkimage_imx8 -fit -loader u-boot-spl-ddr4.bin 0x7E1000 -second_loader u-boot-ddr4.itb 0x40200000 0x60000 -out $(OUTIMG)
flash_hdmi_spl_uboot: flash_evk
flash_spl_uboot: flash_evk_no_hdmi
print_fit_hab: u-boot-nodtb.bin bl31.bin $(dtbs) print_fit_hab: u-boot-nodtb.bin bl31.bin $(dtbs)
./print_fit_hab.sh 0x60000 $(dtbs) ./print_fit_hab.sh 0x60000 $(dtbs)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment