| 
														
															@@ -204,6 +204,7 @@ sd_error_enum sd_card_init(void) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* the card is not I/O only card */ 
														 | 
														
														 | 
														
															     /* the card is not I/O only card */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     if(SDIO_SECURE_DIGITAL_IO_CARD != cardtype) { 
														 | 
														
														 | 
														
															     if(SDIO_SECURE_DIGITAL_IO_CARD != cardtype) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* send CMD2(SD_CMD_ALL_SEND_CID) to get the CID numbers */ 
														 | 
														
														 | 
														
															         /* send CMD2(SD_CMD_ALL_SEND_CID) to get the CID numbers */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_command_response_config(SD_CMD_ALL_SEND_CID, (uint32_t)0x0, SDIO_RESPONSETYPE_LONG); 
														 | 
														
														 | 
														
															         sdio_command_response_config(SD_CMD_ALL_SEND_CID, (uint32_t)0x0, SDIO_RESPONSETYPE_LONG); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_csm_enable(); 
														 | 
														
														 | 
														
															         sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -224,6 +225,7 @@ sd_error_enum sd_card_init(void) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     if((SDIO_STD_CAPACITY_SD_CARD_V1_1 == cardtype) || (SDIO_STD_CAPACITY_SD_CARD_V2_0 == cardtype) || 
														 | 
														
														 | 
														
															     if((SDIO_STD_CAPACITY_SD_CARD_V1_1 == cardtype) || (SDIO_STD_CAPACITY_SD_CARD_V2_0 == cardtype) || 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             (SDIO_HIGH_CAPACITY_SD_CARD == cardtype) || (SDIO_SECURE_DIGITAL_IO_COMBO_CARD == cardtype)) { 
														 | 
														
														 | 
														
															             (SDIO_HIGH_CAPACITY_SD_CARD == cardtype) || (SDIO_SECURE_DIGITAL_IO_COMBO_CARD == cardtype)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* send CMD3(SEND_RELATIVE_ADDR) to ask the card to publish a new relative address (RCA) */ 
														 | 
														
														 | 
														
															         /* send CMD3(SEND_RELATIVE_ADDR) to ask the card to publish a new relative address (RCA) */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_command_response_config(SD_CMD_SEND_RELATIVE_ADDR, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															         sdio_command_response_config(SD_CMD_SEND_RELATIVE_ADDR, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_csm_enable(); 
														 | 
														
														 | 
														
															         sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -239,6 +241,7 @@ sd_error_enum sd_card_init(void) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sd_rca = temp_rca; 
														 | 
														
														 | 
														
															         sd_rca = temp_rca; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* send CMD9(SEND_CSD) to get the addressed card's card-specific data (CSD) */ 
														 | 
														
														 | 
														
															         /* send CMD9(SEND_CSD) to get the addressed card's card-specific data (CSD) */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_command_response_config(SD_CMD_SEND_CSD, (uint32_t)(temp_rca << SD_RCA_SHIFT), SDIO_RESPONSETYPE_LONG); 
														 | 
														
														 | 
														
															         sdio_command_response_config(SD_CMD_SEND_CSD, (uint32_t)(temp_rca << SD_RCA_SHIFT), SDIO_RESPONSETYPE_LONG); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_csm_enable(); 
														 | 
														
														 | 
														
															         sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -278,6 +281,7 @@ sd_error_enum sd_power_on(void) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_clock_enable(); 
														 | 
														
														 | 
														
															     sdio_clock_enable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD0(GO_IDLE_STATE) to reset the card */ 
														 | 
														
														 | 
														
															     /* send CMD0(GO_IDLE_STATE) to reset the card */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_GO_IDLE_STATE, (uint32_t)0x0, SDIO_RESPONSETYPE_NO); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_GO_IDLE_STATE, (uint32_t)0x0, SDIO_RESPONSETYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* enable the CSM */ 
														 | 
														
														 | 
														
															     /* enable the CSM */ 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -290,6 +294,7 @@ sd_error_enum sd_power_on(void) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD8(SEND_IF_COND) to get SD memory card interface condition */ 
														 | 
														
														 | 
														
															     /* send CMD8(SEND_IF_COND) to get SD memory card interface condition */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_SEND_IF_COND, SD_CHECK_PATTERN, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_SEND_IF_COND, SD_CHECK_PATTERN, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -301,6 +306,7 @@ sd_error_enum sd_power_on(void) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD55(APP_CMD) to indicate next command is application specific command */ 
														 | 
														
														 | 
														
															     /* send CMD55(APP_CMD) to indicate next command is application specific command */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_APP_CMD, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_APP_CMD, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -309,6 +315,7 @@ sd_error_enum sd_power_on(void) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* SD memory card */ 
														 | 
														
														 | 
														
															         /* SD memory card */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         while((!busyflag) && (count < SD_MAX_VOLT_VALIDATION)) { 
														 | 
														
														 | 
														
															         while((!busyflag) && (count < SD_MAX_VOLT_VALIDATION)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             /* send CMD55(APP_CMD) to indicate next command is application specific command */ 
														 | 
														
														 | 
														
															             /* send CMD55(APP_CMD) to indicate next command is application specific command */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_command_response_config(SD_CMD_APP_CMD, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															             sdio_command_response_config(SD_CMD_APP_CMD, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_csm_enable(); 
														 | 
														
														 | 
														
															             sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -319,6 +326,7 @@ sd_error_enum sd_power_on(void) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             /* send ACMD41(SD_SEND_OP_COND) to get host capacity support information (HCS) and OCR content */ 
														 | 
														
														 | 
														
															             /* send ACMD41(SD_SEND_OP_COND) to get host capacity support information (HCS) and OCR content */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_command_response_config(SD_APPCMD_SD_SEND_OP_COND, (SD_VOLTAGE_WINDOW | sdcardtype), SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															             sdio_command_response_config(SD_APPCMD_SD_SEND_OP_COND, (SD_VOLTAGE_WINDOW | sdcardtype), SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_csm_enable(); 
														 | 
														
														 | 
														
															             sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -467,6 +475,7 @@ sd_error_enum sd_block_read(uint32_t *preadbuffer, uint64_t readaddr, uint16_t b 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     if((blocksize > 0) && (blocksize <= 2048) && (0 == align)) { 
														 | 
														
														 | 
														
															     if((blocksize > 0) && (blocksize <= 2048) && (0 == align)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         datablksize = sd_datablocksize_get(blocksize); 
														 | 
														
														 | 
														
															         datablksize = sd_datablocksize_get(blocksize); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* send CMD16(SET_BLOCKLEN) to set the block length */ 
														 | 
														
														 | 
														
															         /* send CMD16(SET_BLOCKLEN) to set the block length */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_command_response_config(SD_CMD_SET_BLOCKLEN, (uint32_t)blocksize, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															         sdio_command_response_config(SD_CMD_SET_BLOCKLEN, (uint32_t)blocksize, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_csm_enable(); 
														 | 
														
														 | 
														
															         sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -490,6 +499,7 @@ sd_error_enum sd_block_read(uint32_t *preadbuffer, uint64_t readaddr, uint16_t b 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_dsm_enable(); 
														 | 
														
														 | 
														
															     sdio_dsm_enable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD17(READ_SINGLE_BLOCK) to read a block */ 
														 | 
														
														 | 
														
															     /* send CMD17(READ_SINGLE_BLOCK) to read a block */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_READ_SINGLE_BLOCK, (uint32_t)readaddr, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_READ_SINGLE_BLOCK, (uint32_t)readaddr, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -602,6 +612,7 @@ sd_error_enum sd_multiblocks_read(uint32_t *preadbuffer, uint64_t readaddr, uint 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     if((blocksize > 0) && (blocksize <= 2048) && (0 == align)) { 
														 | 
														
														 | 
														
															     if((blocksize > 0) && (blocksize <= 2048) && (0 == align)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         datablksize = sd_datablocksize_get(blocksize); 
														 | 
														
														 | 
														
															         datablksize = sd_datablocksize_get(blocksize); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* send CMD16(SET_BLOCKLEN) to set the block length */ 
														 | 
														
														 | 
														
															         /* send CMD16(SET_BLOCKLEN) to set the block length */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_command_response_config(SD_CMD_SET_BLOCKLEN, (uint32_t)blocksize, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															         sdio_command_response_config(SD_CMD_SET_BLOCKLEN, (uint32_t)blocksize, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_csm_enable(); 
														 | 
														
														 | 
														
															         sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -632,6 +643,7 @@ sd_error_enum sd_multiblocks_read(uint32_t *preadbuffer, uint64_t readaddr, uint 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_dsm_enable(); 
														 | 
														
														 | 
														
															         sdio_dsm_enable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* send CMD18(READ_MULTIPLE_BLOCK) to read multiple blocks */ 
														 | 
														
														 | 
														
															         /* send CMD18(READ_MULTIPLE_BLOCK) to read multiple blocks */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_command_response_config(SD_CMD_READ_MULTIPLE_BLOCK, readaddr, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															         sdio_command_response_config(SD_CMD_READ_MULTIPLE_BLOCK, readaddr, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_csm_enable(); 
														 | 
														
														 | 
														
															         sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -680,6 +692,7 @@ sd_error_enum sd_multiblocks_read(uint32_t *preadbuffer, uint64_t readaddr, uint 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 if((SDIO_STD_CAPACITY_SD_CARD_V1_1 == cardtype) || (SDIO_STD_CAPACITY_SD_CARD_V2_0 == cardtype) || 
														 | 
														
														 | 
														
															                 if((SDIO_STD_CAPACITY_SD_CARD_V1_1 == cardtype) || (SDIO_STD_CAPACITY_SD_CARD_V2_0 == cardtype) || 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         (SDIO_HIGH_CAPACITY_SD_CARD == cardtype)) { 
														 | 
														
														 | 
														
															                         (SDIO_HIGH_CAPACITY_SD_CARD == cardtype)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     /* send CMD12(STOP_TRANSMISSION) to stop transmission */ 
														 | 
														
														 | 
														
															                     /* send CMD12(STOP_TRANSMISSION) to stop transmission */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     sdio_command_response_config(SD_CMD_STOP_TRANSMISSION, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															                     sdio_command_response_config(SD_CMD_STOP_TRANSMISSION, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															                     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     sdio_csm_enable(); 
														 | 
														
														 | 
														
															                     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -771,6 +784,7 @@ sd_error_enum sd_block_write(uint32_t *pwritebuffer, uint64_t writeaddr, uint16_ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     if((blocksize > 0) && (blocksize <= 2048) && (0 == align)) { 
														 | 
														
														 | 
														
															     if((blocksize > 0) && (blocksize <= 2048) && (0 == align)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         datablksize = sd_datablocksize_get(blocksize); 
														 | 
														
														 | 
														
															         datablksize = sd_datablocksize_get(blocksize); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* send CMD16(SET_BLOCKLEN) to set the block length */ 
														 | 
														
														 | 
														
															         /* send CMD16(SET_BLOCKLEN) to set the block length */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_command_response_config(SD_CMD_SET_BLOCKLEN, (uint32_t)blocksize, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															         sdio_command_response_config(SD_CMD_SET_BLOCKLEN, (uint32_t)blocksize, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_csm_enable(); 
														 | 
														
														 | 
														
															         sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -786,6 +800,7 @@ sd_error_enum sd_block_write(uint32_t *pwritebuffer, uint64_t writeaddr, uint16_ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD13(SEND_STATUS), addressed card sends its status registers */ 
														 | 
														
														 | 
														
															     /* send CMD13(SEND_STATUS), addressed card sends its status registers */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_SEND_STATUS, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_SEND_STATUS, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -810,6 +825,7 @@ sd_error_enum sd_block_write(uint32_t *pwritebuffer, uint64_t writeaddr, uint16_ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* send CMD13(SEND_STATUS), addressed card sends its status registers */ 
														 | 
														
														 | 
														
															         /* send CMD13(SEND_STATUS), addressed card sends its status registers */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_command_response_config(SD_CMD_SEND_STATUS, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															         sdio_command_response_config(SD_CMD_SEND_STATUS, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_csm_enable(); 
														 | 
														
														 | 
														
															         sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -822,6 +838,7 @@ sd_error_enum sd_block_write(uint32_t *pwritebuffer, uint64_t writeaddr, uint16_ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD24(WRITE_BLOCK) to write a block */ 
														 | 
														
														 | 
														
															     /* send CMD24(WRITE_BLOCK) to write a block */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_WRITE_BLOCK, writeaddr, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_WRITE_BLOCK, writeaddr, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -974,6 +991,7 @@ sd_error_enum sd_multiblocks_write(uint32_t *pwritebuffer, uint64_t writeaddr, u 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     if((blocksize > 0) && (blocksize <= 2048) && (0 == align)) { 
														 | 
														
														 | 
														
															     if((blocksize > 0) && (blocksize <= 2048) && (0 == align)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         datablksize = sd_datablocksize_get(blocksize); 
														 | 
														
														 | 
														
															         datablksize = sd_datablocksize_get(blocksize); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* send CMD16(SET_BLOCKLEN) to set the block length */ 
														 | 
														
														 | 
														
															         /* send CMD16(SET_BLOCKLEN) to set the block length */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_command_response_config(SD_CMD_SET_BLOCKLEN, (uint32_t)blocksize, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															         sdio_command_response_config(SD_CMD_SET_BLOCKLEN, (uint32_t)blocksize, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_csm_enable(); 
														 | 
														
														 | 
														
															         sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -989,6 +1007,7 @@ sd_error_enum sd_multiblocks_write(uint32_t *pwritebuffer, uint64_t writeaddr, u 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD13(SEND_STATUS), addressed card sends its status registers */ 
														 | 
														
														 | 
														
															     /* send CMD13(SEND_STATUS), addressed card sends its status registers */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_SEND_STATUS, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_SEND_STATUS, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1007,6 +1026,7 @@ sd_error_enum sd_multiblocks_write(uint32_t *pwritebuffer, uint64_t writeaddr, u 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if((SDIO_STD_CAPACITY_SD_CARD_V1_1 == cardtype) || (SDIO_STD_CAPACITY_SD_CARD_V2_0 == cardtype) || 
														 | 
														
														 | 
														
															         if((SDIO_STD_CAPACITY_SD_CARD_V1_1 == cardtype) || (SDIO_STD_CAPACITY_SD_CARD_V2_0 == cardtype) || 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 (SDIO_HIGH_CAPACITY_SD_CARD == cardtype)) { 
														 | 
														
														 | 
														
															                 (SDIO_HIGH_CAPACITY_SD_CARD == cardtype)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             /* send CMD55(APP_CMD) to indicate next command is application specific command */ 
														 | 
														
														 | 
														
															             /* send CMD55(APP_CMD) to indicate next command is application specific command */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_command_response_config(SD_CMD_APP_CMD, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															             sdio_command_response_config(SD_CMD_APP_CMD, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_csm_enable(); 
														 | 
														
														 | 
														
															             sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1017,6 +1037,7 @@ sd_error_enum sd_multiblocks_write(uint32_t *pwritebuffer, uint64_t writeaddr, u 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             /* send ACMD23(SET_WR_BLK_ERASE_COUNT) to set the number of write blocks to be preerased before writing */ 
														 | 
														
														 | 
														
															             /* send ACMD23(SET_WR_BLK_ERASE_COUNT) to set the number of write blocks to be preerased before writing */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_command_response_config(SD_APPCMD_SET_WR_BLK_ERASE_COUNT, blocksnumber, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															             sdio_command_response_config(SD_APPCMD_SET_WR_BLK_ERASE_COUNT, blocksnumber, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_csm_enable(); 
														 | 
														
														 | 
														
															             sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1027,6 +1048,7 @@ sd_error_enum sd_multiblocks_write(uint32_t *pwritebuffer, uint64_t writeaddr, u 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* send CMD25(WRITE_MULTIPLE_BLOCK) to continuously write blocks of data */ 
														 | 
														
														 | 
														
															         /* send CMD25(WRITE_MULTIPLE_BLOCK) to continuously write blocks of data */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_command_response_config(SD_CMD_WRITE_MULTIPLE_BLOCK, writeaddr, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															         sdio_command_response_config(SD_CMD_WRITE_MULTIPLE_BLOCK, writeaddr, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_csm_enable(); 
														 | 
														
														 | 
														
															         sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1090,6 +1112,7 @@ sd_error_enum sd_multiblocks_write(uint32_t *pwritebuffer, uint64_t writeaddr, u 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 if((SDIO_STD_CAPACITY_SD_CARD_V1_1 == cardtype) || (SDIO_STD_CAPACITY_SD_CARD_V2_0 == cardtype) || 
														 | 
														
														 | 
														
															                 if((SDIO_STD_CAPACITY_SD_CARD_V1_1 == cardtype) || (SDIO_STD_CAPACITY_SD_CARD_V2_0 == cardtype) || 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         (SDIO_HIGH_CAPACITY_SD_CARD == cardtype)) { 
														 | 
														
														 | 
														
															                         (SDIO_HIGH_CAPACITY_SD_CARD == cardtype)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     /* send CMD12(STOP_TRANSMISSION) to stop transmission */ 
														 | 
														
														 | 
														
															                     /* send CMD12(STOP_TRANSMISSION) to stop transmission */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     sdio_command_response_config(SD_CMD_STOP_TRANSMISSION, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															                     sdio_command_response_config(SD_CMD_STOP_TRANSMISSION, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															                     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     sdio_csm_enable(); 
														 | 
														
														 | 
														
															                     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1194,6 +1217,7 @@ sd_error_enum sd_erase(uint64_t startaddr, uint64_t endaddr) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     if((SDIO_STD_CAPACITY_SD_CARD_V1_1 == cardtype) || (SDIO_STD_CAPACITY_SD_CARD_V2_0 == cardtype) || 
														 | 
														
														 | 
														
															     if((SDIO_STD_CAPACITY_SD_CARD_V1_1 == cardtype) || (SDIO_STD_CAPACITY_SD_CARD_V2_0 == cardtype) || 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             (SDIO_HIGH_CAPACITY_SD_CARD == cardtype)) { 
														 | 
														
														 | 
														
															             (SDIO_HIGH_CAPACITY_SD_CARD == cardtype)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* send CMD32(ERASE_WR_BLK_START) to set the address of the first write block to be erased */ 
														 | 
														
														 | 
														
															         /* send CMD32(ERASE_WR_BLK_START) to set the address of the first write block to be erased */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_command_response_config(SD_CMD_ERASE_WR_BLK_START, startaddr, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															         sdio_command_response_config(SD_CMD_ERASE_WR_BLK_START, startaddr, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_csm_enable(); 
														 | 
														
														 | 
														
															         sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1204,6 +1228,7 @@ sd_error_enum sd_erase(uint64_t startaddr, uint64_t endaddr) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* send CMD33(ERASE_WR_BLK_END) to set the address of the last write block of the continuous range to be erased */ 
														 | 
														
														 | 
														
															         /* send CMD33(ERASE_WR_BLK_END) to set the address of the last write block of the continuous range to be erased */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_command_response_config(SD_CMD_ERASE_WR_BLK_END, endaddr, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															         sdio_command_response_config(SD_CMD_ERASE_WR_BLK_END, endaddr, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_csm_enable(); 
														 | 
														
														 | 
														
															         sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1215,6 +1240,7 @@ sd_error_enum sd_erase(uint64_t startaddr, uint64_t endaddr) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD38(ERASE) to set the address of the first write block to be erased */ 
														 | 
														
														 | 
														
															     /* send CMD38(ERASE) to set the address of the first write block to be erased */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_ERASE, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_ERASE, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1321,6 +1347,7 @@ sd_error_enum sd_card_select_deselect(uint16_t cardrca) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 { 
														 | 
														
														 | 
														
															 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sd_error_enum status = SD_OK; 
														 | 
														
														 | 
														
															     sd_error_enum status = SD_OK; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD7(SELECT/DESELECT_CARD) to select or deselect the card */ 
														 | 
														
														 | 
														
															     /* send CMD7(SELECT/DESELECT_CARD) to select or deselect the card */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_SELECT_DESELECT_CARD, (uint32_t)(cardrca << SD_RCA_SHIFT), SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_SELECT_DESELECT_CARD, (uint32_t)(cardrca << SD_RCA_SHIFT), SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1344,6 +1371,7 @@ sd_error_enum sd_cardstatus_get(uint32_t *pcardstatus) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD13(SEND_STATUS), addressed card sends its status register */ 
														 | 
														
														 | 
														
															     /* send CMD13(SEND_STATUS), addressed card sends its status register */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_SEND_STATUS, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_SEND_STATUS, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1375,6 +1403,7 @@ sd_error_enum sd_sdstatus_get(uint32_t *psdstatus) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD16(SET_BLOCKLEN) to set the block length */ 
														 | 
														
														 | 
														
															     /* send CMD16(SET_BLOCKLEN) to set the block length */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_SET_BLOCKLEN, (uint32_t)64, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_SET_BLOCKLEN, (uint32_t)64, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1385,6 +1414,7 @@ sd_error_enum sd_sdstatus_get(uint32_t *psdstatus) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD55(APP_CMD) to indicate next command is application specific command */ 
														 | 
														
														 | 
														
															     /* send CMD55(APP_CMD) to indicate next command is application specific command */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_APP_CMD, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_APP_CMD, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1400,6 +1430,7 @@ sd_error_enum sd_sdstatus_get(uint32_t *psdstatus) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_dsm_enable(); 
														 | 
														
														 | 
														
															     sdio_dsm_enable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send ACMD13(SD_STATUS) to get the SD status */ 
														 | 
														
														 | 
														
															     /* send ACMD13(SD_STATUS) to get the SD status */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_APPCMD_SD_STATUS, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_APPCMD_SD_STATUS, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1461,6 +1492,7 @@ sd_error_enum sd_transfer_stop(void) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 { 
														 | 
														
														 | 
														
															 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sd_error_enum status = SD_OK; 
														 | 
														
														 | 
														
															     sd_error_enum status = SD_OK; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD12(STOP_TRANSMISSION) to stop transmission */ 
														 | 
														
														 | 
														
															     /* send CMD12(STOP_TRANSMISSION) to stop transmission */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_STOP_TRANSMISSION, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_STOP_TRANSMISSION, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1507,6 +1539,7 @@ sd_error_enum sd_lock_unlock(uint8_t lockstate) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_dma_disable(); 
														 | 
														
														 | 
														
															     sdio_dma_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD16(SET_BLOCKLEN) to set the block length */ 
														 | 
														
														 | 
														
															     /* send CMD16(SET_BLOCKLEN) to set the block length */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_SET_BLOCKLEN, (uint32_t)8, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_SET_BLOCKLEN, (uint32_t)8, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1517,6 +1550,7 @@ sd_error_enum sd_lock_unlock(uint8_t lockstate) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD13(SEND_STATUS), addressed card sends its status register */ 
														 | 
														
														 | 
														
															     /* send CMD13(SEND_STATUS), addressed card sends its status register */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_SEND_STATUS, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_SEND_STATUS, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1532,6 +1566,7 @@ sd_error_enum sd_lock_unlock(uint8_t lockstate) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* continue to send CMD13 to polling the state of card until buffer empty or timeout */ 
														 | 
														
														 | 
														
															         /* continue to send CMD13 to polling the state of card until buffer empty or timeout */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         --timeout; 
														 | 
														
														 | 
														
															         --timeout; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /* send CMD13(SEND_STATUS), addressed card sends its status registers */ 
														 | 
														
														 | 
														
															         /* send CMD13(SEND_STATUS), addressed card sends its status registers */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_command_response_config(SD_CMD_SEND_STATUS, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															         sdio_command_response_config(SD_CMD_SEND_STATUS, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															         sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sdio_csm_enable(); 
														 | 
														
														 | 
														
															         sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1547,6 +1582,7 @@ sd_error_enum sd_lock_unlock(uint8_t lockstate) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD42(LOCK_UNLOCK) to set/reset the password or lock/unlock the card */ 
														 | 
														
														 | 
														
															     /* send CMD42(LOCK_UNLOCK) to set/reset the password or lock/unlock the card */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_LOCK_UNLOCK, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_LOCK_UNLOCK, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2166,6 +2202,7 @@ static sd_error_enum sd_card_state_get(uint8_t *pcardstate) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     __IO uint32_t reg_status = 0, response = 0; 
														 | 
														
														 | 
														
															     __IO uint32_t reg_status = 0, response = 0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD13(SEND_STATUS), addressed card sends its status register */ 
														 | 
														
														 | 
														
															     /* send CMD13(SEND_STATUS), addressed card sends its status register */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_SEND_STATUS, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_SEND_STATUS, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2234,6 +2271,7 @@ static sd_error_enum sd_bus_width_config(uint32_t buswidth) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     if(SD_BUS_WIDTH_1BIT == buswidth) { 
														 | 
														
														 | 
														
															     if(SD_BUS_WIDTH_1BIT == buswidth) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if(SD_ALLZERO != (sd_scr[1] & buswidth)) { 
														 | 
														
														 | 
														
															         if(SD_ALLZERO != (sd_scr[1] & buswidth)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             /* send CMD55(APP_CMD) to indicate next command is application specific command */ 
														 | 
														
														 | 
														
															             /* send CMD55(APP_CMD) to indicate next command is application specific command */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_command_response_config(SD_CMD_APP_CMD, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															             sdio_command_response_config(SD_CMD_APP_CMD, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_csm_enable(); 
														 | 
														
														 | 
														
															             sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2244,6 +2282,7 @@ static sd_error_enum sd_bus_width_config(uint32_t buswidth) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             /* send ACMD6(SET_BUS_WIDTH) to define the data bus width */ 
														 | 
														
														 | 
														
															             /* send ACMD6(SET_BUS_WIDTH) to define the data bus width */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_command_response_config(SD_APPCMD_SET_BUS_WIDTH, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															             sdio_command_response_config(SD_APPCMD_SET_BUS_WIDTH, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_csm_enable(); 
														 | 
														
														 | 
														
															             sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2259,6 +2298,7 @@ static sd_error_enum sd_bus_width_config(uint32_t buswidth) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } else if(SD_BUS_WIDTH_4BIT == buswidth) { 
														 | 
														
														 | 
														
															     } else if(SD_BUS_WIDTH_4BIT == buswidth) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if(SD_ALLZERO != (sd_scr[1] & buswidth)) { 
														 | 
														
														 | 
														
															         if(SD_ALLZERO != (sd_scr[1] & buswidth)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             /* send CMD55(APP_CMD) to indicate next command is application specific command */ 
														 | 
														
														 | 
														
															             /* send CMD55(APP_CMD) to indicate next command is application specific command */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_command_response_config(SD_CMD_APP_CMD, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															             sdio_command_response_config(SD_CMD_APP_CMD, (uint32_t)sd_rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_csm_enable(); 
														 | 
														
														 | 
														
															             sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2269,6 +2309,7 @@ static sd_error_enum sd_bus_width_config(uint32_t buswidth) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             /* send ACMD6(SET_BUS_WIDTH) to define the data bus width */ 
														 | 
														
														 | 
														
															             /* send ACMD6(SET_BUS_WIDTH) to define the data bus width */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_command_response_config(SD_APPCMD_SET_BUS_WIDTH, (uint32_t)0x2, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															             sdio_command_response_config(SD_APPCMD_SET_BUS_WIDTH, (uint32_t)0x2, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															             sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sdio_csm_enable(); 
														 | 
														
														 | 
														
															             sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2298,6 +2339,7 @@ static sd_error_enum sd_scr_get(uint16_t rca, uint32_t *pscr) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sd_error_enum status = SD_OK; 
														 | 
														
														 | 
														
															     sd_error_enum status = SD_OK; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     uint32_t temp_scr[2] = {0, 0}, idx_scr = 0; 
														 | 
														
														 | 
														
															     uint32_t temp_scr[2] = {0, 0}, idx_scr = 0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD16(SET_BLOCKLEN) to set block length */ 
														 | 
														
														 | 
														
															     /* send CMD16(SET_BLOCKLEN) to set block length */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_SET_BLOCKLEN, (uint32_t)8, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_SET_BLOCKLEN, (uint32_t)8, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2308,6 +2350,7 @@ static sd_error_enum sd_scr_get(uint16_t rca, uint32_t *pscr) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send CMD55(APP_CMD) to indicate next command is application specific command */ 
														 | 
														
														 | 
														
															     /* send CMD55(APP_CMD) to indicate next command is application specific command */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_CMD_APP_CMD, (uint32_t)rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_CMD_APP_CMD, (uint32_t)rca << SD_RCA_SHIFT, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2323,6 +2366,7 @@ static sd_error_enum sd_scr_get(uint16_t rca, uint32_t *pscr) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_dsm_enable(); 
														 | 
														
														 | 
														
															     sdio_dsm_enable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* send ACMD51(SEND_SCR) to read the SD configuration register */ 
														 | 
														
														 | 
														
															     /* send ACMD51(SEND_SCR) to read the SD configuration register */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    sdio_csm_disable(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_command_response_config(SD_APPCMD_SEND_SCR, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
														
														 | 
														
															     sdio_command_response_config(SD_APPCMD_SEND_SCR, (uint32_t)0x0, SDIO_RESPONSETYPE_SHORT); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
														
														 | 
														
															     sdio_wait_type_set(SDIO_WAITTYPE_NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sdio_csm_enable(); 
														 | 
														
														 | 
														
															     sdio_csm_enable(); 
														 |