zoukankan      html  css  js  c++  java
  • iTOP-4412开发板-驱动-mmc升级驱动修改(你对了吗?)

    mmc 升级之后,用户如果使用老的镜像(201805 月之前的代码),会打印 mmc 的错
    误,并无法启动。这是因为在默认的 mmc 驱动源码中有几行判断 mmc 版本的代码,随着时
    间流逝,mmc 硬件版本一直在升级,导致超出了预留的 mmc 版本号,其实 mmc 硬件驱动
    是一模一样的,只需要注释掉 mmc 驱动中版本判断的代码即可。
    本文档适用于 iTOP-4412 精英版/全能版,iTOP-4418/6818 全能版,iTOP-
    IMX6Q/D/UL 全能版。
    1 mmc 驱动修改
    mmc 驱动要修改的文件为内核源码“/drivers/mmc/core/”下的 mmc.c 驱动文件。
    在该驱动文件下找到函数“mmc_read_ext_csd”,如下图所示。

    在“mmc_read_ext_csd”函数中的判断 mmc 硬件版本代码部分如下图所示。

    请注意,可能在部分开发板中已经简单修改,但是还是存在 mmc 升级之后可能无法使用
    的情况,这里可以直接将其中的版本报错返回的代码注释掉。将
    err = -EINVAL;

    goto out;
    直接注释掉重新编译是最简单的修改方法。
    也可以如下所示修改,这部分判断版本范围直接修改为打印版本号。
    #if 0
    printk(KERN_ERR "%s: unrecognised EXT_CSD revision %d ",
    mmc_hostname(card->host), card->ext_csd.rev);
    err = -EINVAL;
    goto out;
    #else
    printk(KERN_ERR "%s: EXT_CSD revision %d ",
    mmc_hostname(card->host), card->ext_csd.rev);
    #endif
    2 4412 的 uboot 修改
    mmc 硬件升级之后,uboot 部分,除了 4412 开发板需要简单修改,其它开发板不影
    响。
    将 4412 的 uboot 源码下的 drivers/mmc 目录下的 mmc.c 文件替换为压缩包中
    4412uboot 文件夹下的 mmc.c 文件即可。
    请注意,其它开发板不需要修改,这个驱动文件是 4412 的源码。

    详情了解:http://topeetboard.com/ 更多了解:https://arm-board.taobao.com/

  • 相关阅读:
    curl常用选项
    cuda
    mysql 备份文件.xbstream 恢复到本地
    firewall 常用命令(update...)
    ownCloud 研究笔记(update...)
    V3
    English trip EM3-LP-3A ROOMMATES Teacher:Corrine
    V3
    English trip EM3-LP-5A Shopping Teacher:Taylor
    新概念 Lesson 11 Which book?
  • 原文地址:https://www.cnblogs.com/linda332/p/9282383.html
Copyright © 2011-2022 走看看