Message ID | 20191204143111.5596-4-igor.opaniuk@gmail.com |
---|---|
State | Superseded |
Delegated to: | Stefano Babic |
Headers | show |
Series | toradex: imx: add update_uboot wrapper | expand |
Hi Igor, > From: Igor Opaniuk <igor.opaniuk@toradex.com> > > Add universal update_uboot wrapper that helps to update > U-Boot image on internal storage. > > > tftpboot ${loadaddr} ${board_name}/u-boot.img > > run update_uboot > > tftpboot ${loadaddr} ${board_name}/SPL > > run update_spl > > Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> > --- > > include/configs/colibri_imx6.h | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/include/configs/colibri_imx6.h > b/include/configs/colibri_imx6.h index 95b5a14b59..750463ef47 100644 > --- a/include/configs/colibri_imx6.h > +++ b/include/configs/colibri_imx6.h > @@ -110,6 +110,17 @@ > "imx6dl-colibri-eval-v3.dtb fat 0 1;" \ > "imx6dl-colibri-cam-eval-v3.dtb fat 0 1" > > +#define UBOOT_UPDATE \ > + "uboot_hwpart=1\0" \ > + "uboot_blk=8a\0" \ > + "uboot_spl_blk=2\0" \ > + "set_blkcnt=setexpr blkcnt ${filesize} + 0x1ff && " \ > + "setexpr blkcnt ${blkcnt} / 0x200\0" \ > + "update_uboot=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && > " \ > + "mmc write ${loadaddr} ${uboot_blk} ${blkcnt}\0" \ > + "update_spl=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && " > \ > + "mmc write ${loadaddr} ${uboot_spl_blk} ${blkcnt}\0" > + Do you see any chance to make this code common and being re-usable by other imx6 devices? > #define EMMC_BOOTCMD \ > "set_emmcargs=setenv emmcargs ip=off root=PARTUUID=${uuid} "\ > "rw,noatime rootfstype=ext4 " \ > @@ -163,6 +174,7 @@ > "fdt_fixup=;\0" \ > MEM_LAYOUT_ENV_SETTINGS \ > NFS_BOOTCMD \ > + UBOOT_UPDATE \ > "setethupdate=if env exists ethaddr; then; else setenv > ethaddr " \ "00:14:2d:00:00:00; fi; tftpboot ${loadaddr} " \ > "flash_eth.img && source ${loadaddr}\0" \ Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
Hi Lukasz, On Thu, Dec 5, 2019 at 12:46 AM Lukasz Majewski <lukma@denx.de> wrote: > > Hi Igor, > > > From: Igor Opaniuk <igor.opaniuk@toradex.com> > > > > Add universal update_uboot wrapper that helps to update > > U-Boot image on internal storage. > > > > > tftpboot ${loadaddr} ${board_name}/u-boot.img > > > run update_uboot > > > tftpboot ${loadaddr} ${board_name}/SPL > > > run update_spl > > > > Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> > > --- > > > > include/configs/colibri_imx6.h | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/include/configs/colibri_imx6.h > > b/include/configs/colibri_imx6.h index 95b5a14b59..750463ef47 100644 > > --- a/include/configs/colibri_imx6.h > > +++ b/include/configs/colibri_imx6.h > > @@ -110,6 +110,17 @@ > > "imx6dl-colibri-eval-v3.dtb fat 0 1;" \ > > "imx6dl-colibri-cam-eval-v3.dtb fat 0 1" > > > > +#define UBOOT_UPDATE \ > > + "uboot_hwpart=1\0" \ > > + "uboot_blk=8a\0" \ > > + "uboot_spl_blk=2\0" \ > > + "set_blkcnt=setexpr blkcnt ${filesize} + 0x1ff && " \ > > + "setexpr blkcnt ${blkcnt} / 0x200\0" \ > > + "update_uboot=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && > > " \ > > + "mmc write ${loadaddr} ${uboot_blk} ${blkcnt}\0" \ > > + "update_spl=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && " > > \ > > + "mmc write ${loadaddr} ${uboot_spl_blk} ${blkcnt}\0" > > + > > Do you see any chance to make this code common and being re-usable by > other imx6 devices? Not sure, because: 1. Some platforms use "user" hw partition instead of boot0 for storing SPL/U-boot proper (AFAIK this is actual for i.MX6Q Sabre) IMHO, for this case it's much more convenient to use DFU/UMS/Fastboot (which is not possible for boot0/boot1) for flashing instead of some wrapper like this. 2. I don't have any mx6-based boards other than from Toradex, so at least I won't be able to test it. If you insist, I can add "update_uboot" to the common include, but to be honest I really doubt that someone will use it :) > > > #define EMMC_BOOTCMD \ > > "set_emmcargs=setenv emmcargs ip=off root=PARTUUID=${uuid} "\ > > "rw,noatime rootfstype=ext4 " \ > > @@ -163,6 +174,7 @@ > > "fdt_fixup=;\0" \ > > MEM_LAYOUT_ENV_SETTINGS \ > > NFS_BOOTCMD \ > > + UBOOT_UPDATE \ > > "setethupdate=if env exists ethaddr; then; else setenv > > ethaddr " \ "00:14:2d:00:00:00; fi; tftpboot ${loadaddr} " \ > > "flash_eth.img && source ${loadaddr}\0" \ > > > > > Best regards, > > Lukasz Majewski > > -- > > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de Thanks -- Best regards - Freundliche GrĂ¼sse - Meilleures salutations Igor Opaniuk mailto: igor.opaniuk@gmail.com skype: igor.opanyuk +380 (93) 836 40 67 http://ua.linkedin.com/in/iopaniuk
diff --git a/include/configs/colibri_imx6.h b/include/configs/colibri_imx6.h index 95b5a14b59..750463ef47 100644 --- a/include/configs/colibri_imx6.h +++ b/include/configs/colibri_imx6.h @@ -110,6 +110,17 @@ "imx6dl-colibri-eval-v3.dtb fat 0 1;" \ "imx6dl-colibri-cam-eval-v3.dtb fat 0 1" +#define UBOOT_UPDATE \ + "uboot_hwpart=1\0" \ + "uboot_blk=8a\0" \ + "uboot_spl_blk=2\0" \ + "set_blkcnt=setexpr blkcnt ${filesize} + 0x1ff && " \ + "setexpr blkcnt ${blkcnt} / 0x200\0" \ + "update_uboot=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && " \ + "mmc write ${loadaddr} ${uboot_blk} ${blkcnt}\0" \ + "update_spl=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && " \ + "mmc write ${loadaddr} ${uboot_spl_blk} ${blkcnt}\0" + #define EMMC_BOOTCMD \ "set_emmcargs=setenv emmcargs ip=off root=PARTUUID=${uuid} "\ "rw,noatime rootfstype=ext4 " \ @@ -163,6 +174,7 @@ "fdt_fixup=;\0" \ MEM_LAYOUT_ENV_SETTINGS \ NFS_BOOTCMD \ + UBOOT_UPDATE \ "setethupdate=if env exists ethaddr; then; else setenv ethaddr " \ "00:14:2d:00:00:00; fi; tftpboot ${loadaddr} " \ "flash_eth.img && source ${loadaddr}\0" \