diff options
Diffstat (limited to 'os')
-rw-r--r-- | os/hal/include/hal_sdc.h | 14 | ||||
-rw-r--r-- | os/hal/src/hal_sdc.c | 4 |
2 files changed, 16 insertions, 2 deletions
diff --git a/os/hal/include/hal_sdc.h b/os/hal/include/hal_sdc.h index 98a0492ab..6466b1d97 100644 --- a/os/hal/include/hal_sdc.h +++ b/os/hal/include/hal_sdc.h @@ -92,6 +92,20 @@ #if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
#define SDC_NICE_WAITING TRUE
#endif
+
+/**
+ * @brief OCR initialization constant for V20 cards.
+ */
+#if !defined(SDC_INIT_OCR_V20) || defined(__DOXYGEN__)
+#define SDC_INIT_OCR_V20 0x50FF8000U
+#endif
+
+/**
+ * @brief OCR initialization constant for non-V20 cards.
+ */
+#if !defined(SDC_INIT_OCR) || defined(__DOXYGEN__)
+#define SDC_INIT_OCR 0x80100000U
+#endif
/** @} */
/*===========================================================================*/
diff --git a/os/hal/src/hal_sdc.c b/os/hal/src/hal_sdc.c index 80cbca3bf..70a85b10f 100644 --- a/os/hal/src/hal_sdc.c +++ b/os/hal/src/hal_sdc.c @@ -183,10 +183,10 @@ static bool sdc_init(SDCDriver *sdcp) { uint32_t resp[1];
if ((sdcp->cardmode & SDC_MODE_CARDTYPE_MASK) == SDC_MODE_CARDTYPE_SDV20) {
- ocr = 0xC0100000U;
+ ocr = SDC_INIT_OCR_V20;
}
else {
- ocr = 0x80100000U;
+ ocr = SDC_INIT_OCR;
}
i = 0;
|