/*!
@page middleware_log Middleware Change Log

@section sd SD Card driver for MCUXpresso SDK
  The current driver version is 2.4.2.
  
  - 2.4.2
    - Improvements
      - Improved the erase timeout calculation logical in function SD_EraseBlocks according to SD specifications.
      - Added polling erase done status after each erase operations.

  - 2.4.1
    - Improvements
      - Added macro SDMMCHOST_SUPPORT_VOLTAGE_CONTROL for the host which not support voltage control.

  - 2.4.0
    - Improvements
      - Removed deprecated api in sd driver.
      - Added new api SD_PollingCardStatusBusy for application polling card status.
      - Improved the read/write/erase function flow.
      - Improved the signal line voltage switch flow.
      - Added powerOnDelayMS/powerOffDelayMS in sd_usr_param_t to allow redefine the default power on/off delay.
      - Added mutual exclusive access for init/deinit/read/write/erase function.
      - Fixed the driver strength configurations missed when timing mode switch to non SDR50/SDR104 mode.
      - Fixed violations of MISRA C-2012 rule 4.7, 17.7, 10.7, 10.4, 13.5, 14.4.

  - 2.3.3
    - Improvements
      - Added host SDR timing mode capability validation during card initialization.
      - Added plling card ready for data status when transfer data failed.
      - Used cache line size align buffer for SD initialization api.
    - Bug Fixes
      - Fixed violations of MISRA C-2012 rule 11.9, 15.7, 4.7, 16.4, 10.1, 10.3, 10.4, 11.3, 14.4, 10.6, 17.7, 16.1, 16.3.

  - 2.3.2
    - Improvements
      - Moved power off function after card detect in SD_Init for DAT3 detect card feature.

  - 2.3.1
    - Improvements
      - Removed the dead loop while polling DAT0 and CMD13 instead of using timeout mechanism.

  - 2.3.0
    - Improvements
      - Marked api SD_HostReset/SD_PowerOnCard/SD_PowerOffCard/SD_WaitCardDetectStatus as deprecated.
      - Added new api SD_SetCardPower/SD_PollingCardDetectStatus/SD_HostDoReset.
      - Added internalBuffer in sd_card_t and removed rawCid/rawCsd/rawScr.
      - Added retuning support during data transfer under SDR50/SDR104 mode.
      - Increased the read/write blocks failed retry times for stability.
      - Added delay while retry the ACMD41 for stability.

  - 2.2.12
    - Improvements
      - Increased the sd io driver strength for SD2.0 card.
    - Bug Fixes
      - Fixed the build warning by changing the old style function declaration static
        status_t inline to static inline status_t(found by adding
        -Wold-style-declaration in armgcc build flag).

  - 2.2.10
    - Bug Fixes
      - Added event value check for all the FreeRTOS events to fix program hangs
        when a card event occurs before create.

  - 2.2.7
    - Bug Fixes
      - Fixed MDK 66-D warning.

  - 2.2.5
    - Improvements
      - Added SD_ReadStatus api to get 512bit SD status.
      - Added error log support in sdcard functions.
      - Added SDMMC_ENABLE_SOFTWARE_TUNING to enable/disable software tuning and it is disabled by default.

  - 2.2.4
    - Bug Fixes
      - Fixed DDR mode data sequence miss issue, which is caused by NIBBLE_POS.
    - Improvements
      - Increased g_sdmmc 512byte to improve the performance when application use a non-word align data buffer address.
      - Enabled auto cmd12 for SD read/write.

  - 2.2.3
    - Bug Fixes
      - Added response check for send operation condition command. If not checked, the card may occasionally init fail.

  - 2.2.1
    - Improvements
      - Kept SD_Init function for forward compatibility.

  - 2.2.0
    - Improvements
      - Separated the SD/MMC/SDIO init API to xxx_CardInit/xxx_HostInit.
      - SD_Init/SDIO_Init will be deprecated in the next version.

  - 2.1.6
    - Improvements
      - Enhanced SD IO default driver strength.

  - 2.1.5
  	- Bug Fixes
      - Fixed Coverity issue.
      - Fixed SD v1.x card write fail issue. It was caused by the block length set error.
      - Fixed card cannot detect dynamically.

  - 2.1.3
    - Bug Fixes
      - Fixed Non high-speed sdcard init fail at switch to high speed.
    - Improvements
      - Added Delay for SDCard power up.

  - 2.1.2
    - Improvements
      - Improved SDMMC to support SD v3.0.

  - 2.1.1
    - Bug Fixes
      - Fixed the bit mask error in the SD card switch to high speed function.
    - Improvements
      - Optimized the SD card initialization function.

  - 2.1.0
    - Bug Fixes
      - Changed the callback mechanism when sending a command.
      - Fixed the performance low issue when transferring data.
    - Improvements
      - Changed the name of some error codes returned by internal function.
      - Merged all host related attributes to one structure.

  - 2.0.0
    - Initial version.

*/
