mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-22 15:11:33 +00:00
mmc: sdhci: Handle execute tuning command in sdhci_send_command
This patch upadted sdhci_send_command to handle execute tuning command. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
2a2d7efe77
commit
b88a7a4c56
1 changed files with 6 additions and 2 deletions
|
@ -160,7 +160,8 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
|
||||||
|
|
||||||
/* We shouldn't wait for data inihibit for stop commands, even
|
/* We shouldn't wait for data inihibit for stop commands, even
|
||||||
though they might use busy signaling */
|
though they might use busy signaling */
|
||||||
if (cmd->cmdidx == MMC_CMD_STOP_TRANSMISSION)
|
if (cmd->cmdidx == MMC_CMD_STOP_TRANSMISSION ||
|
||||||
|
cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK)
|
||||||
mask &= ~SDHCI_DATA_INHIBIT;
|
mask &= ~SDHCI_DATA_INHIBIT;
|
||||||
|
|
||||||
while (sdhci_readl(host, SDHCI_PRESENT_STATE) & mask) {
|
while (sdhci_readl(host, SDHCI_PRESENT_STATE) & mask) {
|
||||||
|
@ -182,6 +183,9 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
|
||||||
sdhci_writel(host, SDHCI_INT_ALL_MASK, SDHCI_INT_STATUS);
|
sdhci_writel(host, SDHCI_INT_ALL_MASK, SDHCI_INT_STATUS);
|
||||||
|
|
||||||
mask = SDHCI_INT_RESPONSE;
|
mask = SDHCI_INT_RESPONSE;
|
||||||
|
if (cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK)
|
||||||
|
mask = SDHCI_INT_DATA_AVAIL;
|
||||||
|
|
||||||
if (!(cmd->resp_type & MMC_RSP_PRESENT))
|
if (!(cmd->resp_type & MMC_RSP_PRESENT))
|
||||||
flags = SDHCI_CMD_RESP_NONE;
|
flags = SDHCI_CMD_RESP_NONE;
|
||||||
else if (cmd->resp_type & MMC_RSP_136)
|
else if (cmd->resp_type & MMC_RSP_136)
|
||||||
|
@ -197,7 +201,7 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
|
||||||
flags |= SDHCI_CMD_CRC;
|
flags |= SDHCI_CMD_CRC;
|
||||||
if (cmd->resp_type & MMC_RSP_OPCODE)
|
if (cmd->resp_type & MMC_RSP_OPCODE)
|
||||||
flags |= SDHCI_CMD_INDEX;
|
flags |= SDHCI_CMD_INDEX;
|
||||||
if (data)
|
if (data || cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK)
|
||||||
flags |= SDHCI_CMD_DATA;
|
flags |= SDHCI_CMD_DATA;
|
||||||
|
|
||||||
/* Set Transfer mode regarding to data flag */
|
/* Set Transfer mode regarding to data flag */
|
||||||
|
|
Loading…
Add table
Reference in a new issue