• 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***************************
    ") ;
    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 就说明注册成功。






  • 相关阅读:
    [背包]JZOJ 3232 【佛山市选2013】排列
    内核空间、用户空间、虚拟地址
    进程与线程的概念
    Python中字符串颜色
    socket编程
    模块与包
    常用模块
    面向对象进阶
    面向对象编程
    函数式编程
  • 原文地址:https://www.cnblogs.com/chenfulin5/p/5848512.html
Copyright © 2020-2023  润新知