MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / sdio_set_bus_wide

Function sdio_set_bus_wide

components/drivers/sdio/dev_sdio.c:769–793  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

767}
768
769static rt_int32_t sdio_set_bus_wide(struct rt_mmcsd_card *card)
770{
771 rt_int32_t ret;
772 rt_uint8_t busif;
773
774 if (!(card->host->flags & MMCSD_BUSWIDTH_4))
775 return 0;
776
777 if (card->cccr.low_speed && !card->cccr.bus_width)
778 return 0;
779
780 busif = sdio_io_readb(card->sdio_function[0], SDIO_REG_CCCR_BUS_IF, &ret);
781 if (ret)
782 return ret;
783
784 busif |= SDIO_BUS_WIDTH_4BIT;
785
786 ret = sdio_io_writeb(card->sdio_function[0], SDIO_REG_CCCR_BUS_IF, busif);
787 if (ret)
788 return ret;
789
790 mmcsd_set_bus_width(card->host, MMCSD_BUS_WIDTH_4);
791
792 return 0;
793}
794
795static rt_int32_t sdio_register_card(struct rt_mmcsd_card *card)
796{

Callers 1

sdio_init_cardFunction · 0.85

Calls 3

sdio_io_readbFunction · 0.85
sdio_io_writebFunction · 0.85
mmcsd_set_bus_widthFunction · 0.85

Tested by

no test coverage detected