From d59c80e3f87b81136ac99557cbec34614cc65b21 Mon Sep 17 00:00:00 2001 From: deepikabhavnani Date: Tue, 3 Apr 2018 13:13:07 -0500 Subject: [PATCH] Config option for initialization frequency --- SDBlockDevice.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/SDBlockDevice.cpp b/SDBlockDevice.cpp index 6efafab428..06728268b5 100644 --- a/SDBlockDevice.cpp +++ b/SDBlockDevice.cpp @@ -159,6 +159,11 @@ #define MBED_CONF_SD_CMD0_IDLE_STATE_RETRIES 5 /*!< Number of retries for sending CMDO */ #endif +#ifndef MBED_CONF_SD_INIT_FREQUENCY +#define MBED_CONF_SD_INIT_FREQUENCY 100000 /*!< Initialization frequency Range (100KHz-400KHz) */ +#endif + + #define SD_COMMAND_TIMEOUT MBED_CONF_SD_CMD_TIMEOUT #define SD_CMD0_GO_IDLE_STATE_RETRIES MBED_CONF_SD_CMD0_IDLE_STATE_RETRIES #define SD_DBG 0 /*!< 1 - Enable debugging */ @@ -251,7 +256,9 @@ SDBlockDevice::SDBlockDevice(PinName mosi, PinName miso, PinName sclk, PinName c _card_type = SDCARD_NONE; // Set default to 100kHz for initialisation and 1MHz for data transfer - _init_sck = 100000; + MBED_STATIC_ASSERT(((MBED_CONF_SD_INIT_FREQUENCY >= 100000) && (MBED_CONF_SD_INIT_FREQUENCY <= 400000)), + "Initialization frequency should be between 100KHz to 400KHz"); + _init_sck = MBED_CONF_SD_INIT_FREQUENCY; _transfer_sck = hz; // Only HC block size is supported.