1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef _MMC_CORE_SD_H 3*4882a593Smuzhiyun #define _MMC_CORE_SD_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <linux/types.h> 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun extern struct device_type sd_type; 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun struct mmc_host; 10*4882a593Smuzhiyun struct mmc_card; 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun int mmc_sd_get_cid(struct mmc_host *host, u32 ocr, u32 *cid, u32 *rocr); 13*4882a593Smuzhiyun int mmc_sd_get_csd(struct mmc_host *host, struct mmc_card *card); 14*4882a593Smuzhiyun void mmc_decode_cid(struct mmc_card *card); 15*4882a593Smuzhiyun int mmc_sd_setup_card(struct mmc_host *host, struct mmc_card *card, 16*4882a593Smuzhiyun bool reinit); 17*4882a593Smuzhiyun unsigned mmc_sd_get_max_clock(struct mmc_card *card); 18*4882a593Smuzhiyun int mmc_sd_switch_hs(struct mmc_card *card); 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun #endif 21