| /OK3568_Linux_fs/kernel/drivers/spi/ |
| H A 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 …]
|
| H A 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 …]
|
| H A 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 …]
|
| H A 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 …]
|
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/spi/ |
| H A 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 …]
|
| H A 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 …]
|
| H A 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 …]
|
| H A 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 50 - const: qspi-config 51 - const: qspi-memory 71 qspi: spi@88df000 { 72 compatible = "qcom,sdm845-qspi", "qcom,qspi-v1";
|
| H A 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";
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mtd/ |
| H A 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";
|
| /OK3568_Linux_fs/u-boot/arch/arm/dts/ |
| H A D | zynq-topic-miami.dts | 18 spi0 = &qspi; 35 &qspi { 49 partition@qspi-u-boot-spl { 50 label = "qspi-u-boot-spl"; 53 partition@qspi-u-boot-img { 54 label = "qspi-u-boot-img"; 57 partition@qspi-device-tree { 58 label = "qspi-device-tree"; 61 partition@qspi-linux { 62 label = "qspi-linux"; [all …]
|
| H A D | zynqmp-zc1751-xm015-dc1.dts | 28 spi0 = &qspi; 112 &qspi { 122 partition@qspi-fsbl-uboot { /* for testing purpose */ 123 label = "qspi-fsbl-uboot"; 126 partition@qspi-linux { /* for testing purpose */ 127 label = "qspi-linux"; 130 partition@qspi-device-tree { /* for testing purpose */ 131 label = "qspi-device-tree"; 134 partition@qspi-rootfs { /* for testing purpose */ 135 label = "qspi-rootfs";
|
| H A D | zynqmp-ep108.dts | 23 spi0 = &qspi; 112 &qspi { 122 partition@qspi-fsbl-uboot { /* for testing purpose */ 123 label = "qspi-fsbl-uboot"; 126 partition@qspi-linux { /* for testing purpose */ 127 label = "qspi-linux"; 130 partition@qspi-device-tree { /* for testing purpose */ 131 label = "qspi-device-tree"; 134 partition@qspi-rootfs { /* for testing purpose */ 135 label = "qspi-rootfs";
|
| H A D | keystone-k2g-evm.dts | 68 &qspi { 87 label = "QSPI.u-boot-spl-os"; 91 label = "QSPI.u-boot-env"; 95 label = "QSPI.skern"; 99 label = "QSPI.pmmc-firmware"; 103 label = "QSPI.kernel"; 107 label = "QSPI.file-system";
|
| /OK3568_Linux_fs/u-boot/doc/SPI/ |
| H A D | README.dual-flash | 1 SPI/QSPI Dual flash connection modes: 4 This describes how SPI/QSPI flash memories are connected to a given 9 hw logics(ex: xilinx zynq qspi) that describes two/dual memories are 22 | SPI/QSPI |<======================>| (SPI/QSPI) | 28 - dual spi/qspi flash memories are connected with a single chipselect 30 - xilinx zynq qspi controller has implemented this feature [1] 36 | | | CLK | (SPI/QSPI) | 39 | SPI/QSPI |------------|----|---->| | 42 | | CLK | | (SPI/QSPI) | 58 - dual spi/qspi flash memories are connected with a single chipselect [all …]
|
| H A D | README.ti_qspi_flash | 1 QSPI U-Boot support 5 interface. QSPI is a kind of spi module that allows single, 10 The one QSPI in the device is primarily intended for fast booting 18 will be changed to qspi boot. Then, the ROM code will read MLO 38 drivers/qspi/ti_qspi.c 40 qspi controller and also for providing the low level api which 47 details about the commands required to test qspi at U-Boot level.
|
| /OK3568_Linux_fs/u-boot/arch/arm/cpu/armv8/fsl-layerscape/doc/ |
| H A D | README.qspi | 1 QSPI Boot source support Overview 14 Booting from QSPI 16 Booting from QSPI requires two images, RCW and u-boot-dtb.bin. 17 The difference between QSPI boot RCW image and NOR boot image is the PBI 19 to the address for u-boot in QSPI flash. 21 RCW image should be written to the beginning of QSPI flash device. 31 To get the QSPI image, build u-boot with QSPI config, for example, 42 With these two images in QSPI flash device, the board can boot from QSPI.
|
| /OK3568_Linux_fs/u-boot/board/freescale/ls1012ardb/ |
| H A D | README | 22 -QSPI: A dual 1:3 switch, NX3L4357GM,115 (U35) drives the QSPI chip-select 24 - QSPI NOR flash memory (2 virtual banks) 25 - the QSPI emulator.s 42 a) QSPI Flash Emu Boot 43 b) QSPI Flash 1 44 c) QSPI Flash 2 46 QSPI flash map 48 Images | Size |QSPI Flash Address
|
| /OK3568_Linux_fs/u-boot/board/freescale/ls1012aqds/ |
| H A D | README | 22 - QSPI Controller 23 - A dual 1:3 switch, NX3L4357GM,115 (U35) drives the QSPI chip-select 24 signals to QSPI NOR flash memory (2 virtual banks) and the QSPI 47 a) QSPI Flash Emu Boot 48 b) QSPI Flash 1 49 c) QSPI Flash 2 51 QSPI flash map 53 Images | Size |QSPI Flash Address
|
| /OK3568_Linux_fs/u-boot/drivers/spi/ |
| H A D | fsl_qspi.c | 4 * Freescale Quad Serial Peripheral Interface (QSPI) driver 52 /* QSPI CMD */ 74 /* 4-byte address QSPI CMD - used on Spansion and some Macronix flashes */ 85 /* QSPI max chipselect signals number */ 90 * struct fsl_qspi_platdata - platform data for Freescale QSPI 92 * @flags: Flags for QSPI QSPI_FLAG_... 94 * @reg_base: Base address of QSPI registers 95 * @amba_base: Base address of QSPI memory mapping 96 * @amba_total_size: size of QSPI memory mapping 98 * @num_chipselect: Number of QSPI chipselect signals [all …]
|
| H A D | Kconfig | 84 bool "Cadence QSPI driver" 86 Enable the Cadence Quad-SPI (QSPI) driver. This driver can be 184 bool "STM32F7 QSPI driver" 187 Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be 216 bool "nVidia Tegra210 QSPI driver" 218 Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver 239 bool "Zynq QSPI driver" 242 Enable the Zynq Quad-SPI (QSPI) driver. This driver can be 244 Zynq QSPI IP core. This IP is used to connect the flash in 245 4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel. [all …]
|
| /OK3568_Linux_fs/kernel/arch/m68k/include/asm/ |
| H A 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.
|
| /OK3568_Linux_fs/kernel/arch/arm/boot/dts/ |
| H A 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 …]
|
| /OK3568_Linux_fs/u-boot/board/freescale/ls2080ardb/ |
| H A D | ls2080ardb.c | 81 puts("boot from QSPI DEV#0\n"); in checkboard() 82 puts("QSPI_CSA_1 mapped to QSPI DEV#1\n"); in checkboard() 85 puts("boot from QSPI DEV#1\n"); in checkboard() 86 puts("QSPI_CSA_1 mapped to QSPI DEV#0\n"); in checkboard() 89 puts("boot from QSPI EMU\n"); in checkboard() 90 puts("QSPI_CSA_1 mapped to QSPI DEV#0\n"); in checkboard() 93 puts("boot from QSPI EMU\n"); in checkboard() 94 puts("QSPI_CSA_1 mapped to QSPI DEV#1\n"); in checkboard() 97 puts("boot from QSPI DEV#0\n"); in checkboard() 98 puts("QSPI_CSA_1 mapped to QSPI EMU\n"); in checkboard() [all …]
|