X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Fcortex-m3%2Fdrv%2Fhsmci_sam3.h;h=cfb6e4cd5a9837e7a954dea3aaf28b8ca7ddde42;hb=e8b0472be10fba4ca6baa62d8d483db90e28c06e;hp=61fb878d5b495dc2096d1da3a8bf1b5991f326ab;hpb=53716ae692a6352c1b230a568f4dbb2a779bda85;p=bertos.git diff --git a/bertos/cpu/cortex-m3/drv/hsmci_sam3.h b/bertos/cpu/cortex-m3/drv/hsmci_sam3.h index 61fb878d..cfb6e4cd 100644 --- a/bertos/cpu/cortex-m3/drv/hsmci_sam3.h +++ b/bertos/cpu/cortex-m3/drv/hsmci_sam3.h @@ -43,31 +43,6 @@ #include -#define CMD8_V_RANGE_CHECK_PAT 0xAA -#define CMD8_V_RANGE_27V_36V (0x100 | CMD8_V_RANGE_CHECK_PAT) -#define CMD8_V_RANGE_LOW (0x1000 | CMD8_V_RANGE_CHECK_PAT) -#define CMD8_V_ECHO_REPLY 0xFF -#define CMD8_SUPP_V_RANGE_REPLY 0xFF00 - - -#define SD_OCR_CCS BV(30) /**< SD Card Capacity Status (CCS) */ -#define SD_OCR_BUSY BV(31) /**< SD/MMC Card power up status bit (busy) */ - -#define SD_OCR_VDD_27_28 BV(15) -#define SD_OCR_VDD_28_29 BV(16) -#define SD_OCR_VDD_29_30 BV(17) -#define SD_OCR_VDD_30_31 BV(18) -#define SD_OCR_VDD_31_32 BV(19) -#define SD_OCR_VDD_32_33 BV(20) - - -#define SD_HOST_VOLTAGE_RANGE (SD_OCR_VDD_27_28 | \ - SD_OCR_VDD_28_29 | \ - SD_OCR_VDD_29_30 | \ - SD_OCR_VDD_30_31 | \ - SD_OCR_VDD_31_32 | \ - SD_OCR_VDD_32_33) - #define HSMCI_CHECK_BUSY() \ do { \ cpu_relax(); \ @@ -75,6 +50,9 @@ #define HSMCI_INIT_SPEED 400000 +#define HSMCI_HIGH_SPEED 21000000 + +#define HSMCI_HS_MODE BV(0) typedef struct Hsmci { @@ -104,15 +82,13 @@ INLINE void hsmci_setBusWidth(size_t len) void hsmci_readResp(uint32_t *resp, size_t len); bool hsmci_sendCmd(uint8_t index, uint32_t argument, uint32_t reply_type); -void hsmci_prgRxDMA(uint32_t *buf, size_t word_num, size_t blk_size); -void hsmci_prgTxDMA(uint32_t *buf, size_t word_num, size_t blk_size); +void hsmci_read(uint32_t *buf, size_t word_num, size_t blk_size); +void hsmci_write(const uint32_t *buf, size_t word_num, size_t blk_size); void hsmci_waitTransfer(void); void hsmci_setSpeed(uint32_t data_rate, int flag); - - void hsmci_init(Hsmci *hsmci); #endif /* DRV_HSMCI_SAM3_H */