[PATCH 2/2] xilinx: zynqmp: Enable DFU tftp support
Michal Simek
monstr at monstr.eu
Fri Jul 24 14:18:39 CEST 2020
st 15. 7. 2020 v 15:51 odesílatel Michal Simek <michal.simek at xilinx.com> napsal:
>
> Enable DFU tftp support for firmware update. Fill dfu_ram_tftp variable to
> have command present for showing how to use it.
>
> boot FIT image has been created from below fragment. Key part is that type
> of image has to be firmware. Also based on experiment load property is
> completely ignored and base addresses are taken from dfu_alt_info variable.
>
> $ cat update_uboot.its
> /dts-v1/;
>
> / {
> description = "Automatic U-Boot update";
> #address-cells = <1>;
>
> images {
> Image {
> description = "Kernel";
> data = /incbin/("/tftpboot/Image");
> compression = "none";
> arch = "arm64";
> type = "firmware";
> os = "linux";
> load = <0x80000>;
> entry = <0x80000>;
> hash-1 {
> algo = "sha1";
> };
> };
> system.dtb {
> description = "DTB";
> data = /incbin/("/tftpboot/system.dtb");
> compression = "none";
> arch = "arm64";
> type = "firmware";
> load = <0>;
> hash-1 {
> algo = "sha1";
> };
> };
> };
> };
>
> $ mkimage -f update_uboot.its /tftpboot/boot
>
> When U-Boot starts get IP address and server IP.
> dhcp
> setenv serverip 192.168.0.105
>
> And then run prepared command.
> run dfu_ram_tftp
>
> Signed-off-by: Michal Simek <michal.simek at xilinx.com>
> ---
>
> configs/xilinx_zynqmp_virt_defconfig | 1 +
> include/configs/xilinx_zynqmp.h | 4 +++-
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/configs/xilinx_zynqmp_virt_defconfig b/configs/xilinx_zynqmp_virt_defconfig
> index d77ba051624e..2d84f0c04e12 100644
> --- a/configs/xilinx_zynqmp_virt_defconfig
> +++ b/configs/xilinx_zynqmp_virt_defconfig
> @@ -69,6 +69,7 @@ CONFIG_SPL_DM_SEQ_ALIAS=y
> CONFIG_SCSI_AHCI=y
> CONFIG_SATA_CEVA=y
> CONFIG_CLK_ZYNQMP=y
> +CONFIG_DFU_TFTP=y
> CONFIG_DFU_RAM=y
> CONFIG_USB_FUNCTION_FASTBOOT=y
> CONFIG_FASTBOOT_FLASH=y
> diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
> index 86f292761b38..f45a1a2272d3 100644
> --- a/include/configs/xilinx_zynqmp.h
> +++ b/include/configs/xilinx_zynqmp.h
> @@ -61,7 +61,9 @@
> "Image ram 80000 $kernel_size_r\\\\;" \
> "system.dtb ram $fdt_addr_r $fdt_size_r\0" \
> "dfu_ram=run dfu_ram_info && dfu 0 ram 0\0" \
> - "thor_ram=run dfu_ram_info && thordown 0 ram 0\0"
> + "thor_ram=run dfu_ram_info && thordown 0 ram 0\0" \
> + "dfu_ram_tftp=run dfu_ram_info && setenv updatefile boot && " \
> + "setenv loadaddr 10000000 && dfu tftp ram 0\0"
>
> #define DFU_ALT_INFO \
> DFU_ALT_INFO_RAM
> --
> 2.27.0
>
Applied.
M
--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs
More information about the U-Boot
mailing list