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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to