| /OK3568_Linux_fs/kernel/drivers/mtd/spi-nor/ |
| H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 3 spi-nor-objs := core.o sfdp.o 4 spi-nor-objs += atmel.o 5 spi-nor-objs += boya.o 6 spi-nor-objs += catalyst.o 7 spi-nor-objs += dosilicon.o 8 spi-nor-objs += eon.o 9 spi-nor-objs += esmt.o 10 spi-nor-objs += everspin.o 11 spi-nor-objs += fmsh.o [all …]
|
| H A D | core.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 48 /* Dual SPI */ 54 /* Quad SPI */ 60 /* Octal SPI */ 72 /* Quad SPI */ 77 /* Octal SPI */ 86 * struct spi_nor_erase_type - Structure to describe a SPI NOR erase type 92 * @opcode: the SPI command op code to erase the sector/block. 107 * struct spi_nor_erase_command - Used for non-uniform erases 110 * are run-length encoded. [all …]
|
| H A D | core.c | 1 // SPDX-License-Identifier: GPL-2.0 22 #include <linux/spi/flash.h> 23 #include <linux/mtd/spi-nor.h> 32 struct spi_nor *nor; member 38 * For everything but full-chip erase; probably could be much smaller, but kept 44 * For full-chip erase, calibrated to a 2MB flash (M25P16); should be scaled up 52 * spi_nor_spimem_bounce() - check if a bounce buffer is needed for the data 54 * @nor: pointer to 'struct spi_nor' 61 static bool spi_nor_spimem_bounce(struct spi_nor *nor, struct spi_mem_op *op) in spi_nor_spimem_bounce() argument 63 /* op->data.buf.in occupies the same memory as op->data.buf.out */ in spi_nor_spimem_bounce() [all …]
|
| /OK3568_Linux_fs/u-boot/drivers/mtd/spi/ |
| H A D | spi-nor-core.su | |
| H A D | spi-nor-tiny.c | 1 // SPDX-License-Identifier: GPL-2.0 20 #include <linux/mtd/spi-nor.h> 21 #include <spi-mem.h> 22 #include <spi.h> 29 * For everything but full-chip erase; probably could be much smaller, but kept 37 static int spi_nor_read_write_reg(struct spi_nor *nor, struct spi_mem_op in spi_nor_read_write_reg() argument 40 if (op->data.dir == SPI_MEM_DATA_IN) in spi_nor_read_write_reg() 41 op->data.buf.in = buf; in spi_nor_read_write_reg() 43 op->data.buf.out = buf; in spi_nor_read_write_reg() 44 return spi_mem_exec_op(nor->spi, op); in spi_nor_read_write_reg() [all …]
|
| H A D | Makefile | 5 # SPDX-License-Identifier: GPL-2.0+ 8 obj-$(CONFIG_DM_SPI_FLASH) += sf-uclass.o 9 spi-nor-y := sf_probe.o spi-nor-ids.o 12 obj-$(CONFIG_SPL_SPI_BOOT) += fsl_espi_spl.o 14 spi-nor-y += spi-nor-tiny.o 16 spi-nor-y += spi-nor-core.o 19 spi-nor-y += spi-nor-core.o 22 obj-$(CONFIG_SPI_FLASH) += spi-nor.o 23 obj-$(CONFIG_SPI_FLASH_DATAFLASH) += sf_dataflash.o 24 obj-$(CONFIG_SPI_FLASH_MTD) += sf_mtd.o [all …]
|
| H A D | spi-nor-core.c | 1 // SPDX-License-Identifier: GPL-2.0 20 #include <linux/mtd/spi-nor.h> 21 #include <spi-mem.h> 22 #include <spi.h> 29 * For everything but full-chip erase; probably could be much smaller, but kept 37 static int spi_nor_read_write_reg(struct spi_nor *nor, struct spi_mem_op in spi_nor_read_write_reg() argument 40 if (op->data.dir == SPI_MEM_DATA_IN) in spi_nor_read_write_reg() 41 op->data.buf.in = buf; in spi_nor_read_write_reg() 43 op->data.buf.out = buf; in spi_nor_read_write_reg() 44 return spi_mem_exec_op(nor->spi, op); in spi_nor_read_write_reg() [all …]
|
| H A D | .spi-nor.o.cmd | |
| /OK3568_Linux_fs/u-boot/spl/drivers/mtd/spi/ |
| H A D | spi-nor-core.su | |
| H A D | .spi-nor.o.cmd | |
| /OK3568_Linux_fs/u-boot/drivers/spi/ |
| H A D | Kconfig | 1 menuconfig SPI config 2 bool "SPI Support" 4 if SPI 7 bool "Enable Driver Model for SPI drivers" 10 Enable driver model for SPI. The SPI slave interface 12 the SPI uclass. Drivers provide methods to access the SPI 14 include/spi.h. The existing spi_slave structure is attached 16 typically use driver-private data instead of extending the 20 bool "SPI memory extension" 22 Enable this option if you want to enable the SPI memory extension. [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/driver-api/mtd/ |
| H A D | spi-nor.rst | 2 SPI NOR framework 5 Part I - Why do we need this framework? 6 --------------------------------------- 8 SPI bus controllers (drivers/spi/) only deal with streams of bytes; the bus 11 arbitrary streams of bytes, but rather are designed specifically for SPI NOR. 13 In particular, Freescale's QuadSPI controller must know the NOR commands to 14 find the right LUT sequence. Unfortunately, the SPI subsystem has no notion of 15 opcodes, addresses, or data payloads; a SPI controller simply knows to send or 18 details of the SPI NOR protocol. 20 Part II - How does the framework work? [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/spi/ |
| H A D | mediatek,spi-mtk-nor.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/spi/mediatek,spi-mtk-nor.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Serial NOR flash controller for MediaTek ARM SoCs 10 - Bayi Cheng <bayi.cheng@mediatek.com> 11 - Chuanhong Guo <gch981213@gmail.com> 14 This spi controller support single, dual, or quad mode transfer for 15 SPI NOR flash. There should be only one spi slave device following 16 generic spi bindings. It's not recommended to use this controller [all …]
|
| /OK3568_Linux_fs/kernel/include/linux/mtd/ |
| H A D | spi-nor.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 12 #include <linux/spi/spi-mem.h> 19 * requires a 4-byte (32-bit) address. 31 #define SPINOR_OP_READ_1_1_2 0x3b /* Read data bytes (Dual Output SPI) */ 32 #define SPINOR_OP_READ_1_2_2 0xbb /* Read data bytes (Dual I/O SPI) */ 33 #define SPINOR_OP_READ_1_1_4 0x6b /* Read data bytes (Quad Output SPI) */ 34 #define SPINOR_OP_READ_1_4_4 0xeb /* Read data bytes (Quad I/O SPI) */ 35 #define SPINOR_OP_READ_1_1_8 0x8b /* Read data bytes (Octal Output SPI) */ 36 #define SPINOR_OP_READ_1_8_8 0xcb /* Read data bytes (Octal I/O SPI) */ 56 /* 4-byte address opcodes - used on Spansion and some Macronix flashes. */ [all …]
|
| /OK3568_Linux_fs/u-boot/include/linux/mtd/ |
| H A D | spi-nor.h | 1 // SPDX-License-Identifier: GPL-2.0 23 #define SNOR_MFR_ST CFI_MFR_ST /* ST Micro <--> Micron */ 24 #define SNOR_MFR_MICRON CFI_MFR_MICRON /* ST Micro <--> Micron */ 36 * requires a 4-byte (32-bit) address. 48 #define SPINOR_OP_READ_1_1_2 0x3b /* Read data bytes (Dual Output SPI) */ 49 #define SPINOR_OP_READ_1_2_2 0xbb /* Read data bytes (Dual I/O SPI) */ 50 #define SPINOR_OP_READ_1_1_4 0x6b /* Read data bytes (Quad Output SPI) */ 51 #define SPINOR_OP_READ_1_4_4 0xeb /* Read data bytes (Quad I/O SPI) */ 52 #define SPINOR_OP_READ_1_1_8 0x8b /* Read data bytes (Octal Output SPI) */ 53 #define SPINOR_OP_READ_1_8_8 0xcb /* Read data bytes (Octal I/O SPI) */ [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mtd/ |
| H A D | hisilicon,fmc-spi-nor.txt | 1 HiSilicon SPI-NOR Flash Controller 4 - compatible : Should be "hisilicon,fmc-spi-nor" and one of the following strings: 5 "hisilicon,hi3519-spi-nor" 6 - address-cells : Should be 1. 7 - size-cells : Should be 0. 8 - reg : Offset and length of the register set for the controller device. 9 - reg-names : Must include the following two entries: "control", "memory". 10 - clocks : handle to spi-nor flash controller clock. 13 spi-nor-controller@10000000 { 14 compatible = "hisilicon,hi3519-spi-nor", "hisilicon,fmc-spi-nor"; [all …]
|
| /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/freescale/ |
| H A D | fsl-ls1028a-qds.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 11 /dts-v1/; 13 #include "fsl-ls1028a.dtsi" 17 compatible = "fsl,ls1028a-qds", "fsl,ls1028a"; 29 stdout-path = "serial0:115200n8"; 37 sys_mclk: clock-mclk { 38 compatible = "fixed-clock"; 39 #clock-cells = <0>; 40 clock-frequency = <25000000>; 43 reg_1p8v: regulator-1p8v { [all …]
|
| H A D | fsl-ls1088a-qds.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 11 /dts-v1/; 13 #include "fsl-ls1088a.dtsi" 17 compatible = "fsl,ls1088a-qds", "fsl,ls1088a"; 21 bus-num = <0>; 25 #address-cells = <1>; 26 #size-cells = <1>; 27 compatible = "jedec,spi-nor"; 29 spi-max-frequency = <1000000>; 33 #address-cells = <1>; [all …]
|
| /OK3568_Linux_fs/kernel/drivers/mtd/spi-nor/controllers/ |
| H A D | nxp-spifi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * SPI NOR driver for NXP SPI Flash Interface (SPIFI) 18 #include <linux/mtd/spi-nor.h> 22 #include <linux/spi/spi.h> 59 struct spi_nor nor; member 69 ret = readb_poll_timeout(spifi->io_base + SPIFI_STAT, stat, in nxp_spifi_wait_for_cmd() 72 dev_warn(spifi->dev, "command timed out\n"); in nxp_spifi_wait_for_cmd() 82 writel(SPIFI_STAT_RESET, spifi->io_base + SPIFI_STAT); in nxp_spifi_reset() 83 ret = readb_poll_timeout(spifi->io_base + SPIFI_STAT, stat, in nxp_spifi_reset() 86 dev_warn(spifi->dev, "state reset timed out\n"); in nxp_spifi_reset() [all …]
|
| H A D | aspeed-smc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (c) 2015-2016, IBM Corporation. 15 #include <linux/mtd/spi-nor.h> 21 #define DEVICE_NAME "aspeed-smc" 24 * The driver only support SPI flash 100 struct spi_nor nor; member 109 void __iomem *ahb_base; /* per-chip windows resource */ 116 * SPI Flash Configuration Register (AST2500 SPI) 119 * CE0 and CE1 can only be of type SPI. CE2 can be of type NOR but the 156 #define CONTROL_IO_ADDRESS_4B BIT(13) /* AST2400 SPI */ [all …]
|
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 tristate "Aspeed flash controllers in SPI mode" 8 in the Aspeed AST2500/AST2400 SoCs when attached to SPI NOR chips, 9 and support for the SPI flash memory controller (SPI) for 10 the host firmware. The implementation only supports SPI NOR. 13 tristate "Hisilicon FMC SPI NOR Flash Controller(SFC)" 17 This enables support for HiSilicon FMC SPI NOR flash controller. 20 tristate "NXP SPI Flash Interface (SPIFI)" 24 Enable support for the NXP LPC SPI Flash Interface controller. 26 SPIFI is a specialized controller for connecting serial SPI [all …]
|
| /OK3568_Linux_fs/kernel/arch/powerpc/boot/dts/fsl/ |
| H A D | mpc8536ds.dtsi | 2 * MPC8536DS Device Tree Source stub (no addresses or top-level ranges) 13 * * Neither the name of Freescale Semiconductor nor the 36 nor@0,0 { 37 #address-cells = <1>; 38 #size-cells = <1>; 39 compatible = "cfi-flash"; 41 bank-width = <2>; 42 device-width = <1>; 46 label = "ramdisk-nor"; 51 label = "diagnostic-nor"; [all …]
|
| /OK3568_Linux_fs/u-boot/board/freescale/p1010rdb/ |
| H A D | README.P1010RDB-PA | 5 The P1010 is a cost-effective, low-power, highly integrated host processor 14 - 1Gbyte unbuffered DDR3 SDRAM discrete devices (32-bit bus) 15 - 32 Mbyte NOR flash single-chip memory 16 - 32 Mbyte NAND flash memory 17 - 256 Kbit M24256 I2C EEPROM 18 - 16 Mbyte SPI memory 19 - I2C Board EEPROM 128x8 bit memory 20 - SD/MMC connector to interface with the SD memory card 22 - PCIe: 23 - Lane0: x1 mini-PCIe slot [all …]
|
| /OK3568_Linux_fs/u-boot/board/freescale/c29xpcie/ |
| H A D | README | 3 C29XPCIE board is a series of Freescale PCIe add-in cards to perform 6 The Freescale C29x family is a high performance crypto co-processor. 12 - 512Mbyte unbuffered DDR3 SDRAM discrete devices (32-bit bus) 13 - 64 Mbyte NOR flash single-chip memory 14 - 4 Gbyte NAND flash memory 15 - 1 Mbit AT24C1024 I2C EEPROM 16 - 16 Mbyte SPI memory 19 - 10/100/1000 BaseT Ethernet ports: 20 - eTSEC1, RGMII: one 10/100/1000 port 21 - eTSEC2, RGMII: one 10/100/1000 port [all …]
|
| /OK3568_Linux_fs/kernel/drivers/rkflash/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 12 Nand, SFC Spi Nand and SFC Spi Nor. 44 tristate "Rockchip SFC Spi Nand Devices support" 48 This enables support for Rockchip SFC Spi Nand Devices. 52 Say Y when you have a board with Spi Nand Flash supported by Rockchip 66 tristate "Rockchip SFC Spi Nor Devices Support" 71 This enables support for Rockchip SFC Spi Nor Devices. 75 Say Y when you have a board with Spi Nor Flash supported by Rockchip 79 bool "RK SFC NOR mtd Interface Support"
|