Commit c0ba929c authored by Miquel Raynal's avatar Miquel Raynal
Browse files

mtd: spinand: Decouple write enable and write disable operations



In order to introduce templates for all operations and not only for page
helpers (in order to introduce octal DDR support), decouple the WR_EN
and WR_DIS operations into two separate macros.

Adapt the callers accordingly.

There is no functional change.

Reviewed-by: default avatarTudor Ambarus <tudor.ambarus@linaro.org>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
parent 7a5cd761
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -362,7 +362,7 @@ static void spinand_ondie_ecc_save_status(struct nand_device *nand, u8 status)

int spinand_write_enable_op(struct spinand_device *spinand)
{
	struct spi_mem_op op = SPINAND_WR_EN_DIS_1S_0_0_OP(true);
	struct spi_mem_op op = SPINAND_WR_EN_1S_0_0_OP;

	return spi_mem_exec_op(spinand->spimem, &op);
}
+1 −1
Original line number Diff line number Diff line
@@ -138,7 +138,7 @@ static int f50l1g41lb_user_otp_info(struct spinand_device *spinand, size_t len,
static int f50l1g41lb_otp_lock(struct spinand_device *spinand, loff_t from,
			       size_t len)
{
	struct spi_mem_op write_op = SPINAND_WR_EN_DIS_1S_0_0_OP(true);
	struct spi_mem_op write_op = SPINAND_WR_EN_1S_0_0_OP;
	struct spi_mem_op exec_op = SPINAND_PROG_EXEC_1S_1S_0_OP(0);
	u8 status;
	int ret;
+1 −1
Original line number Diff line number Diff line
@@ -251,7 +251,7 @@ static int mt29f2g01abagd_user_otp_info(struct spinand_device *spinand,
static int mt29f2g01abagd_otp_lock(struct spinand_device *spinand, loff_t from,
				   size_t len)
{
	struct spi_mem_op write_op = SPINAND_WR_EN_DIS_1S_0_0_OP(true);
	struct spi_mem_op write_op = SPINAND_WR_EN_1S_0_0_OP;
	struct spi_mem_op exec_op = SPINAND_PROG_EXEC_1S_1S_0_OP(0);
	u8 status;
	int ret;
+8 −2
Original line number Diff line number Diff line
@@ -26,8 +26,14 @@
		   SPI_MEM_OP_NO_DUMMY,					\
		   SPI_MEM_OP_NO_DATA)

#define SPINAND_WR_EN_DIS_1S_0_0_OP(enable)					\
	SPI_MEM_OP(SPI_MEM_OP_CMD((enable) ? 0x06 : 0x04, 1),		\
#define SPINAND_WR_EN_1S_0_0_OP						\
	SPI_MEM_OP(SPI_MEM_OP_CMD(0x06, 1),				\
		   SPI_MEM_OP_NO_ADDR,					\
		   SPI_MEM_OP_NO_DUMMY,					\
		   SPI_MEM_OP_NO_DATA)

#define SPINAND_WR_DIS_1S_0_0_OP					\
	SPI_MEM_OP(SPI_MEM_OP_CMD(0x04, 1),				\
		   SPI_MEM_OP_NO_ADDR,					\
		   SPI_MEM_OP_NO_DUMMY,					\
		   SPI_MEM_OP_NO_DATA)