Commit 45776e36ecb31272b672bf38f099fdf4f277766e
Committed by
Tom Rini
1 parent
823ecd72bb
Exists in
v2017.01-smarct4x
and in
30 other branches
OMAP3: am3517_evm: SD/MMC boot with uEnv.txt, zImage, and FDT
Boot with the Linux zImage and am3517-evm.dtb pair, when SD/MMC media is present. This behavior can be overridden by creating a 'uEnv.txt' file with 'uenvcmd' defined. To boot an existing 'uImage', create the following 'uEnv.txt': [start]----------------------------------------------------------------- loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile} uenvcmd=run loaduimage; run mmcargs; bootm ${loadaddr} [end]------------------------------------------------------------------- Inspired by similar patches, for other OMAP3 boards, from EEWiki - https://github.com/eewiki/u-boot-patches/tree/master/v2016.01 Signed-off-by: Derald D. Woods <woods.technical@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
Showing 1 changed file with 37 additions and 11 deletions Side-by-side Diff
include/configs/am3517_evm.h
... | ... | @@ -132,7 +132,11 @@ |
132 | 132 | #define CONFIG_CMD_EXT2 /* EXT2 Support */ |
133 | 133 | #define CONFIG_CMD_FAT /* FAT support */ |
134 | 134 | #define CONFIG_CMD_JFFS2 /* JFFS2 Support */ |
135 | +#define CONFIG_CMD_EXT4 | |
136 | +#define CONFIG_CMD_EXT4_WRITE | |
135 | 137 | |
138 | +#define CONFIG_CMD_BOOTZ | |
139 | + | |
136 | 140 | #define CONFIG_CMD_I2C /* I2C serial bus support */ |
137 | 141 | #define CONFIG_CMD_MMC /* MMC support */ |
138 | 142 | #define CONFIG_CMD_NAND /* NAND support */ |
139 | 143 | |
140 | 144 | |
141 | 145 | |
142 | 146 | |
143 | 147 | |
... | ... | @@ -184,19 +188,34 @@ |
184 | 188 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
185 | 189 | "loadaddr=0x82000000\0" \ |
186 | 190 | "console=ttyO2,115200n8\0" \ |
191 | + "fdtfile=am3517-evm.dtb\0" \ | |
192 | + "fdtaddr=0x82C00000\0" \ | |
193 | + "vram=16M\0" \ | |
194 | + "bootenv=uEnv.txt\0" \ | |
195 | + "cmdline=\0" \ | |
196 | + "optargs=\0" \ | |
187 | 197 | "mmcdev=0\0" \ |
198 | + "mmcpart=1\0" \ | |
199 | + "mmcroot=/dev/mmcblk0p2 rw\0" \ | |
200 | + "mmcrootfstype=ext4 rootwait fixrtc\0" \ | |
188 | 201 | "mmcargs=setenv bootargs console=${console} " \ |
189 | - "root=/dev/mmcblk0p2 rw rootwait\0" \ | |
202 | + "${optargs} " \ | |
203 | + "root=${mmcroot} " \ | |
204 | + "rootfstype=${mmcrootfstype} " \ | |
205 | + "${cmdline}\0" \ | |
190 | 206 | "nandargs=setenv bootargs console=${console} " \ |
191 | 207 | "root=/dev/mtdblock4 rw " \ |
192 | 208 | "rootfstype=jffs2\0" \ |
193 | - "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \ | |
209 | + "loadbootenv=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootenv}\0"\ | |
210 | + "importbootenv=echo Importing environment from mmc ...; " \ | |
211 | + "env import -t ${loadaddr} ${filesize}\0" \ | |
194 | 212 | "bootscript=echo Running bootscript from mmc ...; " \ |
195 | 213 | "source ${loadaddr}\0" \ |
196 | - "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \ | |
214 | + "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootfile}\0" \ | |
215 | + "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdtaddr} ${fdtfile}\0" \ | |
197 | 216 | "mmcboot=echo Booting from mmc ...; " \ |
198 | 217 | "run mmcargs; " \ |
199 | - "bootm ${loadaddr}addr}\0" \" \ | |
218 | + "bootz ${loadaddr} - ${fdtaddr}addr}\0" \" \ | |
200 | 219 | "nandboot=echo Booting from nand ...; " \ |
201 | 220 | "run nandargs; " \ |
202 | 221 | "nand read ${loadaddr} 280000 400000; " \ |
... | ... | @@ -204,13 +223,20 @@ |
204 | 223 | |
205 | 224 | #define CONFIG_BOOTCOMMAND \ |
206 | 225 | "mmc dev ${mmcdev}; if mmc rescan; then " \ |
207 | - "if run loadbootscript; then " \ | |
208 | - "run bootscript; " \ | |
209 | - "else " \ | |
210 | - "if run loaduimage; then " \ | |
211 | - "run mmcboot; " \ | |
212 | - "else run nandboot; " \ | |
213 | - "fi; " \ | |
226 | + "echo SD/MMC found on device $mmcdev; " \ | |
227 | + "if run loadbootenv; then " \ | |
228 | + "run importbootenv; " \ | |
229 | + "fi; " \ | |
230 | + "echo Checking if uenvcmd is set ...; " \ | |
231 | + "if test -n $uenvcmd; then " \ | |
232 | + "echo Running uenvcmd ...; " \ | |
233 | + "run uenvcmd; " \ | |
234 | + "fi; " \ | |
235 | + "echo Running default loadimage ...; " \ | |
236 | + "setenv bootfile zImage; " \ | |
237 | + "if run loadimage; then " \ | |
238 | + "run loadfdt; " \ | |
239 | + "run mmcboot; " \ | |
214 | 240 | "fi; " \ |
215 | 241 | "else run nandboot; fi" |
216 | 242 |