/kernel/linux/linux-6.6/drivers/spi/ |
H A D | spi-xilinx.c | 116 static void xilinx_spi_tx(struct xilinx_spi *xspi) in xilinx_spi_tx() argument 120 if (!xspi->tx_ptr) { in xilinx_spi_tx() 121 xspi->write_fn(0, xspi->regs + XSPI_TXD_OFFSET); in xilinx_spi_tx() 125 switch (xspi->bytes_per_word) { in xilinx_spi_tx() 127 data = *(u8 *)(xspi->tx_ptr); in xilinx_spi_tx() 130 data = *(u16 *)(xspi->tx_ptr); in xilinx_spi_tx() 133 data = *(u32 *)(xspi->tx_ptr); in xilinx_spi_tx() 137 xspi->write_fn(data, xspi in xilinx_spi_tx() 141 xilinx_spi_rx(struct xilinx_spi *xspi) xilinx_spi_rx() argument 163 xspi_init_hw(struct xilinx_spi *xspi) xspi_init_hw() argument 188 struct xilinx_spi *xspi = spi_master_get_devdata(spi->master); xilinx_spi_chipselect() local 228 struct xilinx_spi *xspi = spi_master_get_devdata(spi->master); xilinx_spi_setup_transfer() local 240 struct xilinx_spi *xspi = spi_master_get_devdata(spi->master); xilinx_spi_txrx_bufs() local 345 struct xilinx_spi *xspi = dev_id; xilinx_spi_irq() local 360 xilinx_spi_find_buffer_size(struct xilinx_spi *xspi) xilinx_spi_find_buffer_size() argument 392 struct xilinx_spi *xspi; xilinx_spi_probe() local 509 struct xilinx_spi *xspi = spi_master_get_devdata(master); xilinx_spi_remove() local [all...] |
H A D | spi-cadence.c | 131 static inline u32 cdns_spi_read(struct cdns_spi *xspi, u32 offset) in cdns_spi_read() argument 133 return readl_relaxed(xspi->regs + offset); in cdns_spi_read() 136 static inline void cdns_spi_write(struct cdns_spi *xspi, u32 offset, u32 val) in cdns_spi_write() argument 138 writel_relaxed(val, xspi->regs + offset); in cdns_spi_write() 143 * @xspi: Pointer to the cdns_spi structure 153 static void cdns_spi_init_hw(struct cdns_spi *xspi, bool is_target) in cdns_spi_init_hw() argument 160 if (xspi->is_decoded_cs) in cdns_spi_init_hw() 163 cdns_spi_write(xspi, CDNS_SPI_ER, CDNS_SPI_ER_DISABLE); in cdns_spi_init_hw() 164 cdns_spi_write(xspi, CDNS_SPI_IDR, CDNS_SPI_IXR_ALL); in cdns_spi_init_hw() 167 while (cdns_spi_read(xspi, CDNS_SPI_IS in cdns_spi_init_hw() 182 struct cdns_spi *xspi = spi_controller_get_devdata(spi->controller); cdns_spi_chipselect() local 213 struct cdns_spi *xspi = spi_controller_get_devdata(spi->controller); cdns_spi_config_clock_mode() local 256 struct cdns_spi *xspi = spi_controller_get_devdata(spi->controller); cdns_spi_config_clock_freq() local 294 struct cdns_spi *xspi = spi_controller_get_devdata(spi->controller); cdns_spi_setup_transfer() local 311 cdns_spi_process_fifo(struct cdns_spi *xspi, int ntx, int nrx) cdns_spi_process_fifo() argument 358 struct cdns_spi *xspi = spi_controller_get_devdata(ctlr); cdns_spi_irq() local 431 struct cdns_spi *xspi = spi_controller_get_devdata(ctlr); cdns_transfer_one() local 471 struct cdns_spi *xspi = spi_controller_get_devdata(ctlr); cdns_prepare_transfer_hardware() local 490 struct cdns_spi *xspi = spi_controller_get_devdata(ctlr); cdns_unprepare_transfer_hardware() local 518 cdns_spi_detect_fifo_depth(struct cdns_spi *xspi) cdns_spi_detect_fifo_depth() argument 538 struct cdns_spi *xspi = spi_controller_get_devdata(ctlr); cdns_target_abort() local 561 struct cdns_spi *xspi; cdns_spi_probe() local 702 struct cdns_spi *xspi = spi_controller_get_devdata(ctlr); cdns_spi_remove() local 741 struct cdns_spi *xspi = spi_controller_get_devdata(ctlr); cdns_spi_resume() local 758 struct cdns_spi *xspi = spi_controller_get_devdata(ctlr); cdns_spi_runtime_resume() local 787 struct cdns_spi *xspi = spi_controller_get_devdata(ctlr); cdns_spi_runtime_suspend() local [all...] |
H A D | spi-xtensa-xtfpga.c | 43 static inline void xtfpga_spi_wait_busy(struct xtfpga_spi *xspi) in xtfpga_spi_wait_busy() argument 47 for (i = 0; xtfpga_spi_read32(xspi, XTFPGA_SPI_BUSY) && in xtfpga_spi_wait_busy() 56 struct xtfpga_spi *xspi = spi_master_get_devdata(spi->master); in xtfpga_spi_txrx_word() local 58 xspi->data = (xspi->data << bits) | (v & GENMASK(bits - 1, 0)); in xtfpga_spi_txrx_word() 59 xspi->data_sz += bits; in xtfpga_spi_txrx_word() 60 if (xspi->data_sz >= 16) { in xtfpga_spi_txrx_word() 61 xtfpga_spi_write32(xspi, XTFPGA_SPI_DATA, in xtfpga_spi_txrx_word() 62 xspi->data >> (xspi in xtfpga_spi_txrx_word() 74 struct xtfpga_spi *xspi = spi_master_get_devdata(spi->master); xtfpga_spi_chipselect() local 82 struct xtfpga_spi *xspi; xtfpga_spi_probe() local 123 struct xtfpga_spi *xspi = spi_master_get_devdata(master); xtfpga_spi_remove() local [all...] |
H A D | spi-xlp.c | 125 static void xlp_spi_sysctl_setup(struct xlp_spi_priv *xspi) in xlp_spi_sysctl_setup() argument 130 xlp_spi_sysctl_write(xspi, XLP_SPI_SYSCTRL, in xlp_spi_sysctl_setup() 132 xlp_spi_sysctl_write(xspi, XLP_SPI_SYSCTRL, XLP_SPI_SYS_PMEN); in xlp_spi_sysctl_setup() 137 struct xlp_spi_priv *xspi; in xlp_spi_setup() local 141 xspi = spi_master_get_devdata(spi->master); in xlp_spi_setup() 146 fdiv = DIV_ROUND_UP(xspi->spi_clk, spi->max_speed_hz); in xlp_spi_setup() 152 xlp_spi_reg_write(xspi, cs, XLP_SPI_FDIV, fdiv); in xlp_spi_setup() 153 xlp_spi_reg_write(xspi, cs, XLP_SPI_FIFO_THRESH, XLP_SPI_TXRXTH); in xlp_spi_setup() 154 cfg = xlp_spi_reg_read(xspi, cs, XLP_SPI_CONFIG); in xlp_spi_setup() 175 xlp_spi_reg_write(xspi, c in xlp_spi_setup() 180 xlp_spi_read_rxfifo(struct xlp_spi_priv *xspi) xlp_spi_read_rxfifo() argument 200 xlp_spi_fill_txfifo(struct xlp_spi_priv *xspi) xlp_spi_fill_txfifo() argument 224 struct xlp_spi_priv *xspi = dev_id; xlp_spi_interrupt() local 254 xlp_spi_send_cmd(struct xlp_spi_priv *xspi, int xfer_len, int cmd_cont) xlp_spi_send_cmd() argument 350 struct xlp_spi_priv *xspi = spi_master_get_devdata(master); xlp_spi_transfer_one() local 371 struct xlp_spi_priv *xspi; xlp_spi_probe() local [all...] |
H A D | Makefile | 40 obj-$(CONFIG_SPI_CADENCE_XSPI) += spi-cadence-xspi.o
|
/kernel/linux/linux-5.10/drivers/spi/ |
H A D | spi-xilinx.c | 116 static void xilinx_spi_tx(struct xilinx_spi *xspi) in xilinx_spi_tx() argument 120 if (!xspi->tx_ptr) { in xilinx_spi_tx() 121 xspi->write_fn(0, xspi->regs + XSPI_TXD_OFFSET); in xilinx_spi_tx() 125 switch (xspi->bytes_per_word) { in xilinx_spi_tx() 127 data = *(u8 *)(xspi->tx_ptr); in xilinx_spi_tx() 130 data = *(u16 *)(xspi->tx_ptr); in xilinx_spi_tx() 133 data = *(u32 *)(xspi->tx_ptr); in xilinx_spi_tx() 137 xspi->write_fn(data, xspi in xilinx_spi_tx() 141 xilinx_spi_rx(struct xilinx_spi *xspi) xilinx_spi_rx() argument 163 xspi_init_hw(struct xilinx_spi *xspi) xspi_init_hw() argument 188 struct xilinx_spi *xspi = spi_master_get_devdata(spi->master); xilinx_spi_chipselect() local 228 struct xilinx_spi *xspi = spi_master_get_devdata(spi->master); xilinx_spi_setup_transfer() local 240 struct xilinx_spi *xspi = spi_master_get_devdata(spi->master); xilinx_spi_txrx_bufs() local 344 struct xilinx_spi *xspi = dev_id; xilinx_spi_irq() local 359 xilinx_spi_find_buffer_size(struct xilinx_spi *xspi) xilinx_spi_find_buffer_size() argument 391 struct xilinx_spi *xspi; xilinx_spi_probe() local 513 struct xilinx_spi *xspi = spi_master_get_devdata(master); xilinx_spi_remove() local [all...] |
H A D | spi-cadence.c | 129 static inline u32 cdns_spi_read(struct cdns_spi *xspi, u32 offset) in cdns_spi_read() argument 131 return readl_relaxed(xspi->regs + offset); in cdns_spi_read() 134 static inline void cdns_spi_write(struct cdns_spi *xspi, u32 offset, u32 val) in cdns_spi_write() argument 136 writel_relaxed(val, xspi->regs + offset); in cdns_spi_write() 141 * @xspi: Pointer to the cdns_spi structure 150 static void cdns_spi_init_hw(struct cdns_spi *xspi) in cdns_spi_init_hw() argument 154 if (xspi->is_decoded_cs) in cdns_spi_init_hw() 157 cdns_spi_write(xspi, CDNS_SPI_ER, CDNS_SPI_ER_DISABLE); in cdns_spi_init_hw() 158 cdns_spi_write(xspi, CDNS_SPI_IDR, CDNS_SPI_IXR_ALL); in cdns_spi_init_hw() 161 while (cdns_spi_read(xspi, CDNS_SPI_IS in cdns_spi_init_hw() 176 struct cdns_spi *xspi = spi_master_get_devdata(spi->master); cdns_spi_chipselect() local 207 struct cdns_spi *xspi = spi_master_get_devdata(spi->master); cdns_spi_config_clock_mode() local 250 struct cdns_spi *xspi = spi_master_get_devdata(spi->master); cdns_spi_config_clock_freq() local 288 struct cdns_spi *xspi = spi_master_get_devdata(spi->master); cdns_spi_setup_transfer() local 303 cdns_spi_fill_tx_fifo(struct cdns_spi *xspi) cdns_spi_fill_tx_fifo() argument 344 struct cdns_spi *xspi = spi_master_get_devdata(master); cdns_spi_irq() local 414 struct cdns_spi *xspi = spi_master_get_devdata(master); cdns_transfer_one() local 440 struct cdns_spi *xspi = spi_master_get_devdata(master); cdns_prepare_transfer_hardware() local 458 struct cdns_spi *xspi = spi_master_get_devdata(master); cdns_unprepare_transfer_hardware() local 477 struct cdns_spi *xspi; cdns_spi_probe() local 605 struct cdns_spi *xspi = spi_master_get_devdata(master); cdns_spi_remove() local 646 struct cdns_spi *xspi = spi_master_get_devdata(master); cdns_spi_resume() local 663 struct cdns_spi *xspi = spi_master_get_devdata(master); cnds_runtime_resume() local 692 struct cdns_spi *xspi = spi_master_get_devdata(master); cnds_runtime_suspend() local [all...] |
H A D | spi-xtensa-xtfpga.c | 43 static inline void xtfpga_spi_wait_busy(struct xtfpga_spi *xspi) in xtfpga_spi_wait_busy() argument 47 for (i = 0; xtfpga_spi_read32(xspi, XTFPGA_SPI_BUSY) && in xtfpga_spi_wait_busy() 56 struct xtfpga_spi *xspi = spi_master_get_devdata(spi->master); in xtfpga_spi_txrx_word() local 58 xspi->data = (xspi->data << bits) | (v & GENMASK(bits - 1, 0)); in xtfpga_spi_txrx_word() 59 xspi->data_sz += bits; in xtfpga_spi_txrx_word() 60 if (xspi->data_sz >= 16) { in xtfpga_spi_txrx_word() 61 xtfpga_spi_write32(xspi, XTFPGA_SPI_DATA, in xtfpga_spi_txrx_word() 62 xspi->data >> (xspi in xtfpga_spi_txrx_word() 74 struct xtfpga_spi *xspi = spi_master_get_devdata(spi->master); xtfpga_spi_chipselect() local 82 struct xtfpga_spi *xspi; xtfpga_spi_probe() local 129 struct xtfpga_spi *xspi = spi_master_get_devdata(master); xtfpga_spi_remove() local [all...] |
H A D | spi-xlp.c | 126 static void xlp_spi_sysctl_setup(struct xlp_spi_priv *xspi) in xlp_spi_sysctl_setup() argument 131 xlp_spi_sysctl_write(xspi, XLP_SPI_SYSCTRL, in xlp_spi_sysctl_setup() 133 xlp_spi_sysctl_write(xspi, XLP_SPI_SYSCTRL, XLP_SPI_SYS_PMEN); in xlp_spi_sysctl_setup() 138 struct xlp_spi_priv *xspi; in xlp_spi_setup() local 142 xspi = spi_master_get_devdata(spi->master); in xlp_spi_setup() 147 fdiv = DIV_ROUND_UP(xspi->spi_clk, spi->max_speed_hz); in xlp_spi_setup() 153 xlp_spi_reg_write(xspi, cs, XLP_SPI_FDIV, fdiv); in xlp_spi_setup() 154 xlp_spi_reg_write(xspi, cs, XLP_SPI_FIFO_THRESH, XLP_SPI_TXRXTH); in xlp_spi_setup() 155 cfg = xlp_spi_reg_read(xspi, cs, XLP_SPI_CONFIG); in xlp_spi_setup() 176 xlp_spi_reg_write(xspi, c in xlp_spi_setup() 181 xlp_spi_read_rxfifo(struct xlp_spi_priv *xspi) xlp_spi_read_rxfifo() argument 201 xlp_spi_fill_txfifo(struct xlp_spi_priv *xspi) xlp_spi_fill_txfifo() argument 225 struct xlp_spi_priv *xspi = dev_id; xlp_spi_interrupt() local 255 xlp_spi_send_cmd(struct xlp_spi_priv *xspi, int xfer_len, int cmd_cont) xlp_spi_send_cmd() argument 351 struct xlp_spi_priv *xspi = spi_master_get_devdata(master); xlp_spi_transfer_one() local 372 struct xlp_spi_priv *xspi; xlp_spi_probe() local [all...] |