[PATCH v2 0/4] toradex: tegra: add update_uboot wrapper

This patch series introduces universtal update_uboot wrapper that helps to update U-Boot image on internal storage (eMMC/NAND).
Example of usage:
tftpboot ${loadaddr} ${board_name}/${board_name}.img run update_uboot
Igor Opaniuk (4): apalis-tk1: add update_uboot wrapper apalis_t30: add update_uboot wrapper colibri_t20: add update_uboot wrapper colibri_t30: add update_uboot wrapper
include/configs/apalis-tk1.h | 9 +++++++++ include/configs/apalis_t30.h | 11 +++++++++++ include/configs/colibri_t20.h | 8 ++++++-- include/configs/colibri_t30.h | 11 +++++++++++ 4 files changed, 37 insertions(+), 2 deletions(-)

From: Igor Opaniuk igor.opaniuk@toradex.com
Add universal update_uboot wrapper that helps to update U-Boot image on internal storage.
Create an proper tegra image: $ cbootimage -s tegra124 apalis-tk1.img.cfg apalis-tk1.img
Flash in U-boot shell:
tftpboot ${loadaddr} ${board_name}/${board_name}.img run update_uboot
Signed-off-by: Igor Opaniuk igor.opaniuk@toradex.com ---
include/configs/apalis-tk1.h | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/include/configs/apalis-tk1.h b/include/configs/apalis-tk1.h index 4127f2d6c6..8ca571b9b7 100644 --- a/include/configs/apalis-tk1.h +++ b/include/configs/apalis-tk1.h @@ -46,6 +46,14 @@ "zImage fat 0 1 mmcpart 0; " \ "tegra124-apalis-eval.dtb fat 0 1 mmcpart 0"
+#define UBOOT_UPDATE \ + "uboot_hwpart=1\0" \ + "uboot_blk=0\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" \ + #define EMMC_BOOTCMD \ "set_emmcargs=setenv emmcargs ip=off root=PARTUUID=${uuid} " \ "ro rootfstype=ext4 rootwait\0" \ @@ -104,6 +112,7 @@ "fdt_module=" FDT_MODULE "\0" \ NFS_BOOTCMD \ SD_BOOTCMD \ + UBOOT_UPDATE \ "setethupdate=if env exists ethaddr; then; else setenv ethaddr " \ "00:14:2d:00:00:00; fi; pci enum && tftpboot ${loadaddr} " \ "flash_eth.img && source ${loadaddr}\0" \

From: Igor Opaniuk igor.opaniuk@toradex.com
Add universal update_uboot wrapper that helps to update U-Boot image on internal storage.
Create an proper tegra image: $ cbootimage -s tegra30 apalis_t30.img.cfg apalis_t30.img
Flash in U-boot shell:
tftpboot ${loadaddr} ${board_name}/${board_name}.img run update_uboot
Signed-off-by: Igor Opaniuk igor.opaniuk@toradex.com ---
include/configs/apalis_t30.h | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/include/configs/apalis_t30.h b/include/configs/apalis_t30.h index 821162a2be..701b34aa84 100644 --- a/include/configs/apalis_t30.h +++ b/include/configs/apalis_t30.h @@ -40,6 +40,17 @@ #undef CONFIG_SYS_MAXARGS #define CONFIG_SYS_MAXARGS 32
+#define UBOOT_UPDATE \ + "uboot_hwpart=1\0" \ + "uboot_blk=0\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" \ + +#define BOARD_EXTRA_ENV_SETTINGS \ + UBOOT_UPDATE + #include "tegra-common-usb-gadget.h" #include "tegra-common-post.h"

From: Igor Opaniuk igor.opaniuk@toradex.com
Add universal update_uboot wrapper that helps to update U-Boot image on internal storage(NAND).
Create an proper tegra image: $ cbootimage -s tegra20 colibri_t20-512-v12-nand.img.cfg colibri_t20.img
Flash in U-boot shell:
tftpboot ${loadaddr} ${board_name}/${board_name}.img run update_uboot
Signed-off-by: Igor Opaniuk igor.opaniuk@toradex.com ---
include/configs/colibri_t20.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/include/configs/colibri_t20.h b/include/configs/colibri_t20.h index 122294de6f..94e17bbb7c 100644 --- a/include/configs/colibri_t20.h +++ b/include/configs/colibri_t20.h @@ -27,10 +27,14 @@ #define CONFIG_TEGRA_NAND #define CONFIG_SYS_MAX_NAND_DEVICE 1
-/* Environment in NAND, 64K is a bit excessive but erase block is 512K anyway */ +#define UBOOT_UPDATE \ + "update_uboot=nand erase.part u-boot && " \ + "nand write ${loadaddr} u-boot ${filesize}\0" \
+/* Environment in NAND, 64K is a bit excessive but erase block is 512K anyway */ #define BOARD_EXTRA_ENV_SETTINGS \ - "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" + "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \ + UBOOT_UPDATE
/* Increase console I/O buffer size */ #undef CONFIG_SYS_CBSIZE

From: Igor Opaniuk igor.opaniuk@toradex.com
Add universal update_uboot wrapper that helps to update U-Boot image on internal storage.
Create an proper tegra image: $ cbootimage -s tegra30 colibri_t30.img.cfg colibri_t30.img
Flash in U-boot shell:
tftpboot ${loadaddr} ${board_name}/${board_name}.img run update_uboot
Signed-off-by: Igor Opaniuk igor.opaniuk@toradex.com ---
include/configs/colibri_t30.h | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/include/configs/colibri_t30.h b/include/configs/colibri_t30.h index 5aecf14393..4e5e89b547 100644 --- a/include/configs/colibri_t30.h +++ b/include/configs/colibri_t30.h @@ -39,6 +39,17 @@ #undef CONFIG_SYS_MAXARGS #define CONFIG_SYS_MAXARGS 32
+#define UBOOT_UPDATE \ + "uboot_hwpart=1\0" \ + "uboot_blk=0\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" \ + +#define BOARD_EXTRA_ENV_SETTINGS \ + UBOOT_UPDATE + #include "tegra-common-usb-gadget.h" #include "tegra-common-post.h"
participants (1)
-
Igor Opaniuk