macronix ONFI nand flash OTP support

Miquel RAYNAL miquel.raynal at free-electrons.com
Thu Nov 23 01:30:34 PST 2017


Hi Marek,

> >>
> >> I did check nand_do_read_ops function but it's not sending e.g.
> >> 0x30 which should be at the end of command. I'm using 4.1 kernel
> >> but checked also 4.14 and no such functionality is added even
> >> there. Nobody is using OTP area in nand flashes ;) ? Thanks for
> >> any pointers.  
> >
> > I suppose you added some tweaks to enable OTP and use
> > nand_do_read_ops, because there is currently no implementation for
> > that in the NAND framework (I think there is something in MTD layer
> > though). But must importantly, nand_do_read_ops basically calls
> > chip->ecc.read*() which is handled by the controller driver, so
> > what driver are you using ?
> >
> > How (where) did you trace the commands sent to the NAND chip ? For
> > instance, if you just looked at the arguments of ->cmdfunc(), it is
> > normal not to see any READSTART (0x30) command as it should be added
> > automatically later in the function. If the driver implements  
> > ->cmd_ctrl(), you may see there what exactly is sent to the
> > device.  
> Yes I checked ->cmdfunc() output. I think my changes would be
> beneficial for other so I'll cook some patches and post for review
> here.

Can you just tell us what controller driver are you using ?

You may want to have a look at [1], which hare the MTD hooks that I
guess you could fill with you OTP related read/writes. I think you
will also need some tweaks in nanddump (or a nandotpdump thing) to
ease the validation of the implementation.

[1]
http://elixir.free-electrons.com/linux/latest/source/include/linux/mtd/mtd.h#L314

Thank you,
Miquèl




More information about the linux-mtd mailing list