This is an automated email from the ASF dual-hosted git repository. ligd pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push: new 32717ae353 sdio_probe: set voltage use CMD5 32717ae353 is described below commit 32717ae353a1cc411111b446b9dfc27ab6d3f034 Author: zhanghu5 <zhang...@xiaomi.com> AuthorDate: Fri Dec 15 18:13:56 2023 +0800 sdio_probe: set voltage use CMD5 reference doc: https://www.infineon.com/dgdl/Infineon-SDIO_platform_support_guide-UserManual-v01_00-EN.pdf?fileId=8ac78c8c8c3de074018c8ba3a9973619 Signed-off-by: zhanghu5 <zhang...@xiaomi.com> --- drivers/mmcsd/sdio.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/drivers/mmcsd/sdio.c b/drivers/mmcsd/sdio.c index e1c284d004..0bd1e0cbea 100644 --- a/drivers/mmcsd/sdio.c +++ b/drivers/mmcsd/sdio.c @@ -380,6 +380,7 @@ int sdio_set_wide_bus(FAR struct sdio_dev_s *dev) int sdio_probe(FAR struct sdio_dev_s *dev) { int ret; + int bit; uint32_t data = 0; nxmutex_init(&dev->mutex); @@ -412,6 +413,26 @@ int sdio_probe(FAR struct sdio_dev_s *dev) goto err; } + /* Get the maximun and minimum values for VDD */ + + bit = ffs(data); + if (bit) + { + bit -= 1; + data &= 3 << bit; + } + else + { + ret = -EINVAL; + goto err; + } + + ret = sdio_sendcmdpoll(dev, SDIO_CMD5, data); + if (ret != OK) + { + goto err; + } + /* Device is in Card Identification Mode, request device RCA */ ret = sdio_sendcmdpoll(dev, SD_CMD3, 0);