Home
last modified time | relevance | path

Searched full:xspi (Results 1 – 17 of 17) sorted by relevance

/openbmc/linux/drivers/spi/
H A Dspi-xilinx.c116 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->regs + XSPI_TXD_OFFSET); in xilinx_spi_tx()
138 xspi->tx_ptr += xspi->bytes_per_word; in xilinx_spi_tx()
141 static void xilinx_spi_rx(struct xilinx_spi *xspi) in xilinx_spi_rx() argument
[all …]
H A Dspi-cadence.c131 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_ISR) & CDNS_SPI_IXR_RXNEMTY) in cdns_spi_init_hw()
[all …]
H A Dspi-xlp.c125 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, cs, XLP_SPI_CONFIG, cfg); in xlp_spi_setup()
[all …]
H A Dspi-xtensa-xtfpga.c43 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->data_sz - 16)); in xtfpga_spi_txrx_word()
63 xspi->data_sz -= 16; in xtfpga_spi_txrx_word()
64 xtfpga_spi_write32(xspi, XTFPGA_SPI_START, 1); in xtfpga_spi_txrx_word()
[all …]
H A Dspi-cadence-xspi.c2 // Cadence XSPI flash controller driver
25 #define CDNS_XSPI_NAME "cadence-xspi"
29 * configure XSPI controller pin-strap settings
317 "Incorrect XSPI magic number: %x, expected: %x\n", in cdns_xspi_controller_init()
624 .compatible = "cdns,xspi-nor",
641 MODULE_DESCRIPTION("Cadence XSPI Controller Driver");
H A Dspi-fsl-dspi.c240 * individually (in XSPI mode)
678 * dspi_pushr_cmd_write with XSPI mode. As for how much in advance? One in dspi_pushr_cmd_write()
799 * Update CTAR here (code is common for XSPI and DMA modes). in dspi_setup_accel()
800 * We will update CTARE in the portion specific to XSPI, when we in dspi_setup_accel()
817 /* In XSPI mode each 32-bit word occupies 2 TX FIFO entries */ in dspi_fifo_write()
H A DKconfig259 tristate "Cadence XSPI controller"
263 Enable support for the Cadence XSPI Flash controller.
265 Cadence XSPI is a specialized controller for connecting an SPI
267 device with a Cadence XSPI controller and want to access the
H A DMakefile40 obj-$(CONFIG_SPI_CADENCE_XSPI) += spi-cadence-xspi.o
/openbmc/linux/Documentation/devicetree/bindings/spi/
H A Dcdns,xspi.yaml5 $id: http://devicetree.org/schemas/spi/cdns,xspi.yaml#
8 title: Cadence XSPI Controller
14 The XSPI controller allows SPI protocol communication in
23 const: cdns,xspi-nor
54 xspi: spi@a0010000 {
57 compatible = "cdns,xspi-nor";
/openbmc/u-boot/include/configs/
H A Dxilinx_versal.h87 # define BOOT_TARGET_DEVICES_XSPI(func) func(XSPI, xspi, 0)
98 "xspi "
/openbmc/linux/include/dt-bindings/memory/
H A Dtegra234-mc.h289 /* XSPI writes */
339 /* XSPI client */
341 /* XSPI writes */
343 /* XSPI client */
/openbmc/linux/drivers/mtd/spi-nor/
H A Dspansion.c688 * On older versions of the flash the xSPI Profile 1.0 table has the in s28hx_t_post_sfdp_fixup()
699 * Since xSPI Page Program opcode is backward compatible with in s28hx_t_post_sfdp_fixup()
706 * The xSPI Profile 1.0 table advertises the number of additional in s28hx_t_post_sfdp_fixup()
H A Dsfdp.c24 #define SFDP_PROFILE1_ID 0xff05 /* xSPI Profile 1.0 table. */
1088 * Since xSPI Page Program opcode is backward compatible with in spi_nor_parse_4bait()
1136 * spi_nor_parse_profile1() - parse the xSPI Profile 1.0 table
1210 * Page Program is "Required Command" in the xSPI Profile 1.0. Update in spi_nor_parse_profile1()
H A Dcore.c2810 * Since xSPI Page Program opcode is backward compatible with in spi_nor_no_sfdp_init_params()
/openbmc/u-boot/board/freescale/lx2160a/
H A DREADME34 Octal SPI (XSPI)
/openbmc/linux/
H A Dopengrok2.0.log[all...]
H A Dopengrok0.0.log4207 2024-12-28 20:09:06.734-0600 FINEST t1126 PendingFileCompleter.doRename: Moved pending as file: '/opengrok/data/xref/openbmc/linux/drivers/spi/spi-cadence-xspi.c.gz'
[all...]