時(shí)時(shí)筆記丨驅動(dòng)丨迅為4412開(kāi)發(fā)板-mmc升級驅動(dòng)修改篇

發(fā)布時(shí)間:2021-8-19 15:54    發(fā)布者:就是塔塔
關(guān)鍵詞: 4412開(kāi)發(fā)板
mmc 升級之后,用戶(hù)如果使用老的鏡像(201805 月之前的代碼),會(huì )打印 mmc 的錯誤,并無(wú)法啟動(dòng)。這是因為在默認的 mmc 驅動(dòng)源碼中有幾行判斷 mmc 版本的代碼,隨著(zhù)時(shí)間流逝,mmc 硬件版本一直在升級,導致超出了預留的 mmc 版本號,其實(shí) mmc 硬件驅動(dòng)是一模一樣的,只需要注釋掉 mmc 驅動(dòng)中版本判斷的代碼即可。
本文檔適用于 iTOP-4412 精英版/全能版,iTOP-4418/6818 全能版,iTOPIMX6Q/D/UL 全能版。
1、mmc 驅動(dòng)修改
mmc 驅動(dòng)要修改的文件為內核源碼“/drivers/mmc/core/”下的 mmc.c 驅動(dòng)文件。
在該驅動(dòng)文件下找到函數“mmc_read_ext_csd”,如下圖所示。

在“mmc_read_ext_csd”函數中的判斷 mmc 硬件版本代碼部分如下圖所示。

請注意,可能在部分開(kāi)發(fā)板中已經(jīng)簡(jiǎn)單修改,但是還是存在 mmc 升級之后可能無(wú)法使用
的情況,這里可以直接將其中的版本報錯返回的代碼注釋掉。將
  1. err = -EINVAL;

    goto out;

復制代碼
直接注釋掉重新編譯是最簡(jiǎn)單的修改方法。
也可以如下所示修改,這部分判斷版本范圍直接修改為打印版本號。
  1. #if 0

    printk(KERN_ERR "%s: unrecognised EXT_CSD revision %d\n",

    mmc_hostname(card->host), card->ext_csd.rev);

    err = -EINVAL;

    goto out;

    #else

    printk(KERN_ERR "%s: EXT_CSD revision %d\n",

    mmc_hostname(card->host), card->ext_csd.rev);

    #endif

復制代碼


2、4412 的 uboot 修改
mmc 硬件升級之后,uboot 部分,除了 4412 開(kāi)發(fā)板需要簡(jiǎn)單修改,其它開(kāi)發(fā)板不影響。
將 4412 的 uboot 源碼下的 drivers/mmc 目錄下的 mmc.c 文件替換為壓縮包中
4412uboot 文件夾下的 mmc.c 文件即可。
請注意,其它開(kāi)發(fā)板不需要修改,這個(gè)驅動(dòng)文件是 4412 的源碼。

本文地址:http://selenalain.com/thread-772685-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页