Skip to content

Commit a86f0ff

Browse files
committed
adding in support for second generation SPI module on new PIC24F and dsPIC devices.
1 parent a7af5f3 commit a86f0ff

1 file changed

Lines changed: 16 additions & 3 deletions

File tree

drivers/sd_spi/sd_spi.c

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)