mmc: renesas_sdhi: improve HOST_MODE usage
HOST_MODE should have a CTL_ prefix, too. This makes the code more readable because we immediately know what it is. Also, remove the hardcoded values with something readable, too. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Link: https://lore.kernel.org/r/20201111100244.15823-2-wsa+renesas@sang-engineering.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
8c8310a6c2
commit
4533c3eb89
|
@ -39,7 +39,15 @@
|
||||||
#include "renesas_sdhi.h"
|
#include "renesas_sdhi.h"
|
||||||
#include "tmio_mmc.h"
|
#include "tmio_mmc.h"
|
||||||
|
|
||||||
#define HOST_MODE 0xe4
|
#define CTL_HOST_MODE 0xe4
|
||||||
|
#define HOST_MODE_GEN2_SDR50_WMODE BIT(0)
|
||||||
|
#define HOST_MODE_GEN2_SDR104_WMODE BIT(0)
|
||||||
|
#define HOST_MODE_GEN3_WMODE BIT(0)
|
||||||
|
#define HOST_MODE_GEN3_BUSWIDTH BIT(8)
|
||||||
|
|
||||||
|
#define HOST_MODE_GEN3_16BIT HOST_MODE_GEN3_WMODE
|
||||||
|
#define HOST_MODE_GEN3_32BIT (HOST_MODE_GEN3_WMODE | HOST_MODE_GEN3_BUSWIDTH)
|
||||||
|
#define HOST_MODE_GEN3_64BIT 0
|
||||||
|
|
||||||
#define SDHI_VER_GEN2_SDR50 0x490c
|
#define SDHI_VER_GEN2_SDR50 0x490c
|
||||||
#define SDHI_VER_RZ_A1 0x820b
|
#define SDHI_VER_RZ_A1 0x820b
|
||||||
|
@ -60,26 +68,26 @@ static void renesas_sdhi_sdbuf_width(struct tmio_mmc_host *host, int width)
|
||||||
*/
|
*/
|
||||||
switch (sd_ctrl_read16(host, CTL_VERSION)) {
|
switch (sd_ctrl_read16(host, CTL_VERSION)) {
|
||||||
case SDHI_VER_GEN2_SDR50:
|
case SDHI_VER_GEN2_SDR50:
|
||||||
val = (width == 32) ? 0x0001 : 0x0000;
|
val = (width == 32) ? HOST_MODE_GEN2_SDR50_WMODE : 0;
|
||||||
break;
|
break;
|
||||||
case SDHI_VER_GEN2_SDR104:
|
case SDHI_VER_GEN2_SDR104:
|
||||||
val = (width == 32) ? 0x0000 : 0x0001;
|
val = (width == 32) ? 0 : HOST_MODE_GEN2_SDR104_WMODE;
|
||||||
break;
|
break;
|
||||||
case SDHI_VER_GEN3_SD:
|
case SDHI_VER_GEN3_SD:
|
||||||
case SDHI_VER_GEN3_SDMMC:
|
case SDHI_VER_GEN3_SDMMC:
|
||||||
if (width == 64)
|
if (width == 64)
|
||||||
val = 0x0000;
|
val = HOST_MODE_GEN3_64BIT;
|
||||||
else if (width == 32)
|
else if (width == 32)
|
||||||
val = 0x0101;
|
val = HOST_MODE_GEN3_32BIT;
|
||||||
else
|
else
|
||||||
val = 0x0001;
|
val = HOST_MODE_GEN3_16BIT;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
/* nothing to do */
|
/* nothing to do */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sd_ctrl_write16(host, HOST_MODE, val);
|
sd_ctrl_write16(host, CTL_HOST_MODE, val);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int renesas_sdhi_clk_enable(struct tmio_mmc_host *host)
|
static int renesas_sdhi_clk_enable(struct tmio_mmc_host *host)
|
||||||
|
@ -795,7 +803,7 @@ static int renesas_sdhi_write16_hook(struct tmio_mmc_host *host, int addr)
|
||||||
case CTL_SD_MEM_CARD_OPT:
|
case CTL_SD_MEM_CARD_OPT:
|
||||||
case CTL_TRANSACTION_CTL:
|
case CTL_TRANSACTION_CTL:
|
||||||
case CTL_DMA_ENABLE:
|
case CTL_DMA_ENABLE:
|
||||||
case HOST_MODE:
|
case CTL_HOST_MODE:
|
||||||
if (host->pdata->flags & TMIO_MMC_HAVE_CBSY)
|
if (host->pdata->flags & TMIO_MMC_HAVE_CBSY)
|
||||||
bit = TMIO_STAT_CMD_BUSY;
|
bit = TMIO_STAT_CMD_BUSY;
|
||||||
fallthrough;
|
fallthrough;
|
||||||
|
|
Loading…
Reference in New Issue