Home
last modified time | relevance | path

Searched full:qspi (Results 1 – 25 of 377) sorted by relevance

12345678910>>...16

/kernel/linux/linux-5.10/drivers/spi/
Dspi-bcm-qspi.c25 #include "spi-bcm-qspi.h"
234 static inline bool has_bspi(struct bcm_qspi *qspi) in has_bspi() argument
236 return qspi->bspi_mode; in has_bspi()
240 static inline bool bcm_qspi_has_fastbr(struct bcm_qspi *qspi) in bcm_qspi_has_fastbr() argument
242 if (!has_bspi(qspi) && in bcm_qspi_has_fastbr()
243 ((qspi->mspi_maj_rev >= 1) && in bcm_qspi_has_fastbr()
244 (qspi->mspi_min_rev >= 5))) in bcm_qspi_has_fastbr()
251 static inline bool bcm_qspi_has_sysclk_108(struct bcm_qspi *qspi) in bcm_qspi_has_sysclk_108() argument
253 if (!has_bspi(qspi) && (qspi->mspi_spcr3_sysclk || in bcm_qspi_has_sysclk_108()
254 ((qspi->mspi_maj_rev >= 1) && in bcm_qspi_has_sysclk_108()
[all …]
Dspi-stm32-qspi.c94 struct stm32_qspi *qspi; member
128 struct stm32_qspi *qspi = (struct stm32_qspi *)dev_id; in stm32_qspi_irq() local
131 sr = readl_relaxed(qspi->io_base + QSPI_SR); in stm32_qspi_irq()
135 cr = readl_relaxed(qspi->io_base + QSPI_CR); in stm32_qspi_irq()
137 writel_relaxed(cr, qspi->io_base + QSPI_CR); in stm32_qspi_irq()
138 complete(&qspi->data_completion); in stm32_qspi_irq()
154 static int stm32_qspi_tx_poll(struct stm32_qspi *qspi, in stm32_qspi_tx_poll() argument
172 ret = readl_relaxed_poll_timeout_atomic(qspi->io_base + QSPI_SR, in stm32_qspi_tx_poll()
176 dev_err(qspi->dev, "fifo timeout (len:%d stat:%#x)\n", in stm32_qspi_tx_poll()
180 tx_fifo(buf++, qspi->io_base + QSPI_DR); in stm32_qspi_tx_poll()
[all …]
Dspi-ti-qspi.c3 * TI QSPI driver
128 static inline unsigned long ti_qspi_read(struct ti_qspi *qspi, in ti_qspi_read() argument
131 return readl(qspi->base + reg); in ti_qspi_read()
134 static inline void ti_qspi_write(struct ti_qspi *qspi, in ti_qspi_write() argument
137 writel(val, qspi->base + reg); in ti_qspi_write()
142 struct ti_qspi *qspi = spi_master_get_devdata(spi->master); in ti_qspi_setup() local
143 struct ti_qspi_regs *ctx_reg = &qspi->ctx_reg; in ti_qspi_setup()
148 dev_dbg(qspi->dev, "master busy doing other transfers\n"); in ti_qspi_setup()
152 if (!qspi->spi_max_frequency) { in ti_qspi_setup()
153 dev_err(qspi->dev, "spi max frequency not defined\n"); in ti_qspi_setup()
[all …]
Dspi-zynq-qspi.c41 * QSPI Configuration Register bit Masks
44 * of the QSPI controller
57 * QSPI Configuration Register - Baud rate and slave select
67 * QSPI Interrupt Registers bit Masks
72 #define ZYNQ_QSPI_IXR_RX_OVERFLOW_MASK BIT(0) /* QSPI RX FIFO Overflow */
73 #define ZYNQ_QSPI_IXR_TXNFULL_MASK BIT(2) /* QSPI TX FIFO Overflow */
74 #define ZYNQ_QSPI_IXR_TXFULL_MASK BIT(3) /* QSPI TX FIFO is full */
75 #define ZYNQ_QSPI_IXR_RXNEMTY_MASK BIT(4) /* QSPI RX FIFO Not Empty */
76 #define ZYNQ_QSPI_IXR_RXF_FULL_MASK BIT(5) /* QSPI RX FIFO is full */
77 #define ZYNQ_QSPI_IXR_TXF_UNDRFLOW_MASK BIT(6) /* QSPI TX FIFO Underflow */
[all …]
Dspi-zynqmp-gqspi.c3 * Xilinx Zynq UltraScale+ MPSoC Quad-SPI (QSPI) controller driver
26 /* Generic QSPI register offsets */
141 * struct zynqmp_qspi - Defines qspi driver instance
142 * @regs: Virtual address of the QSPI controller registers
156 * @mode: Defines the mode in which QSPI is operating
254 * The default settings of the QSPI controller's configurable parameters on
266 * - Enable the QSPI controller
354 * @qspi: Pointer to the spi_device structure
357 static void zynqmp_qspi_chipselect(struct spi_device *qspi, bool is_high) in zynqmp_qspi_chipselect() argument
359 struct zynqmp_qspi *xqspi = spi_master_get_devdata(qspi->master); in zynqmp_qspi_chipselect()
[all …]
/kernel/linux/linux-4.19/drivers/spi/
Dspi-bcm-qspi.c36 #include "spi-bcm-qspi.h"
233 static inline bool has_bspi(struct bcm_qspi *qspi) in has_bspi() argument
235 return qspi->bspi_mode; in has_bspi()
238 /* Read qspi controller register*/
239 static inline u32 bcm_qspi_read(struct bcm_qspi *qspi, enum base_type type, in bcm_qspi_read() argument
242 return bcm_qspi_readl(qspi->big_endian, qspi->base[type] + offset); in bcm_qspi_read()
245 /* Write qspi controller register*/
246 static inline void bcm_qspi_write(struct bcm_qspi *qspi, enum base_type type, in bcm_qspi_write() argument
249 bcm_qspi_writel(qspi->big_endian, data, qspi->base[type] + offset); in bcm_qspi_write()
253 static int bcm_qspi_bspi_busy_poll(struct bcm_qspi *qspi) in bcm_qspi_bspi_busy_poll() argument
[all …]
Dspi-ti-qspi.c2 * TI QSPI driver
137 static inline unsigned long ti_qspi_read(struct ti_qspi *qspi, in ti_qspi_read() argument
140 return readl(qspi->base + reg); in ti_qspi_read()
143 static inline void ti_qspi_write(struct ti_qspi *qspi, in ti_qspi_write() argument
146 writel(val, qspi->base + reg); in ti_qspi_write()
151 struct ti_qspi *qspi = spi_master_get_devdata(spi->master); in ti_qspi_setup() local
152 struct ti_qspi_regs *ctx_reg = &qspi->ctx_reg; in ti_qspi_setup()
157 dev_dbg(qspi->dev, "master busy doing other transfers\n"); in ti_qspi_setup()
161 if (!qspi->spi_max_frequency) { in ti_qspi_setup()
162 dev_err(qspi->dev, "spi max frequency not defined\n"); in ti_qspi_setup()
[all …]
Dspi-zynqmp-gqspi.c2 * Xilinx Zynq UltraScale+ MPSoC Quad-SPI (QSPI) controller driver
28 /* Generic QSPI register offsets */
143 * struct zynqmp_qspi - Defines qspi driver instance
144 * @regs: Virtual address of the QSPI controller registers
158 * @mode: Defines the mode in which QSPI is operating
251 * The default settings of the QSPI controller's configurable parameters on
263 * - Enable the QSPI controller
385 * @qspi: Pointer to the spi_device structure
388 static void zynqmp_qspi_chipselect(struct spi_device *qspi, bool is_high) in zynqmp_qspi_chipselect() argument
390 struct zynqmp_qspi *xqspi = spi_master_get_devdata(qspi->master); in zynqmp_qspi_chipselect()
[all …]
/kernel/linux/linux-4.19/drivers/mtd/spi-nor/
Dstm32-quadspi.c135 struct stm32_qspi *qspi; member
174 static int stm32_qspi_wait_cmd(struct stm32_qspi *qspi) in stm32_qspi_wait_cmd() argument
179 if (readl_relaxed(qspi->io_base + QUADSPI_SR) & SR_TCF) in stm32_qspi_wait_cmd()
182 reinit_completion(&qspi->cmd_completion); in stm32_qspi_wait_cmd()
183 cr = readl_relaxed(qspi->io_base + QUADSPI_CR); in stm32_qspi_wait_cmd()
184 writel_relaxed(cr | CR_TCIE, qspi->io_base + QUADSPI_CR); in stm32_qspi_wait_cmd()
186 if (!wait_for_completion_interruptible_timeout(&qspi->cmd_completion, in stm32_qspi_wait_cmd()
190 writel_relaxed(cr, qspi->io_base + QUADSPI_CR); in stm32_qspi_wait_cmd()
194 static int stm32_qspi_wait_nobusy(struct stm32_qspi *qspi) in stm32_qspi_wait_nobusy() argument
198 return readl_relaxed_poll_timeout(qspi->io_base + QUADSPI_SR, sr, in stm32_qspi_wait_nobusy()
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/spi/
Dti_qspi.txt1 TI QSPI controller.
4 - compatible : should be "ti,dra7xxx-qspi" or "ti,am4372-qspi".
5 - reg: Should contain QSPI registers location and length.
7 - qspi_base: Qspi configuration register Address space
10 - interrupts: should contain the qspi interrupt number.
12 - ti,hwmods: Name of the hwmod associated to the QSPI
19 - syscon-chipselects: Handle to system control region contains QSPI
22 NOTE: TI QSPI controller requires different pinmux and IODelay
26 specified in the slave nodes of TI QSPI controller without appropriate
32 qspi: qspi@47900000 {
[all …]
Dbrcm,spi-bcm-qspi.txt26 "brcm,spi-brcmstb-qspi", "brcm,spi-bcm-qspi" : MSPI+BSPI on BRCMSTB SoCs
27 "brcm,spi-brcmstb-mspi", "brcm,spi-bcm-qspi" : Second Instance of MSPI
29 "brcm,spi-bcm7425-qspi", "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI
31 "brcm,spi-bcm7429-qspi", "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI
33 "brcm,spi-bcm7435-qspi", "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI
35 "brcm,spi-bcm7445-qspi", "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI
37 "brcm,spi-bcm7216-qspi", "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI
39 "brcm,spi-bcm7278-qspi", "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI
41 "brcm,spi-nsp-qspi", "brcm,spi-bcm-qspi" : MSPI+BSPI on Cygnus, NSP
42 "brcm,spi-ns2-qspi", "brcm,spi-bcm-qspi" : NS2 SoCs
[all …]
Drenesas,rspi.yaml7 title: Renesas (Quad) Serial Peripheral Interface (RSPI/QSPI)
28 - renesas,qspi-r8a7742 # RZ/G1H
29 - renesas,qspi-r8a7743 # RZ/G1M
30 - renesas,qspi-r8a7744 # RZ/G1N
31 - renesas,qspi-r8a7745 # RZ/G1E
32 - renesas,qspi-r8a77470 # RZ/G1C
33 - renesas,qspi-r8a7790 # R-Car H2
34 - renesas,qspi-r8a7791 # R-Car M2-W
35 - renesas,qspi-r8a7792 # R-Car V2H
36 - renesas,qspi-r8a7793 # R-Car M2-N
[all …]
Dqcom,spi-qcom-qspi.yaml5 $id: "http://devicetree.org/schemas/spi/qcom,spi-qcom-qspi.yaml#"
8 title: Qualcomm Quad Serial Peripheral Interface (QSPI)
14 description: The QSPI controller allows SPI protocol communication in single,
24 - const: qcom,sdm845-qspi
25 - const: qcom,qspi-v1
41 - description: QSPI core clock
49 - const: qspi-config
50 - const: qspi-memory
70 qspi: spi@88df000 {
71 compatible = "qcom,sdm845-qspi", "qcom,qspi-v1";
Dspi-fsl-qspi.txt4 - compatible : Should be "fsl,vf610-qspi", "fsl,imx6sx-qspi",
5 "fsl,imx7d-qspi", "fsl,imx6ul-qspi",
6 "fsl,ls1021a-qspi", "fsl,ls2080a-qspi"
8 "fsl,ls1043a-qspi" followed by "fsl,ls1021a-qspi"
14 - clock-names : Should contain the name of the clocks: "qspi_en" and "qspi".
27 compatible = "fsl,vf610-qspi";
33 clock-names = "qspi_en", "qspi";
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/spi/
Dti_qspi.txt1 TI QSPI controller.
4 - compatible : should be "ti,dra7xxx-qspi" or "ti,am4372-qspi".
5 - reg: Should contain QSPI registers location and length.
7 - qspi_base: Qspi configuration register Address space
10 - interrupts: should contain the qspi interrupt number.
12 - ti,hwmods: Name of the hwmod associated to the QSPI
19 - syscon-chipselects: Handle to system control region contains QSPI
22 NOTE: TI QSPI controller requires different pinmux and IODelay
26 specified in the slave nodes of TI QSPI controller without appropriate
32 qspi: qspi@4b300000 {
[all …]
Dspi-rspi.txt1 Device tree configuration for Renesas RSPI/QSPI driver
10 "renesas,qspi-<soctype>", "renesas,qspi" as fallback.
14 - "renesas,qspi-r8a7743" (RZ/G1M)
15 - "renesas,qspi-r8a7745" (RZ/G1E)
16 - "renesas,qspi-r8a7790" (R-Car H2)
17 - "renesas,qspi-r8a7791" (R-Car M2-W)
18 - "renesas,qspi-r8a7792" (R-Car V2H)
19 - "renesas,qspi-r8a7793" (R-Car M2-N)
20 - "renesas,qspi-r8a7794" (R-Car E2)
60 compatible = "renesas,qspi-r8a7791", "renesas,qspi";
Dbrcm,spi-bcm-qspi.txt26 "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-qspi" : MSPI+BSPI on BRCMSTB SoCs
27 "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI
29 "brcm,spi-bcm-qspi", "brcm,spi-nsp-qspi" : MSPI+BSPI on Cygnus, NSP
30 "brcm,spi-bcm-qspi", "brcm,spi-ns2-qspi" : NS2 SoCs
79 compatible = "brcm,spi-brcmstb-qspi", "brcm,spi-brcmstb-qspi";
142 compatible = "brcm,spi-brcmstb-qspi", "brcm,spi-brcmstb-mspi";
152 qspi: spi@18027200 {
153 compatible = "brcm,spi-bcm-qspi", "brcm,spi-nsp-qspi";
183 qspi: spi@66470200 {
184 compatible = "brcm,spi-bcm-qspi", "brcm,spi-ns2-qspi";
[all …]
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/mtd/
Dfsl-quadspi.txt4 - compatible : Should be "fsl,vf610-qspi", "fsl,imx6sx-qspi",
5 "fsl,imx7d-qspi", "fsl,imx6ul-qspi",
6 "fsl,ls1021a-qspi"
8 "fsl,ls2080a-qspi" followed by "fsl,ls1021a-qspi",
9 "fsl,ls1043a-qspi" followed by "fsl,ls1021a-qspi"
15 - clock-names : Should contain the name of the clocks: "qspi_en" and "qspi".
18 - fsl,qspi-has-second-chip: The controller has two buses, bus A and bus B.
30 compatible = "fsl,vf610-qspi";
36 clock-names = "qspi_en", "qspi";
Dstm32-quadspi.txt4 - compatible: should be "st,stm32f469-qspi"
7 - reg-names: should contain the reg names "qspi" "qspi_mm"
9 - clocks: the phandle of the clock needed by the QSPI controller
10 - A pinctrl must be defined to set pins in mode of operation for QSPI transfer
19 - reg: chip-Select number (QSPI controller may connect 2 nor flashes)
27 qspi: spi@a0001000 {
28 compatible = "st,stm32f469-qspi";
30 reg-names = "qspi", "qspi_mm";
32 resets = <&rcc STM32F4_AHB3_RESET(QSPI)>;
33 clocks = <&rcc 0 STM32F4_AHB3_CLOCK(QSPI)>;
Dcadence-quadspi.txt5 Generic default - "cdns,qspi-nor".
6 For TI 66AK2G SoC - "ti,k2g-qspi", "cdns,qspi-nor".
10 address and length of the QSPI Controller data area.
19 - cdns,rclk-en : Flag to indicate that QSPI return clock is used to latch
20 the read data rather than the QSPI clock. Make sure that QSPI return
40 qspi: spi@ff705000 {
41 compatible = "cdns,qspi-nor";
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/mtd/
Dcadence-quadspi.txt5 Generic default - "cdns,qspi-nor".
6 For TI 66AK2G SoC - "ti,k2g-qspi", "cdns,qspi-nor".
7 For TI AM654 SoC - "ti,am654-ospi", "cdns,qspi-nor".
11 address and length of the QSPI Controller data area.
20 - cdns,rclk-en : Flag to indicate that QSPI return clock is used to latch
21 the read data rather than the QSPI clock. Make sure that QSPI return
40 - reset-names : Must include either "qspi" and/or "qspi-ocp".
44 qspi: spi@ff705000 {
45 compatible = "cdns,qspi-nor";
57 reset-names = "qspi", "qspi-ocp";
/kernel/linux/linux-5.10/arch/m68k/include/asm/
Dmcfqspi.h3 * Definitions for Freescale Coldfire QSPI module
12 * struct mcfqspi_cs_control - chip select control for the coldfire qspi driver
18 * The QSPI module has 4 hardware chip selects. We don't use them. Instead
20 * platform data for each QSPI master controller. Only the select and
31 * struct mcfqspi_platform_data - platform data for the coldfire qspi driver
32 * @bus_num: board specific identifier for this qspi driver.
33 * @num_chipselects: number of chip selects supported by this qspi driver.
/kernel/linux/linux-4.19/arch/m68k/include/asm/
Dmcfqspi.h2 * Definitions for Freescale Coldfire QSPI module
20 * struct mcfqspi_cs_control - chip select control for the coldfire qspi driver
26 * The QSPI module has 4 hardware chip selects. We don't use them. Instead
28 * platform data for each QSPI master controller. Only the select and
39 * struct mcfqspi_platform_data - platform data for the coldfire qspi driver
40 * @bus_num: board specific identifier for this qspi driver.
41 * @num_chipselects: number of chip selects supported by this qspi driver.
/kernel/linux/linux-5.10/arch/arm/boot/dts/
Ddra7-evm-common.dtsi134 &qspi {
153 label = "QSPI.SPL";
157 label = "QSPI.SPL.backup1";
161 label = "QSPI.SPL.backup2";
165 label = "QSPI.SPL.backup3";
169 label = "QSPI.u-boot";
173 label = "QSPI.u-boot-spl-os";
177 label = "QSPI.u-boot-env";
181 label = "QSPI.u-boot-env.backup1";
185 label = "QSPI.kernel";
[all …]
/kernel/linux/linux-4.19/arch/arm/boot/dts/
Ddra7-evm-common.dtsi136 &qspi {
155 label = "QSPI.SPL";
159 label = "QSPI.SPL.backup1";
163 label = "QSPI.SPL.backup2";
167 label = "QSPI.SPL.backup3";
171 label = "QSPI.u-boot";
175 label = "QSPI.u-boot-spl-os";
179 label = "QSPI.u-boot-env";
183 label = "QSPI.u-boot-env.backup1";
187 label = "QSPI.kernel";
[all …]

12345678910>>...16