Skip to content
Snippets Groups Projects
mmc_env.c 670 B
Newer Older
  • Learn to ignore specific revisions
  • // SPDX-License-Identifier: GPL-2.0+
    
    /*
     * Copyright (C) 2017 NXP
     */
    
    #include <common.h>
    #include <asm/arch/imx-regs.h>
    #include <asm/arch/sys_proto.h>
    #include <asm/io.h>
    #include <asm/mach-imx/boot_mode.h>
    
    __weak int board_mmc_get_env_dev(int devno)
    {
    	return CONFIG_SYS_MMC_ENV_DEV;
    }
    
    int mmc_get_env_dev(void)
    {
    	struct bootrom_sw_info **p =
    		(struct bootrom_sw_info **)(ulong)ROM_SW_INFO_ADDR;
    	int devno = (*p)->boot_dev_instance;
    	u8 boot_type = (*p)->boot_dev_type;
    
    	/* If not boot from sd/mmc, use default value */
    	if ((boot_type != BOOT_TYPE_SD) && (boot_type != BOOT_TYPE_MMC))
    		return CONFIG_SYS_MMC_ENV_DEV;
    
    	return board_mmc_get_env_dev(devno);
    }