uboot 下MMC驱动

来源:互联网 发布:大鱼海棠 楸 知乎 编辑:程序博客网 时间:2024/05/17 20:28
drivers\mmc
 
static const struct blk_ops mmc_blk_ops = { .read = mmc_bread,#ifndef CONFIG_SPL_BUILD .write = mmc_bwrite, .erase = mmc_berase,#endif .select_hwpart = mmc_select_hwpart,};
 
U_BOOT_DRIVER(mmc_blk) = { .name  = "mmc_blk", .id  = UCLASS_BLK, .ops  = &mmc_blk_ops, .probe  = mmc_blk_probe,};
需要注意函数:
int mmc_bind(struct udevice *dev, struct mmc *mmc, const struct mmc_config *cfg)
int mmc_unbind(struct udevice *dev)
 
 

static int mmc_blk_probe(struct udevice *dev){ struct blk_desc *block_dev = dev_get_uclass_platdata(dev); int dev_num = block_dev->devnum; struct mmc *mmc = find_mmc_device(dev_num);

 if (!mmc)  return -ENODEV; return mmc_init(mmc);}

 
0 0
原创粉丝点击