Lines Matching refs:op
71 static unsigned int cadence_qspi_calc_dummy(const struct spi_mem_op *op, in cadence_qspi_calc_dummy() argument
76 if (!op->dummy.nbytes || !op->dummy.buswidth) in cadence_qspi_calc_dummy()
79 dummy_clk = op->dummy.nbytes * (8 / op->dummy.buswidth); in cadence_qspi_calc_dummy()
119 const struct spi_mem_op *op) in cadence_qspi_set_protocol() argument
130 priv->dtr = op->cmd.dtr && in cadence_qspi_set_protocol()
131 (!op->addr.nbytes || op->addr.dtr) && in cadence_qspi_set_protocol()
132 (!op->data.nbytes || op->data.dtr); in cadence_qspi_set_protocol()
134 ret = cadence_qspi_buswidth_to_inst_type(op->cmd.buswidth); in cadence_qspi_set_protocol()
139 ret = cadence_qspi_buswidth_to_inst_type(op->addr.buswidth); in cadence_qspi_set_protocol()
144 ret = cadence_qspi_buswidth_to_inst_type(op->data.buswidth); in cadence_qspi_set_protocol()
386 const struct spi_mem_op *op, in cadence_qspi_setup_opcode_ext() argument
392 if (op->cmd.nbytes != 2) in cadence_qspi_setup_opcode_ext()
396 ext = op->cmd.opcode & 0xff; in cadence_qspi_setup_opcode_ext()
407 const struct spi_mem_op *op, in cadence_qspi_enable_dtr() argument
421 ret = cadence_qspi_setup_opcode_ext(priv, op, shift); in cadence_qspi_enable_dtr()
435 const struct spi_mem_op *op) in cadence_qspi_apb_command_read_setup() argument
440 ret = cadence_qspi_set_protocol(priv, op); in cadence_qspi_apb_command_read_setup()
444 ret = cadence_qspi_enable_dtr(priv, op, CQSPI_REG_OP_EXT_STIG_LSB, in cadence_qspi_apb_command_read_setup()
457 const struct spi_mem_op *op) in cadence_qspi_apb_command_read() argument
463 unsigned int rxlen = op->data.nbytes; in cadence_qspi_apb_command_read()
464 void *rxbuf = op->data.buf.in; in cadence_qspi_apb_command_read()
469 opcode = op->cmd.opcode >> 8; in cadence_qspi_apb_command_read()
471 opcode = op->cmd.opcode; in cadence_qspi_apb_command_read()
476 dummy_clk = cadence_qspi_calc_dummy(op, priv->dtr); in cadence_qspi_apb_command_read()
491 if (op->addr.nbytes) { in cadence_qspi_apb_command_read()
492 writel(op->addr.val, priv->regbase + CQSPI_REG_CMDADDRESS); in cadence_qspi_apb_command_read()
496 reg |= (((op->addr.nbytes - 1) & in cadence_qspi_apb_command_read()
523 const struct spi_mem_op *op) in cadence_qspi_apb_command_write_setup() argument
528 ret = cadence_qspi_set_protocol(priv, op); in cadence_qspi_apb_command_write_setup()
532 ret = cadence_qspi_enable_dtr(priv, op, CQSPI_REG_OP_EXT_STIG_LSB, in cadence_qspi_apb_command_write_setup()
545 const struct spi_mem_op *op) in cadence_qspi_apb_command_write() argument
551 unsigned int txlen = op->data.nbytes; in cadence_qspi_apb_command_write()
552 const void *txbuf = op->data.buf.out; in cadence_qspi_apb_command_write()
557 opcode = op->cmd.opcode >> 8; in cadence_qspi_apb_command_write()
559 opcode = op->cmd.opcode; in cadence_qspi_apb_command_write()
564 if (op->addr.nbytes) { in cadence_qspi_apb_command_write()
565 writel(op->addr.val, priv->regbase + CQSPI_REG_CMDADDRESS); in cadence_qspi_apb_command_write()
569 reg |= (((op->addr.nbytes - 1) & in cadence_qspi_apb_command_write()
576 dummy_clk = cadence_qspi_calc_dummy(op, priv->dtr); in cadence_qspi_apb_command_write()
610 const struct spi_mem_op *op) in cadence_qspi_apb_read_setup() argument
615 unsigned int dummy_bytes = op->dummy.nbytes; in cadence_qspi_apb_read_setup()
619 ret = cadence_qspi_set_protocol(priv, op); in cadence_qspi_apb_read_setup()
623 ret = cadence_qspi_enable_dtr(priv, op, CQSPI_REG_OP_EXT_READ_LSB, in cadence_qspi_apb_read_setup()
634 opcode = op->cmd.opcode >> 8; in cadence_qspi_apb_read_setup()
636 opcode = op->cmd.opcode; in cadence_qspi_apb_read_setup()
641 writel(op->addr.val, priv->regbase + CQSPI_REG_INDIRECTRDSTARTADDR); in cadence_qspi_apb_read_setup()
645 dummy_clk = cadence_qspi_calc_dummy(op, priv->dtr); in cadence_qspi_apb_read_setup()
660 reg |= (op->addr.nbytes - 1); in cadence_qspi_apb_read_setup()
759 const struct spi_mem_op *op) in cadence_qspi_apb_read_execute() argument
761 u64 from = op->addr.val; in cadence_qspi_apb_read_execute()
762 void *buf = op->data.buf.in; in cadence_qspi_apb_read_execute()
763 size_t len = op->data.nbytes; in cadence_qspi_apb_read_execute()
782 const struct spi_mem_op *op) in cadence_qspi_apb_write_setup() argument
788 ret = cadence_qspi_set_protocol(priv, op); in cadence_qspi_apb_write_setup()
792 ret = cadence_qspi_enable_dtr(priv, op, CQSPI_REG_OP_EXT_WRITE_LSB, in cadence_qspi_apb_write_setup()
803 opcode = op->cmd.opcode >> 8; in cadence_qspi_apb_write_setup()
805 opcode = op->cmd.opcode; in cadence_qspi_apb_write_setup()
815 writel(op->addr.val, priv->regbase + CQSPI_REG_INDIRECTWRSTARTADDR); in cadence_qspi_apb_write_setup()
833 reg |= (op->addr.nbytes - 1); in cadence_qspi_apb_write_setup()
928 const struct spi_mem_op *op) in cadence_qspi_apb_write_execute() argument
930 u32 to = op->addr.val; in cadence_qspi_apb_write_execute()
931 const void *buf = op->data.buf.out; in cadence_qspi_apb_write_execute()
932 size_t len = op->data.nbytes; in cadence_qspi_apb_write_execute()