8#define CHECK(condition) \
11 fprintf(stderr, "%s:%d: %s\n", __FILE__, __LINE__, #condition); \
18 cid[0] = 0x11u << 24 | 0x01u << 16 | 0x00u << 8 |
'0';
19 cid[1] = (uint32_t)
'0' << 24 | (uint32_t)
'4' << 16 |
'G' << 8 |
'A';
20 cid[2] = (uint32_t)
'1' << 24 | 0x02u << 16 | 0x1234u;
21 cid[3] = 0x5678u << 16 | 0x5Au << 8 | 0x01u;
53 CHECK((uint64_t)
info.sec_count * 512u == 3959422976u);
66 cid[0] = (cid[0] & 0x00FFFFFFu) | 0x15u << 24;
111 puts(
"2 emmc card test groups passed");
static board_sleep_info_t info
uint32_t emmc_card_check(const emmc_card_info_t *info)
void emmc_card_parse(const uint32_t cid[4], const uint8_t ext_csd[512], emmc_card_info_t *out)
#define EMMC_EXT_CSD_PRE_EOL_INFO
#define EMMC_EXT_CSD_CACHE_CTRL
#define EMMC_EXT_CSD_DEVICE_TYPE
@ EMMC_CARD_NO_RELIABLE_WRITE
#define EMMC_EXT_CSD_SEC_COUNT
#define EMMC_EXT_CSD_LIFE_TIME_B
#define EMMC_EXT_CSD_LIFE_TIME_A
#define EMMC_EXT_CSD_RST_N_FUNCTION
#define EMMC_EXT_CSD_WR_REL_SET
static void datasheet_ext_csd(uint8_t e[512])
static void test_datasheet_part(void)
static void datasheet_cid(uint32_t cid[4])
static void test_each_issue(void)