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 就說明註冊成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章