123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- /*++
- Copyright (c) 2014 Minoca Corp. All rights reserved.
- Module Name:
- sdp.h
- Abstract:
- This header contains internal definitions for the SD library. This file
- should only be included by the driver and library itself, not by external
- consumers of the library.
- Author:
- Evan Green 27-Feb-2014
- --*/
- //
- // ------------------------------------------------------------------- Includes
- //
- #define SD_API __DLLEXPORT
- #include <minoca/sd/sd.h>
- //
- // --------------------------------------------------------------------- Macros
- //
- //
- // ---------------------------------------------------------------- Definitions
- //
- //
- // Define the amount of time to wait in milliseconds for the controller to
- // respond.
- //
- #define SD_CONTROLLER_TIMEOUT_MS 300
- //
- // Define the amount of time to wait in seconds for the status to go green.
- //
- #define SD_CONTROLLER_STATUS_TIMEOUT 60
- //
- // Defien the amount of time to wait for an MMC card to initialize.
- //
- #define SD_CMD1_TIMEOUT 5
- //
- // Define the amount of time to wait for the card to initialize, in
- // microseconds.
- //
- #define SD_CARD_DELAY 1000
- #define SD_POST_RESET_DELAY 2000
- //
- // Define the number of attempts to try certain commands.
- //
- #define SD_CARD_INITIALIZE_RETRY_COUNT 3
- #define SD_CARD_OPERATING_CONDITION_RETRY_COUNT 1000
- #define SD_CONFIGURATION_REGISTER_RETRY_COUNT 3
- #define SD_SWITCH_RETRY_COUNT 4
- #define SD_INTERFACE_CONDITION_RETRY_COUNT 3
- #define SD_SET_BLOCK_LENGTH_RETRY_COUNT 10
- //
- // Define the block sized used by the SD library.
- //
- #define SD_BLOCK_SIZE 512
- #define SD_MMC_MAX_BLOCK_SIZE 512
- //
- // Define the maximum number of blocks that can be sent in a single command.
- //
- #define SD_MAX_BLOCK_COUNT 0xFFFF
- //
- // Define the size of the ADMA2 descriptor table, which is an entry for the
- // transfer and an entry for the terminator.
- //
- #define SD_ADMA2_DESCRIPTOR_COUNT 0x100
- #define SD_ADMA2_DESCRIPTOR_TABLE_SIZE \
- (SD_ADMA2_DESCRIPTOR_COUNT * sizeof(SD_ADMA2_DESCRIPTOR))
- //
- // ------------------------------------------------------ Data Type Definitions
- //
- //
- // -------------------------------------------------------------------- Globals
- //
- extern SD_FUNCTION_TABLE SdStdFunctionTable;
- //
- // -------------------------------------------------------- Function Prototypes
- //
|