xref: /rk3399_rockchip-uboot/include/environment/ti/mmc.h (revision 19de2deb814a0e4eee0c8ada726a6f9cb698fe57)
188fdfcd2SSekhar Nori /*
288fdfcd2SSekhar Nori  * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com
388fdfcd2SSekhar Nori  *
488fdfcd2SSekhar Nori  * Environment variable definitions for MMC/SD on TI boards.
588fdfcd2SSekhar Nori  *
688fdfcd2SSekhar Nori  * SPDX-License-Identifier:	GPL-2.0+
788fdfcd2SSekhar Nori  */
888fdfcd2SSekhar Nori 
9*19de2debSSemen Protsenko #ifndef __TI_MMC_H
10*19de2debSSemen Protsenko #define __TI_MMC_H
11*19de2debSSemen Protsenko 
1288fdfcd2SSekhar Nori #define DEFAULT_MMC_TI_ARGS \
1388fdfcd2SSekhar Nori 	"mmcdev=0\0" \
1488fdfcd2SSekhar Nori 	"mmcrootfstype=ext4 rootwait\0" \
1588fdfcd2SSekhar Nori 	"finduuid=part uuid mmc ${bootpart} uuid\0" \
1688fdfcd2SSekhar Nori 	"args_mmc=run finduuid;setenv bootargs console=${console} " \
1788fdfcd2SSekhar Nori 		"${optargs} " \
1888fdfcd2SSekhar Nori 		"root=PARTUUID=${uuid} rw " \
1988fdfcd2SSekhar Nori 		"rootfstype=${mmcrootfstype}\0" \
2088fdfcd2SSekhar Nori 	"loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \
2188fdfcd2SSekhar Nori 	"bootscript=echo Running bootscript from mmc${mmcdev} ...; " \
2288fdfcd2SSekhar Nori 		"source ${loadaddr}\0" \
2388fdfcd2SSekhar Nori 	"bootenvfile=uEnv.txt\0" \
2488fdfcd2SSekhar Nori 	"importbootenv=echo Importing environment from mmc${mmcdev} ...; " \
2588fdfcd2SSekhar Nori 		"env import -t ${loadaddr} ${filesize}\0" \
2688fdfcd2SSekhar Nori 	"loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}\0" \
2788fdfcd2SSekhar Nori 	"loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
2888fdfcd2SSekhar Nori 	"loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
2988fdfcd2SSekhar Nori 	"envboot=mmc dev ${mmcdev}; " \
3088fdfcd2SSekhar Nori 		"if mmc rescan; then " \
3188fdfcd2SSekhar Nori 			"echo SD/MMC found on device ${mmcdev};" \
3288fdfcd2SSekhar Nori 			"if run loadbootscript; then " \
3388fdfcd2SSekhar Nori 				"run bootscript;" \
3488fdfcd2SSekhar Nori 			"else " \
3588fdfcd2SSekhar Nori 				"if run loadbootenv; then " \
3688fdfcd2SSekhar Nori 					"echo Loaded env from ${bootenvfile};" \
3788fdfcd2SSekhar Nori 					"run importbootenv;" \
3888fdfcd2SSekhar Nori 				"fi;" \
3988fdfcd2SSekhar Nori 				"if test -n $uenvcmd; then " \
4088fdfcd2SSekhar Nori 					"echo Running uenvcmd ...;" \
4188fdfcd2SSekhar Nori 					"run uenvcmd;" \
4288fdfcd2SSekhar Nori 				"fi;" \
4388fdfcd2SSekhar Nori 			"fi;" \
4488fdfcd2SSekhar Nori 		"fi;\0" \
4588fdfcd2SSekhar Nori 	"mmcloados=run args_mmc; " \
4688fdfcd2SSekhar Nori 		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
4788fdfcd2SSekhar Nori 			"if run loadfdt; then " \
4888fdfcd2SSekhar Nori 				"bootz ${loadaddr} - ${fdtaddr}; " \
4988fdfcd2SSekhar Nori 			"else " \
5088fdfcd2SSekhar Nori 				"if test ${boot_fdt} = try; then " \
5188fdfcd2SSekhar Nori 					"bootz; " \
5288fdfcd2SSekhar Nori 				"else " \
5388fdfcd2SSekhar Nori 					"echo WARN: Cannot load the DT; " \
5488fdfcd2SSekhar Nori 				"fi; " \
5588fdfcd2SSekhar Nori 			"fi; " \
5688fdfcd2SSekhar Nori 		"else " \
5788fdfcd2SSekhar Nori 			"bootz; " \
5888fdfcd2SSekhar Nori 		"fi;\0" \
5988fdfcd2SSekhar Nori 	"mmcboot=mmc dev ${mmcdev}; " \
6088fdfcd2SSekhar Nori 		"setenv devnum ${mmcdev}; " \
6188fdfcd2SSekhar Nori 		"setenv devtype mmc; " \
6288fdfcd2SSekhar Nori 		"if mmc rescan; then " \
6388fdfcd2SSekhar Nori 			"echo SD/MMC found on device ${mmcdev};" \
6488fdfcd2SSekhar Nori 			"if run loadimage; then " \
6588fdfcd2SSekhar Nori 				"if test ${boot_fit} -eq 1; then " \
6688fdfcd2SSekhar Nori 					"run loadfit; " \
6788fdfcd2SSekhar Nori 				"else " \
6888fdfcd2SSekhar Nori 					"run mmcloados;" \
6988fdfcd2SSekhar Nori 				"fi;" \
7088fdfcd2SSekhar Nori 			"fi;" \
7188fdfcd2SSekhar Nori 		"fi;\0"
72*19de2debSSemen Protsenko 
73*19de2debSSemen Protsenko #endif /* __TI_MMC_H */
74