Lines Matching refs:ext_csd

121     void *ext_csd;  in mmc_get_ext_csd()  local
134 ext_csd = rt_malloc(512); in mmc_get_ext_csd()
135 if (!ext_csd) in mmc_get_ext_csd()
161 data.buf = ext_csd; in mmc_get_ext_csd()
179 *new_ext_csd = ext_csd; in mmc_get_ext_csd()
186 static int mmc_parse_ext_csd(struct rt_mmcsd_card *card, rt_uint8_t *ext_csd) in mmc_parse_ext_csd() argument
190 if (card == RT_NULL || ext_csd == RT_NULL) in mmc_parse_ext_csd()
198 uint8_t device_type = ext_csd[EXT_CSD_CARD_TYPE]; in mmc_parse_ext_csd()
220 if (ext_csd[EXT_CSD_STROBE_SUPPORT] != 0) in mmc_parse_ext_csd()
222 card->ext_csd.enhanced_data_strobe = 1; in mmc_parse_ext_csd()
225 card->ext_csd.cache_size = in mmc_parse_ext_csd()
226 ext_csd[EXT_CSD_CACHE_SIZE + 0] << 0 | in mmc_parse_ext_csd()
227 ext_csd[EXT_CSD_CACHE_SIZE + 1] << 8 | in mmc_parse_ext_csd()
228 ext_csd[EXT_CSD_CACHE_SIZE + 2] << 16 | in mmc_parse_ext_csd()
229 ext_csd[EXT_CSD_CACHE_SIZE + 3] << 24; in mmc_parse_ext_csd()
231 card_capacity = *((rt_uint32_t *)&ext_csd[EXT_CSD_SEC_CNT]); in mmc_parse_ext_csd()
270 rt_uint8_t *ext_csd, rt_uint32_t bus_width) in mmc_compare_ext_csds() argument
287 err = !((ext_csd[EXT_CSD_PARTITION_SUPPORT] == bw_ext_csd[EXT_CSD_PARTITION_SUPPORT]) && in mmc_compare_ext_csds()
288 (ext_csd[EXT_CSD_ERASED_MEM_CONT] == bw_ext_csd[EXT_CSD_ERASED_MEM_CONT]) && in mmc_compare_ext_csds()
289 (ext_csd[EXT_CSD_REV] == bw_ext_csd[EXT_CSD_REV]) && in mmc_compare_ext_csds()
290 (ext_csd[EXT_CSD_STRUCTURE] == bw_ext_csd[EXT_CSD_STRUCTURE]) && in mmc_compare_ext_csds()
291 (ext_csd[EXT_CSD_CARD_TYPE] == bw_ext_csd[EXT_CSD_CARD_TYPE]) && in mmc_compare_ext_csds()
292 (ext_csd[EXT_CSD_S_A_TIMEOUT] == bw_ext_csd[EXT_CSD_S_A_TIMEOUT]) && in mmc_compare_ext_csds()
293 (ext_csd[EXT_CSD_HC_WP_GRP_SIZE] == bw_ext_csd[EXT_CSD_HC_WP_GRP_SIZE]) && in mmc_compare_ext_csds()
294 (ext_csd[EXT_CSD_ERASE_TIMEOUT_MULT] == bw_ext_csd[EXT_CSD_ERASE_TIMEOUT_MULT]) && in mmc_compare_ext_csds()
295 (ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE] == bw_ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE]) && in mmc_compare_ext_csds()
296 (ext_csd[EXT_CSD_SEC_TRIM_MULT] == bw_ext_csd[EXT_CSD_SEC_TRIM_MULT]) && in mmc_compare_ext_csds()
297 (ext_csd[EXT_CSD_SEC_ERASE_MULT] == bw_ext_csd[EXT_CSD_SEC_ERASE_MULT]) && in mmc_compare_ext_csds()
298 (ext_csd[EXT_CSD_SEC_FEATURE_SUPPORT] == bw_ext_csd[EXT_CSD_SEC_FEATURE_SUPPORT]) && in mmc_compare_ext_csds()
299 (ext_csd[EXT_CSD_TRIM_MULT] == bw_ext_csd[EXT_CSD_TRIM_MULT]) && in mmc_compare_ext_csds()
300 (ext_csd[EXT_CSD_SEC_CNT + 0] == bw_ext_csd[EXT_CSD_SEC_CNT + 0]) && in mmc_compare_ext_csds()
301 (ext_csd[EXT_CSD_SEC_CNT + 1] == bw_ext_csd[EXT_CSD_SEC_CNT + 1]) && in mmc_compare_ext_csds()
302 (ext_csd[EXT_CSD_SEC_CNT + 2] == bw_ext_csd[EXT_CSD_SEC_CNT + 2]) && in mmc_compare_ext_csds()
303 (ext_csd[EXT_CSD_SEC_CNT + 3] == bw_ext_csd[EXT_CSD_SEC_CNT + 3]) && in mmc_compare_ext_csds()
304 (ext_csd[EXT_CSD_PWR_CL_52_195] == bw_ext_csd[EXT_CSD_PWR_CL_52_195]) && in mmc_compare_ext_csds()
305 (ext_csd[EXT_CSD_PWR_CL_26_195] == bw_ext_csd[EXT_CSD_PWR_CL_26_195]) && in mmc_compare_ext_csds()
306 (ext_csd[EXT_CSD_PWR_CL_52_360] == bw_ext_csd[EXT_CSD_PWR_CL_52_360]) && in mmc_compare_ext_csds()
307 (ext_csd[EXT_CSD_PWR_CL_26_360] == bw_ext_csd[EXT_CSD_PWR_CL_26_360]) && in mmc_compare_ext_csds()
308 (ext_csd[EXT_CSD_PWR_CL_200_195] == bw_ext_csd[EXT_CSD_PWR_CL_200_195]) && in mmc_compare_ext_csds()
309 (ext_csd[EXT_CSD_PWR_CL_200_360] == bw_ext_csd[EXT_CSD_PWR_CL_200_360]) && in mmc_compare_ext_csds()
310 (ext_csd[EXT_CSD_PWR_CL_DDR_52_195] == bw_ext_csd[EXT_CSD_PWR_CL_DDR_52_195]) && in mmc_compare_ext_csds()
311 (ext_csd[EXT_CSD_PWR_CL_DDR_52_360] == bw_ext_csd[EXT_CSD_PWR_CL_DDR_52_360]) && in mmc_compare_ext_csds()
312 (ext_csd[EXT_CSD_PWR_CL_DDR_200_360] == bw_ext_csd[EXT_CSD_PWR_CL_DDR_200_360])); in mmc_compare_ext_csds()
327 static int mmc_select_bus_width(struct rt_mmcsd_card *card, rt_uint8_t *ext_csd) in mmc_select_bus_width() argument
382 err = mmc_compare_ext_csds(card, ext_csd, bus_width); in mmc_select_bus_width()
526 rt_bool_t support_enhanced_ds = ((card->ext_csd.enhanced_data_strobe != 0) && in mmc_switch_to_hs400()
572 if ((card->ext_csd.enhanced_data_strobe == 0) || ((host->flags & MMCSD_SUP_ENH_DS) == 0)) in mmc_select_hs400()
619 rt_uint8_t *ext_csd = RT_NULL; in mmcsd_mmc_init_card() local
688 err = mmc_get_ext_csd(card, &ext_csd); in mmcsd_mmc_init_card()
691 err = mmc_parse_ext_csd(card, ext_csd); in mmcsd_mmc_init_card()
704 err = mmc_select_bus_width(card, ext_csd); in mmcsd_mmc_init_card()
718 if (card->ext_csd.cache_size > 0) in mmcsd_mmc_init_card()
726 rt_free(ext_csd); in mmcsd_mmc_init_card()
730 rt_free(ext_csd); in mmcsd_mmc_init_card()