[PATCH v3 2/3] mtd: nand: mxc_nand: implement exec_op

Sascha Hauer s.hauer at pengutronix.de
Thu May 16 04:36:42 PDT 2024


On Thu, May 16, 2024 at 12:44:05PM +0200, Miquel Raynal wrote:
> Hi Sascha,
> 
> s.hauer at pengutronix.de wrote on Thu, 16 May 2024 12:25:43 +0200:
> 
> > On Thu, May 16, 2024 at 10:32:14AM +0200, Miquel Raynal wrote:
> > > Hi Sascha,
> > >   
> > > > +static const struct nand_op_parser mxcnd_op_parser = NAND_OP_PARSER(
> > > > +	NAND_OP_PARSER_PATTERN(mxcnd_do_exec_op,
> > > > +			       NAND_OP_PARSER_PAT_CMD_ELEM(false),
> > > > +			       NAND_OP_PARSER_PAT_ADDR_ELEM(true, 7),
> > > > +			       NAND_OP_PARSER_PAT_CMD_ELEM(true),
> > > > +			       NAND_OP_PARSER_PAT_WAITRDY_ELEM(true),
> > > > +			       NAND_OP_PARSER_PAT_DATA_IN_ELEM(true, MAX_DATA_SIZE)),  
> > > 
> > > CMD, ADDR, CMD, DATA is the RNDOUT pattern. So it is now working fine?  
> > 
> > Yes, RNDOUT is working now.
> 
> Excellent!
> 
> > > Or did you forget to adapt the patterns to your use case?  
> > 
> > Although it looks like the patterns from the pl35x-nand-controller.c,
> > there is one slight difference. The 'false' in the NAND_OP_PARSER_PAT_CMD_ELEM
> > above has the effect that a plain NAND_OP_PARSER_PAT_DATA_IN_ELEM is
> > disallowed.
> 
> I'm not sure I follow, the above pattern means: a single command cycle
> is supported, no?

A single command cycle indeed is and shall be supported. The
pl35x-nand-controller.c I copied this from has
NAND_OP_PARSER_PAT_CMD_ELEM(true). With all elements being optional this
also allows a single NAND_OP_PARSER_PAT_DATA_IN_ELEM()
(supported_op.data_only_read becomes true). I can't support that, so I
made the CMD mandatory.

Sascha

> 
> Miquèl
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the linux-mtd mailing list