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:
Wolfram Sang 2020-11-11 11:02:42 +01:00 committed by Ulf Hansson
parent 8c8310a6c2
commit 4533c3eb89
1 changed files with 16 additions and 8 deletions

View File

@ -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;