mirror of
https://github.com/u-boot/u-boot.git
synced 2024-12-12 14:23:50 +08:00
mmc: Add SPL_MMC_PWRSEQ to fix link issue when building SPL
With MMC_PWRSEQ enabled the following link issue may happen when building SPL and SPL_PWRSEQ is not enabled. aarch64-linux-gnu-ld.bfd: drivers/mmc/meson_gx_mmc.o: in function `meson_mmc_probe': drivers/mmc/meson_gx_mmc.c:295: undefined reference to `pwrseq_set_power' Fix this by adding a SPL_MMC_PWRSEQ Kconfig option used to enable mmc pwrseq support in SPL. Also add depends on DM_GPIO to fix following link issue: aarch64-linux-gnu-ld.bfd: drivers/mmc/mmc-pwrseq.o: in function `mmc_pwrseq_set_power': drivers/mmc/mmc-pwrseq.c:26: undefined reference to `gpio_request_by_name' aarch64-linux-gnu-ld.bfd: drivers/mmc/mmc-pwrseq.c:29: undefined reference to `dm_gpio_set_value' aarch64-linux-gnu-ld.bfd: drivers/mmc/mmc-pwrseq.c:31: undefined reference to `dm_gpio_set_value' Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Acked-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
This commit is contained in:
parent
4c9307b255
commit
d06e48990d
@ -20,11 +20,19 @@ config MMC_WRITE
|
||||
|
||||
config MMC_PWRSEQ
|
||||
bool "HW reset support for eMMC"
|
||||
depends on PWRSEQ
|
||||
depends on PWRSEQ && DM_GPIO
|
||||
help
|
||||
Ths select Hardware reset support aka pwrseq-emmc for eMMC
|
||||
This select Hardware reset support aka pwrseq-emmc for eMMC
|
||||
devices.
|
||||
|
||||
config SPL_MMC_PWRSEQ
|
||||
bool "HW reset support for eMMC in SPL"
|
||||
depends on SPL_PWRSEQ && SPL_DM_GPIO
|
||||
default y if MMC_PWRSEQ
|
||||
help
|
||||
This select Hardware reset support aka pwrseq-emmc for eMMC
|
||||
devices in SPL.
|
||||
|
||||
config MMC_BROKEN_CD
|
||||
bool "Poll for broken card detection case"
|
||||
help
|
||||
|
@ -11,7 +11,7 @@ obj-$(CONFIG_$(SPL_TPL_)BOOTSTD) += mmc_bootdev.o
|
||||
endif
|
||||
|
||||
obj-$(CONFIG_$(SPL_TPL_)MMC_WRITE) += mmc_write.o
|
||||
obj-$(CONFIG_MMC_PWRSEQ) += mmc-pwrseq.o
|
||||
obj-$(CONFIG_$(SPL_)MMC_PWRSEQ) += mmc-pwrseq.o
|
||||
obj-$(CONFIG_MMC_SDHCI_ADMA_HELPERS) += sdhci-adma.o
|
||||
|
||||
ifndef CONFIG_$(SPL_)BLK
|
||||
|
@ -288,7 +288,7 @@ static int meson_mmc_probe(struct udevice *dev)
|
||||
|
||||
mmc_set_clock(mmc, cfg->f_min, MMC_CLK_ENABLE);
|
||||
|
||||
#ifdef CONFIG_MMC_PWRSEQ
|
||||
#if CONFIG_IS_ENABLED(MMC_PWRSEQ)
|
||||
/* Enable power if needed */
|
||||
ret = mmc_pwrseq_get_power(dev, cfg);
|
||||
if (!ret) {
|
||||
|
@ -145,7 +145,7 @@ static int rockchip_dwmmc_probe(struct udevice *dev)
|
||||
|
||||
host->fifo_mode = priv->fifo_mode;
|
||||
|
||||
#ifdef CONFIG_MMC_PWRSEQ
|
||||
#if CONFIG_IS_ENABLED(MMC_PWRSEQ)
|
||||
/* Enable power if needed */
|
||||
ret = mmc_pwrseq_get_power(dev, &plat->cfg);
|
||||
if (!ret) {
|
||||
|
@ -590,7 +590,7 @@ struct mmc_config {
|
||||
uint f_max;
|
||||
uint b_max;
|
||||
unsigned char part_type;
|
||||
#ifdef CONFIG_MMC_PWRSEQ
|
||||
#if CONFIG_IS_ENABLED(MMC_PWRSEQ)
|
||||
struct udevice *pwr_dev;
|
||||
#endif
|
||||
};
|
||||
@ -808,7 +808,7 @@ int mmc_deinit(struct mmc *mmc);
|
||||
*/
|
||||
int mmc_of_parse(struct udevice *dev, struct mmc_config *cfg);
|
||||
|
||||
#ifdef CONFIG_MMC_PWRSEQ
|
||||
#if CONFIG_IS_ENABLED(MMC_PWRSEQ)
|
||||
/**
|
||||
* mmc_pwrseq_get_power() - get a power device from device tree
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user