From a6d79ddefabb25a017878c33bba42f42e7769689 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sun, 9 Apr 2017 06:46:51 +0000 Subject: [PATCH] Fixed bug #826. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_16.1.x@10148 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/include/sdc.h | 14 ++++++++++++++ os/hal/src/sdc.c | 4 ++-- readme.txt | 1 + 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/os/hal/include/sdc.h b/os/hal/include/sdc.h index 0f070e322..5c9008442 100644 --- a/os/hal/include/sdc.h +++ b/os/hal/include/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/sdc.c b/os/hal/src/sdc.c index a9dbb1534..498310a1f 100644 --- a/os/hal/src/sdc.c +++ b/os/hal/src/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; diff --git a/readme.txt b/readme.txt index 6b4390037..8799dd6e8 100644 --- a/readme.txt +++ b/readme.txt @@ -73,6 +73,7 @@ ***************************************************************************** *** 16.1.8 *** +- HAL: Fixed invalid SDC OCR initialization value (bug #826). - HAL: Fixed osThreadSetPriority() returns old priority instead of a status code (bug #823)). - HAL: Fixed problem in rtcSTM32SetPeriodicWakeup() (bug #821).