mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-29 09:12:07 +00:00
mmc: sdhci-esdhc-imx: Update esdhc sysctl dtocv bitmask
NXP ESDHC supports setting data timeout using uSDHCx_SYS_CTRL register DTOCV bits (bits 16-19). Currently the driver accesses those bits by 32-bit write using SDHCI_TIMEOUT_CONTROL (0x2E) defined in drivers/mmc/host/sdhci.h. This is offset by two bytes relative to uSDHCx_SYS_CTRL (0x2C). The driver also defines ESDHC_SYS_CTRL_DTOCV_MASK as first 4 bits, which is correct relative to SDHCI_TIMEOUT_CONTROL but not relative to uSDHCx_SYS_CTRL. The definition carrying control register in its name is therefore inconsistent. Update the bitmask definition for bits 16-19 to be correct relative to control register base. Update the esdhc_set_timeout function to set timeout value at control register base, not timeout offset. This solves a purely cosmetic problem. Signed-off-by: Josua Mayer <josua@solid-run.com> Reviewed-by: Haibo Chen <haibo.chen@nxp.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Message-ID: <20241101-imx-emmc-reset-v3-2-184965eed476@solid-run.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
8ba9d45a33
commit
84185573da
@ -30,7 +30,7 @@
|
||||
#include "sdhci-esdhc.h"
|
||||
#include "cqhci.h"
|
||||
|
||||
#define ESDHC_SYS_CTRL_DTOCV_MASK 0x0f
|
||||
#define ESDHC_SYS_CTRL_DTOCV_MASK GENMASK(19, 16)
|
||||
#define ESDHC_SYS_CTRL_IPP_RST_N BIT(23)
|
||||
#define ESDHC_CTRL_D3CD 0x08
|
||||
#define ESDHC_BURST_LEN_EN_INCR (1 << 27)
|
||||
@ -1391,8 +1391,8 @@ static void esdhc_set_timeout(struct sdhci_host *host, struct mmc_command *cmd)
|
||||
|
||||
/* use maximum timeout counter */
|
||||
esdhc_clrset_le(host, ESDHC_SYS_CTRL_DTOCV_MASK,
|
||||
esdhc_is_usdhc(imx_data) ? 0xF : 0xE,
|
||||
SDHCI_TIMEOUT_CONTROL);
|
||||
esdhc_is_usdhc(imx_data) ? 0xF0000 : 0xE0000,
|
||||
ESDHC_SYSTEM_CONTROL);
|
||||
}
|
||||
|
||||
static u32 esdhc_cqhci_irq(struct sdhci_host *host, u32 intmask)
|
||||
|
Loading…
Reference in New Issue
Block a user