On Mon, 27 Apr 2020 19:07:01 +0200 Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote: > Hi Boris, > > Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> wrote on Sun, 19 Apr > 2020 14:51:35 +0200: > > > There were a few places were raw hex values were used instead of the > > where > > > macro def. > > def? :) Will fix the commit message :-). > > > > > We also add macros to help forming the conf value (note that we still > > have one magic bit whose meaning I couldn't extract from the code), and > > add an extra macro to specify the number of DATA cycles to issue when > > the READ or WRITE flag is set. > > > > Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> > > --- > > .../mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c | 34 +++++++++++++++---- > > 1 file changed, 27 insertions(+), 7 deletions(-) > > > > diff --git a/drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c b/drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c > > index 591775173034..fbb7acebc8f7 100644 > > --- a/drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c > > +++ b/drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c > > @@ -25,12 +25,29 @@ > > #define NCTL_CMD1W 0x00080000 > > #define NCTL_READ 0x00100000 > > #define NCTL_WRITE 0x00200000 > > +/* When the SPECADDR is set CMD1 is interpreted as a single ADDR cycle */ > > #define NCTL_SPECADDR 0x01000000 > > #define NCTL_READY 0x04000000 > > #define NCTL_ERR 0x08000000 > > +/* > > + * Number of DATA cycles to issue when NCTL_{READ,WRITE} is set. The minimum > > + * value is 1 and the maximum value is 4. Those bytes are then stored in the > > + * BCMA_CC_NFLASH_DATA register. > > + */ > > +#define NCTL_DATA_CYCLES(x) ((((x) - 1) & 0x3) << 28) > > +/* > > + * The CS pin seems to be asserted even if NCTL_CSA is not set. All this bit > > + * seems to encode is whether the CS line should stay asserted after the > > + * operation has been executed. In other words, you should only set it if if > > s/it if if/it if/ > And drop this duplicate. > > + * you intend to do more operations on the NAND bus. > > + */ > > #define NCTL_CSA 0x40000000 > > #define NCTL_START 0x80000000 > > > > +#define CONF_MAGIC_BIT 0x00000002 > > +#define CONF_COL_BYTES(x) (((x) - 1) << 4) > > +#define CONF_ROW_BYTES(x) (((x) - 1) << 6) > > + > > > With the above corrected, > > Reviewed-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> > > > > Thanks, > Miquèl ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/