[U-Boot-Users] [PATCH] TQM85xx: NAND support via local bus UPMB

Wolfgang Grandegger
2008-05-31T07:06:42Z

Anton Vorontsov wrote:
> On Fri, May 30, 2008 at 08:00:32PM +0200, Wolfgang Grandegger wrote:
> [...]
>> Fix that, but I can still not access the device properly. I'm a bit
>> puzzled because it uses a different algorithm to access the device.
>> While my and the Linux fsl_upm driver uses NAND_ALE, NAND_CLE and
>> friends to manage the access via hwcontrol callback, the fsl_upm driver
>> of U-Boot uses the cmdfunc callback doing different things.
>
> I wonder if your NAND chip is a large page one? Because currently
> fsl_upm_nand hardcodes OOB stuff (bad thing, but with old mtd subsystem
> I didn't find better way ;-).

On my TQM8548 there is a Micron MT29F8G08FABWP, page size 2048 + 64
bytes, block size 128K + 4K bytes.

> As for u-boot and linux doing different things... with this patch
> u-boot and linux are identical:
>
> http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot/u-boot-nand-flash.git;a=commitdiff;h=dffa9a8b31b2c21fd3a72ba1f58dd04911b95b6f
>
> This is in U-Boot's mtd-2.6.22.1 branch though. :-/ Your approach with hwctl
> seem to be more universal (for old mtd subsystem), since it doesn't duplicate
> MTD cmdfunc, thus should work for all NAND chips...

A closer look to the code confirms that.

> Could you prepare a patch that replacing fsl_upm_nand.c's current logic
> with yours (that should work for your NAND chip), and I'll test it
> on MPC8360E-RDK?

The attached preliminary patch works for me. Compared to my specific
driver, it saves start_pattern and end_pattern calls :-).
It now also supports a bus width of 8, 16 and 32 bits and width is now
in bits like in the Linux driver. I'm going to prepare a proper patch
series beginning of next week.

Wolfgang.