SAMV71 Xplained Ultra Software Package 1.5

SD/MMC CSD register fields
[SD/MMC Spec. definitions]

Collaboration diagram for SD/MMC CSD register fields:

Defines

#define SD_CSD(pCsd, field, bits)   SD_BITS32(pCsd, 128, field, bits)
#define SD_CSD_STRUCTURE(pCsd)   SD_CSD(pCsd, 126, 2)
#define SD_CSD_STRUCTURE_1_0   0
#define SD_CSD_STRUCTURE_2_0   1
#define MMC_CSD_STRUCTURE_1_0   0
#define MMC_CSD_STRUCTURE_1_1   1
#define MMC_CSD_STRUCTURE_1_2   2
#define MMC_CSD_SPEC_VERS(pCsd)   SD_CSD(pCsd, 122, 4)
#define MMC_CSD_SPEC_VERS_1_0   0
#define MMC_CSD_SPEC_VERS_1_4   1
#define MMC_CSD_SPEC_VERS_2_0   2
#define MMC_CSD_SPEC_VERS_3_1   3
#define MMC_CSD_SPEC_VERS_4_0   4
#define SD_CSD_TAAC(pCsd)   SD_CSD(pCsd, 112, 8)
#define SD_CSD_NSAC(pCsd)   SD_CSD(pCsd, 104, 8)
#define SD_CSD_TRAN_SPEED(pCsd)   SD_CSD(pCsd, 96, 8)
#define SD_CSD_CCC(pCsd)   SD_CSD(pCsd, 84, 12)
#define SD_CSD_READ_BL_LEN(pCsd)   SD_CSD(pCsd, 80, 4)
#define SD_CSD_READ_BL_PARTIAL(pCsd)   SD_CSD(pCsd, 79, 1)
#define SD_CSD_WRITE_BLK_MISALIGN(pCsd)   SD_CSD(pCsd, 78, 1)
#define SD_CSD_READ_BLK_MISALIGN(pCsd)   SD_CSD(pCsd, 77, 1)
#define SD_CSD_DSR_IMP(pCsd)   SD_CSD(pCsd, 76, 1)
#define SD_CSD_C_SIZE(pCsd)
#define SD2_CSD_C_SIZE(pCsd)
#define SD_CSD_VDD_R_CURR_MIN(pCsd)   SD_CSD(pCsd, 59, 3)
#define SD_CSD_VDD_R_CURR_MAX(pCsd)   SD_CSD(pCsd, 56, 3)
#define SD_CSD_VDD_W_CURR_MIN(pCsd)   SD_CSD(pCsd, 53, 3)
#define SD_CSD_VDD_W_CURR_MAX(pCsd)   SD_CSD(pCsd, 50, 3)
#define SD_CSD_C_SIZE_MULT(pCsd)   SD_CSD(pCsd, 47, 3)
#define SD_CSD_ERASE_BLK_EN(pCsd)   SD_CSD(pCsd, 46, 1)
#define MMC_CSD_ERASE_BLK_EN(pCsd)   SD_CSD(pCsd, 46, 1)
#define MMC_CSD_ERASE_GRP_SIZE(pCsd)   SD_CSD(pCsd, 42, 4)
#define SD_CSD_ERASE_GRP_MULT(pCsd)   SD_CSD(pCsd, 37, 4)
#define SD_CSD_SECTOR_SIZE(pCsd)
#define SD_CSD_WP_GRP_SIZE(pCsd)   SD_CSD(pCsd, 32, 7)
#define SD_CSD_WP_GRP_ENABLE(pCsd)   SD_CSD(pCsd, 31, 1)
#define SD_CSD_R2W_FACTOR(pCsd)   SD_CSD(pCsd, 26, 3)
#define SD_CSD_WRITE_BL_LEN(pCsd)
#define SD_CSD_WRITE_BL_PARTIAL(pCsd)   SD_CSD(pCsd, 21, 1)
#define SD_CSD_CONTENT_PROT_APP(pCsd)   SD_CSD(pCsd, 16, 1)
#define SD_CSD_FILE_FORMAT_GRP(pCsd)   SD_CSD(pCsd, 15, 1)
#define SD_CSD_COPY(pCsd)   SD_CSD(pCsd, 14, 1)
#define SD_CSD_PERM_WRITE_PROTECT(pCsd)   SD_CSD(pCsd, 13, 1)
#define SD_CSD_TMP_WRITE_PROTECT(pCsd)   SD_CSD(pCsd, 12, 1)
#define SD_CSD_FILE_FORMAT(pCsd)   SD_CSD(pCsd, 10, 2)
#define MMC_CSD_ECC(pCsd)   SD_CSD(pCsd, 8, 2)
#define MMC_CSD_ECC_NONE   0
#define MMC_CSD_ECC_BCH   1
#define SD_CSD_CRC(pCsd)   SD_CSD(pCsd, 1, 7)
#define SD_CSD_MULT(pCsd)   (1 << (SD_CSD_C_SIZE_MULT(pCsd) + 2))
#define SD_CSD_BLOCKNR(pCsd)   ((SD_CSD_C_SIZE(pCsd) + 1) * SD_CSD_MULT(pCsd))
#define SD_CSD_BLOCKNR_HC(pCsd)   ((SD2_CSD_C_SIZE(pCsd) + 1) * 1024)
#define SD_CSD_BLOCK_LEN(pCsd)   (1 << SD_CSD_READ_BL_LEN(pCsd))
#define SD_CSD_TOTAL_SIZE(pCsd)   (SD_CSD_BLOCKNR(pCsd) * SD_CSD_BLOCK_LEN(pCsd))
#define SD_CSD_TOTAL_SIZE_HC(pCsd)   ((SD2_CSD_C_SIZE(pCsd) + 1) * 512* 1024)

Define Documentation

#define MMC_CSD_ECC (   pCsd  )     SD_CSD(pCsd, 8, 2)

ECC

Definition at line 281 of file sdmmc.h.

#define MMC_CSD_ECC_BCH   1

BCH, 3 correctable bits per block

Definition at line 283 of file sdmmc.h.

#define MMC_CSD_ECC_NONE   0

none

Definition at line 282 of file sdmmc.h.

#define MMC_CSD_ERASE_BLK_EN (   pCsd  )     SD_CSD(pCsd, 46, 1)

Erase single block enable

Definition at line 262 of file sdmmc.h.

#define MMC_CSD_ERASE_GRP_SIZE (   pCsd  )     SD_CSD(pCsd, 42, 4)

Erase group size

Definition at line 263 of file sdmmc.h.

#define MMC_CSD_SPEC_VERS (   pCsd  )     SD_CSD(pCsd, 122, 4)

System spec version

Definition at line 231 of file sdmmc.h.

#define MMC_CSD_SPEC_VERS_1_0   0

MMC v1.0~1.2

Definition at line 232 of file sdmmc.h.

#define MMC_CSD_SPEC_VERS_1_4   1

MMC v1.4

Definition at line 233 of file sdmmc.h.

#define MMC_CSD_SPEC_VERS_2_0   2

MMC v2.0~2.2

Definition at line 234 of file sdmmc.h.

#define MMC_CSD_SPEC_VERS_3_1   3

MMC v3.1~3.31

Definition at line 235 of file sdmmc.h.

#define MMC_CSD_SPEC_VERS_4_0   4

MMC v4.0(v4.0), v4.1~(>v4.1)

Definition at line 236 of file sdmmc.h.

#define MMC_CSD_STRUCTURE_1_0   0

MMC v1.0~1.2

Definition at line 228 of file sdmmc.h.

#define MMC_CSD_STRUCTURE_1_1   1

MMC v1.4~2.2

Definition at line 229 of file sdmmc.h.

#define MMC_CSD_STRUCTURE_1_2   2

MMC v3.1~3.31(v4.0), v4.1~(>v4.1)

Definition at line 230 of file sdmmc.h.

#define SD2_CSD_C_SIZE (   pCsd  ) 
Value:
((SD_CSD(pCsd, 64,  6) << 16) + \
        (SD_CSD(pCsd, 56,  8) << 8)  + \
        SD_CSD(pCsd, 48,  8))

Device size v2.0

Definition at line 251 of file sdmmc.h.

#define SD_CSD (   pCsd,
  field,
  bits 
)    SD_BITS32(pCsd, 128, field, bits)

CSD register access macroes (128 bits, 16 * 8 bits, 4 * 32 bits

Definition at line 224 of file sdmmc.h.

#define SD_CSD_C_SIZE (   pCsd  ) 
Value:
((SD_CSD(pCsd, 72,  2) << 10) + \
        (SD_CSD(pCsd, 64,  8) << 2)  + \
        SD_CSD(pCsd, 62,  2))

Device size

Definition at line 246 of file sdmmc.h.

#define SD_CSD_C_SIZE_MULT (   pCsd  )     SD_CSD(pCsd, 47, 3)

Device size multiplier

Definition at line 260 of file sdmmc.h.

#define SD_CSD_CCC (   pCsd  )     SD_CSD(pCsd, 84, 12)

Card command class

Definition at line 240 of file sdmmc.h.

#define SD_CSD_CONTENT_PROT_APP (   pCsd  )     SD_CSD(pCsd, 16, 1)

File format group

Definition at line 275 of file sdmmc.h.

#define SD_CSD_COPY (   pCsd  )     SD_CSD(pCsd, 14, 1)

Copy flag (OTP)

Definition at line 277 of file sdmmc.h.

#define SD_CSD_CRC (   pCsd  )     SD_CSD(pCsd, 1, 7)

CRC

Definition at line 284 of file sdmmc.h.

#define SD_CSD_DSR_IMP (   pCsd  )     SD_CSD(pCsd, 76, 1)

DSP implemented

Definition at line 245 of file sdmmc.h.

#define SD_CSD_ERASE_BLK_EN (   pCsd  )     SD_CSD(pCsd, 46, 1)

Erase single block enable

Definition at line 261 of file sdmmc.h.

#define SD_CSD_ERASE_GRP_MULT (   pCsd  )     SD_CSD(pCsd, 37, 4)

Erase group size multiplier

Definition at line 264 of file sdmmc.h.

#define SD_CSD_FILE_FORMAT (   pCsd  )     SD_CSD(pCsd, 10, 2)

File format

Definition at line 280 of file sdmmc.h.

#define SD_CSD_FILE_FORMAT_GRP (   pCsd  )     SD_CSD(pCsd, 15, 1)

File format group

Definition at line 276 of file sdmmc.h.

#define SD_CSD_NSAC (   pCsd  )     SD_CSD(pCsd, 104, 8)

Data read access-time-2 in CLK cycles

Definition at line 238 of file sdmmc.h.

#define SD_CSD_PERM_WRITE_PROTECT (   pCsd  )     SD_CSD(pCsd, 13, 1)

Permanent write protect

Definition at line 278 of file sdmmc.h.

#define SD_CSD_R2W_FACTOR (   pCsd  )     SD_CSD(pCsd, 26, 3)

Write speed factor

Definition at line 270 of file sdmmc.h.

#define SD_CSD_READ_BL_LEN (   pCsd  )     SD_CSD(pCsd, 80, 4)

Max. read data block length

Definition at line 241 of file sdmmc.h.

#define SD_CSD_READ_BL_PARTIAL (   pCsd  )     SD_CSD(pCsd, 79, 1)

Bartial blocks for read allowed

Definition at line 242 of file sdmmc.h.

#define SD_CSD_READ_BLK_MISALIGN (   pCsd  )     SD_CSD(pCsd, 77, 1)

Read block misalignment

Definition at line 244 of file sdmmc.h.

#define SD_CSD_SECTOR_SIZE (   pCsd  ) 
Value:
((SD_CSD(pCsd, 40,  6) << 1) \
                                        + SD_CSD(pCsd, 39,  1))

Erase sector size

Definition at line 265 of file sdmmc.h.

#define SD_CSD_STRUCTURE (   pCsd  )     SD_CSD(pCsd, 126, 2)

CSD structure

Definition at line 225 of file sdmmc.h.

#define SD_CSD_STRUCTURE_1_0   0

SD v1.01~1.10, v2.0/Std Capacity

Definition at line 226 of file sdmmc.h.

#define SD_CSD_STRUCTURE_2_0   1

SD v2.0/HC

Definition at line 227 of file sdmmc.h.

#define SD_CSD_TAAC (   pCsd  )     SD_CSD(pCsd, 112, 8)

Data read-access-time-1

Definition at line 237 of file sdmmc.h.

#define SD_CSD_TMP_WRITE_PROTECT (   pCsd  )     SD_CSD(pCsd, 12, 1)

Temporary write protection

Definition at line 279 of file sdmmc.h.

#define SD_CSD_TRAN_SPEED (   pCsd  )     SD_CSD(pCsd, 96, 8)

Max. data transfer rate

Definition at line 239 of file sdmmc.h.

#define SD_CSD_VDD_R_CURR_MAX (   pCsd  )     SD_CSD(pCsd, 56, 3)

Max. read current VDD max

Definition at line 257 of file sdmmc.h.

#define SD_CSD_VDD_R_CURR_MIN (   pCsd  )     SD_CSD(pCsd, 59, 3)

Max. read current VDD min

Definition at line 256 of file sdmmc.h.

#define SD_CSD_VDD_W_CURR_MAX (   pCsd  )     SD_CSD(pCsd, 50, 3)

Max. write current VDD max

Definition at line 259 of file sdmmc.h.

#define SD_CSD_VDD_W_CURR_MIN (   pCsd  )     SD_CSD(pCsd, 53, 3)

Max. write current VDD min

Definition at line 258 of file sdmmc.h.

#define SD_CSD_WP_GRP_ENABLE (   pCsd  )     SD_CSD(pCsd, 31, 1)

write protect group enable

Definition at line 269 of file sdmmc.h.

#define SD_CSD_WP_GRP_SIZE (   pCsd  )     SD_CSD(pCsd, 32, 7)

Write protect group size

Definition at line 268 of file sdmmc.h.

#define SD_CSD_WRITE_BL_LEN (   pCsd  ) 
Value:
((SD_CSD(pCsd, 24,  2) << 2) \
                                        + SD_CSD(pCsd, 22,  2))

Max write block length

Definition at line 271 of file sdmmc.h.

#define SD_CSD_WRITE_BL_PARTIAL (   pCsd  )     SD_CSD(pCsd, 21, 1)

Partial blocks for write allowed

Definition at line 274 of file sdmmc.h.

#define SD_CSD_WRITE_BLK_MISALIGN (   pCsd  )     SD_CSD(pCsd, 78, 1)

Write block misalignment

Definition at line 243 of file sdmmc.h.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines