software/libbase/spisdcard: add USE_SPISDCARD_RECLOCKING define to easily disable reclocking.
This commit is contained in:
parent
b509df8bb6
commit
73b4347587
|
@ -21,6 +21,8 @@
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#define USE_SPISCARD_RECLOCKING
|
||||||
|
|
||||||
#ifdef CSR_SPISDCARD_BASE
|
#ifdef CSR_SPISDCARD_BASE
|
||||||
// Import prototypes for the functions
|
// Import prototypes for the functions
|
||||||
#include <spisdcard.h>
|
#include <spisdcard.h>
|
||||||
|
@ -138,7 +140,7 @@ uint8_t spi_setspimode(void)
|
||||||
{
|
{
|
||||||
uint32_t r;
|
uint32_t r;
|
||||||
int i, timeout=32;
|
int i, timeout=32;
|
||||||
|
|
||||||
// Initialise SPI mode
|
// Initialise SPI mode
|
||||||
// set CS to HIGH
|
// set CS to HIGH
|
||||||
// Send pulses
|
// Send pulses
|
||||||
|
@ -444,6 +446,7 @@ uint8_t spi_sdcard_readMBR(void)
|
||||||
return FAILURE;
|
return FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef USE_SPISCARD_RECLOCKING
|
||||||
// Reclock the card
|
// Reclock the card
|
||||||
// Calculate 16MHz as an integer divider from the CONFIG_CLOCK_FREQUENCY
|
// Calculate 16MHz as an integer divider from the CONFIG_CLOCK_FREQUENCY
|
||||||
// Add 1 as will be rounded down
|
// Add 1 as will be rounded down
|
||||||
|
@ -454,7 +457,7 @@ uint8_t spi_sdcard_readMBR(void)
|
||||||
divider=2;
|
divider=2;
|
||||||
printf("Reclocking from %dKHz to %dKHz\n\n", CONFIG_CLOCK_FREQUENCY/(int)spisdcard_clk_divider_read()/1000, CONFIG_CLOCK_FREQUENCY/divider/1000);
|
printf("Reclocking from %dKHz to %dKHz\n\n", CONFIG_CLOCK_FREQUENCY/(int)spisdcard_clk_divider_read()/1000, CONFIG_CLOCK_FREQUENCY/divider/1000);
|
||||||
spisdcard_clk_divider_write(divider);
|
spisdcard_clk_divider_write(divider);
|
||||||
|
|
||||||
// Read in FAT16 File Allocation Table, array of 16bit unsinged integers
|
// Read in FAT16 File Allocation Table, array of 16bit unsinged integers
|
||||||
// Calculate Storage from TOP of MAIN RAM
|
// Calculate Storage from TOP of MAIN RAM
|
||||||
sdCardFatTable = (uint16_t *)(MAIN_RAM_BASE+MAIN_RAM_SIZE-sdCardFatBootSector.sector_size*sdCardFatBootSector.fat_size_sectors);
|
sdCardFatTable = (uint16_t *)(MAIN_RAM_BASE+MAIN_RAM_SIZE-sdCardFatBootSector.sector_size*sdCardFatBootSector.fat_size_sectors);
|
||||||
|
@ -468,6 +471,7 @@ uint8_t spi_sdcard_readMBR(void)
|
||||||
return FAILURE;
|
return FAILURE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Read in FAT16 Root Directory
|
// Read in FAT16 Root Directory
|
||||||
// Calculate Storage from TOP of MAIN RAM
|
// Calculate Storage from TOP of MAIN RAM
|
||||||
|
|
Loading…
Reference in New Issue