Home
last modified time | relevance | path

Searched refs:xspi (Results 1 – 4 of 4) sorted by relevance

/Linux-v4.19/drivers/spi/
Dspi-xilinx.c118 static void xilinx_spi_tx(struct xilinx_spi *xspi) in xilinx_spi_tx() argument
122 if (!xspi->tx_ptr) { in xilinx_spi_tx()
123 xspi->write_fn(0, xspi->regs + XSPI_TXD_OFFSET); in xilinx_spi_tx()
127 switch (xspi->bytes_per_word) { in xilinx_spi_tx()
129 data = *(u8 *)(xspi->tx_ptr); in xilinx_spi_tx()
132 data = *(u16 *)(xspi->tx_ptr); in xilinx_spi_tx()
135 data = *(u32 *)(xspi->tx_ptr); in xilinx_spi_tx()
139 xspi->write_fn(data, xspi->regs + XSPI_TXD_OFFSET); in xilinx_spi_tx()
140 xspi->tx_ptr += xspi->bytes_per_word; in xilinx_spi_tx()
143 static void xilinx_spi_rx(struct xilinx_spi *xspi) in xilinx_spi_rx() argument
[all …]
Dspi-cadence.c136 static inline u32 cdns_spi_read(struct cdns_spi *xspi, u32 offset) in cdns_spi_read() argument
138 return readl_relaxed(xspi->regs + offset); in cdns_spi_read()
141 static inline void cdns_spi_write(struct cdns_spi *xspi, u32 offset, u32 val) in cdns_spi_write() argument
143 writel_relaxed(val, xspi->regs + offset); in cdns_spi_write()
157 static void cdns_spi_init_hw(struct cdns_spi *xspi) in cdns_spi_init_hw() argument
161 if (xspi->is_decoded_cs) in cdns_spi_init_hw()
164 cdns_spi_write(xspi, CDNS_SPI_ER, CDNS_SPI_ER_DISABLE); in cdns_spi_init_hw()
165 cdns_spi_write(xspi, CDNS_SPI_IDR, CDNS_SPI_IXR_ALL); in cdns_spi_init_hw()
168 while (cdns_spi_read(xspi, CDNS_SPI_ISR) & CDNS_SPI_IXR_RXNEMTY) in cdns_spi_init_hw()
169 cdns_spi_read(xspi, CDNS_SPI_RXD); in cdns_spi_init_hw()
[all …]
Dspi-xlp.c134 static void xlp_spi_sysctl_setup(struct xlp_spi_priv *xspi) in xlp_spi_sysctl_setup() argument
139 xlp_spi_sysctl_write(xspi, XLP_SPI_SYSCTRL, in xlp_spi_sysctl_setup()
141 xlp_spi_sysctl_write(xspi, XLP_SPI_SYSCTRL, XLP_SPI_SYS_PMEN); in xlp_spi_sysctl_setup()
146 struct xlp_spi_priv *xspi; in xlp_spi_setup() local
150 xspi = spi_master_get_devdata(spi->master); in xlp_spi_setup()
155 fdiv = DIV_ROUND_UP(xspi->spi_clk, spi->max_speed_hz); in xlp_spi_setup()
161 xlp_spi_reg_write(xspi, cs, XLP_SPI_FDIV, fdiv); in xlp_spi_setup()
162 xlp_spi_reg_write(xspi, cs, XLP_SPI_FIFO_THRESH, XLP_SPI_TXRXTH); in xlp_spi_setup()
163 cfg = xlp_spi_reg_read(xspi, cs, XLP_SPI_CONFIG); in xlp_spi_setup()
184 xlp_spi_reg_write(xspi, cs, XLP_SPI_CONFIG, cfg); in xlp_spi_setup()
[all …]
Dspi-xtensa-xtfpga.c46 static inline void xtfpga_spi_wait_busy(struct xtfpga_spi *xspi) in xtfpga_spi_wait_busy() argument
50 for (i = 0; xtfpga_spi_read32(xspi, XTFPGA_SPI_BUSY) && in xtfpga_spi_wait_busy()
59 struct xtfpga_spi *xspi = spi_master_get_devdata(spi->master); in xtfpga_spi_txrx_word() local
61 xspi->data = (xspi->data << bits) | (v & GENMASK(bits - 1, 0)); in xtfpga_spi_txrx_word()
62 xspi->data_sz += bits; in xtfpga_spi_txrx_word()
63 if (xspi->data_sz >= 16) { in xtfpga_spi_txrx_word()
64 xtfpga_spi_write32(xspi, XTFPGA_SPI_DATA, in xtfpga_spi_txrx_word()
65 xspi->data >> (xspi->data_sz - 16)); in xtfpga_spi_txrx_word()
66 xspi->data_sz -= 16; in xtfpga_spi_txrx_word()
67 xtfpga_spi_write32(xspi, XTFPGA_SPI_START, 1); in xtfpga_spi_txrx_word()
[all …]