From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from tango.tkos.co.il ([62.219.50.35]) by canuck.infradead.org with esmtps (Exim 4.72 #1 (Red Hat Linux)) id 1PwWvF-0007oE-ST for barebox@lists.infradead.org; Mon, 07 Mar 2011 09:40:15 +0000 Date: Mon, 7 Mar 2011 11:40:02 +0200 From: Baruch Siach Message-ID: <20110307094002.GD8042@jasper.tkos.co.il> References: <1299448398-5672-1-git-send-email-jbe@pengutronix.de> <201103071018.00650.jbe@pengutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <201103071018.00650.jbe@pengutronix.de> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: barebox-bounces@lists.infradead.org Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: Re: [RFC/PATCH v2] S3C24xx: NAND management changes to support booting from NAND To: Juergen Beisert Cc: barebox@lists.infradead.org Hi Juergen, On Mon, Mar 07, 2011 at 10:18:00AM +0100, Juergen Beisert wrote: > Juergen Beisert wrote: > > This is revision two of my patch series to make the mini2440 booting from > > NAND. This seems somehow tricky: The mini2440 with a 64 MiB NAND works fine > > here, but the one with 128 MiB does currently boot only. > > In the first patch series where some errors in page address calculation, so > > they cannot work. This patch series might do it in a correct manner, but > > now only tested on 64 MiB and 128 MiB NAND. At least booting from NAND is > > now working also from 128 MiB. But the ECC handling fails, and I have no > > idea whats wrong now: Reading the environment fails with 'err: -74'... > > Here the main question: > - what is the difference in ECC handling in the S3C2440 CPU when using > a "small page" or a "large page" NAND? > "Small page" ECC seems to work, but "large page" ECC fails. Anyone here with > more experience with S3C2440/NAND? The Linux driver works well on the large > page NANDs, but not the barebox's one. I don't have experience with the S3C2440 NAND controller, but I'm working on a similar problem in the i.MX NAND controller Linux driver. NAND chips with 2k page size work fine, but 4k devices fail in the kernel. The cause for this is the wrong nand_ecclayout. In the i.MX case, the .eccpos table was too small for the larger ECC table of the 4k devices. This caused a corruption of the OOB data at the higher level of the NAND stack. Fixing this requires upgrade to a newer kernel (I currently use 2.6.36). As the nand_s3c2410 Barebox driver (like the kernel one) has only one nand_ecclayout struct for the 512 bytes page size, this may be the cause of your problem. I hope this helps. baruch -- ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - baruch@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il - _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox