xref: /openbmc/u-boot/arch/arm/mach-imx/mmc_env.c (revision e91610da)
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (C) 2017 NXP
4  */
5 
6 #include <common.h>
7 #include <asm/arch/imx-regs.h>
8 #include <asm/arch/sys_proto.h>
9 #include <asm/io.h>
10 #include <asm/mach-imx/boot_mode.h>
11 
12 __weak int board_mmc_get_env_dev(int devno)
13 {
14 	return CONFIG_SYS_MMC_ENV_DEV;
15 }
16 
17 int mmc_get_env_dev(void)
18 {
19 	struct bootrom_sw_info **p =
20 		(struct bootrom_sw_info **)(ulong)ROM_SW_INFO_ADDR;
21 	int devno = (*p)->boot_dev_instance;
22 	u8 boot_type = (*p)->boot_dev_type;
23 
24 	/* If not boot from sd/mmc, use default value */
25 	if ((boot_type != BOOT_TYPE_SD) && (boot_type != BOOT_TYPE_MMC))
26 		return CONFIG_SYS_MMC_ENV_DEV;
27 
28 	return board_mmc_get_env_dev(devno);
29 }
30