S5PV210(TQ210)学习笔记——Nand驱动之HWECC
时间:11-28
来源:互联网
点击:
- nand_chip->nand_chip->ecc.write_page=s5p_nand_write_page;
- nand_chip->ecc.size=512;
- nand_chip->ecc.bytes=4;
- nand_chip->ecc.strength=1;
- nand_chip->ecc.layout=&s5p_nand_oob_64;
- s5p_mtd_info->priv=nand_chip;
- s5p_mtd_info->owner=THIS_MODULE;
- //扫描Nandflash设备
- if(nand_scan(s5p_mtd_info,1)){
- dev_dbg(&pdev->dev,"nandscanerror");
- gotoerr_free_info;
- }
- //添加分区信息
- ret=mtd_device_parse_register(s5p_mtd_info,NULL,NULL,s5p_nand_partions,ARRAY_SIZE(s5p_nand_partions));
- if(!ret)
- return0;
- err_free_info:
- kfree(s5p_mtd_info);
- err_free_chip:
- kfree(nand_chip);
- err_clk_put:
- clk_disable(s5p_nand_clk);
- clk_put(s5p_nand_clk);
- err_iounmap:
- iounmap(s5p_nand_regs);
- err_exit:
- returnret;
- }
- staticints5p_nand_remove(structplatform_device*pdev){
- nand_release(s5p_mtd_info);
- kfree(s5p_mtd_info);
- kfree(nand_chip);
- clk_disable(s5p_nand_clk);
- clk_put(s5p_nand_clk);
- iounmap(s5p_nand_regs);
- return0;
- }
- staticstructplatform_drivers5p_nand_drv={
- .driver={
- .owner=THIS_MODULE,
- .name="s5p-nand",
- },
- .probe=s5p_nand_probe,
- .remove=s5p_nand_remove,
- };
- module_platform_driver(s5p_nand_drv);
- MODULE_LICENSE("GPL");
接下来的几天我会继续调试一下8位HWECC,不知道能不能调好,从天嵌技术支持那里获悉,天嵌技术人员当时也调试过8位HWECC,他们从三星的某个资料中发现S5PV210的HWECC模块只能使用1位HWECC,不知道是不是真的,我要自己来验证一下。
如果有什么问题欢迎留言讨论,转载原来那篇HWECC文章的朋友请自己修正一下吧。
S5PV210Nand驱动HWEC 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
