免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1648 | 回复: 1
打印 上一主题 下一主题

[硬件及驱动] 关于nand_get_flash_type函数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-09-03 23:43 |只看该作者 |倒序浏览
最近在为开发板编写nand驱动,因为nandflash比较新,nand_get_flash_type不能够很好的支持。主要是在读取 块大小 ecc大小 和 page size上不能够很好的支持。
  • if (!type->pagesize) {
  •                 int extid;
  •                 /* The 3rd id byte holds MLC / multichip data */
  •                 chip->cellinfo = chip->read_byte(mtd);
  •                 /* The 4th id byte is the important one */
  •                 extid = chip->read_byte(mtd);
  •                 /* Calc pagesize */
  •                 mtd->writesize = 1024 << (extid & 0x3);
  •                 extid >>= 2;
  •                 /* Calc oobsize */
  •                 mtd->oobsize = (8 << (extid & 0x01)) * (mtd->writesize >> 9);
  •                 extid >>= 2;
  •                 /* Calc blocksize. Blocksize is multiples of 64KiB */
  •                 mtd->erasesize = (64 * 1024) << (extid & 0x03);
  •                 extid >>= 2;
  •                 /* Get buswidth information */
  •                 busw = (extid & 0x01) ? NAND_BUSWIDTH_16 : 0;
  •         } else {
  •                 /*
  •                  * Old devices have chip data hardcoded in the device id table
  •                  */
  •                 mtd->erasesize = type->erasesize;
  •                 mtd->writesize = type->pagesize;
  •                 mtd->oobsize = mtd->writesize / 32;
  •                 busw = type->options & NAND_BUSWIDTH_16;
  •         }



我觉得直接修改nand_base文件不是很好,但是如果自己在驱动里面添加识别函数,又会让驱动文件增加好多的代码,再说nand_get_flash_type这个函数是通过nand_scan_ident调用了。nand_scan_iden没什么问题。我需要调用nand_scan_ident但是不可避免的会调用nand_get_flash_type。我该怎么办?
       

论坛徽章:
0
2 [报告]
发表于 2013-09-05 12:34 |只看该作者
直接修改nand_base文件,没什么不好,反正自己做的产品,支持的FLASH就那么几款。
而且有些ECC算法就需要修改一下NAND_BASE文件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP