bbb u-boot mmc总线初始化分析
来源:互联网 发布:成志网络 编辑:程序博客网 时间:2024/06/06 13:05
1. arch/arm/lib/ctr0.s
.global _main
_main:
bl board_init_f
2. arch/arm/lib/spl.c
void __weak board_init_f(ulong dummy)
{
board_init_r(NULL, 0);
}
前两布应该还没有初始化串口,所以看不到打印
3. arch/arm/lib/board.c
//从这个函数开始才有打印,而且函数的开头部分也没有打印
void board_init_r(gd_t *id, ulong dest_addr)
{
puts("MMC: ");
mmc_initialize(gd->bd);
}
4. drivers/mmc.c
int mmc_initialize(bd_t *bis)
{
INIT_LIST_HEAD (&mmc_devices);
cur_dev_num = 0;
if (board_mmc_init(bis) < 0) //board_mmc_init实际调用了下面的__def_mmc_init函数
cpu_mmc_init(bis); //cpu_mmc_init确没有调用__def_mmc_init函数
print_mmc_devices(','); //打印mmc总线信息
return 0;
}
static int __def_mmc_init(bd_t *bis)
{
return -1;
}
int cpu_mmc_init(bd_t *bis) __attribute__((weak, alias("__def_mmc_init")));
int board_mmc_init(bd_t *bis) __attribute__((weak, alias("__def_mmc_init")));
5. arch/arm/cpu/armv7/am33xx/board.c
int cpu_mmc_init(bd_t *bis)
{
int ret;
ret = omap_mmc_init(0, 0, 0);
if (ret)
return ret;
return omap_mmc_init(1, 0, 0);
}
6. drivers/mmc/omap_hsmmc.c
int omap_mmc_init(int dev_index, uint host_caps_mask, uint f_max)
{
struct mmc *mmc;
mmc = &hsmmc_dev[dev_index];
sprintf(mmc->name, "OMAP SD/MMC");
mmc->send_cmd = mmc_send_cmd;
mmc->set_ios = mmc_set_ios;
mmc->init = mmc_init_setup;
mmc->getcd = NULL;
mmc_register(mmc);
}
7. drivers/mmc/mmc.c
int mmc_register(struct mmc *mmc)
{
mmc->block_dev.if_type = IF_TYPE_MMC;
mmc->block_dev.dev = cur_dev_num++;
INIT_LIST_HEAD (&mmc->link);
list_add_tail (&mmc->link, &mmc_devices);
}
- bbb u-boot mmc总线初始化分析
- bbb mmc驱动分析
- bbb u-boot do_mmcinfo
- U-BOOT支持MMC
- bbb u-boot 验证 emmc
- U-Boot and MMC/SDIO
- U-BOOT中SDRAM的初始化分析
- u-boot分析(六)----时钟初始化
- U-boot初始化阶段流程分析
- u-boot中mmc命令使用
- u-boot移植之mmc,网卡配置
- U-boot之flash初始化完全代码分析
- u-boot第一阶段初始化流程(反汇编分析)
- u-boot中nandflash初始化流程分析(转)
- Tiny210(S5PV210) U-BOOT(十一)----DDR2初始化源码分析
- u-boot中nandflash初始化流程分析(转)
- u-boot第一阶段初始化流程(反汇编分析)
- U-boot之flash初始化完全代码分析
- 我所认识的GNU make(6) -- 如何生成Makefile文件
- JBOSS EAP 6 系列五 Managed domains 管理域最主要的功能是“统一部署,统一配置”
- SzNOI c003 中缀表达式转后缀表达式
- Amr and Pins——圆的旋转
- Android开发之网络请求通信专题(二):基于HttpClient的文件上传下载
- bbb u-boot mmc总线初始化分析
- getApplication、getBaseContext、this之间的区别
- 视图的使用
- 还原餐饮的本质:极致产品
- oracle start with connect by
- shell中\cmd的作用
- VELT-0.1.3开发: Makefile
- android数据库操作
- java笔记——多线程下载