Hi,

On 9/30/24 21:23, Marek Vasut wrote:
Make the dh_update_sd_to_sf script generic, rename it to dh_update_sdmmc_to_sf
and implement two specific dh_update_sd_to_sf and dh_update_emmc_to_sf scripts
which load U-Boot from either SD or eMMC and install it into SPI NOR.

Signed-off-by: Marek Vasut <ma...@denx.de>
---
Cc: Patrice Chotard <patrice.chot...@foss.st.com>
Cc: Patrick Delaunay <patrick.delau...@foss.st.com>
Cc: Tom Rini <tr...@konsulko.com>
Cc: u-b...@dh-electronics.com
Cc: u-boot@lists.denx.de
Cc: uboot-st...@st-md-mailman.stormreply.com
---
  include/configs/stm32mp15_dh_dhsom.h | 16 +++++++++++++---
  1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/include/configs/stm32mp15_dh_dhsom.h 
b/include/configs/stm32mp15_dh_dhsom.h
index de39b19219d..fa759c938b3 100644
--- a/include/configs/stm32mp15_dh_dhsom.h
+++ b/include/configs/stm32mp15_dh_dhsom.h
@@ -38,16 +38,26 @@
                "setenv loadaddr1 && "                                        \
                "setenv sblkcnt && "                                  \
                "setenv ublkcnt\0"                                    \
-       "dh_update_sd_to_sf=" /* Erase SPI NOR and install U-Boot from SD */ \
+       "dh_update_sdmmc_to_sf=" /* Erase SPI NOR and install U-Boot from 
SD/eMMC */ \
                "setexpr loadaddr1 ${loadaddr} + 0x1000000 && "               \
-               "load mmc 0:4 ${loadaddr1} /boot/u-boot-spl.stm32 && "        \
+               "load ${dh_update_iface} ${dh_update_dev} "           \
+                       "${loadaddr1} /boot/u-boot-spl.stm32 && "     \
                "env set filesize1 ${filesize} && "                   \
-               "load mmc 0:4 ${loadaddr} /boot/u-boot.itb && "               \
+               "load ${dh_update_iface} ${dh_update_dev} "           \
+                       "${loadaddr} /boot/u-boot.itb && "            \
                "sf probe && sf erase 0 0x200000 && "                 \
                "sf update ${loadaddr1} 0 ${filesize1} && "           \
                "sf update ${loadaddr1} 0x40000 ${filesize1} && "     \
                "sf update ${loadaddr} 0x80000 ${filesize} && "               \
                "env set filesize1 && env set loadaddr1\0"            \
+       "dh_update_sd_to_sf=" /* Erase SPI NOR and install U-Boot from SD */ \
+               "setenv dh_update_iface mmc && "                      \
+               "setenv dh_update_dev 0:4 && "                                \
+               "run dh_update_sdmmc_to_sf\0"                         \
+       "dh_update_emmc_to_sf=" /* Erase SPI NOR and install U-Boot from eMMC 
*/ \
+               "setenv dh_update_iface mmc && "                      \
+               "setenv dh_update_dev 1:4 && "                                \
+               "run dh_update_sdmmc_to_sf\0"                         \
        "stdin=serial\0"                                              \
        "stdout=serial\0"                                             \
        "stderr=serial\0"                                             \


ok I will merge it as it

with 2 minor question

a)  it is strange to define interface variable for macro
    but use only with "mmc" device with

setenv dh_update_iface mmc

it can be simplified with

"load mmc ${dh_update_dev}

or it is to prepare other device then "mmc" .....


b) you are using "sf" command and not "mtd" to udpate SPI NOR ?


the MTD command allows to use the MTD partition name, defined in DT,
so no need to know offset in script (and avoid "sf probe")

mtd erase fsbl1; mtd write fsbl1 ${loadaddr1} 0 ${filesize1} \
mtd erase fsbl2; mtd write fsbl2 ${loadaddr1} 0 ${filesize1} \
mtd erase uboot; mtd write uboot ${loadaddr} 0 ${filesize}



Reviewed-by: Patrick Delaunay <patrick.delau...@foss.st.com>

Thanks
Patrick

Reply via email to