| /kernel/linux/linux-5.10/drivers/spi/ |
| D | spi-bcm-qspi.c | 25 #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 …]
|
| D | spi-stm32-qspi.c | 94 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 …]
|
| D | spi-ti-qspi.c | 3 * 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 …]
|
| D | spi-zynq-qspi.c | 41 * 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 …]
|
| D | spi-zynqmp-gqspi.c | 3 * 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/ |
| D | spi-bcm-qspi.c | 36 #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 …]
|
| D | spi-ti-qspi.c | 2 * 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 …]
|
| D | spi-zynqmp-gqspi.c | 2 * 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/ |
| D | stm32-quadspi.c | 135 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/ |
| D | ti_qspi.txt | 1 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 …]
|
| D | brcm,spi-bcm-qspi.txt | 26 "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 …]
|
| D | renesas,rspi.yaml | 7 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 …]
|
| D | qcom,spi-qcom-qspi.yaml | 5 $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";
|
| D | spi-fsl-qspi.txt | 4 - 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/ |
| D | ti_qspi.txt | 1 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 …]
|
| D | spi-rspi.txt | 1 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";
|
| D | brcm,spi-bcm-qspi.txt | 26 "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/ |
| D | fsl-quadspi.txt | 4 - 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";
|
| D | stm32-quadspi.txt | 4 - 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)>;
|
| D | cadence-quadspi.txt | 5 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/ |
| D | cadence-quadspi.txt | 5 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/ |
| D | mcfqspi.h | 3 * 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/ |
| D | mcfqspi.h | 2 * 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/ |
| D | dra7-evm-common.dtsi | 134 &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/ |
| D | dra7-evm-common.dtsi | 136 &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 …]
|