@@ -1358,6 +1358,11 @@ void FILEIO_SD_SPISlowInitialize(FILEIO_SD_DRIVE_CONFIG * config)
13581358 DRV_SPI_Initialize (config -> index , & spiInitData );
13591359// OpenSPI(SPI_START_CFG_1, SPI_START_CFG_2);
13601360 #else //else C30 = PIC24/dsPIC devices
1361+ #if defined(DRV_SPI_CONFIG_V2_ENABLED )
1362+ spiInitData .cke = 0 ;
1363+ spiInitData .primaryPrescale = (SYS_CLK_FrequencyInstructionGet () / 400000 );
1364+ spiInitData .mode = SPI_TRANSFER_MODE_8BIT ;
1365+ #else
13611366 uint16_t spiconvalue = 0x0003 ;
13621367 uint16_t timeout ;
13631368
@@ -1394,6 +1399,8 @@ void FILEIO_SD_SPISlowInitialize(FILEIO_SD_DRIVE_CONFIG * config)
13941399 spiInitData .primaryPrescale = spiconvalue ;
13951400 spiInitData .secondaryPrescale = (~timeout ) & 0b111 ;
13961401 }
1402+ #endif
1403+
13971404 spiInitData .channel = config -> index ;
13981405 DRV_SPI_Initialize (& spiInitData );
13991406 #endif //#ifdef __XC32__ (and corresponding #else)
@@ -1714,9 +1721,15 @@ FILEIO_MEDIA_INFORMATION * FILEIO_SD_MediaInitialize (FILEIO_SD_DRIVE_CONFIG *
17141721 }
17151722// OpenSPI(SPI_START_CFG_1, SPI_START_CFG_2);
17161723 #else //else C30 = PIC24/dsPIC devices
1717- spiInitData .cke = 0 ;
1718- spiInitData .primaryPrescale = 2 ;
1719- spiInitData .secondaryPrescale = 7 ;
1724+ #if defined(DRV_SPI_CONFIG_V2_ENABLED )
1725+ spiInitData .cke = 0 ;
1726+ spiInitData .primaryPrescale = 0 ;
1727+ spiInitData .mode = SPI_TRANSFER_MODE_8BIT ;
1728+ #else
1729+ spiInitData .cke = 0 ;
1730+ spiInitData .primaryPrescale = 2 ;
1731+ spiInitData .secondaryPrescale = 7 ;
1732+ #endif
17201733 #endif //#ifdef __XC32__ (and corresponding #else)
17211734 #else //must be PIC18 device
17221735 spiInitData .cke = 0 ;
0 commit comments