Mercurial > ~darius > hgwebdir.cgi > stm32temp
diff stm32_eval.h @ 49:ace431a0d0f5
Add SDIO code poached from STM. Use FatFS to read from SD card.
LFN doesn't work reliably so it's disabled for now.
author | Daniel O'Connor <darius@dons.net.au> |
---|---|
date | Wed, 03 Apr 2013 23:34:20 +1030 |
parents | |
children | d7207a9d3c3b |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/stm32_eval.h Wed Apr 03 23:34:20 2013 +1030 @@ -0,0 +1,22 @@ +/* SDIO Intialization divisor (400KHz max) */ +#define SDIO_INIT_CLK_DIV ((uint8_t)0xb2) +/* SDIO Data Transfer Frequency (25MHz max) */ +#define SDIO_TRANSFER_CLK_DIV ((uint8_t)0x01) + +#undef SD_HAVE_DETECT + +/* Going to 4 bit mode gives CRC errors */ +#define SD_NO_4BIT +//#define SD_DMA_MODE ((uint32_t)0x00000000) +#define SD_POLLING_MODE ((uint32_t)0x00000002) + +/* No idea if this is for all SD cards. The one I have has 1024 byte blocks but 512 byte reads work + * Note that SD_ReadBlock forces blocksize to be 512 and divides the address by 512 but only for SDIO_HIGH_CAPACITY_SD_CARD's + */ +#define SD_BLOCK_SIZE 512 + +void SD_LowLevel_DeInit(void); +void SD_LowLevel_Init(void); +void SD_LowLevel_DMA_RxConfig(uint32_t *BufferDST, uint32_t BufferSize); +void SD_LowLevel_DMA_TxConfig(uint32_t *BufferSRC, uint32_t BufferSize); +