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 <environment/ti/mmc.h> 14 #include <environment/ti/k3_rproc.h> 15 #include <environment/ti/k3_dfu.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 0xc00 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 #define CONFIG_SPL_MAX_SIZE CONFIG_SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE 53 54 #define CONFIG_SYS_BOOTM_LEN SZ_64M 55 56 #define PARTS_DEFAULT \ 57 /* Linux partitions */ \ 58 "name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}\0" 59 60 /* U-Boot general configuration */ 61 #define EXTRA_ENV_AM65X_BOARD_SETTINGS \ 62 "findfdt=" \ 63 "setenv name_fdt k3-am654-base-board.dtb;" \ 64 "setenv fdtfile ${name_fdt}\0" \ 65 "name_kern=Image\0" \ 66 "console=ttyS2,115200n8\0" \ 67 "stdin=serial,usbkbd\0" \ 68 "args_all=setenv optargs earlycon=ns16550a,mmio32,0x02800000 " \ 69 "${mtdparts}\0" \ 70 "run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}\0" \ 71 72 /* U-Boot MMC-specific configuration */ 73 #define EXTRA_ENV_AM65X_BOARD_SETTINGS_MMC \ 74 "boot=mmc\0" \ 75 "mmcdev=1\0" \ 76 "bootpart=1:2\0" \ 77 "bootdir=/boot\0" \ 78 "rd_spec=-\0" \ 79 "init_mmc=run args_all args_mmc\0" \ 80 "get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${name_fdt}\0" \ 81 "get_overlay_mmc=" \ 82 "fdt address ${fdtaddr};" \ 83 "fdt resize 0x100000;" \ 84 "for overlay in $name_overlays;" \ 85 "do;" \ 86 "load mmc ${bootpart} ${dtboaddr} ${bootdir}/${overlay};" \ 87 "fdt apply ${dtboaddr};" \ 88 "done;\0" \ 89 "get_kern_mmc=load mmc ${bootpart} ${loadaddr} " \ 90 "${bootdir}/${name_kern}\0" \ 91 "get_fit_mmc=load mmc ${bootpart} ${addr_fit} " \ 92 "${bootdir}/${name_fit}\0" \ 93 "partitions=" PARTS_DEFAULT 94 95 #ifdef DEFAULT_RPROCS 96 #undef DEFAULT_RPROCS 97 #endif 98 #define DEFAULT_RPROCS "" \ 99 "0 /lib/firmware/am65x-mcu-r5f0_0-fw " \ 100 "1 /lib/firmware/am65x-mcu-r5f0_1-fw " 101 102 #ifdef CONFIG_TARGET_AM654_A53_EVM 103 #define EXTRA_ENV_AM65X_BOARD_SETTINGS_MTD \ 104 "mtdids=" CONFIG_MTDIDS_DEFAULT "\0" \ 105 "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" 106 #else 107 #define EXTRA_ENV_AM65X_BOARD_SETTINGS_MTD 108 #endif 109 110 #define EXTRA_ENV_AM65X_BOARD_SETTINGS_UBI \ 111 "init_ubi=run args_all args_ubi; sf probe; " \ 112 "ubi part ospi.rootfs; ubifsmount ubi:rootfs;\0" \ 113 "get_kern_ubi=ubifsload ${loadaddr} ${bootdir}/${name_kern}\0" \ 114 "get_fdt_ubi=ubifsload ${fdtaddr} ${bootdir}/${name_fdt}\0" \ 115 "args_ubi=setenv bootargs console=${console} ${optargs} " \ 116 "rootfstype=ubifs root=ubi0:rootfs rw ubi.mtd=ospi.rootfs\0" 117 118 #define EXTRA_ENV_DFUARGS \ 119 DFU_ALT_INFO_MMC \ 120 DFU_ALT_INFO_RAM \ 121 DFU_ALT_INFO_EMMC \ 122 DFU_ALT_INFO_OSPI 123 124 #ifdef CONFIG_TARGET_AM654_A53_EVM 125 #define BOOT_TARGET_DEVICES(func) \ 126 func(MMC, mmc, 1) \ 127 func(MMC, mmc, 0) 128 129 #include <config_distro_bootcmd.h> 130 #else 131 #define BOOTENV 132 #endif 133 134 /* Incorporate settings into the U-Boot environment */ 135 #define CONFIG_EXTRA_ENV_SETTINGS \ 136 DEFAULT_LINUX_BOOT_ENV \ 137 DEFAULT_MMC_TI_ARGS \ 138 DEFAULT_FIT_TI_ARGS \ 139 EXTRA_ENV_AM65X_BOARD_SETTINGS \ 140 EXTRA_ENV_AM65X_BOARD_SETTINGS_MMC \ 141 EXTRA_ENV_AM65X_BOARD_SETTINGS_MTD \ 142 EXTRA_ENV_AM65X_BOARD_SETTINGS_UBI \ 143 EXTRA_ENV_RPROC_SETTINGS \ 144 EXTRA_ENV_DFUARGS \ 145 BOOTENV 146 147 #define CONFIG_SYS_USB_FAT_BOOT_PARTITION 1 148 149 /* Now for the remaining common defines */ 150 #include <configs/ti_armv7_common.h> 151 152 #endif /* __CONFIG_AM654_EVM_H */ 153