我是靠谱客的博主 碧蓝星星,最近开发中收集的这篇文章主要介绍am335x sd卡启动开启识别emmc kernel 上的改动,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 sd卡启动开启识别emmc kernel 上的改动所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(28)

评论列表共有 0 条评论

立即
投稿
返回
顶部