Incorrect struct onfi_params definition

Kristof Provost kristof at sigsegv.be
Fri Nov 15 19:13:17 UTC 2013


On 2013-11-15 10:39:13 (-0700), Ian Lepore <ian at FreeBSD.org> wrote:
> On Wed, 2013-11-13 at 23:32 +0100, kristof at sigsegv.be wrote:
> > Hi Ian,
> > 
> > Here's my attempt at a cleaned up patch series.
> > 
> > It doesn't include the delay modifications from your nand2.diff, as that
> > didn't actually work for me.  On my OpenRD is appears that the time tick is
> > started after the NAND initialisation, leading to infinite delays.  
> > 
> 
> I'm interested in hearing more about this.  I don't quite understand
> what you mean by "time tick is started after...".  The delay-related
> changes should completely remove all use of clocks or timing.  What it
> does instead is repeatedly issue "get status" commands to the chip until
> the chip says it's done with the previous operation and ready to
> continue.  
> 
Actually, it's probably a combination of two problems.

I get a timeout while reading the parameter page, or rather, I'm
supposed to get a timeout, but nandbus_wait_ready() uses getmicrotime(),
which always returns 0. In effect it creates an infinite loop.

The fact that there's never a NAND_STATUS_RDY after the
NAND_CMD_READ_PARAMETER is interesting, but not really the point here.

As I understand it getmicrotime() (at least when FFCLOCK is not defined)
is not updated until after inittimecounter(), which is done after the
nand initialisation.

Regards,
Kristof


More information about the freebsd-embedded mailing list