[U-Boot] [PATCH 6/6] EA20: do not use subpage write for NAND

Stefano Babic
2011-04-12T09:44:26Z

On 04/11/2011 09:16 PM, Scott Wood wrote:
> This only controls the davinci driver, so it should be
> CONFIG_SYS_DAVINCI_NAND_NO_SUBPAGE.
>
> Is this really board-specific?

No, really not.

> Does the davinci driver ever support
> subpage?

No, it does not. This problem affects all boards using the davinci NAND
controller. At least with 850 or OMAP-l1 processors, that I have tested.

>> @@ -193,7 +193,8 @@ typedef enum {
>> && (chip->page_shift > 9))
>>
>> /* Mask to zero out the chip options, which come from the id table */
>> -#define NAND_CHIPOPTIONS_MSK (0x0000ffff & ~NAND_NO_AUTOINCR)
>> +#define NAND_CHIPOPTIONS_MSK (0x0000ffff & ~NAND_NO_AUTOINCR & \
>> + ~NAND_NO_SUBPAGE_WRITE)
>
> I wonder what we really need CHIPOPTIONS_MSK for? Silently ignoring what
> the driver asked for doesn't seem right. Can't we just OR the two
> sources? And it would be a driver error to specify a flag that doesn't
> make sense to be set this way (i.e. only do it with the "doesn't support
> X" flags).

Ben reports quite the same issue, as this patch mixes chip options with
NAND controller capabilities.

Probably it is better as I answered to Ben to use
CONFIG_SYS_DAVINCI_NAND_NO_SUBPAGE in nand_base.c to switch off subpage
access instead of setting the chip as not able to handle subpages,
changing the NAND_CHIPOPTIONS_MSK.

Best regards,
Stefano Babic

--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================