xref: /openbmc/u-boot/tools/imx8m_image.sh (revision 0e62d5b2)
194df9885SPeng Fan#!/bin/sh
294df9885SPeng Fan# SPDX-License-Identifier: GPL-2.0+
394df9885SPeng Fan#
494df9885SPeng Fan# script to check whether the file exists in imximage.cfg for i.MX8M
594df9885SPeng Fan#
694df9885SPeng Fan
794df9885SPeng Fanfile=$1
894df9885SPeng Fan
994df9885SPeng Fanpost_process=$2
1094df9885SPeng Fan
1194df9885SPeng Fanblobs=`awk '/^SIGNED_HDMI/ {print $2} /^LOADER/ {print $2} /^SECOND_LOADER/ {print $2} /^DDR_FW/ {print $2}' $file`
1294df9885SPeng Fanfor f in $blobs; do
1394df9885SPeng Fan	tmp=$srctree/$f
1494df9885SPeng Fan
15*8a0746dbSBaruch Siach	if [ $f = "spl/u-boot-spl-ddr.bin" ] || [ $f = "u-boot.itb" ]; then
1694df9885SPeng Fan		continue
1794df9885SPeng Fan	fi
1894df9885SPeng Fan
1994df9885SPeng Fan	if [ -f $f ]; then
2094df9885SPeng Fan		continue
2194df9885SPeng Fan	fi
2294df9885SPeng Fan
2394df9885SPeng Fan	if [ ! -f $tmp ]; then
2494df9885SPeng Fan		echo "WARNING '$tmp' not found, resulting binary is not-functional" >&2
2594df9885SPeng Fan		exit 1
2694df9885SPeng Fan	fi
2794df9885SPeng Fan
2894df9885SPeng Fan	sed -in "s;$f;$tmp;" $file
2994df9885SPeng Fandone
3094df9885SPeng Fan
31*8a0746dbSBaruch Siachif [ $post_process = 1 ]; then
3294df9885SPeng Fan	if [ -f $srctree/lpddr4_pmu_train_1d_imem.bin ]; then
3394df9885SPeng Fan		objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 $srctree/lpddr4_pmu_train_1d_imem.bin lpddr4_pmu_train_1d_imem_pad.bin
3494df9885SPeng Fan		objcopy -I binary -O binary --pad-to 0x4000 --gap-fill=0x0 $srctree/lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_1d_dmem_pad.bin
3594df9885SPeng Fan		objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 $srctree/lpddr4_pmu_train_2d_imem.bin lpddr4_pmu_train_2d_imem_pad.bin
3694df9885SPeng Fan		cat lpddr4_pmu_train_1d_imem_pad.bin lpddr4_pmu_train_1d_dmem_pad.bin > lpddr4_pmu_train_1d_fw.bin
3794df9885SPeng Fan		cat lpddr4_pmu_train_2d_imem_pad.bin $srctree/lpddr4_pmu_train_2d_dmem.bin > lpddr4_pmu_train_2d_fw.bin
3894df9885SPeng Fan		cat spl/u-boot-spl.bin lpddr4_pmu_train_1d_fw.bin lpddr4_pmu_train_2d_fw.bin > spl/u-boot-spl-ddr.bin
3994df9885SPeng Fan		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
4094df9885SPeng Fan	fi
4194df9885SPeng Fanfi
4294df9885SPeng Fan
4394df9885SPeng Fanexit 0
44