blob: d8ef2509a895c17b6eaa3e39c9512eeabe09aa5b [file] [log] [blame]
Bryan Brattlof0f2b6622022-11-03 19:13:58 -05001/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * Configuration header file for K3 AM62Ax SoC family
4 *
5 * Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
6 */
7
8#ifndef __CONFIG_AM62AX_EVM_H
9#define __CONFIG_AM62AX_EVM_H
10
11#include <linux/sizes.h>
Bryan Brattlof0f2b6622022-11-03 19:13:58 -050012#include <environment/ti/mmc.h>
13#include <environment/ti/k3_dfu.h>
14
15/* DDR Configuration */
16#define CFG_SYS_SDRAM_BASE1 0x880000000
17
18#define PARTS_DEFAULT \
19 /* Linux partitions */ \
20 "name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}\0" \
21
22/* U-Boot general configuration */
23#define EXTRA_ENV_AM62A7_BOARD_SETTINGS \
24 "default_device_tree=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
25 "findfdt=" \
26 "setenv name_fdt ${default_device_tree};" \
27 "setenv fdtfile ${name_fdt}\0" \
28 "name_kern=Image\0" \
29 "console=ttyS2,115200n8\0" \
30 "args_all=setenv optargs earlycon=ns16550a,mmio32,0x02800000 " \
31 "${mtdparts}\0" \
32 "run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}\0"
33
34/* U-Boot MMC-specific configuration */
35#define EXTRA_ENV_AM62A7_BOARD_SETTINGS_MMC \
36 "boot=mmc\0" \
37 "mmcdev=1\0" \
38 "bootpart=1:2\0" \
39 "bootdir=/boot\0" \
40 "rd_spec=-\0" \
41 "init_mmc=run args_all args_mmc\0" \
42 "get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${name_fdt}\0" \
43 "get_overlay_mmc=" \
44 "fdt address ${fdtaddr};" \
45 "fdt resize 0x100000;" \
46 "for overlay in $name_overlays;" \
47 "do;" \
48 "load mmc ${bootpart} ${dtboaddr} ${bootdir}/${overlay} && " \
49 "fdt apply ${dtboaddr};" \
50 "done;\0" \
51 "get_kern_mmc=load mmc ${bootpart} ${loadaddr} " \
52 "${bootdir}/${name_kern}\0" \
53 "get_fit_mmc=load mmc ${bootpart} ${addr_fit} " \
54 "${bootdir}/${name_fit}\0" \
55 "partitions=" PARTS_DEFAULT
56
Bryan Brattlofc54f59f2022-12-23 19:15:24 -060057#define BOOTENV_DEV_TI_MMC(devtypeu, devtypel, instance) \
58 DEFAULT_MMC_TI_ARGS \
59 EXTRA_ENV_AM62A7_BOARD_SETTINGS_MMC \
60 "bootcmd_ti_mmc=" \
61 "run findfdt; run envboot; run init_mmc;" \
Bryan Brattlof49a3b012022-12-23 19:15:25 -060062 "if test ${boot_fit} -eq 1; then;" \
63 "run get_fit_mmc; run get_overlaystring;" \
64 "run run_fit;" \
65 "else;" \
66 "run get_kern_mmc; run get_fdt_mmc;" \
67 "run get_overlay_mmc;" \
68 "run run_kern;" \
69 "fi;\0"
Bryan Brattlofc54f59f2022-12-23 19:15:24 -060070
71#define BOOTENV_DEV_NAME_TI_MMC(devtyeu, devtypel, instance) \
72 "ti_mmc "
73
Simon Glass69fbb762023-02-05 15:36:34 -070074#if IS_ENABLED(CONFIG_CMD_MMC)
Bryan Brattlofc54f59f2022-12-23 19:15:24 -060075 #define BOOT_TARGET_MMC(func) \
76 func(TI_MMC, ti_mmc, na)
77#else
78 #define BOOT_TARGET_MMC(func)
Simon Glass69fbb762023-02-05 15:36:34 -070079#endif /* IS_ENABLED(CONFIG_CMD_MMC) */
Bryan Brattlofc54f59f2022-12-23 19:15:24 -060080
81#define BOOT_TARGET_DEVICES(func) \
82 BOOT_TARGET_MMC(func)
83
84#include <config_distro_bootcmd.h>
85
Bryan Brattlof0f2b6622022-11-03 19:13:58 -050086/* Incorporate settings into the U-Boot environment */
Tom Rinic9edebe2022-12-04 10:03:50 -050087#define CFG_EXTRA_ENV_SETTINGS \
Bryan Brattlofc54f59f2022-12-23 19:15:24 -060088 BOOTENV
Bryan Brattlof0f2b6622022-11-03 19:13:58 -050089
90/* Now for the remaining common defines */
91#include <configs/ti_armv7_common.h>
92
93#endif /* __CONFIG_AM62A7_EVM_H */