summaryrefslogtreecommitdiff
path: root/bsp
diff options
context:
space:
mode:
authorJay <[email protected]>2023-06-29 17:42:13 +0800
committerGitHub <[email protected]>2023-06-29 17:42:13 +0800
commit69ec7981c34014402465da1dbcdde5668a248bf7 (patch)
tree68aab2c76ff2b4beccf1676d7fece2d7f0555483 /bsp
parent34bc78331c7116aeeb70512dd8d297b7dc88f8d5 (diff)
[bsp][renesas] 修复SDHI尝试多块读取时只能读取到第一个块的问题 (#7737)
Diffstat (limited to 'bsp')
-rw-r--r--bsp/renesas/libraries/HAL_Drivers/drv_sdhi.c5
-rw-r--r--bsp/renesas/libraries/HAL_Drivers/drv_sdhi.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/bsp/renesas/libraries/HAL_Drivers/drv_sdhi.c b/bsp/renesas/libraries/HAL_Drivers/drv_sdhi.c
index 0919f813ef..9390be8ac7 100644
--- a/bsp/renesas/libraries/HAL_Drivers/drv_sdhi.c
+++ b/bsp/renesas/libraries/HAL_Drivers/drv_sdhi.c
@@ -94,6 +94,11 @@ rt_err_t command_send(sdhi_instance_ctrl_t *p_ctrl, struct rt_mmcsd_cmd *cmd)
cmd->cmd_code |= SDHI_CMD_DATA_DIR_READ;
}
}
+ if (data->blks > 1)
+ {
+ cmd->cmd_code |= SDHI_BLK_TRANSFER;
+ cmd->cmd_code |= SDHI_BLK_NOT_AUTO_STOP;
+ }
}
p_ctrl->p_reg->SD_CMD = cmd->cmd_code;
diff --git a/bsp/renesas/libraries/HAL_Drivers/drv_sdhi.h b/bsp/renesas/libraries/HAL_Drivers/drv_sdhi.h
index b92cb4561b..7cc5468665 100644
--- a/bsp/renesas/libraries/HAL_Drivers/drv_sdhi.h
+++ b/bsp/renesas/libraries/HAL_Drivers/drv_sdhi.h
@@ -44,6 +44,7 @@
#define SDHI_CMD_ADTC_EN (1 << 11)
#define SDHI_CMD_DATA_DIR_READ (1 << 12)
#define SDHI_BLK_TRANSFER (1 << 13)
+#define SDHI_BLK_NOT_AUTO_STOP (1 << 14)
#define SDIO_MAX_FREQ 25000000