sbc 7109-454 sd 卡启动qt系统后一直识别不了 emmc 也就是mmc1口, 一开始以为是硬件初始化的问题,后面又以为是io口复用,最后才知道是根本没有注册mmc1设备。
更改下面的代码就能把emmc 成功注册并识别。
arch/arm/mach-omap2/board-am335xevm.c

1 static void mmc0_init(int evm_id, int profile)
2 {
3 switch (evm_id) {
4 case BEAGLE_BONE_A3:
5 case BEAGLE_BONE_OLD:
6 case EVM_SK:
7 case BEAGLE_BONE_BLACK:
8 setup_pin_mux(mmc0_common_pin_mux);
9 setup_pin_mux(mmc0_cd_only_pin_mux);
10 printk("mmc0 config over by chen 2016/9/6***************************n") ;
11 break;
12 default:
13 setup_pin_mux(mmc0_common_pin_mux);
14 //setup_pin_mux(mmc0_cd_only_pin_mux);
15 //setup_pin_mux(mmc0_wp_only_pin_mux);
16 break;
17 }
18 //omap2_hsmmc_init(am335x_mmc);
19
20 return;
21 }

把
omap2_hsmmc_init(am335x_mmc); 这个函数放在mmc1_init 后面就行了。

1 static void mmc1_init(int evm_id, int profile)
2 {
3 evm_id = BEAGLE_BONE_BLACK;
4
5 ......
6
7
8 }
9 /* mmc will be initialized when mmc0_init is called */
10 omap2_hsmmc_init(am335x_mmc);
11 return;
12 }

这样的话,am335x_mmc 数组里面的值就可以全部注册上去。
进入文件系统,看一下成功没有
root@sbc-7109:~# ls /dev/mmcblk*
/dev/mmcblk0 /dev/mmcblk0p2 /dev/mmcblk1 /dev/mmcblk1boot1
/dev/mmcblk0p1 /dev/mmcblk0p3 /dev/mmcblk1boot0
看到mmcblk1 就说明注册成功。
最后
以上就是碧蓝星星最近收集整理的关于am335x sd卡启动开启识别emmc kernel 上的改动的全部内容,更多相关am335x内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复