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? :) > > 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/ > + * 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/