Lines Matching full:qspi
4 * Freescale Quad Serial Peripheral Interface (QSPI) driver
52 /* QSPI CMD */
74 /* 4-byte address QSPI CMD - used on Spansion and some Macronix flashes */
85 /* QSPI max chipselect signals number */
90 * struct fsl_qspi_platdata - platform data for Freescale QSPI
92 * @flags: Flags for QSPI QSPI_FLAG_...
94 * @reg_base: Base address of QSPI registers
95 * @amba_base: Base address of QSPI memory mapping
96 * @amba_total_size: size of QSPI memory mapping
98 * @num_chipselect: Number of QSPI chipselect signals
112 * struct fsl_qspi_priv - private data for Freescale QSPI
114 * @flags: Flags for QSPI QSPI_FLAG_...
115 * @bus_clk: QSPI input clk frequency
119 * @amba_base: Base address of QSPI memory mapping of every CS
120 * @amba_total_size: size of QSPI memory mapping
121 * @cur_amba_base: Base address of QSPI memory mapping of current CS
123 * @num_chipselect: Number of QSPI chipselect signals
124 * @regs: Point to QSPI register structure for I/O access
159 /* QSPI support swapping the flash read/write data
878 struct fsl_qspi *qspi; in spi_setup_slave() local
888 qspi = spi_alloc_slave(struct fsl_qspi, bus, cs); in spi_setup_slave()
889 if (!qspi) in spi_setup_slave()
893 qspi->priv.flags |= QSPI_FLAG_REGMAP_ENDIAN_BIG; in spi_setup_slave()
897 qspi->priv.regs = regs; in spi_setup_slave()
905 qspi->priv.cur_amba_base = amba_bases[bus] + cs * FSL_QSPI_FLASH_SIZE; in spi_setup_slave()
907 qspi->slave.max_write_size = TX_BUFFER_SIZE; in spi_setup_slave()
909 mcr_val = qspi_read32(qspi->priv.flags, ®s->mcr); in spi_setup_slave()
915 qspi_write32(qspi->priv.flags, ®s->mcr, in spi_setup_slave()
919 qspi_cfg_smpr(&qspi->priv, in spi_setup_slave()
934 qspi_write32(qspi->priv.flags, ®s->sfa1ad, in spi_setup_slave()
936 qspi_write32(qspi->priv.flags, ®s->sfa2ad, in spi_setup_slave()
938 qspi_write32(qspi->priv.flags, ®s->sfb1ad, in spi_setup_slave()
940 qspi_write32(qspi->priv.flags, ®s->sfb2ad, in spi_setup_slave()
943 qspi_set_lut(&qspi->priv); in spi_setup_slave()
946 qspi_init_ahb_read(&qspi->priv); in spi_setup_slave()
949 qspi_module_disable(&qspi->priv, 0); in spi_setup_slave()
951 return &qspi->slave; in spi_setup_slave()
956 struct fsl_qspi *qspi = to_qspi_spi(slave); in spi_free_slave() local
958 free(qspi); in spi_free_slave()
974 struct fsl_qspi *qspi = to_qspi_spi(slave); in spi_xfer() local
976 return qspi_xfer(&qspi->priv, bitlen, dout, din, flags); in spi_xfer()
1011 * QSPI SFADR width is 32bits, the max dest addr is 4GB-1. in fsl_qspi_probe()
1240 { .compatible = "fsl,vf610-qspi" },
1241 { .compatible = "fsl,imx6sx-qspi" },
1242 { .compatible = "fsl,imx6ul-qspi" },
1243 { .compatible = "fsl,imx7d-qspi" },