X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Fcortex-m3%2Fdrv%2Fhsmci_sam3.h;fp=bertos%2Fcpu%2Fcortex-m3%2Fdrv%2Fhsmci_sam3.h;h=4f27843d6fea18d23174a95c86fd2fd4fb7342de;hb=8a6460473f0a31c528617ffde51aa88985725c7a;hp=0000000000000000000000000000000000000000;hpb=9ef4a00f57e1fa3cb605317df9cb617b976a1a2d;p=bertos.git diff --git a/bertos/cpu/cortex-m3/drv/hsmci_sam3.h b/bertos/cpu/cortex-m3/drv/hsmci_sam3.h new file mode 100644 index 00000000..4f27843d --- /dev/null +++ b/bertos/cpu/cortex-m3/drv/hsmci_sam3.h @@ -0,0 +1,78 @@ +/** + * \file + * + * + * \brief HSMCI driver functions. + * + * \author Daniele Basile + */ + +#ifndef DRV_HSMCI_SAM3_H +#define DRV_HSMCI_SAM3_H + +#include +#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) + +typedef struct Hsmci +{ +} Hsmci; + +void hsmci_readResp(void *resp, size_t len); +bool hsmci_sendCmd(uint8_t index, uint32_t argument, uint32_t reply_type); + +void hsmci_init(Hsmci *hsmci); + +#endif /* DRV_HSMCI_SAM3_H */