view stm32_eval.h @ 50:d7207a9d3c3b

Add write support. LFN still broken though. Make sure we wait for the card to be done after a read or write (didn't seem to break reading but hosed writes).
author Daniel O'Connor <darius@dons.net.au>
date Fri, 05 Apr 2013 00:08:31 +1030
parents ace431a0d0f5
children 9521be9b391e
line wrap: on
line source

/* 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);