|
@@ -116,6 +116,8 @@
|
|
|
|
|
|
#define SD_EMMC_CFG_BLK_SIZE 512 /* internal buffer max: 512 bytes */
|
|
|
#define SD_EMMC_CFG_RESP_TIMEOUT 256 /* in clock cycles */
|
|
|
+#define SD_EMMC_CMD_TIMEOUT 1024 /* in ms */
|
|
|
+#define SD_EMMC_CMD_TIMEOUT_DATA 4096 /* in ms */
|
|
|
#define SD_EMMC_CFG_CMD_GAP 16 /* in clock cycles */
|
|
|
#define MUX_CLK_NUM_PARENTS 2
|
|
|
|
|
@@ -498,10 +500,10 @@ static void meson_mmc_start_cmd(struct mmc_host *mmc, struct mmc_command *cmd)
|
|
|
|
|
|
desc->cmd_data = host->bounce_dma_addr & CMD_DATA_MASK;
|
|
|
|
|
|
- cmd_cfg_timeout = 12;
|
|
|
+ cmd_cfg_timeout = ilog2(SD_EMMC_CMD_TIMEOUT_DATA);
|
|
|
} else {
|
|
|
desc->cmd_cfg &= ~CMD_CFG_DATA_IO;
|
|
|
- cmd_cfg_timeout = 10;
|
|
|
+ cmd_cfg_timeout = ilog2(SD_EMMC_CMD_TIMEOUT);
|
|
|
}
|
|
|
desc->cmd_cfg |= (cmd_cfg_timeout & CMD_CFG_TIMEOUT_MASK) <<
|
|
|
CMD_CFG_TIMEOUT_SHIFT;
|