Help needed with MTD on AT91SAM9263-EK please.
James
jamessteward at optusnet.com.au
Thu May 29 22:05:27 EDT 2008
On Thu, 2008-05-29 at 16:46 +1000, James wrote:
> On Thu, 2008-05-29 at 08:41 +0200, Richard Genoud wrote:
> > ok, so this must be a hardware problem...
>
> I've emailed Atmel. I suspect a chip has undergone a dies shrink and
> now there's a timing spec that's violated, unless I've got 2-3 boards
> all with the same hardware problem.
No response yet from Atmel.
> I'll look through the EBI timing setup and the chip requirements when I
> get another moment.
I made the chip timing excessively long/slow and the problems seem to
have disappeared!
At the moment I have..
(arch/arm/mach-at91/at91sam9263_devices.c)
/* set the bus interface characteristics */
at91_sys_write(AT91_SMC_SETUP(3),
AT91_SMC_NWESETUP_(0x1f)
| AT91_SMC_NCS_WRSETUP_(0x10)
| AT91_SMC_NRDSETUP_(0x1f)
| AT91_SMC_NCS_RDSETUP_(0x10));
at91_sys_write(AT91_SMC_PULSE(3),
AT91_SMC_NWEPULSE_(0x1f)
| AT91_SMC_NCS_WRPULSE_(0x3f)
| AT91_SMC_NRDPULSE_(0x1f)
| AT91_SMC_NCS_RDPULSE_(0x3f));
at91_sys_write(AT91_SMC_CYCLE(3),
AT91_SMC_NWECYCLE_(0x7f)
| AT91_SMC_NRDCYCLE_(0x7f));
if (data->bus_width_16)
mode = AT91_SMC_DBW_16;
else
mode = AT91_SMC_DBW_8;
at91_sys_write(AT91_SMC_MODE(3),
mode | AT91_SMC_READMODE
| AT91_SMC_WRITEMODE
| AT91_SMC_EXNWMODE_DISABLE
| AT91_SMC_TDF_(15));
which makes access times pretty slow - but seems reliable. I'll need to
learn more about the NAND chip timing requirements before refining these
to something more sensible.
Regards,
James.
More information about the linux-mtd
mailing list