1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * Configuration header file for K3 AM654 EVM 4 * 5 * Copyright (C) 2017-2018 Texas Instruments Incorporated - http://www.ti.com/ 6 * Lokesh Vutla <lokeshvutla@ti.com> 7 */ 8 9 #ifndef __CONFIG_AM654_EVM_H 10 #define __CONFIG_AM654_EVM_H 11 12 #include <linux/sizes.h> 13 #include <config_distro_bootcmd.h> 14 #include <environment/ti/mmc.h> 15 #include <environment/ti/k3_rproc.h> 16 17 /* DDR Configuration */ 18 #define CONFIG_SYS_SDRAM_BASE1 0x880000000 19 20 /* SPL Loader Configuration */ 21 #ifdef CONFIG_TARGET_AM654_A53_EVM 22 #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SPL_TEXT_BASE + \ 23 CONFIG_SYS_K3_NON_SECURE_MSRAM_SIZE) 24 #else 25 /* 26 * Maximum size in memory allocated to the SPL BSS. Keep it as tight as 27 * possible (to allow the build to go through), as this directly affects 28 * our memory footprint. The less we use for BSS the more we have available 29 * for everything else. 30 */ 31 #define CONFIG_SPL_BSS_MAX_SIZE 0x5000 32 /* 33 * Link BSS to be within SPL in a dedicated region located near the top of 34 * the MCU SRAM, this way making it available also before relocation. Note 35 * that we are not using the actual top of the MCU SRAM as there is a memory 36 * location filled in by the boot ROM that we want to read out without any 37 * interference from the C context. 38 */ 39 #define CONFIG_SPL_BSS_START_ADDR (CONFIG_SYS_K3_BOOT_PARAM_TABLE_INDEX -\ 40 CONFIG_SPL_BSS_MAX_SIZE) 41 /* Set the stack right below the SPL BSS section */ 42 #define CONFIG_SYS_INIT_SP_ADDR CONFIG_SPL_BSS_START_ADDR 43 /* Configure R5 SPL post-relocation malloc pool in DDR */ 44 #define CONFIG_SYS_SPL_MALLOC_START 0x84000000 45 #define CONFIG_SYS_SPL_MALLOC_SIZE SZ_16M 46 #endif 47 48 #ifdef CONFIG_SYS_K3_SPL_ATF 49 #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "tispl.bin" 50 #endif 51 52 #ifndef CONFIG_CPU_V7R 53 #define CONFIG_SKIP_LOWLEVEL_INIT 54 #endif 55 56 #define CONFIG_SPL_MAX_SIZE CONFIG_SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE 57 58 #define CONFIG_SYS_BOOTM_LEN SZ_64M 59 60 #define PARTS_DEFAULT \ 61 /* Linux partitions */ \ 62 "name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}\0" 63 64 /* U-Boot general configuration */ 65 #define EXTRA_ENV_AM65X_BOARD_SETTINGS \ 66 "findfdt=" \ 67 "setenv name_fdt k3-am654-base-board.dtb;" \ 68 "setenv fdtfile ${name_fdt}\0" \ 69 "loadaddr=0x80080000\0" \ 70 "fdtaddr=0x82000000\0" \ 71 "overlayaddr=0x83000000\0" \ 72 "name_kern=Image\0" \ 73 "console=ttyS2,115200n8\0" \ 74 "args_all=setenv optargs earlycon=ns16550a,mmio32,0x02800000\0" \ 75 "run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}\0" \ 76 77 /* U-Boot MMC-specific configuration */ 78 #define EXTRA_ENV_AM65X_BOARD_SETTINGS_MMC \ 79 "boot=mmc\0" \ 80 "mmcdev=1\0" \ 81 "bootpart=1:2\0" \ 82 "bootdir=/boot\0" \ 83 "rd_spec=-\0" \ 84 "init_mmc=run args_all args_mmc\0" \ 85 "get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${name_fdt}\0" \ 86 "get_overlay_mmc=" \ 87 "fdt address ${fdtaddr};" \ 88 "fdt resize 0x100000;" \ 89 "for overlay in $name_overlays;" \ 90 "do;" \ 91 "load mmc ${bootpart} ${overlayaddr} ${bootdir}/${overlay};" \ 92 "fdt apply ${overlayaddr};" \ 93 "done;\0" \ 94 "get_kern_mmc=load mmc ${bootpart} ${loadaddr} " \ 95 "${bootdir}/${name_kern}\0" \ 96 "get_fit_mmc=load mmc ${bootpart} ${addr_fit} " \ 97 "${bootdir}/${name_fit}\0" \ 98 "partitions=" PARTS_DEFAULT 99 100 #ifdef DEFAULT_RPROCS 101 #undef DEFAULT_RPROCS 102 #endif 103 #define DEFAULT_RPROCS "" \ 104 "0 /lib/firmware/am65x-mcu-r5f0_0-fw " \ 105 "1 /lib/firmware/am65x-mcu-r5f0_1-fw " 106 107 /* Incorporate settings into the U-Boot environment */ 108 #define CONFIG_EXTRA_ENV_SETTINGS \ 109 DEFAULT_MMC_TI_ARGS \ 110 DEFAULT_FIT_TI_ARGS \ 111 EXTRA_ENV_AM65X_BOARD_SETTINGS \ 112 EXTRA_ENV_AM65X_BOARD_SETTINGS_MMC \ 113 EXTRA_ENV_RPROC_SETTINGS 114 115 /* MMC ENV related defines */ 116 #ifdef CONFIG_ENV_IS_IN_MMC 117 #define CONFIG_SYS_MMC_ENV_DEV 0 118 #define CONFIG_SYS_MMC_ENV_PART 1 119 #endif 120 121 #define CONFIG_SUPPORT_EMMC_BOOT 122 123 /* Now for the remaining common defines */ 124 #include <configs/ti_armv7_common.h> 125 126 #endif /* __CONFIG_AM654_EVM_H */ 127