qspi              691 drivers/pinctrl/bcm/pinctrl-cygnus-mux.c 	CYGNUS_PIN_FUNCTION(qspi),
qspi             4725 drivers/pinctrl/sh-pfc/pfc-r8a7790.c 	SH_PFC_FUNCTION(qspi),
qspi             5396 drivers/pinctrl/sh-pfc/pfc-r8a7791.c 		SH_PFC_FUNCTION(qspi),
qspi             1976 drivers/pinctrl/sh-pfc/pfc-r8a7792.c 	SH_PFC_FUNCTION(qspi),
qspi             4592 drivers/pinctrl/sh-pfc/pfc-r8a7794.c 	SH_PFC_FUNCTION(qspi),
qspi             1234 drivers/pinctrl/tegra/pinctrl-tegra210.c 	FUNCTION(qspi),
qspi              222 drivers/spi/spi-bcm-qspi.c static inline bool has_bspi(struct bcm_qspi *qspi)
qspi              224 drivers/spi/spi-bcm-qspi.c 	return qspi->bspi_mode;
qspi              228 drivers/spi/spi-bcm-qspi.c static inline u32 bcm_qspi_read(struct bcm_qspi *qspi, enum base_type type,
qspi              231 drivers/spi/spi-bcm-qspi.c 	return bcm_qspi_readl(qspi->big_endian, qspi->base[type] + offset);
qspi              235 drivers/spi/spi-bcm-qspi.c static inline void bcm_qspi_write(struct bcm_qspi *qspi, enum base_type type,
qspi              238 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_writel(qspi->big_endian, data, qspi->base[type] + offset);
qspi              242 drivers/spi/spi-bcm-qspi.c static int bcm_qspi_bspi_busy_poll(struct bcm_qspi *qspi)
qspi              248 drivers/spi/spi-bcm-qspi.c 		if (!(bcm_qspi_read(qspi, BSPI, BSPI_BUSY_STATUS) & 1))
qspi              252 drivers/spi/spi-bcm-qspi.c 	dev_warn(&qspi->pdev->dev, "timeout waiting for !busy_status\n");
qspi              256 drivers/spi/spi-bcm-qspi.c static inline bool bcm_qspi_bspi_ver_three(struct bcm_qspi *qspi)
qspi              258 drivers/spi/spi-bcm-qspi.c 	if (qspi->bspi_maj_rev < 4)
qspi              263 drivers/spi/spi-bcm-qspi.c static void bcm_qspi_bspi_flush_prefetch_buffers(struct bcm_qspi *qspi)
qspi              265 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_bspi_busy_poll(qspi);
qspi              267 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_B0_CTRL, 1);
qspi              268 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_B1_CTRL, 1);
qspi              269 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_B0_CTRL, 0);
qspi              270 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_B1_CTRL, 0);
qspi              273 drivers/spi/spi-bcm-qspi.c static int bcm_qspi_bspi_lr_is_fifo_empty(struct bcm_qspi *qspi)
qspi              275 drivers/spi/spi-bcm-qspi.c 	return (bcm_qspi_read(qspi, BSPI, BSPI_RAF_STATUS) &
qspi              279 drivers/spi/spi-bcm-qspi.c static inline u32 bcm_qspi_bspi_lr_read_fifo(struct bcm_qspi *qspi)
qspi              281 drivers/spi/spi-bcm-qspi.c 	u32 data = bcm_qspi_read(qspi, BSPI, BSPI_RAF_READ_DATA);
qspi              284 drivers/spi/spi-bcm-qspi.c 	if (bcm_qspi_bspi_ver_three(qspi))
qspi              290 drivers/spi/spi-bcm-qspi.c static inline void bcm_qspi_bspi_lr_start(struct bcm_qspi *qspi)
qspi              292 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_bspi_busy_poll(qspi);
qspi              293 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_RAF_CTRL,
qspi              297 drivers/spi/spi-bcm-qspi.c static inline void bcm_qspi_bspi_lr_clear(struct bcm_qspi *qspi)
qspi              299 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_RAF_CTRL,
qspi              301 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_bspi_flush_prefetch_buffers(qspi);
qspi              304 drivers/spi/spi-bcm-qspi.c static void bcm_qspi_bspi_lr_data_read(struct bcm_qspi *qspi)
qspi              306 drivers/spi/spi-bcm-qspi.c 	u32 *buf = (u32 *)qspi->bspi_rf_op->data.buf.in;
qspi              309 drivers/spi/spi-bcm-qspi.c 	dev_dbg(&qspi->pdev->dev, "xfer %p rx %p rxlen %d\n", qspi->bspi_rf_op,
qspi              310 drivers/spi/spi-bcm-qspi.c 		qspi->bspi_rf_op->data.buf.in, qspi->bspi_rf_op_len);
qspi              311 drivers/spi/spi-bcm-qspi.c 	while (!bcm_qspi_bspi_lr_is_fifo_empty(qspi)) {
qspi              312 drivers/spi/spi-bcm-qspi.c 		data = bcm_qspi_bspi_lr_read_fifo(qspi);
qspi              313 drivers/spi/spi-bcm-qspi.c 		if (likely(qspi->bspi_rf_op_len >= 4) &&
qspi              315 drivers/spi/spi-bcm-qspi.c 			buf[qspi->bspi_rf_op_idx++] = data;
qspi              316 drivers/spi/spi-bcm-qspi.c 			qspi->bspi_rf_op_len -= 4;
qspi              319 drivers/spi/spi-bcm-qspi.c 			u8 *cbuf = (u8 *)&buf[qspi->bspi_rf_op_idx];
qspi              322 drivers/spi/spi-bcm-qspi.c 			while (qspi->bspi_rf_op_len) {
qspi              325 drivers/spi/spi-bcm-qspi.c 				qspi->bspi_rf_op_len--;
qspi              331 drivers/spi/spi-bcm-qspi.c static void bcm_qspi_bspi_set_xfer_params(struct bcm_qspi *qspi, u8 cmd_byte,
qspi              334 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_FLEX_MODE_ENABLE, 0);
qspi              335 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_BITS_PER_CYCLE, bpc);
qspi              336 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_BITS_PER_PHASE, bpp);
qspi              337 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_CMD_AND_MODE_BYTE, cmd_byte);
qspi              338 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_FLEX_MODE_ENABLE, flex_mode);
qspi              341 drivers/spi/spi-bcm-qspi.c static int bcm_qspi_bspi_set_flex_mode(struct bcm_qspi *qspi,
qspi              350 drivers/spi/spi-bcm-qspi.c 	dev_dbg(&qspi->pdev->dev, "set flex mode w %x addrlen %x hp %d\n",
qspi              382 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_bspi_set_xfer_params(qspi, command, bpp, bpc, flex_mode);
qspi              387 drivers/spi/spi-bcm-qspi.c static int bcm_qspi_bspi_set_override(struct bcm_qspi *qspi,
qspi              392 drivers/spi/spi-bcm-qspi.c 	u32 data = bcm_qspi_read(qspi, BSPI, BSPI_STRAP_OVERRIDE_CTRL);
qspi              394 drivers/spi/spi-bcm-qspi.c 	dev_dbg(&qspi->pdev->dev, "set override mode w %x addrlen %x hp %d\n",
qspi              426 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_STRAP_OVERRIDE_CTRL, data);
qspi              427 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_bspi_set_xfer_params(qspi, op->cmd.opcode, 0, 0, 0);
qspi              432 drivers/spi/spi-bcm-qspi.c static int bcm_qspi_bspi_set_mode(struct bcm_qspi *qspi,
qspi              440 drivers/spi/spi-bcm-qspi.c 	qspi->xfer_mode.flex_mode = true;
qspi              442 drivers/spi/spi-bcm-qspi.c 	if (!bcm_qspi_bspi_ver_three(qspi)) {
qspi              445 drivers/spi/spi-bcm-qspi.c 		val = bcm_qspi_read(qspi, BSPI, BSPI_STRAP_OVERRIDE_CTRL);
qspi              447 drivers/spi/spi-bcm-qspi.c 		if (val & mask || qspi->s3_strap_override_ctrl & mask) {
qspi              448 drivers/spi/spi-bcm-qspi.c 			qspi->xfer_mode.flex_mode = false;
qspi              449 drivers/spi/spi-bcm-qspi.c 			bcm_qspi_write(qspi, BSPI, BSPI_FLEX_MODE_ENABLE, 0);
qspi              450 drivers/spi/spi-bcm-qspi.c 			error = bcm_qspi_bspi_set_override(qspi, op, hp);
qspi              454 drivers/spi/spi-bcm-qspi.c 	if (qspi->xfer_mode.flex_mode)
qspi              455 drivers/spi/spi-bcm-qspi.c 		error = bcm_qspi_bspi_set_flex_mode(qspi, op, hp);
qspi              458 drivers/spi/spi-bcm-qspi.c 		dev_warn(&qspi->pdev->dev,
qspi              461 drivers/spi/spi-bcm-qspi.c 	} else if (qspi->xfer_mode.width != width ||
qspi              462 drivers/spi/spi-bcm-qspi.c 		   qspi->xfer_mode.addrlen != addrlen ||
qspi              463 drivers/spi/spi-bcm-qspi.c 		   qspi->xfer_mode.hp != hp) {
qspi              464 drivers/spi/spi-bcm-qspi.c 		qspi->xfer_mode.width = width;
qspi              465 drivers/spi/spi-bcm-qspi.c 		qspi->xfer_mode.addrlen = addrlen;
qspi              466 drivers/spi/spi-bcm-qspi.c 		qspi->xfer_mode.hp = hp;
qspi              467 drivers/spi/spi-bcm-qspi.c 		dev_dbg(&qspi->pdev->dev,
qspi              469 drivers/spi/spi-bcm-qspi.c 			qspi->curr_cs,
qspi              470 drivers/spi/spi-bcm-qspi.c 			qspi->xfer_mode.width,
qspi              471 drivers/spi/spi-bcm-qspi.c 			qspi->xfer_mode.addrlen,
qspi              472 drivers/spi/spi-bcm-qspi.c 			qspi->xfer_mode.hp != -1 ? ", hp mode" : "");
qspi              478 drivers/spi/spi-bcm-qspi.c static void bcm_qspi_enable_bspi(struct bcm_qspi *qspi)
qspi              480 drivers/spi/spi-bcm-qspi.c 	if (!has_bspi(qspi))
qspi              483 drivers/spi/spi-bcm-qspi.c 	qspi->bspi_enabled = 1;
qspi              484 drivers/spi/spi-bcm-qspi.c 	if ((bcm_qspi_read(qspi, BSPI, BSPI_MAST_N_BOOT_CTRL) & 1) == 0)
qspi              487 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_bspi_flush_prefetch_buffers(qspi);
qspi              489 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_MAST_N_BOOT_CTRL, 0);
qspi              493 drivers/spi/spi-bcm-qspi.c static void bcm_qspi_disable_bspi(struct bcm_qspi *qspi)
qspi              495 drivers/spi/spi-bcm-qspi.c 	if (!has_bspi(qspi))
qspi              498 drivers/spi/spi-bcm-qspi.c 	qspi->bspi_enabled = 0;
qspi              499 drivers/spi/spi-bcm-qspi.c 	if ((bcm_qspi_read(qspi, BSPI, BSPI_MAST_N_BOOT_CTRL) & 1))
qspi              502 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_bspi_busy_poll(qspi);
qspi              503 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_MAST_N_BOOT_CTRL, 1);
qspi              507 drivers/spi/spi-bcm-qspi.c static void bcm_qspi_chip_select(struct bcm_qspi *qspi, int cs)
qspi              512 drivers/spi/spi-bcm-qspi.c 	if (qspi->base[CHIP_SELECT]) {
qspi              513 drivers/spi/spi-bcm-qspi.c 		rd = bcm_qspi_read(qspi, CHIP_SELECT, 0);
qspi              517 drivers/spi/spi-bcm-qspi.c 		bcm_qspi_write(qspi, CHIP_SELECT, 0, wr);
qspi              521 drivers/spi/spi-bcm-qspi.c 	dev_dbg(&qspi->pdev->dev, "using cs:%d\n", cs);
qspi              522 drivers/spi/spi-bcm-qspi.c 	qspi->curr_cs = cs;
qspi              526 drivers/spi/spi-bcm-qspi.c static void bcm_qspi_hw_set_parms(struct bcm_qspi *qspi,
qspi              532 drivers/spi/spi-bcm-qspi.c 		spbr = qspi->base_clk / (2 * xp->speed_hz);
qspi              535 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, MSPI_SPCR0_LSB, spcr);
qspi              542 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, MSPI_SPCR0_MSB, spcr);
qspi              544 drivers/spi/spi-bcm-qspi.c 	qspi->last_parms = *xp;
qspi              547 drivers/spi/spi-bcm-qspi.c static void bcm_qspi_update_parms(struct bcm_qspi *qspi,
qspi              557 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_hw_set_parms(qspi, &xp);
qspi              585 drivers/spi/spi-bcm-qspi.c static bool bcm_qspi_mspi_transfer_is_last(struct bcm_qspi *qspi,
qspi              589 drivers/spi/spi-bcm-qspi.c 	    spi_transfer_is_last(qspi->master, qt->trans))
qspi              595 drivers/spi/spi-bcm-qspi.c static int update_qspi_trans_byte_count(struct bcm_qspi *qspi,
qspi              618 drivers/spi/spi-bcm-qspi.c 		dev_dbg(&qspi->pdev->dev, "advance msg exit\n");
qspi              619 drivers/spi/spi-bcm-qspi.c 		if (bcm_qspi_mspi_transfer_is_last(qspi, qt))
qspi              628 drivers/spi/spi-bcm-qspi.c 	dev_dbg(&qspi->pdev->dev, "trans %p len %d byte %d ret %x\n",
qspi              633 drivers/spi/spi-bcm-qspi.c static inline u8 read_rxram_slot_u8(struct bcm_qspi *qspi, int slot)
qspi              638 drivers/spi/spi-bcm-qspi.c 	return bcm_qspi_read(qspi, MSPI, slot_offset) & 0xff;
qspi              641 drivers/spi/spi-bcm-qspi.c static inline u16 read_rxram_slot_u16(struct bcm_qspi *qspi, int slot)
qspi              647 drivers/spi/spi-bcm-qspi.c 	return (bcm_qspi_read(qspi, MSPI, lsb_offset) & 0xff) |
qspi              648 drivers/spi/spi-bcm-qspi.c 		((bcm_qspi_read(qspi, MSPI, msb_offset) & 0xff) << 8);
qspi              651 drivers/spi/spi-bcm-qspi.c static void read_from_hw(struct bcm_qspi *qspi, int slots)
qspi              656 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_disable_bspi(qspi);
qspi              660 drivers/spi/spi-bcm-qspi.c 		dev_err(&qspi->pdev->dev, "%s: too many slots!\n", __func__);
qspi              664 drivers/spi/spi-bcm-qspi.c 	tp = qspi->trans_pos;
qspi              671 drivers/spi/spi-bcm-qspi.c 				buf[tp.byte] = read_rxram_slot_u8(qspi, slot);
qspi              672 drivers/spi/spi-bcm-qspi.c 			dev_dbg(&qspi->pdev->dev, "RD %02x\n",
qspi              678 drivers/spi/spi-bcm-qspi.c 				buf[tp.byte / 2] = read_rxram_slot_u16(qspi,
qspi              680 drivers/spi/spi-bcm-qspi.c 			dev_dbg(&qspi->pdev->dev, "RD %04x\n",
qspi              684 drivers/spi/spi-bcm-qspi.c 		update_qspi_trans_byte_count(qspi, &tp,
qspi              688 drivers/spi/spi-bcm-qspi.c 	qspi->trans_pos = tp;
qspi              691 drivers/spi/spi-bcm-qspi.c static inline void write_txram_slot_u8(struct bcm_qspi *qspi, int slot,
qspi              697 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, reg_offset, val);
qspi              700 drivers/spi/spi-bcm-qspi.c static inline void write_txram_slot_u16(struct bcm_qspi *qspi, int slot,
qspi              707 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, msb_offset, (val >> 8));
qspi              708 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, lsb_offset, (val & 0xff));
qspi              711 drivers/spi/spi-bcm-qspi.c static inline u32 read_cdram_slot(struct bcm_qspi *qspi, int slot)
qspi              713 drivers/spi/spi-bcm-qspi.c 	return bcm_qspi_read(qspi, MSPI, MSPI_CDRAM + (slot << 2));
qspi              716 drivers/spi/spi-bcm-qspi.c static inline void write_cdram_slot(struct bcm_qspi *qspi, int slot, u32 val)
qspi              718 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, (MSPI_CDRAM + (slot << 2)), val);
qspi              722 drivers/spi/spi-bcm-qspi.c static int write_to_hw(struct bcm_qspi *qspi, struct spi_device *spi)
qspi              728 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_disable_bspi(qspi);
qspi              729 drivers/spi/spi-bcm-qspi.c 	tp = qspi->trans_pos;
qspi              730 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_update_parms(qspi, spi, tp.trans);
qspi              738 drivers/spi/spi-bcm-qspi.c 			write_txram_slot_u8(qspi, slot, val);
qspi              739 drivers/spi/spi-bcm-qspi.c 			dev_dbg(&qspi->pdev->dev, "WR %02x\n", val);
qspi              744 drivers/spi/spi-bcm-qspi.c 			write_txram_slot_u16(qspi, slot, val);
qspi              745 drivers/spi/spi-bcm-qspi.c 			dev_dbg(&qspi->pdev->dev, "WR %04x\n", val);
qspi              749 drivers/spi/spi-bcm-qspi.c 		if (has_bspi(qspi))
qspi              758 drivers/spi/spi-bcm-qspi.c 		write_cdram_slot(qspi, slot, mspi_cdram);
qspi              760 drivers/spi/spi-bcm-qspi.c 		tstatus = update_qspi_trans_byte_count(qspi, &tp,
qspi              766 drivers/spi/spi-bcm-qspi.c 		dev_err(&qspi->pdev->dev, "%s: no data to send?", __func__);
qspi              770 drivers/spi/spi-bcm-qspi.c 	dev_dbg(&qspi->pdev->dev, "submitting %d slots\n", slot);
qspi              771 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, MSPI_NEWQP, 0);
qspi              772 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, MSPI_ENDQP, slot - 1);
qspi              775 drivers/spi/spi-bcm-qspi.c 		mspi_cdram = read_cdram_slot(qspi, slot - 1) &
qspi              777 drivers/spi/spi-bcm-qspi.c 		write_cdram_slot(qspi, slot - 1, mspi_cdram);
qspi              780 drivers/spi/spi-bcm-qspi.c 	if (has_bspi(qspi))
qspi              781 drivers/spi/spi-bcm-qspi.c 		bcm_qspi_write(qspi, MSPI, MSPI_WRITE_LOCK, 1);
qspi              786 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, MSPI_SPCR2, 0xe0);
qspi              795 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi *qspi = spi_master_get_devdata(spi->master);
qspi              799 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi_soc_intc *soc_intc = qspi->soc_intc;
qspi              801 drivers/spi/spi-bcm-qspi.c 	if (bcm_qspi_bspi_ver_three(qspi))
qspi              806 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_chip_select(qspi, spi->chip_select);
qspi              807 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, MSPI_WRITE_LOCK, 0);
qspi              813 drivers/spi/spi-bcm-qspi.c 	if (bcm_qspi_bspi_ver_three(qspi) == false) {
qspi              815 drivers/spi/spi-bcm-qspi.c 		bcm_qspi_write(qspi, BSPI,
qspi              819 drivers/spi/spi-bcm-qspi.c 	if (!qspi->xfer_mode.flex_mode)
qspi              824 drivers/spi/spi-bcm-qspi.c 	if (bcm_qspi_bspi_ver_three(qspi) == true)
qspi              832 drivers/spi/spi-bcm-qspi.c 	qspi->bspi_rf_op_idx = 0;
qspi              840 drivers/spi/spi-bcm-qspi.c 		reinit_completion(&qspi->bspi_done);
qspi              841 drivers/spi/spi-bcm-qspi.c 		bcm_qspi_enable_bspi(qspi);
qspi              843 drivers/spi/spi-bcm-qspi.c 		qspi->bspi_rf_op = op;
qspi              844 drivers/spi/spi-bcm-qspi.c 		qspi->bspi_rf_op_status = 0;
qspi              845 drivers/spi/spi-bcm-qspi.c 		qspi->bspi_rf_op_len = rdlen;
qspi              846 drivers/spi/spi-bcm-qspi.c 		dev_dbg(&qspi->pdev->dev,
qspi              848 drivers/spi/spi-bcm-qspi.c 		bcm_qspi_write(qspi, BSPI, BSPI_RAF_START_ADDR, addr);
qspi              849 drivers/spi/spi-bcm-qspi.c 		bcm_qspi_write(qspi, BSPI, BSPI_RAF_NUM_WORDS, len_words);
qspi              850 drivers/spi/spi-bcm-qspi.c 		bcm_qspi_write(qspi, BSPI, BSPI_RAF_WATERMARK, 0);
qspi              851 drivers/spi/spi-bcm-qspi.c 		if (qspi->soc_intc) {
qspi              862 drivers/spi/spi-bcm-qspi.c 		bcm_qspi_bspi_lr_start(qspi);
qspi              863 drivers/spi/spi-bcm-qspi.c 		if (!wait_for_completion_timeout(&qspi->bspi_done, timeo)) {
qspi              864 drivers/spi/spi-bcm-qspi.c 			dev_err(&qspi->pdev->dev, "timeout waiting for BSPI\n");
qspi              881 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi *qspi = spi_master_get_devdata(master);
qspi              885 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_chip_select(qspi, spi->chip_select);
qspi              886 drivers/spi/spi-bcm-qspi.c 	qspi->trans_pos.trans = trans;
qspi              887 drivers/spi/spi-bcm-qspi.c 	qspi->trans_pos.byte = 0;
qspi              889 drivers/spi/spi-bcm-qspi.c 	while (qspi->trans_pos.byte < trans->len) {
qspi              890 drivers/spi/spi-bcm-qspi.c 		reinit_completion(&qspi->mspi_done);
qspi              892 drivers/spi/spi-bcm-qspi.c 		slots = write_to_hw(qspi, spi);
qspi              893 drivers/spi/spi-bcm-qspi.c 		if (!wait_for_completion_timeout(&qspi->mspi_done, timeo)) {
qspi              894 drivers/spi/spi-bcm-qspi.c 			dev_err(&qspi->pdev->dev, "timeout waiting for MSPI\n");
qspi              898 drivers/spi/spi-bcm-qspi.c 		read_from_hw(qspi, slots);
qspi              900 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_enable_bspi(qspi);
qspi              909 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi *qspi = spi_master_get_devdata(master);
qspi              928 drivers/spi/spi-bcm-qspi.c 	qspi->trans_pos.mspi_last_trans = false;
qspi              932 drivers/spi/spi-bcm-qspi.c 	qspi->trans_pos.mspi_last_trans = true;
qspi              949 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi *qspi = spi_master_get_devdata(spi->master);
qspi              963 drivers/spi/spi-bcm-qspi.c 	if (bcm_qspi_bspi_ver_three(qspi) == true) {
qspi              985 drivers/spi/spi-bcm-qspi.c 	ret = bcm_qspi_bspi_set_mode(qspi, op, 0);
qspi             1003 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi *qspi = qspi_dev_id->dev;
qspi             1004 drivers/spi/spi-bcm-qspi.c 	u32 status = bcm_qspi_read(qspi, MSPI, MSPI_MSPI_STATUS);
qspi             1007 drivers/spi/spi-bcm-qspi.c 		struct bcm_qspi_soc_intc *soc_intc = qspi->soc_intc;
qspi             1010 drivers/spi/spi-bcm-qspi.c 		bcm_qspi_write(qspi, MSPI, MSPI_MSPI_STATUS, status);
qspi             1011 drivers/spi/spi-bcm-qspi.c 		if (qspi->soc_intc)
qspi             1013 drivers/spi/spi-bcm-qspi.c 		complete(&qspi->mspi_done);
qspi             1023 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi *qspi = qspi_dev_id->dev;
qspi             1024 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi_soc_intc *soc_intc = qspi->soc_intc;
qspi             1027 drivers/spi/spi-bcm-qspi.c 	if (qspi->bspi_enabled && qspi->bspi_rf_op) {
qspi             1028 drivers/spi/spi-bcm-qspi.c 		bcm_qspi_bspi_lr_data_read(qspi);
qspi             1029 drivers/spi/spi-bcm-qspi.c 		if (qspi->bspi_rf_op_len == 0) {
qspi             1030 drivers/spi/spi-bcm-qspi.c 			qspi->bspi_rf_op = NULL;
qspi             1031 drivers/spi/spi-bcm-qspi.c 			if (qspi->soc_intc) {
qspi             1039 drivers/spi/spi-bcm-qspi.c 			if (qspi->bspi_rf_op_status)
qspi             1040 drivers/spi/spi-bcm-qspi.c 				bcm_qspi_bspi_lr_clear(qspi);
qspi             1042 drivers/spi/spi-bcm-qspi.c 				bcm_qspi_bspi_flush_prefetch_buffers(qspi);
qspi             1045 drivers/spi/spi-bcm-qspi.c 		if (qspi->soc_intc)
qspi             1051 drivers/spi/spi-bcm-qspi.c 	if (qspi->bspi_enabled && status && qspi->bspi_rf_op_len == 0)
qspi             1052 drivers/spi/spi-bcm-qspi.c 		complete(&qspi->bspi_done);
qspi             1060 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi *qspi = qspi_dev_id->dev;
qspi             1061 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi_soc_intc *soc_intc = qspi->soc_intc;
qspi             1063 drivers/spi/spi-bcm-qspi.c 	dev_err(&qspi->pdev->dev, "BSPI INT error\n");
qspi             1064 drivers/spi/spi-bcm-qspi.c 	qspi->bspi_rf_op_status = -EIO;
qspi             1065 drivers/spi/spi-bcm-qspi.c 	if (qspi->soc_intc)
qspi             1069 drivers/spi/spi-bcm-qspi.c 	complete(&qspi->bspi_done);
qspi             1076 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi *qspi = qspi_dev_id->dev;
qspi             1077 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi_soc_intc *soc_intc = qspi->soc_intc;
qspi             1142 drivers/spi/spi-bcm-qspi.c static void bcm_qspi_bspi_init(struct bcm_qspi *qspi)
qspi             1146 drivers/spi/spi-bcm-qspi.c 	val = bcm_qspi_read(qspi, BSPI, BSPI_REVISION_ID);
qspi             1147 drivers/spi/spi-bcm-qspi.c 	qspi->bspi_maj_rev = (val >> 8) & 0xff;
qspi             1148 drivers/spi/spi-bcm-qspi.c 	qspi->bspi_min_rev = val & 0xff;
qspi             1149 drivers/spi/spi-bcm-qspi.c 	if (!(bcm_qspi_bspi_ver_three(qspi))) {
qspi             1151 drivers/spi/spi-bcm-qspi.c 		bcm_qspi_write(qspi, BSPI, BSPI_BSPI_XOR_VALUE, 0);
qspi             1152 drivers/spi/spi-bcm-qspi.c 		bcm_qspi_write(qspi, BSPI, BSPI_BSPI_XOR_ENABLE, 1);
qspi             1154 drivers/spi/spi-bcm-qspi.c 	qspi->bspi_enabled = 1;
qspi             1155 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_disable_bspi(qspi);
qspi             1156 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_B0_CTRL, 0);
qspi             1157 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, BSPI, BSPI_B1_CTRL, 0);
qspi             1160 drivers/spi/spi-bcm-qspi.c static void bcm_qspi_hw_init(struct bcm_qspi *qspi)
qspi             1164 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, MSPI_SPCR1_LSB, 0);
qspi             1165 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, MSPI_SPCR1_MSB, 0);
qspi             1166 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, MSPI_NEWQP, 0);
qspi             1167 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, MSPI_ENDQP, 0);
qspi             1168 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, MSPI_SPCR2, 0x20);
qspi             1172 drivers/spi/spi-bcm-qspi.c 	parms.speed_hz = qspi->max_speed_hz;
qspi             1173 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_hw_set_parms(qspi, &parms);
qspi             1175 drivers/spi/spi-bcm-qspi.c 	if (has_bspi(qspi))
qspi             1176 drivers/spi/spi-bcm-qspi.c 		bcm_qspi_bspi_init(qspi);
qspi             1179 drivers/spi/spi-bcm-qspi.c static void bcm_qspi_hw_uninit(struct bcm_qspi *qspi)
qspi             1181 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_write(qspi, MSPI, MSPI_SPCR2, 0);
qspi             1182 drivers/spi/spi-bcm-qspi.c 	if (has_bspi(qspi))
qspi             1183 drivers/spi/spi-bcm-qspi.c 		bcm_qspi_write(qspi, MSPI, MSPI_WRITE_LOCK, 0);
qspi             1201 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi *qspi;
qspi             1222 drivers/spi/spi-bcm-qspi.c 	qspi = spi_master_get_devdata(master);
qspi             1224 drivers/spi/spi-bcm-qspi.c 	qspi->clk = devm_clk_get_optional(&pdev->dev, NULL);
qspi             1225 drivers/spi/spi-bcm-qspi.c 	if (IS_ERR(qspi->clk))
qspi             1226 drivers/spi/spi-bcm-qspi.c 		return PTR_ERR(qspi->clk);
qspi             1228 drivers/spi/spi-bcm-qspi.c 	qspi->pdev = pdev;
qspi             1229 drivers/spi/spi-bcm-qspi.c 	qspi->trans_pos.trans = NULL;
qspi             1230 drivers/spi/spi-bcm-qspi.c 	qspi->trans_pos.byte = 0;
qspi             1231 drivers/spi/spi-bcm-qspi.c 	qspi->trans_pos.mspi_last_trans = true;
qspi             1232 drivers/spi/spi-bcm-qspi.c 	qspi->master = master;
qspi             1243 drivers/spi/spi-bcm-qspi.c 	qspi->big_endian = of_device_is_big_endian(dev->of_node);
qspi             1254 drivers/spi/spi-bcm-qspi.c 		qspi->base[MSPI]  = devm_ioremap_resource(dev, res);
qspi             1255 drivers/spi/spi-bcm-qspi.c 		if (IS_ERR(qspi->base[MSPI])) {
qspi             1256 drivers/spi/spi-bcm-qspi.c 			ret = PTR_ERR(qspi->base[MSPI]);
qspi             1265 drivers/spi/spi-bcm-qspi.c 		qspi->base[BSPI]  = devm_ioremap_resource(dev, res);
qspi             1266 drivers/spi/spi-bcm-qspi.c 		if (IS_ERR(qspi->base[BSPI])) {
qspi             1267 drivers/spi/spi-bcm-qspi.c 			ret = PTR_ERR(qspi->base[BSPI]);
qspi             1270 drivers/spi/spi-bcm-qspi.c 		qspi->bspi_mode = true;
qspi             1272 drivers/spi/spi-bcm-qspi.c 		qspi->bspi_mode = false;
qspi             1275 drivers/spi/spi-bcm-qspi.c 	dev_info(dev, "using %smspi mode\n", qspi->bspi_mode ? "bspi-" : "");
qspi             1279 drivers/spi/spi-bcm-qspi.c 		qspi->base[CHIP_SELECT]  = devm_ioremap_resource(dev, res);
qspi             1280 drivers/spi/spi-bcm-qspi.c 		if (IS_ERR(qspi->base[CHIP_SELECT])) {
qspi             1281 drivers/spi/spi-bcm-qspi.c 			ret = PTR_ERR(qspi->base[CHIP_SELECT]);
qspi             1286 drivers/spi/spi-bcm-qspi.c 	qspi->dev_ids = kcalloc(num_irqs, sizeof(struct bcm_qspi_dev_id),
qspi             1288 drivers/spi/spi-bcm-qspi.c 	if (!qspi->dev_ids) {
qspi             1308 drivers/spi/spi-bcm-qspi.c 					       &qspi->dev_ids[val]);
qspi             1314 drivers/spi/spi-bcm-qspi.c 			qspi->dev_ids[val].dev = qspi;
qspi             1315 drivers/spi/spi-bcm-qspi.c 			qspi->dev_ids[val].irqp = &qspi_irq_tab[val];
qspi             1334 drivers/spi/spi-bcm-qspi.c 		qspi->soc_intc = soc_intc;
qspi             1337 drivers/spi/spi-bcm-qspi.c 		qspi->soc_intc = NULL;
qspi             1340 drivers/spi/spi-bcm-qspi.c 	ret = clk_prepare_enable(qspi->clk);
qspi             1346 drivers/spi/spi-bcm-qspi.c 	qspi->base_clk = clk_get_rate(qspi->clk);
qspi             1347 drivers/spi/spi-bcm-qspi.c 	qspi->max_speed_hz = qspi->base_clk / (QSPI_SPBR_MIN * 2);
qspi             1349 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_hw_init(qspi);
qspi             1350 drivers/spi/spi-bcm-qspi.c 	init_completion(&qspi->mspi_done);
qspi             1351 drivers/spi/spi-bcm-qspi.c 	init_completion(&qspi->bspi_done);
qspi             1352 drivers/spi/spi-bcm-qspi.c 	qspi->curr_cs = -1;
qspi             1354 drivers/spi/spi-bcm-qspi.c 	platform_set_drvdata(pdev, qspi);
qspi             1356 drivers/spi/spi-bcm-qspi.c 	qspi->xfer_mode.width = -1;
qspi             1357 drivers/spi/spi-bcm-qspi.c 	qspi->xfer_mode.addrlen = -1;
qspi             1358 drivers/spi/spi-bcm-qspi.c 	qspi->xfer_mode.hp = -1;
qspi             1369 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_hw_uninit(qspi);
qspi             1370 drivers/spi/spi-bcm-qspi.c 	clk_disable_unprepare(qspi->clk);
qspi             1372 drivers/spi/spi-bcm-qspi.c 	kfree(qspi->dev_ids);
qspi             1382 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi *qspi = platform_get_drvdata(pdev);
qspi             1384 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_hw_uninit(qspi);
qspi             1385 drivers/spi/spi-bcm-qspi.c 	clk_disable_unprepare(qspi->clk);
qspi             1386 drivers/spi/spi-bcm-qspi.c 	kfree(qspi->dev_ids);
qspi             1387 drivers/spi/spi-bcm-qspi.c 	spi_unregister_master(qspi->master);
qspi             1396 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi *qspi = dev_get_drvdata(dev);
qspi             1399 drivers/spi/spi-bcm-qspi.c 	if (!bcm_qspi_bspi_ver_three(qspi))
qspi             1400 drivers/spi/spi-bcm-qspi.c 		qspi->s3_strap_override_ctrl =
qspi             1401 drivers/spi/spi-bcm-qspi.c 			bcm_qspi_read(qspi, BSPI, BSPI_STRAP_OVERRIDE_CTRL);
qspi             1403 drivers/spi/spi-bcm-qspi.c 	spi_master_suspend(qspi->master);
qspi             1404 drivers/spi/spi-bcm-qspi.c 	clk_disable(qspi->clk);
qspi             1405 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_hw_uninit(qspi);
qspi             1412 drivers/spi/spi-bcm-qspi.c 	struct bcm_qspi *qspi = dev_get_drvdata(dev);
qspi             1415 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_hw_init(qspi);
qspi             1416 drivers/spi/spi-bcm-qspi.c 	bcm_qspi_chip_select(qspi, qspi->curr_cs);
qspi             1417 drivers/spi/spi-bcm-qspi.c 	if (qspi->soc_intc)
qspi             1419 drivers/spi/spi-bcm-qspi.c 		qspi->soc_intc->bcm_qspi_int_set(qspi->soc_intc, MSPI_DONE,
qspi             1422 drivers/spi/spi-bcm-qspi.c 	ret = clk_enable(qspi->clk);
qspi             1424 drivers/spi/spi-bcm-qspi.c 		spi_master_resume(qspi->master);
qspi               92 drivers/spi/spi-stm32-qspi.c 	struct stm32_qspi *qspi;
qspi              126 drivers/spi/spi-stm32-qspi.c 	struct stm32_qspi *qspi = (struct stm32_qspi *)dev_id;
qspi              129 drivers/spi/spi-stm32-qspi.c 	sr = readl_relaxed(qspi->io_base + QSPI_SR);
qspi              133 drivers/spi/spi-stm32-qspi.c 		cr = readl_relaxed(qspi->io_base + QSPI_CR);
qspi              135 drivers/spi/spi-stm32-qspi.c 		writel_relaxed(cr, qspi->io_base + QSPI_CR);
qspi              136 drivers/spi/spi-stm32-qspi.c 		complete(&qspi->data_completion);
qspi              152 drivers/spi/spi-stm32-qspi.c static int stm32_qspi_tx_poll(struct stm32_qspi *qspi,
qspi              170 drivers/spi/spi-stm32-qspi.c 		ret = readl_relaxed_poll_timeout_atomic(qspi->io_base + QSPI_SR,
qspi              174 drivers/spi/spi-stm32-qspi.c 			dev_err(qspi->dev, "fifo timeout (len:%d stat:%#x)\n",
qspi              178 drivers/spi/spi-stm32-qspi.c 		tx_fifo(buf++, qspi->io_base + QSPI_DR);
qspi              184 drivers/spi/spi-stm32-qspi.c static int stm32_qspi_tx_mm(struct stm32_qspi *qspi,
qspi              187 drivers/spi/spi-stm32-qspi.c 	memcpy_fromio(op->data.buf.in, qspi->mm_base + op->addr.val,
qspi              199 drivers/spi/spi-stm32-qspi.c static int stm32_qspi_tx_dma(struct stm32_qspi *qspi,
qspi              212 drivers/spi/spi-stm32-qspi.c 		dma_ch = qspi->dma_chrx;
qspi              215 drivers/spi/spi-stm32-qspi.c 		dma_ch = qspi->dma_chtx;
qspi              222 drivers/spi/spi-stm32-qspi.c 	err = spi_controller_dma_map_mem_op_data(qspi->ctrl, op, &sgt);
qspi              233 drivers/spi/spi-stm32-qspi.c 	cr = readl_relaxed(qspi->io_base + QSPI_CR);
qspi              235 drivers/spi/spi-stm32-qspi.c 	reinit_completion(&qspi->dma_completion);
qspi              237 drivers/spi/spi-stm32-qspi.c 	desc->callback_param = &qspi->dma_completion;
qspi              245 drivers/spi/spi-stm32-qspi.c 	writel_relaxed(cr | CR_DMAEN, qspi->io_base + QSPI_CR);
qspi              248 drivers/spi/spi-stm32-qspi.c 	if (!wait_for_completion_timeout(&qspi->dma_completion,
qspi              256 drivers/spi/spi-stm32-qspi.c 	writel_relaxed(cr & ~CR_DMAEN, qspi->io_base + QSPI_CR);
qspi              258 drivers/spi/spi-stm32-qspi.c 	spi_controller_dma_unmap_mem_op_data(qspi->ctrl, op, &sgt);
qspi              263 drivers/spi/spi-stm32-qspi.c static int stm32_qspi_tx(struct stm32_qspi *qspi, const struct spi_mem_op *op)
qspi              268 drivers/spi/spi-stm32-qspi.c 	if (qspi->fmode == CCR_FMODE_MM)
qspi              269 drivers/spi/spi-stm32-qspi.c 		return stm32_qspi_tx_mm(qspi, op);
qspi              270 drivers/spi/spi-stm32-qspi.c 	else if ((op->data.dir == SPI_MEM_DATA_IN && qspi->dma_chrx) ||
qspi              271 drivers/spi/spi-stm32-qspi.c 		 (op->data.dir == SPI_MEM_DATA_OUT && qspi->dma_chtx))
qspi              272 drivers/spi/spi-stm32-qspi.c 		if (!stm32_qspi_tx_dma(qspi, op))
qspi              275 drivers/spi/spi-stm32-qspi.c 	return stm32_qspi_tx_poll(qspi, op);
qspi              278 drivers/spi/spi-stm32-qspi.c static int stm32_qspi_wait_nobusy(struct stm32_qspi *qspi)
qspi              282 drivers/spi/spi-stm32-qspi.c 	return readl_relaxed_poll_timeout_atomic(qspi->io_base + QSPI_SR, sr,
qspi              287 drivers/spi/spi-stm32-qspi.c static int stm32_qspi_wait_cmd(struct stm32_qspi *qspi,
qspi              294 drivers/spi/spi-stm32-qspi.c 		return stm32_qspi_wait_nobusy(qspi);
qspi              296 drivers/spi/spi-stm32-qspi.c 	if (readl_relaxed(qspi->io_base + QSPI_SR) & SR_TCF)
qspi              299 drivers/spi/spi-stm32-qspi.c 	reinit_completion(&qspi->data_completion);
qspi              300 drivers/spi/spi-stm32-qspi.c 	cr = readl_relaxed(qspi->io_base + QSPI_CR);
qspi              301 drivers/spi/spi-stm32-qspi.c 	writel_relaxed(cr | CR_TCIE | CR_TEIE, qspi->io_base + QSPI_CR);
qspi              303 drivers/spi/spi-stm32-qspi.c 	if (!wait_for_completion_timeout(&qspi->data_completion,
qspi              307 drivers/spi/spi-stm32-qspi.c 		sr = readl_relaxed(qspi->io_base + QSPI_SR);
qspi              314 drivers/spi/spi-stm32-qspi.c 	writel_relaxed(FCR_CTCF | FCR_CTEF, qspi->io_base + QSPI_FCR);
qspi              319 drivers/spi/spi-stm32-qspi.c static int stm32_qspi_get_mode(struct stm32_qspi *qspi, u8 buswidth)
qspi              329 drivers/spi/spi-stm32-qspi.c 	struct stm32_qspi *qspi = spi_controller_get_devdata(mem->spi->master);
qspi              330 drivers/spi/spi-stm32-qspi.c 	struct stm32_qspi_flash *flash = &qspi->flash[mem->spi->chip_select];
qspi              334 drivers/spi/spi-stm32-qspi.c 	dev_dbg(qspi->dev, "cmd:%#x mode:%d.%d.%d.%d addr:%#llx len:%#x\n",
qspi              339 drivers/spi/spi-stm32-qspi.c 	err = stm32_qspi_wait_nobusy(qspi);
qspi              346 drivers/spi/spi-stm32-qspi.c 		if (addr_max < qspi->mm_size &&
qspi              348 drivers/spi/spi-stm32-qspi.c 			qspi->fmode = CCR_FMODE_MM;
qspi              350 drivers/spi/spi-stm32-qspi.c 			qspi->fmode = CCR_FMODE_INDR;
qspi              352 drivers/spi/spi-stm32-qspi.c 		qspi->fmode = CCR_FMODE_INDW;
qspi              355 drivers/spi/spi-stm32-qspi.c 	cr = readl_relaxed(qspi->io_base + QSPI_CR);
qspi              359 drivers/spi/spi-stm32-qspi.c 	writel_relaxed(cr, qspi->io_base + QSPI_CR);
qspi              363 drivers/spi/spi-stm32-qspi.c 			       qspi->io_base + QSPI_DLR);
qspi              365 drivers/spi/spi-stm32-qspi.c 		qspi->fmode = CCR_FMODE_INDW;
qspi              367 drivers/spi/spi-stm32-qspi.c 	ccr = qspi->fmode;
qspi              370 drivers/spi/spi-stm32-qspi.c 			  stm32_qspi_get_mode(qspi, op->cmd.buswidth));
qspi              374 drivers/spi/spi-stm32-qspi.c 				  stm32_qspi_get_mode(qspi, op->addr.buswidth));
qspi              384 drivers/spi/spi-stm32-qspi.c 				  stm32_qspi_get_mode(qspi, op->data.buswidth));
qspi              387 drivers/spi/spi-stm32-qspi.c 	writel_relaxed(ccr, qspi->io_base + QSPI_CCR);
qspi              389 drivers/spi/spi-stm32-qspi.c 	if (op->addr.nbytes && qspi->fmode != CCR_FMODE_MM)
qspi              390 drivers/spi/spi-stm32-qspi.c 		writel_relaxed(op->addr.val, qspi->io_base + QSPI_AR);
qspi              392 drivers/spi/spi-stm32-qspi.c 	err = stm32_qspi_tx(qspi, op);
qspi              401 drivers/spi/spi-stm32-qspi.c 	if (err || qspi->fmode == CCR_FMODE_MM)
qspi              405 drivers/spi/spi-stm32-qspi.c 	err = stm32_qspi_wait_cmd(qspi, op);
qspi              412 drivers/spi/spi-stm32-qspi.c 	cr = readl_relaxed(qspi->io_base + QSPI_CR) | CR_ABORT;
qspi              413 drivers/spi/spi-stm32-qspi.c 	writel_relaxed(cr, qspi->io_base + QSPI_CR);
qspi              416 drivers/spi/spi-stm32-qspi.c 	timeout = readl_relaxed_poll_timeout_atomic(qspi->io_base + QSPI_CR,
qspi              420 drivers/spi/spi-stm32-qspi.c 	writel_relaxed(FCR_CTCF, qspi->io_base + QSPI_FCR);
qspi              423 drivers/spi/spi-stm32-qspi.c 		dev_err(qspi->dev, "%s err:%d abort timeout:%d\n",
qspi              431 drivers/spi/spi-stm32-qspi.c 	struct stm32_qspi *qspi = spi_controller_get_devdata(mem->spi->master);
qspi              434 drivers/spi/spi-stm32-qspi.c 	mutex_lock(&qspi->lock);
qspi              436 drivers/spi/spi-stm32-qspi.c 	mutex_unlock(&qspi->lock);
qspi              444 drivers/spi/spi-stm32-qspi.c 	struct stm32_qspi *qspi = spi_controller_get_devdata(ctrl);
qspi              454 drivers/spi/spi-stm32-qspi.c 	presc = DIV_ROUND_UP(qspi->clk_rate, spi->max_speed_hz) - 1;
qspi              456 drivers/spi/spi-stm32-qspi.c 	flash = &qspi->flash[spi->chip_select];
qspi              457 drivers/spi/spi-stm32-qspi.c 	flash->qspi = qspi;
qspi              461 drivers/spi/spi-stm32-qspi.c 	mutex_lock(&qspi->lock);
qspi              462 drivers/spi/spi-stm32-qspi.c 	qspi->cr_reg = 3 << CR_FTHRES_SHIFT | CR_SSHIFT | CR_EN;
qspi              463 drivers/spi/spi-stm32-qspi.c 	writel_relaxed(qspi->cr_reg, qspi->io_base + QSPI_CR);
qspi              466 drivers/spi/spi-stm32-qspi.c 	qspi->dcr_reg = DCR_FSIZE_MASK;
qspi              467 drivers/spi/spi-stm32-qspi.c 	writel_relaxed(qspi->dcr_reg, qspi->io_base + QSPI_DCR);
qspi              468 drivers/spi/spi-stm32-qspi.c 	mutex_unlock(&qspi->lock);
qspi              473 drivers/spi/spi-stm32-qspi.c static void stm32_qspi_dma_setup(struct stm32_qspi *qspi)
qspi              476 drivers/spi/spi-stm32-qspi.c 	struct device *dev = qspi->dev;
qspi              482 drivers/spi/spi-stm32-qspi.c 	dma_cfg.src_addr = qspi->phys_base + QSPI_DR;
qspi              483 drivers/spi/spi-stm32-qspi.c 	dma_cfg.dst_addr = qspi->phys_base + QSPI_DR;
qspi              487 drivers/spi/spi-stm32-qspi.c 	qspi->dma_chrx = dma_request_slave_channel(dev, "rx");
qspi              488 drivers/spi/spi-stm32-qspi.c 	if (qspi->dma_chrx) {
qspi              489 drivers/spi/spi-stm32-qspi.c 		if (dmaengine_slave_config(qspi->dma_chrx, &dma_cfg)) {
qspi              491 drivers/spi/spi-stm32-qspi.c 			dma_release_channel(qspi->dma_chrx);
qspi              492 drivers/spi/spi-stm32-qspi.c 			qspi->dma_chrx = NULL;
qspi              496 drivers/spi/spi-stm32-qspi.c 	qspi->dma_chtx = dma_request_slave_channel(dev, "tx");
qspi              497 drivers/spi/spi-stm32-qspi.c 	if (qspi->dma_chtx) {
qspi              498 drivers/spi/spi-stm32-qspi.c 		if (dmaengine_slave_config(qspi->dma_chtx, &dma_cfg)) {
qspi              500 drivers/spi/spi-stm32-qspi.c 			dma_release_channel(qspi->dma_chtx);
qspi              501 drivers/spi/spi-stm32-qspi.c 			qspi->dma_chtx = NULL;
qspi              505 drivers/spi/spi-stm32-qspi.c 	init_completion(&qspi->dma_completion);
qspi              508 drivers/spi/spi-stm32-qspi.c static void stm32_qspi_dma_free(struct stm32_qspi *qspi)
qspi              510 drivers/spi/spi-stm32-qspi.c 	if (qspi->dma_chtx)
qspi              511 drivers/spi/spi-stm32-qspi.c 		dma_release_channel(qspi->dma_chtx);
qspi              512 drivers/spi/spi-stm32-qspi.c 	if (qspi->dma_chrx)
qspi              513 drivers/spi/spi-stm32-qspi.c 		dma_release_channel(qspi->dma_chrx);
qspi              524 drivers/spi/spi-stm32-qspi.c static void stm32_qspi_release(struct stm32_qspi *qspi)
qspi              527 drivers/spi/spi-stm32-qspi.c 	writel_relaxed(0, qspi->io_base + QSPI_CR);
qspi              528 drivers/spi/spi-stm32-qspi.c 	stm32_qspi_dma_free(qspi);
qspi              529 drivers/spi/spi-stm32-qspi.c 	mutex_destroy(&qspi->lock);
qspi              530 drivers/spi/spi-stm32-qspi.c 	clk_disable_unprepare(qspi->clk);
qspi              538 drivers/spi/spi-stm32-qspi.c 	struct stm32_qspi *qspi;
qspi              542 drivers/spi/spi-stm32-qspi.c 	ctrl = spi_alloc_master(dev, sizeof(*qspi));
qspi              546 drivers/spi/spi-stm32-qspi.c 	qspi = spi_controller_get_devdata(ctrl);
qspi              547 drivers/spi/spi-stm32-qspi.c 	qspi->ctrl = ctrl;
qspi              550 drivers/spi/spi-stm32-qspi.c 	qspi->io_base = devm_ioremap_resource(dev, res);
qspi              551 drivers/spi/spi-stm32-qspi.c 	if (IS_ERR(qspi->io_base)) {
qspi              552 drivers/spi/spi-stm32-qspi.c 		ret = PTR_ERR(qspi->io_base);
qspi              556 drivers/spi/spi-stm32-qspi.c 	qspi->phys_base = res->start;
qspi              559 drivers/spi/spi-stm32-qspi.c 	qspi->mm_base = devm_ioremap_resource(dev, res);
qspi              560 drivers/spi/spi-stm32-qspi.c 	if (IS_ERR(qspi->mm_base)) {
qspi              561 drivers/spi/spi-stm32-qspi.c 		ret = PTR_ERR(qspi->mm_base);
qspi              565 drivers/spi/spi-stm32-qspi.c 	qspi->mm_size = resource_size(res);
qspi              566 drivers/spi/spi-stm32-qspi.c 	if (qspi->mm_size > STM32_QSPI_MAX_MMAP_SZ) {
qspi              576 drivers/spi/spi-stm32-qspi.c 			       dev_name(dev), qspi);
qspi              582 drivers/spi/spi-stm32-qspi.c 	init_completion(&qspi->data_completion);
qspi              584 drivers/spi/spi-stm32-qspi.c 	qspi->clk = devm_clk_get(dev, NULL);
qspi              585 drivers/spi/spi-stm32-qspi.c 	if (IS_ERR(qspi->clk)) {
qspi              586 drivers/spi/spi-stm32-qspi.c 		ret = PTR_ERR(qspi->clk);
qspi              590 drivers/spi/spi-stm32-qspi.c 	qspi->clk_rate = clk_get_rate(qspi->clk);
qspi              591 drivers/spi/spi-stm32-qspi.c 	if (!qspi->clk_rate) {
qspi              596 drivers/spi/spi-stm32-qspi.c 	ret = clk_prepare_enable(qspi->clk);
qspi              609 drivers/spi/spi-stm32-qspi.c 	qspi->dev = dev;
qspi              610 drivers/spi/spi-stm32-qspi.c 	platform_set_drvdata(pdev, qspi);
qspi              611 drivers/spi/spi-stm32-qspi.c 	stm32_qspi_dma_setup(qspi);
qspi              612 drivers/spi/spi-stm32-qspi.c 	mutex_init(&qspi->lock);
qspi              627 drivers/spi/spi-stm32-qspi.c 	stm32_qspi_release(qspi);
qspi              628 drivers/spi/spi-stm32-qspi.c 	spi_master_put(qspi->ctrl);
qspi              635 drivers/spi/spi-stm32-qspi.c 	struct stm32_qspi *qspi = platform_get_drvdata(pdev);
qspi              637 drivers/spi/spi-stm32-qspi.c 	stm32_qspi_release(qspi);
qspi              643 drivers/spi/spi-stm32-qspi.c 	struct stm32_qspi *qspi = dev_get_drvdata(dev);
qspi              645 drivers/spi/spi-stm32-qspi.c 	clk_disable_unprepare(qspi->clk);
qspi              653 drivers/spi/spi-stm32-qspi.c 	struct stm32_qspi *qspi = dev_get_drvdata(dev);
qspi              656 drivers/spi/spi-stm32-qspi.c 	clk_prepare_enable(qspi->clk);
qspi              658 drivers/spi/spi-stm32-qspi.c 	writel_relaxed(qspi->cr_reg, qspi->io_base + QSPI_CR);
qspi              659 drivers/spi/spi-stm32-qspi.c 	writel_relaxed(qspi->dcr_reg, qspi->io_base + QSPI_DCR);
qspi              130 drivers/spi/spi-ti-qspi.c static inline unsigned long ti_qspi_read(struct ti_qspi *qspi,
qspi              133 drivers/spi/spi-ti-qspi.c 	return readl(qspi->base + reg);
qspi              136 drivers/spi/spi-ti-qspi.c static inline void ti_qspi_write(struct ti_qspi *qspi,
qspi              139 drivers/spi/spi-ti-qspi.c 	writel(val, qspi->base + reg);
qspi              144 drivers/spi/spi-ti-qspi.c 	struct ti_qspi	*qspi = spi_master_get_devdata(spi->master);
qspi              145 drivers/spi/spi-ti-qspi.c 	struct ti_qspi_regs *ctx_reg = &qspi->ctx_reg;
qspi              150 drivers/spi/spi-ti-qspi.c 		dev_dbg(qspi->dev, "master busy doing other transfers\n");
qspi              154 drivers/spi/spi-ti-qspi.c 	if (!qspi->spi_max_frequency) {
qspi              155 drivers/spi/spi-ti-qspi.c 		dev_err(qspi->dev, "spi max frequency not defined\n");
qspi              159 drivers/spi/spi-ti-qspi.c 	clk_rate = clk_get_rate(qspi->fclk);
qspi              161 drivers/spi/spi-ti-qspi.c 	clk_div = DIV_ROUND_UP(clk_rate, qspi->spi_max_frequency) - 1;
qspi              164 drivers/spi/spi-ti-qspi.c 		dev_dbg(qspi->dev, "clock divider < 0, using /1 divider\n");
qspi              169 drivers/spi/spi-ti-qspi.c 		dev_dbg(qspi->dev, "clock divider >%d , using /%d divider\n",
qspi              174 drivers/spi/spi-ti-qspi.c 	dev_dbg(qspi->dev, "hz: %d, clock divider %d\n",
qspi              175 drivers/spi/spi-ti-qspi.c 			qspi->spi_max_frequency, clk_div);
qspi              177 drivers/spi/spi-ti-qspi.c 	ret = pm_runtime_get_sync(qspi->dev);
qspi              179 drivers/spi/spi-ti-qspi.c 		dev_err(qspi->dev, "pm_runtime_get_sync() failed\n");
qspi              183 drivers/spi/spi-ti-qspi.c 	clk_ctrl_reg = ti_qspi_read(qspi, QSPI_SPI_CLOCK_CNTRL_REG);
qspi              188 drivers/spi/spi-ti-qspi.c 	ti_qspi_write(qspi, clk_ctrl_reg, QSPI_SPI_CLOCK_CNTRL_REG);
qspi              192 drivers/spi/spi-ti-qspi.c 	ti_qspi_write(qspi, clk_mask, QSPI_SPI_CLOCK_CNTRL_REG);
qspi              195 drivers/spi/spi-ti-qspi.c 	pm_runtime_mark_last_busy(qspi->dev);
qspi              196 drivers/spi/spi-ti-qspi.c 	ret = pm_runtime_put_autosuspend(qspi->dev);
qspi              198 drivers/spi/spi-ti-qspi.c 		dev_err(qspi->dev, "pm_runtime_put_autosuspend() failed\n");
qspi              205 drivers/spi/spi-ti-qspi.c static void ti_qspi_restore_ctx(struct ti_qspi *qspi)
qspi              207 drivers/spi/spi-ti-qspi.c 	struct ti_qspi_regs *ctx_reg = &qspi->ctx_reg;
qspi              209 drivers/spi/spi-ti-qspi.c 	ti_qspi_write(qspi, ctx_reg->clkctrl, QSPI_SPI_CLOCK_CNTRL_REG);
qspi              212 drivers/spi/spi-ti-qspi.c static inline u32 qspi_is_busy(struct ti_qspi *qspi)
qspi              217 drivers/spi/spi-ti-qspi.c 	stat = ti_qspi_read(qspi, QSPI_SPI_STATUS_REG);
qspi              220 drivers/spi/spi-ti-qspi.c 		stat = ti_qspi_read(qspi, QSPI_SPI_STATUS_REG);
qspi              227 drivers/spi/spi-ti-qspi.c static inline int ti_qspi_poll_wc(struct ti_qspi *qspi)
qspi              233 drivers/spi/spi-ti-qspi.c 		stat = ti_qspi_read(qspi, QSPI_SPI_STATUS_REG);
qspi              239 drivers/spi/spi-ti-qspi.c 	stat = ti_qspi_read(qspi, QSPI_SPI_STATUS_REG);
qspi              245 drivers/spi/spi-ti-qspi.c static int qspi_write_msg(struct ti_qspi *qspi, struct spi_transfer *t,
qspi              254 drivers/spi/spi-ti-qspi.c 	cmd = qspi->cmd | QSPI_WR_SNGL;
qspi              259 drivers/spi/spi-ti-qspi.c 		if (qspi_is_busy(qspi))
qspi              264 drivers/spi/spi-ti-qspi.c 			dev_dbg(qspi->dev, "tx cmd %08x dc %08x data %02x\n",
qspi              265 drivers/spi/spi-ti-qspi.c 					cmd, qspi->dc, *txbuf);
qspi              270 drivers/spi/spi-ti-qspi.c 				writel(data, qspi->base +
qspi              273 drivers/spi/spi-ti-qspi.c 				writel(data, qspi->base +
qspi              276 drivers/spi/spi-ti-qspi.c 				writel(data, qspi->base +
qspi              279 drivers/spi/spi-ti-qspi.c 				writel(data, qspi->base +
qspi              284 drivers/spi/spi-ti-qspi.c 				writeb(*txbuf, qspi->base + QSPI_SPI_DATA_REG);
qspi              285 drivers/spi/spi-ti-qspi.c 				cmd = qspi->cmd | QSPI_WR_SNGL;
qspi              291 drivers/spi/spi-ti-qspi.c 			dev_dbg(qspi->dev, "tx cmd %08x dc %08x data %04x\n",
qspi              292 drivers/spi/spi-ti-qspi.c 					cmd, qspi->dc, *txbuf);
qspi              293 drivers/spi/spi-ti-qspi.c 			writew(*((u16 *)txbuf), qspi->base + QSPI_SPI_DATA_REG);
qspi              296 drivers/spi/spi-ti-qspi.c 			dev_dbg(qspi->dev, "tx cmd %08x dc %08x data %08x\n",
qspi              297 drivers/spi/spi-ti-qspi.c 					cmd, qspi->dc, *txbuf);
qspi              298 drivers/spi/spi-ti-qspi.c 			writel(*((u32 *)txbuf), qspi->base + QSPI_SPI_DATA_REG);
qspi              302 drivers/spi/spi-ti-qspi.c 		ti_qspi_write(qspi, cmd, QSPI_SPI_CMD_REG);
qspi              303 drivers/spi/spi-ti-qspi.c 		if (ti_qspi_poll_wc(qspi)) {
qspi              304 drivers/spi/spi-ti-qspi.c 			dev_err(qspi->dev, "write timed out\n");
qspi              314 drivers/spi/spi-ti-qspi.c static int qspi_read_msg(struct ti_qspi *qspi, struct spi_transfer *t,
qspi              322 drivers/spi/spi-ti-qspi.c 	cmd = qspi->cmd;
qspi              337 drivers/spi/spi-ti-qspi.c 		dev_dbg(qspi->dev, "rx cmd %08x dc %08x\n", cmd, qspi->dc);
qspi              338 drivers/spi/spi-ti-qspi.c 		if (qspi_is_busy(qspi))
qspi              341 drivers/spi/spi-ti-qspi.c 		ti_qspi_write(qspi, cmd, QSPI_SPI_CMD_REG);
qspi              342 drivers/spi/spi-ti-qspi.c 		if (ti_qspi_poll_wc(qspi)) {
qspi              343 drivers/spi/spi-ti-qspi.c 			dev_err(qspi->dev, "read timed out\n");
qspi              348 drivers/spi/spi-ti-qspi.c 			*rxbuf = readb(qspi->base + QSPI_SPI_DATA_REG);
qspi              351 drivers/spi/spi-ti-qspi.c 			*((u16 *)rxbuf) = readw(qspi->base + QSPI_SPI_DATA_REG);
qspi              354 drivers/spi/spi-ti-qspi.c 			*((u32 *)rxbuf) = readl(qspi->base + QSPI_SPI_DATA_REG);
qspi              364 drivers/spi/spi-ti-qspi.c static int qspi_transfer_msg(struct ti_qspi *qspi, struct spi_transfer *t,
qspi              370 drivers/spi/spi-ti-qspi.c 		ret = qspi_write_msg(qspi, t, count);
qspi              372 drivers/spi/spi-ti-qspi.c 			dev_dbg(qspi->dev, "Error while writing\n");
qspi              378 drivers/spi/spi-ti-qspi.c 		ret = qspi_read_msg(qspi, t, count);
qspi              380 drivers/spi/spi-ti-qspi.c 			dev_dbg(qspi->dev, "Error while reading\n");
qspi              390 drivers/spi/spi-ti-qspi.c 	struct ti_qspi *qspi = param;
qspi              392 drivers/spi/spi-ti-qspi.c 	complete(&qspi->transfer_complete);
qspi              395 drivers/spi/spi-ti-qspi.c static int ti_qspi_dma_xfer(struct ti_qspi *qspi, dma_addr_t dma_dst,
qspi              398 drivers/spi/spi-ti-qspi.c 	struct dma_chan *chan = qspi->rx_chan;
qspi              406 drivers/spi/spi-ti-qspi.c 		dev_err(qspi->dev, "device_prep_dma_memcpy error\n");
qspi              411 drivers/spi/spi-ti-qspi.c 	tx->callback_param = qspi;
qspi              413 drivers/spi/spi-ti-qspi.c 	reinit_completion(&qspi->transfer_complete);
qspi              417 drivers/spi/spi-ti-qspi.c 		dev_err(qspi->dev, "dma_submit_error %d\n", cookie);
qspi              422 drivers/spi/spi-ti-qspi.c 	ret = wait_for_completion_timeout(&qspi->transfer_complete,
qspi              426 drivers/spi/spi-ti-qspi.c 		dev_err(qspi->dev, "DMA wait_for_completion_timeout\n");
qspi              433 drivers/spi/spi-ti-qspi.c static int ti_qspi_dma_bounce_buffer(struct ti_qspi *qspi, loff_t offs,
qspi              436 drivers/spi/spi-ti-qspi.c 	dma_addr_t dma_src = qspi->mmap_phys_base + offs;
qspi              447 drivers/spi/spi-ti-qspi.c 		ret = ti_qspi_dma_xfer(qspi, qspi->rx_bb_dma_addr,
qspi              451 drivers/spi/spi-ti-qspi.c 		memcpy(to, qspi->rx_bb_addr, xfer_len);
qspi              460 drivers/spi/spi-ti-qspi.c static int ti_qspi_dma_xfer_sg(struct ti_qspi *qspi, struct sg_table rx_sg,
qspi              464 drivers/spi/spi-ti-qspi.c 	dma_addr_t dma_src = qspi->mmap_phys_base + from;
qspi              471 drivers/spi/spi-ti-qspi.c 		ret = ti_qspi_dma_xfer(qspi, dma_dst, dma_src, len);
qspi              482 drivers/spi/spi-ti-qspi.c 	struct ti_qspi  *qspi = spi_master_get_devdata(spi->master);
qspi              484 drivers/spi/spi-ti-qspi.c 	ti_qspi_write(qspi, MM_SWITCH, QSPI_SPI_SWITCH_REG);
qspi              485 drivers/spi/spi-ti-qspi.c 	if (qspi->ctrl_base) {
qspi              486 drivers/spi/spi-ti-qspi.c 		regmap_update_bits(qspi->ctrl_base, qspi->ctrl_reg,
qspi              490 drivers/spi/spi-ti-qspi.c 	qspi->mmap_enabled = true;
qspi              491 drivers/spi/spi-ti-qspi.c 	qspi->current_cs = spi->chip_select;
qspi              496 drivers/spi/spi-ti-qspi.c 	struct ti_qspi  *qspi = spi_master_get_devdata(spi->master);
qspi              498 drivers/spi/spi-ti-qspi.c 	ti_qspi_write(qspi, 0, QSPI_SPI_SWITCH_REG);
qspi              499 drivers/spi/spi-ti-qspi.c 	if (qspi->ctrl_base)
qspi              500 drivers/spi/spi-ti-qspi.c 		regmap_update_bits(qspi->ctrl_base, qspi->ctrl_reg,
qspi              502 drivers/spi/spi-ti-qspi.c 	qspi->mmap_enabled = false;
qspi              503 drivers/spi/spi-ti-qspi.c 	qspi->current_cs = -1;
qspi              510 drivers/spi/spi-ti-qspi.c 	struct ti_qspi  *qspi = spi_master_get_devdata(spi->master);
qspi              526 drivers/spi/spi-ti-qspi.c 	ti_qspi_write(qspi, memval,
qspi              533 drivers/spi/spi-ti-qspi.c 	struct ti_qspi *qspi = spi_master_get_devdata(mem->spi->master);
qspi              544 drivers/spi/spi-ti-qspi.c 	if (from + op->data.nbytes > qspi->mmap_size)
qspi              547 drivers/spi/spi-ti-qspi.c 	mutex_lock(&qspi->list_lock);
qspi              549 drivers/spi/spi-ti-qspi.c 	if (!qspi->mmap_enabled || qspi->current_cs != mem->spi->chip_select)
qspi              554 drivers/spi/spi-ti-qspi.c 	if (qspi->rx_chan) {
qspi              560 drivers/spi/spi-ti-qspi.c 			ret = ti_qspi_dma_xfer_sg(qspi, sgt, from);
qspi              564 drivers/spi/spi-ti-qspi.c 			ret = ti_qspi_dma_bounce_buffer(qspi, from,
qspi              569 drivers/spi/spi-ti-qspi.c 		memcpy_fromio(op->data.buf.in, qspi->mmap_base + from,
qspi              573 drivers/spi/spi-ti-qspi.c 	mutex_unlock(&qspi->list_lock);
qspi              585 drivers/spi/spi-ti-qspi.c 	struct ti_qspi *qspi = spi_master_get_devdata(master);
qspi              593 drivers/spi/spi-ti-qspi.c 	qspi->dc = 0;
qspi              596 drivers/spi/spi-ti-qspi.c 		qspi->dc |= QSPI_CKPHA(spi->chip_select);
qspi              598 drivers/spi/spi-ti-qspi.c 		qspi->dc |= QSPI_CKPOL(spi->chip_select);
qspi              600 drivers/spi/spi-ti-qspi.c 		qspi->dc |= QSPI_CSPOL(spi->chip_select);
qspi              608 drivers/spi/spi-ti-qspi.c 	qspi->cmd = 0;
qspi              609 drivers/spi/spi-ti-qspi.c 	qspi->cmd |= QSPI_EN_CS(spi->chip_select);
qspi              610 drivers/spi/spi-ti-qspi.c 	qspi->cmd |= QSPI_FLEN(frame_len_words);
qspi              612 drivers/spi/spi-ti-qspi.c 	ti_qspi_write(qspi, qspi->dc, QSPI_SPI_DC_REG);
qspi              614 drivers/spi/spi-ti-qspi.c 	mutex_lock(&qspi->list_lock);
qspi              616 drivers/spi/spi-ti-qspi.c 	if (qspi->mmap_enabled)
qspi              620 drivers/spi/spi-ti-qspi.c 		qspi->cmd = ((qspi->cmd & ~QSPI_WLEN_MASK) |
qspi              626 drivers/spi/spi-ti-qspi.c 		ret = qspi_transfer_msg(qspi, t, transfer_len_words * wlen);
qspi              628 drivers/spi/spi-ti-qspi.c 			dev_dbg(qspi->dev, "transfer message failed\n");
qspi              629 drivers/spi/spi-ti-qspi.c 			mutex_unlock(&qspi->list_lock);
qspi              639 drivers/spi/spi-ti-qspi.c 	mutex_unlock(&qspi->list_lock);
qspi              641 drivers/spi/spi-ti-qspi.c 	ti_qspi_write(qspi, qspi->cmd | QSPI_INVAL, QSPI_SPI_CMD_REG);
qspi              650 drivers/spi/spi-ti-qspi.c 	struct ti_qspi      *qspi;
qspi              652 drivers/spi/spi-ti-qspi.c 	qspi = dev_get_drvdata(dev);
qspi              653 drivers/spi/spi-ti-qspi.c 	ti_qspi_restore_ctx(qspi);
qspi              667 drivers/spi/spi-ti-qspi.c 	struct  ti_qspi *qspi;
qspi              675 drivers/spi/spi-ti-qspi.c 	master = spi_alloc_master(&pdev->dev, sizeof(*qspi));
qspi              693 drivers/spi/spi-ti-qspi.c 	qspi = spi_master_get_devdata(master);
qspi              694 drivers/spi/spi-ti-qspi.c 	qspi->master = master;
qspi              695 drivers/spi/spi-ti-qspi.c 	qspi->dev = &pdev->dev;
qspi              696 drivers/spi/spi-ti-qspi.c 	platform_set_drvdata(pdev, qspi);
qspi              719 drivers/spi/spi-ti-qspi.c 		qspi->mmap_size = resource_size(res_mmap);
qspi              727 drivers/spi/spi-ti-qspi.c 	mutex_init(&qspi->list_lock);
qspi              729 drivers/spi/spi-ti-qspi.c 	qspi->base = devm_ioremap_resource(&pdev->dev, r);
qspi              730 drivers/spi/spi-ti-qspi.c 	if (IS_ERR(qspi->base)) {
qspi              731 drivers/spi/spi-ti-qspi.c 		ret = PTR_ERR(qspi->base);
qspi              737 drivers/spi/spi-ti-qspi.c 		qspi->ctrl_base =
qspi              740 drivers/spi/spi-ti-qspi.c 		if (IS_ERR(qspi->ctrl_base)) {
qspi              741 drivers/spi/spi-ti-qspi.c 			ret = PTR_ERR(qspi->ctrl_base);
qspi              746 drivers/spi/spi-ti-qspi.c 						 1, &qspi->ctrl_reg);
qspi              754 drivers/spi/spi-ti-qspi.c 	qspi->fclk = devm_clk_get(&pdev->dev, "fck");
qspi              755 drivers/spi/spi-ti-qspi.c 	if (IS_ERR(qspi->fclk)) {
qspi              756 drivers/spi/spi-ti-qspi.c 		ret = PTR_ERR(qspi->fclk);
qspi              765 drivers/spi/spi-ti-qspi.c 		qspi->spi_max_frequency = max_freq;
qspi              770 drivers/spi/spi-ti-qspi.c 	qspi->rx_chan = dma_request_chan_by_mask(&mask);
qspi              771 drivers/spi/spi-ti-qspi.c 	if (IS_ERR(qspi->rx_chan)) {
qspi              772 drivers/spi/spi-ti-qspi.c 		dev_err(qspi->dev,
qspi              774 drivers/spi/spi-ti-qspi.c 		qspi->rx_chan = NULL;
qspi              778 drivers/spi/spi-ti-qspi.c 	qspi->rx_bb_addr = dma_alloc_coherent(qspi->dev,
qspi              780 drivers/spi/spi-ti-qspi.c 					      &qspi->rx_bb_dma_addr,
qspi              782 drivers/spi/spi-ti-qspi.c 	if (!qspi->rx_bb_addr) {
qspi              783 drivers/spi/spi-ti-qspi.c 		dev_err(qspi->dev,
qspi              785 drivers/spi/spi-ti-qspi.c 		dma_release_channel(qspi->rx_chan);
qspi              788 drivers/spi/spi-ti-qspi.c 	master->dma_rx = qspi->rx_chan;
qspi              789 drivers/spi/spi-ti-qspi.c 	init_completion(&qspi->transfer_complete);
qspi              791 drivers/spi/spi-ti-qspi.c 		qspi->mmap_phys_base = (dma_addr_t)res_mmap->start;
qspi              794 drivers/spi/spi-ti-qspi.c 	if (!qspi->rx_chan && res_mmap) {
qspi              795 drivers/spi/spi-ti-qspi.c 		qspi->mmap_base = devm_ioremap_resource(&pdev->dev, res_mmap);
qspi              796 drivers/spi/spi-ti-qspi.c 		if (IS_ERR(qspi->mmap_base)) {
qspi              799 drivers/spi/spi-ti-qspi.c 				 PTR_ERR(qspi->mmap_base));
qspi              800 drivers/spi/spi-ti-qspi.c 			qspi->mmap_base = NULL;
qspi              804 drivers/spi/spi-ti-qspi.c 	qspi->mmap_enabled = false;
qspi              805 drivers/spi/spi-ti-qspi.c 	qspi->current_cs = -1;
qspi              819 drivers/spi/spi-ti-qspi.c 	struct ti_qspi *qspi = platform_get_drvdata(pdev);
qspi              822 drivers/spi/spi-ti-qspi.c 	rc = spi_master_suspend(qspi->master);
qspi              829 drivers/spi/spi-ti-qspi.c 	if (qspi->rx_bb_addr)
qspi              830 drivers/spi/spi-ti-qspi.c 		dma_free_coherent(qspi->dev, QSPI_DMA_BUFFER_SIZE,
qspi              831 drivers/spi/spi-ti-qspi.c 				  qspi->rx_bb_addr,
qspi              832 drivers/spi/spi-ti-qspi.c 				  qspi->rx_bb_dma_addr);
qspi              833 drivers/spi/spi-ti-qspi.c 	if (qspi->rx_chan)
qspi              834 drivers/spi/spi-ti-qspi.c 		dma_release_channel(qspi->rx_chan);
qspi              369 drivers/spi/spi-zynq-qspi.c 	struct zynq_qspi *qspi = spi_controller_get_devdata(ctrl);
qspi              374 drivers/spi/spi-zynq-qspi.c 	clk_enable(qspi->refclk);
qspi              375 drivers/spi/spi-zynq-qspi.c 	clk_enable(qspi->pclk);
qspi              376 drivers/spi/spi-zynq-qspi.c 	zynq_qspi_write(qspi, ZYNQ_QSPI_ENABLE_OFFSET,
qspi              386 drivers/spi/spi-zynqmp-gqspi.c static void zynqmp_qspi_chipselect(struct spi_device *qspi, bool is_high)
qspi              388 drivers/spi/spi-zynqmp-gqspi.c 	struct zynqmp_qspi *xqspi = spi_master_get_devdata(qspi->master);
qspi              448 drivers/spi/spi-zynqmp-gqspi.c static int zynqmp_qspi_setup_transfer(struct spi_device *qspi,
qspi              451 drivers/spi/spi-zynqmp-gqspi.c 	struct zynqmp_qspi *xqspi = spi_master_get_devdata(qspi->master);
qspi              458 drivers/spi/spi-zynqmp-gqspi.c 		req_hz = qspi->max_speed_hz;
qspi              474 drivers/spi/spi-zynqmp-gqspi.c 	if (qspi->mode & SPI_CPHA)
qspi              476 drivers/spi/spi-zynqmp-gqspi.c 	if (qspi->mode & SPI_CPOL)
qspi              494 drivers/spi/spi-zynqmp-gqspi.c static int zynqmp_qspi_setup(struct spi_device *qspi)
qspi              496 drivers/spi/spi-zynqmp-gqspi.c 	if (qspi->master->busy)
qspi              800 drivers/spi/spi-zynqmp-gqspi.c 				      struct spi_device *qspi,
qspi              809 drivers/spi/spi-zynqmp-gqspi.c 	zynqmp_qspi_setup_transfer(qspi, transfer);