|
|
@@ -772,35 +772,38 @@ void mmcsd_detect(void *param)
|
|
|
|
|
|
mmcsd_send_if_cond(host, host->valid_ocr);
|
|
|
|
|
|
- err = sdio_io_send_op_cond(host, 0, &ocr);
|
|
|
- if (!err)
|
|
|
- {
|
|
|
- if (init_sdio(host, ocr)) {
|
|
|
- mmcsd_power_off(host);
|
|
|
- }else {
|
|
|
- xEventGroupSetBits(mmcsd_dev_status[mmc_obj->id], MMCSD_STATUS_READY);
|
|
|
- }
|
|
|
- mmcsd_host_unlock(host);
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- /*
|
|
|
- * detect SD card
|
|
|
- */
|
|
|
- err = mmcsd_send_app_op_cond(host, 0, &ocr);
|
|
|
- if (!err)
|
|
|
- {
|
|
|
- if (init_sd(host, ocr)) {
|
|
|
- mmcsd_power_off(host);
|
|
|
- continue;
|
|
|
- }
|
|
|
- sdmmc_cardinfo[mmc_obj->id] = host->card;
|
|
|
- mmcsd_host_unlock(host);
|
|
|
- sdmmc_disk[mmc_obj->id] = FF_SDDiskInit(disk);
|
|
|
- if(sdmmc_disk[mmc_obj->id]) {
|
|
|
- xEventGroupSetBits(mmcsd_dev_status[mmc_obj->id], MMCSD_STATUS_READY);
|
|
|
+ if (mmcsd_dev->hotpluge_support
|
|
|
+ || mmcsd_dev->sdio_card) {
|
|
|
+ err = sdio_io_send_op_cond(host, 0, &ocr);
|
|
|
+ if (!err)
|
|
|
+ {
|
|
|
+ if (init_sdio(host, ocr)) {
|
|
|
+ mmcsd_power_off(host);
|
|
|
+ }else {
|
|
|
+ xEventGroupSetBits(mmcsd_dev_status[mmc_obj->id], MMCSD_STATUS_READY);
|
|
|
+ }
|
|
|
+ mmcsd_host_unlock(host);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ * detect SD card
|
|
|
+ */
|
|
|
+ err = mmcsd_send_app_op_cond(host, 0, &ocr);
|
|
|
+ if (!err)
|
|
|
+ {
|
|
|
+ if (init_sd(host, ocr)) {
|
|
|
+ mmcsd_power_off(host);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ sdmmc_cardinfo[mmc_obj->id] = host->card;
|
|
|
+ mmcsd_host_unlock(host);
|
|
|
+ sdmmc_disk[mmc_obj->id] = FF_SDDiskInit(disk);
|
|
|
+ if(sdmmc_disk[mmc_obj->id]) {
|
|
|
+ xEventGroupSetBits(mmcsd_dev_status[mmc_obj->id], MMCSD_STATUS_READY);
|
|
|
+ }
|
|
|
+ continue;
|
|
|
}
|
|
|
- continue;
|
|
|
}
|
|
|
|
|
|
/*
|