blob: e8bc22d4c3528a4be67db439c92b24eb03679dd1 [file] [log] [blame]
Marcel Ziswiler315deb32023-08-04 12:08:08 +02001/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * Configuration header file for Verdin AM62 SoM
4 *
5 * Copyright 2023 Toradex - https://www.toradex.com/
6 */
7
8#ifndef __VERDIN_AM62_H
9#define __VERDIN_AM62_H
10
11#define RAMDISK_ADDR_R 0x90300000
12#define SCRIPTADDR 0x90280000
13
14/* DDR Configuration */
15#define CFG_SYS_SDRAM_BASE 0x80000000
Marcel Ziswilerffd8e5b2023-08-28 23:50:37 +020016#define CFG_SYS_SDRAM_SIZE SZ_2G /* Maximum supported size, auto-detection is used */
Marcel Ziswiler315deb32023-08-04 12:08:08 +020017
18#define MEM_LAYOUT_ENV_SETTINGS \
19 "fdt_addr_r=0x90200000\0" \
20 "kernel_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
21 "kernel_comp_addr_r=0x80200000\0" \
22 "kernel_comp_size=0x08000000\0" \
23 "ramdisk_addr_r=" __stringify(RAMDISK_ADDR_R) "\0" \
24 "scriptaddr=" __stringify(SCRIPTADDR) "\0"
25
26#if CONFIG_TARGET_VERDIN_AM62_A53
27/* Enable Distro Boot */
28#define BOOT_TARGET_DEVICES(func) \
29 func(MMC, mmc, 1) \
30 func(MMC, mmc, 0) \
31 func(DHCP, dhcp, na)
32#include <config_distro_bootcmd.h>
33#else /* CONFIG_TARGET_VERDIN_AM62_A53 */
34#define BOOTENV \
35 ""
36#endif /* CONFIG_TARGET_VERDIN_AM62_A53 */
37
Vitor Soares2aa4d8c92024-07-04 16:49:32 +010038#define EXTRA_ENV_DFUARGS \
39 "dfu_alt_info_ram=" \
40 "tispl.bin ram 0x80080000 0x200000;" \
41 "u-boot.img ram 0x81000000 0x400000;" \
42 "loadaddr ram " __stringify(CONFIG_SYS_LOAD_ADDR) " 0x80000;" \
43 "scriptaddr ram " __stringify(SCRIPTADDR) " 0x80000;" \
44 "ramdisk_addr_r ram " __stringify(RAMDISK_ADDR_R) " 0x8000000\0"
45
Marcel Ziswiler315deb32023-08-04 12:08:08 +020046/* Incorporate settings into the U-Boot environment */
47#define CFG_EXTRA_ENV_SETTINGS \
48 BOOTENV \
Vitor Soares2aa4d8c92024-07-04 16:49:32 +010049 EXTRA_ENV_DFUARGS \
Marcel Ziswiler315deb32023-08-04 12:08:08 +020050 MEM_LAYOUT_ENV_SETTINGS \
Marcel Ziswiler315deb32023-08-04 12:08:08 +020051 "boot_script_dhcp=boot.scr\0" \
52 "console=ttyS2\0" \
53 "fdt_board=dev\0" \
Emanuele Ghidoli88b9e0b2023-08-24 10:08:49 +020054 "update_tiboot3=askenv confirm Did you load tiboot3.bin (y/N)?; " \
Marcel Ziswiler315deb32023-08-04 12:08:08 +020055 "if test \"$confirm\" = \"y\"; then " \
56 "setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt " \
57 "${blkcnt} / 0x200; mmc dev 0 1; mmc write ${loadaddr} 0x0 " \
Emanuele Ghidoli88b9e0b2023-08-24 10:08:49 +020058 "${blkcnt}; fi\0" \
59 "update_tispl=askenv confirm Did you load tispl.bin (y/N)?; " \
60 "if test \"$confirm\" = \"y\"; then " \
61 "setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt " \
62 "${blkcnt} / 0x200; mmc dev 0 1; mmc write ${loadaddr} 0x400 " \
63 "${blkcnt}; fi\0" \
64 "update_uboot=askenv confirm Did you load u-boot.img (y/N)?; " \
65 "if test \"$confirm\" = \"y\"; then " \
66 "setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt " \
67 "${blkcnt} / 0x200; mmc dev 0 1; mmc write ${loadaddr} 0x1400 " \
Marcel Ziswiler315deb32023-08-04 12:08:08 +020068 "${blkcnt}; fi\0"
69
70#endif /* __VERDIN_AM62_H */