________________________________________ De : linux-omap-owner@xxxxxxxxxxxxxxx [linux-omap-owner@xxxxxxxxxxxxxxx] de la part de Ghorai, Sukumar [s-ghorai@xxxxxx] Date d'envoi : vendredi, 1. octobre 2010 08:02 Objet : RE: [omap3] Nand flash initialisation error > -----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? No everything is now working fine. But I was a little bit disappointed by the detection log. But if you say that's usual I am ok ! Thank you for your help. > ________________________________________ > 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 -- 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