From 64f1ec289c3250416cd26e7308c35e40d98182ae Mon Sep 17 00:00:00 2001 From: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu> Date: Tue, 14 Jan 2025 17:32:21 +0400 Subject: [PATCH] airoha: write a functional u-boot-script --- airoha/image/u-boot-script | 44 +++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/airoha/image/u-boot-script b/airoha/image/u-boot-script index f42ff3959..ac5493e5a 100644 --- a/airoha/image/u-boot-script +++ b/airoha/image/u-boot-script @@ -1 +1,43 @@ -echo "Hello world!" +setenv __script_get_sysupgrade_cfg_name ' + fdt addr ${loadaddr} && fdt get value config_name "/configurations" default; +'; +setenv __script_emmc_write_gpt ' + echo; + echo Test for eMMC presence...; + test $? -eq 0 && mmc dev 0; + test $? -eq 0 && echo Getting sysupgrade configuration name...; + test $? -eq 0 && run __script_get_sysupgrade_cfg_name; + test $? -eq 0 && echo Reading gpt parameters from sysupgrade image...; + test $? -eq 0 && fdt addr ${loadaddr}; + test $? -eq 0 && fdt get value gpt_hdr_img_name "/configurations/${config_name}" gpt-primary-header; + test $? -eq 0 && fdt get value gpt_entry_img_name "/configurations/${config_name}" gpt-primary-entry; + test $? -eq 0 && fdt get value gpt_alt_img_name "/configurations/${config_name}" gpt-alternate; + test $? -eq 0 && fdt get value gpt_entry_start "/configurations/${config_name}" gpt-primary-entry-offset; + test $? -eq 0 && fdt get value gpt_alt_start "/configurations/${config_name}" gpt-alternate-offset; + test $? -eq 0 && echo Writing Protective MBR and Primary GPT header...; + test $? -eq 0 && imxtract ${loadaddr} ${gpt_hdr_img_name}; + test $? -eq 0 && setexpr tmp ${filesize} + 0x1ff; + test $? -eq 0 && setexpr tmp $tmp / 0x200; + test $? -eq 0 && mmc write ${fileaddr} 0 $tmp; + test $? -eq 0 && echo Writing Primary GPT entry table...; + test $? -eq 0 && imxtract ${loadaddr} ${gpt_entry_img_name}; + test $? -eq 0 && setexpr tmp ${filesize} + 0x1ff; + test $? -eq 0 && setexpr tmp $tmp / 0x200; + test $? -eq 0 && mmc write ${fileaddr} ${gpt_entry_start} $tmp; + test $? -eq 0 && echo Writing Alternative GPT header and entry table...; + test $? -eq 0 && imxtract ${loadaddr} ${gpt_alt_img_name}; + test $? -eq 0 && setexpr tmp ${filesize} + 0x1ff; + test $? -eq 0 && setexpr tmp $tmp / 0x200; + test $? -eq 0 && mmc write ${fileaddr} ${gpt_alt_start} $tmp; + env set result $?; + echo; + echo -n "Writing GPT to eMMC -- "; + env delete config_name gpt_hdr_img_name gpt_entry_img_name gpt_alt_img_name; + env delete gpt_entry_start gpt_alt_start fileaddr filesize tmp; + run do_report_result; +'; +setenv __script_emmc_write_production ' + run __script_emmc_write_gpt update_itb_prepare do_update_bank1 do_update_bank2 do_update_uboot_img do_update_uboot_env clear_overlay1 clear_overlay2; + test $? -eq 0 && env delete __script_get_sysupgrade_cfg_name __script_emmc_write_gpt __script_emmc_write_production; + test $? -eq 0 && run update_itb_reset_active_image; +'; -- GitLab