smaeul-u-boot/include/configs/verdin-am62.h
Vitor Soares defe30a78b verdin-am62: add DFU, USB and UUU fastboot support
Enable USB host as well as USB gadget and DFU support for a53 and r5
configs. Also, enable UUU fastboot support to download files with
the UUU tool from a53.

Additionally, configure usb0 to peripheral mode and add extra
environment for DFU use.

Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2024-07-18 07:40:30 -06:00

71 lines
2.3 KiB
C

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* Configuration header file for Verdin AM62 SoM
*
* Copyright 2023 Toradex - https://www.toradex.com/
*/
#ifndef __VERDIN_AM62_H
#define __VERDIN_AM62_H
#define RAMDISK_ADDR_R 0x90300000
#define SCRIPTADDR 0x90280000
/* DDR Configuration */
#define CFG_SYS_SDRAM_BASE 0x80000000
#define CFG_SYS_SDRAM_SIZE SZ_2G /* Maximum supported size, auto-detection is used */
#define MEM_LAYOUT_ENV_SETTINGS \
"fdt_addr_r=0x90200000\0" \
"kernel_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
"kernel_comp_addr_r=0x80200000\0" \
"kernel_comp_size=0x08000000\0" \
"ramdisk_addr_r=" __stringify(RAMDISK_ADDR_R) "\0" \
"scriptaddr=" __stringify(SCRIPTADDR) "\0"
#if CONFIG_TARGET_VERDIN_AM62_A53
/* Enable Distro Boot */
#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 1) \
func(MMC, mmc, 0) \
func(DHCP, dhcp, na)
#include <config_distro_bootcmd.h>
#else /* CONFIG_TARGET_VERDIN_AM62_A53 */
#define BOOTENV \
""
#endif /* CONFIG_TARGET_VERDIN_AM62_A53 */
#define EXTRA_ENV_DFUARGS \
"dfu_alt_info_ram=" \
"tispl.bin ram 0x80080000 0x200000;" \
"u-boot.img ram 0x81000000 0x400000;" \
"loadaddr ram " __stringify(CONFIG_SYS_LOAD_ADDR) " 0x80000;" \
"scriptaddr ram " __stringify(SCRIPTADDR) " 0x80000;" \
"ramdisk_addr_r ram " __stringify(RAMDISK_ADDR_R) " 0x8000000\0"
/* Incorporate settings into the U-Boot environment */
#define CFG_EXTRA_ENV_SETTINGS \
BOOTENV \
EXTRA_ENV_DFUARGS \
MEM_LAYOUT_ENV_SETTINGS \
"boot_script_dhcp=boot.scr\0" \
"console=ttyS2\0" \
"fdt_board=dev\0" \
"update_tiboot3=askenv confirm Did you load tiboot3.bin (y/N)?; " \
"if test \"$confirm\" = \"y\"; then " \
"setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt " \
"${blkcnt} / 0x200; mmc dev 0 1; mmc write ${loadaddr} 0x0 " \
"${blkcnt}; fi\0" \
"update_tispl=askenv confirm Did you load tispl.bin (y/N)?; " \
"if test \"$confirm\" = \"y\"; then " \
"setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt " \
"${blkcnt} / 0x200; mmc dev 0 1; mmc write ${loadaddr} 0x400 " \
"${blkcnt}; fi\0" \
"update_uboot=askenv confirm Did you load u-boot.img (y/N)?; " \
"if test \"$confirm\" = \"y\"; then " \
"setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt " \
"${blkcnt} / 0x200; mmc dev 0 1; mmc write ${loadaddr} 0x1400 " \
"${blkcnt}; fi\0"
#endif /* __VERDIN_AM62_H */