axs10x/emdk/hsdk/iot_dk: Implement board_mmc_getcd()

So now we may detect MMC/SD-card existence and
instead of completely misleading message on missing card:
------------------------>8-----------------------
Loading Environment from FAT... Card did not respond to voltage select!
------------------------>8-----------------------

we now get very clear one:
------------------------>8-----------------------
Loading Environment from FAT... MMC: no card present
------------------------>8-----------------------

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
This commit is contained in:
Alexey Brodkin 2018-10-11 12:39:55 +03:00
parent 8a8f32d8ff
commit 9f87d47088
4 changed files with 28 additions and 0 deletions

View File

@ -33,6 +33,13 @@ int board_mmc_init(bd_t *bis)
return 0;
}
int board_mmc_getcd(struct mmc *mmc)
{
struct dwmci_host *host = mmc->priv;
return !(dwmci_readl(host, DWMCI_CDETECT) & 1);
}
#define AXS_MB_CREG 0xE0011000
int board_early_init_f(void)

View File

@ -34,6 +34,13 @@ int board_mmc_init(bd_t *bis)
return 0;
}
int board_mmc_getcd(struct mmc *mmc)
{
struct dwmci_host *host = mmc->priv;
return !(dwmci_readl(host, DWMCI_CDETECT) & 1);
}
#define CREG_BASE 0xF0001000
#define CREG_BOOT_OFFSET 0
#define CREG_BOOT_WP_OFFSET 8

View File

@ -1019,6 +1019,13 @@ int board_late_init(void)
return 0;
}
int board_mmc_getcd(struct mmc *mmc)
{
struct dwmci_host *host = mmc->priv;
return !(dwmci_readl(host, DWMCI_CDETECT) & 1);
}
int board_mmc_init(bd_t *bis)
{
struct dwmci_host *host = NULL;

View File

@ -170,6 +170,13 @@ int board_mmc_init(bd_t *bis)
return 0;
}
int board_mmc_getcd(struct mmc *mmc)
{
struct dwmci_host *host = mmc->priv;
return !(dwmci_readl(host, DWMCI_CDETECT) & 1);
}
#define IOTDK_RESET_SEQ 0x55AA6699
void reset_cpu(ulong addr)