RE: [omap3] Nand flash initialisation error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap-
> owner@xxxxxxxxxxxxxxx] On Behalf Of GERBER Patrick
> Sent: Wednesday, September 29, 2010 7:35 PM
> To: GERBER Patrick; linux-omap@xxxxxxxxxxxxxxx
> Subject: RE : [omap3] Nand flash initialisation error
> 
> In complement to my previous mail I have found that if I only add a call
> to gpmc_cs_request the info->phys_base is well initialized.
> So I could after call the platform_device_register as usual.
[Ghorai] I am agree with your. You can - 
408   //if (platform_device_register(&omap3beagle_nand_device) < 0)
409   if (gpmc_nand_init(&omap3beagle_nand_data) < 0)
 
> 
> Anyway I still  have the bogus (but working) detection of the flash:
> 
> NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron omap2-nand.0)
> NAND bus width 8 instead 16 bit
> No NAND device found.
> NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB 1,8V
> 16-bit)
> 
> Any idea ?
[Ghorai] This is ok .. because _probe is common for all omap board. And they have different NAND in different platform; and its check for any 8x nand preset and followed by check if any 16x device preset. And code as followes.

 877 static int __devinit omap_nand_probe(struct platform_device *pdev)
..
 998         if (nand_scan(&info->mtd, 1)) {
 999                 info->nand.options ^= NAND_BUSWIDTH_16;
1000                 if (nand_scan(&info->mtd, 1)) {

>
[Ghorai] Are you still facing any issue other then this detection log?

 
> ________________________________________
> De : linux-omap-owner@xxxxxxxxxxxxxxx [linux-omap-owner@xxxxxxxxxxxxxxx]
> de la part de GERBER Patrick [Patrick.Gerber@xxxxxxxxxx]
> Date d'envoi : mercredi, 29. septembre 2010 14:05
> À : linux-omap@xxxxxxxxxxxxxxx
> Objet : [omap3] Nand flash initialisation error
> 
> Hello,
> 
> I am using 2.6.34.5 vanilla kernel on a gumstix over Fire using OMAP3530.
> I have some problems wit the nand flash (the chip on the top of the OMAP).
> The MTD partition is not created.
> 
> When booting the board code is well detecting a Nand on CS0 and call the
> platform_device_register.
> The omap_nand_probe() fail with -16 (EBUSY) after calling
> request_mem_region() with 0 as a base address.
> So the info->phys_base is not initialized.
> 
> After looking in older kernel I have tried to add a call
> gpmc_nand_init(&overo_nand_data) in my board code instead of the call to
> platform_device_register.
> With this addition the Flash is well detected and the mtd partition
> created.
> But there is some errors due to misconfiguration of the flash (bus width,
> detecting twice, ...). Of course my platform_device structure is not used
> because I have to pass only the omap_nand_platform_data struct to
> gpmc_nand_init().
> 
>  (the ## prefixed lines are personal debug addition)
> 
> ...
> Found NAND on CS0
> ## gpmc_baseaddr 0xfe000000, gpmc_cs_baseaddr 0xfe000060
> Registering NAND on CS0
> ...
> omap2-nand driver initializing
> ## omap_nand_probe
> NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron omap2-nand.0)
> NAND bus width 8 instead 16 bit
> No NAND device found.
> NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB 1,8V
> 16-bit)
> cmdlinepart partition parsing not available
> Creating 5 MTD partitions on "omap2-nand.0":
> ...
> 
> 
> I have looked on other board initialization (beagle, igep, ...)  and the
> code seems pretty similar.
> I would like to know if the call to gpmc_nand_init() is still necessary
> and why the detection is so hesitant ?
> I'd rather use the platform_device_register()  but I dont understand why
> the info->phys_base is 0 ?!?
> 
> Thanks in advance for any help.
> 
> Patrick--
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux