summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--components/drivers/include/drivers/sd.h4
-rw-r--r--components/drivers/sdio/mmcsd_core.c2
-rw-r--r--components/drivers/sdio/sdio.c1
3 files changed, 7 insertions, 0 deletions
diff --git a/components/drivers/include/drivers/sd.h b/components/drivers/include/drivers/sd.h
index fb29c8e774..7d5fcacade 100644
--- a/components/drivers/include/drivers/sd.h
+++ b/components/drivers/include/drivers/sd.h
@@ -34,6 +34,10 @@ extern "C" {
rt_err_t mmcsd_send_if_cond(struct rt_mmcsd_host *host, rt_uint32_t ocr);
rt_err_t mmcsd_send_app_op_cond(struct rt_mmcsd_host *host, rt_uint32_t ocr, rt_uint32_t *rocr);
+
+rt_err_t mmcsd_get_card_addr(struct rt_mmcsd_host *host, rt_uint32_t *rca);
+rt_int32_t mmcsd_get_scr(struct rt_mmcsd_card *card, rt_uint32_t *scr);
+
rt_int32_t init_sd(struct rt_mmcsd_host *host, rt_uint32_t ocr);
#ifdef __cplusplus
diff --git a/components/drivers/sdio/mmcsd_core.c b/components/drivers/sdio/mmcsd_core.c
index 57f38371b2..095ecaff8a 100644
--- a/components/drivers/sdio/mmcsd_core.c
+++ b/components/drivers/sdio/mmcsd_core.c
@@ -26,6 +26,7 @@
#include <drivers/mmcsd_core.h>
#include <drivers/sd.h>
#include <drivers/mmc.h>
+#include <drivers/sdio.h>
#ifndef RT_MMCSD_STACK_SIZE
#define RT_MMCSD_STACK_SIZE 1024
@@ -520,6 +521,7 @@ void mmcsd_set_data_timeout(struct rt_mmcsd_data *data,
rt_uint32_t mmcsd_select_voltage(struct rt_mmcsd_host *host, rt_uint32_t ocr)
{
int bit;
+ extern int __rt_ffs(int value);
ocr &= host->valid_ocr;
diff --git a/components/drivers/sdio/sdio.c b/components/drivers/sdio/sdio.c
index 6b2d655dd7..9f387f0f6e 100644
--- a/components/drivers/sdio/sdio.c
+++ b/components/drivers/sdio/sdio.c
@@ -24,6 +24,7 @@
#include <drivers/mmcsd_core.h>
#include <drivers/sdio.h>
+#include <drivers/sd.h>
#ifndef RT_SDIO_STACK_SIZE
#define RT_SDIO_STACK_SIZE 512