TI中文支持网
TI专业的中文技术问题搜集分享网站

am335x nandflash 驱动

内核从SD卡启动以后后,在dmesg打印的log中,可以发现nandflash已经初始化,那么为什么我在nandflash的omap_nand_probe(struct platform_device *pdev)函数中写的一个打印语句没有执行到,还有从nandflash里边启动的时候,为什么会有mmc的log,请问这时候mmc和nand的关系是什么?

[    0.715724] bone-capemgr bone_capemgr.9: slot #4: dtbo 'cape-bone-2g-emmc1.de
[    0.715919] bone-capemgr bone_capemgr.9: slot #4: #2 overlays               [    0.716511] bone-capemgr bone_capemgr.9: slot #4: Applied #2 overlays.      [    0.716530] bone-capemgr bone_capemgr.9: loader: done slot-4 BB-BONE-EMMC-2G)
[    0.717958] OneNAND driver initializing    aaaaa                                 [    0.718170] bone-capemgr bone_capemgr.9: loader: after slot-5 BB-BONELT-HDMI)
[    0.718196] bone-capemgr bone_capemgr.9: slot #5: Requesting firmware 'cape-'
[    0.718224] bone-capemgr bone_capemgr.9: slot #5: dtbo 'cape-boneblack-hdmi-e
[    0.718775] bone-capemgr bone_capemgr.9: slot #5: #4 overlays          

  0.903142] mmc1: BKOPS_EN bit is not set                                   [    0.905585] mmc1: new high speed MMC card at address 0001                   [    0.906109] mmcblk0: mmc1:0001 MMC02G 1.78 GiB                              [    0.906323] mmcblk0boot0: mmc1:0001 MMC02G partition 1 1.00 MiB             [    0.906520] mmcblk0boot1: mmc1:0001 MMC02G partition 2 1.00 MiB             [    0.908316]  mmcblk0: p1 p2                                                 [    0.910129]  mmcblk0boot1: unknown partition table                          [    0.911527]  mmcblk0boot0: unknown partition table       

这里看到从nand里边启动显示的大小是和nand大小相同的,所以我猜这里mmc就是nand,请大神指导

Jian Zhou:

module_init()会执行platform_driver驱动注册。

只有对应的platform_device也注册了,才会执行probe()

qun zhou:

回复 Jian Zhou:

您好,我这里的问题是,我现在不知道am335x从nand中启动以后,nand的驱动是哪个文件?driver/mtd/nand/omap2.c 和/driver/mtd/onenand/omap2.c这两个文件是他的驱动吗?从log中看,

 mmc1: new high speed MMC card at address 0001                    [    0.906109] mmcblk0: mmc1:0001 MMC02G 1.78 GiB                               [    0.906323] mmcblk0boot0: mmc1:0001 MMC02G partition 1 1.00 MiB              [    0.906520] mmcblk0boot1: mmc1:0001 MMC02G partition 2 1.00 MiB              [    0.908316]  mmcblk0: p1 p2                                                  [    0.910129]  mmcblk0boot1: unknown partition table                           [    0.911527]  mmcblk0boot0: unknown partition table 

这块我怀疑就是nand驱动打印出来的log,您好,麻烦您告诉我下,nand驱动用的哪个文件,在哪儿打印出nand的大小和型号?谢谢

Jian Zhou:

回复 qun zhou:

nand驱动是driver/mtd/nand/omap2.c,omap_nand_probe()是驱动初始化函数。

你列出来的打印信息是MMC的,和NAND无关

 

qun zhou:

回复 Jian Zhou:

你好,我这列出的是我从nand启动的,并且当时没有接sd卡,并且我们是eMMCflash,板子上没有其他存储设备,只有nand,如果从SD卡上启动的话,会显示出这样的log,这里会显示SD卡的大小7.21 GiB

 create_regulator: DCDC2: Failed to create debugfs directory      [    1.788818] smartreflex smartreflex: am33xx_sr_probe: Driver initialized     [    1.799835] clock: disabling unused clocks to save power                     [    1.811187] mmc0: host does not support reading read-only switch. assuming w.[    1.821655] mmc0: new high speed SDHC card at address 1234                   [    1.827911] mmcblk0: mmc0:1234 SA08G 7.21 GiB                                [    1.834411]  mmcblk0: p1 p2                                                  [    1.839569] Detected MACID=c8:a0:30:aa:51:e8                                 [    1.844940] cpsw: Detected MACID = c8:a0:30:aa:51:ea                         [    1.850921] omap_rtc am33xx-rtc: setting system clock to 2000-01-01 00:00:01)[    1.863342] EXT3-fs (mmcblk0p2): recovery required on readonly filesystem    [    1.870483] EXT3-fs (mmcblk0p2): write access will be enabled during recovery

麻烦您帮我分析下,从nand启动不会打印出上边的log,

 mmc1: new high speed MMC card at address 0001                    [    0.906109] mmcblk0: mmc1:0001 MMC02G 1.78 GiB                               [    0.906323] mmcblk0boot0: mmc1:0001 MMC02G partition 1 1.00 MiB              [    0.906520] mmcblk0boot1: mmc1:0001 MMC02G partition 2 1.00 MiB              [    0.908316]  mmcblk0: p1 p2                                                  [    0.910129]  mmcblk0boot1: unknown partition table                           [    0.911527]  mmcblk0boot0: unknown partition table

我想这块打印出了的1.78 GiB 不会是其他的存储设备,应该是nand

qun zhou:

回复 Jian Zhou:

你好Zhou工:

还麻烦您能帮我解答下问题,刚才看到有这句话:

 MMC0 supports booting from the MMC/SD card cage and also supports booting fromeMMC/eSD/managed NAND memory devices with less than 4GB capacity.• MMC1 supports booting from eMMC/eSD/managed NAND memory device with 4GB capacity orgreater

eMMc管理nand是怎么做的呢?

Jian Zhou:

回复 qun zhou:

我想先和你确认下,你们板子上用的是NAND FLASH还是eMMC NAND?还是两者都用?

qun zhou:

回复 Jian Zhou:

只有用的是eMMC NAND

Jian Zhou:

回复 qun zhou:

是这样,你可以EMMC NAND完全理解为SD/MMC卡,和NAND/OneNAND的驱动没有任何关系的。

请问你这些打印信息是基于BB black板子还是自己做的板子?如果是BB Black,eMMC的信息就是MMC1的信息

qun zhou:

回复 Jian Zhou:

你好,是bbb的板子不是我自己做的,你好,因为我刚开始接触这块,所以不是很懂,你有emmc nand的驱动的文档吗?讲的比较详细点的,谢谢

Jian Zhou:

回复 qun zhou:

我们的eMMC驱动都是MMC的标准驱动,不需要做太多修改就可以用的。

具体代码你可以看下:\drivers\mmc\host\omap_hsmmc.c

至于驱动介绍,网上介绍也很多,可参考:http://blog.csdn.net/liuhaoyutz/article/details/17414095

赞(0)
未经允许不得转载:TI中文支持网 » am335x nandflash 驱动
分享到: 更多 (0)