RE : [omap3] Nand flash initialisation error

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

 



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.

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 ?

________________________________________
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


[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