Home
last modified time | relevance | path

Searched full:nor (Results 1 – 25 of 1990) sorted by relevance

12345678910>>...80

/Linux-v5.10/drivers/mtd/spi-nor/
Dcore.c23 #include <linux/mtd/spi-nor.h>
46 * @nor: pointer to 'struct spi_nor'
53 static bool spi_nor_spimem_bounce(struct spi_nor *nor, struct spi_mem_op *op) in spi_nor_spimem_bounce() argument
58 if (op->data.nbytes > nor->bouncebuf_size) in spi_nor_spimem_bounce()
59 op->data.nbytes = nor->bouncebuf_size; in spi_nor_spimem_bounce()
60 op->data.buf.in = nor->bouncebuf; in spi_nor_spimem_bounce()
69 * @nor: pointer to 'struct spi_nor'
74 static int spi_nor_spimem_exec_op(struct spi_nor *nor, struct spi_mem_op *op) in spi_nor_spimem_exec_op() argument
78 error = spi_mem_adjust_op_size(nor->spimem, op); in spi_nor_spimem_exec_op()
82 return spi_mem_exec_op(nor->spimem, op); in spi_nor_spimem_exec_op()
[all …]
Dxilinx.c7 #include <linux/mtd/spi-nor.h>
29 static u32 s3an_convert_addr(struct spi_nor *nor, u32 addr) in s3an_convert_addr() argument
33 offset = addr % nor->page_size; in s3an_convert_addr()
34 page = addr / nor->page_size; in s3an_convert_addr()
35 page <<= (nor->page_size > 512) ? 10 : 9; in s3an_convert_addr()
40 static int xilinx_nor_setup(struct spi_nor *nor, in xilinx_nor_setup() argument
45 ret = spi_nor_xread_sr(nor, nor->bouncebuf); in xilinx_nor_setup()
49 nor->erase_opcode = SPINOR_OP_XSE; in xilinx_nor_setup()
50 nor->program_opcode = SPINOR_OP_XPP; in xilinx_nor_setup()
51 nor->read_opcode = SPINOR_OP_READ; in xilinx_nor_setup()
[all …]
DMakefile3 spi-nor-objs := core.o sfdp.o
4 spi-nor-objs += atmel.o
5 spi-nor-objs += catalyst.o
6 spi-nor-objs += eon.o
7 spi-nor-objs += esmt.o
8 spi-nor-objs += everspin.o
9 spi-nor-objs += fujitsu.o
10 spi-nor-objs += gigadevice.o
11 spi-nor-objs += intel.o
12 spi-nor-objs += issi.o
[all …]
Dsst.c7 #include <linux/mtd/spi-nor.h>
47 struct spi_nor *nor = mtd_to_spi_nor(mtd); in sst_write() local
51 dev_dbg(nor->dev, "to 0x%08x, len %zd\n", (u32)to, len); in sst_write()
53 ret = spi_nor_lock_and_prep(nor); in sst_write()
57 ret = spi_nor_write_enable(nor); in sst_write()
61 nor->sst_write_second = false; in sst_write()
65 nor->program_opcode = SPINOR_OP_BP; in sst_write()
68 ret = spi_nor_write_data(nor, to, 1, buf); in sst_write()
72 ret = spi_nor_wait_till_ready(nor); in sst_write()
82 nor->program_opcode = SPINOR_OP_AAI_WP; in sst_write()
[all …]
Dcore.h86 * struct spi_nor_erase_type - Structure to describe a SPI NOR erase type
125 * struct spi_nor_erase_region - Structure to describe a SPI NOR erase region
129 * the last in the SPI NOR flash memory and to indicate
150 * struct spi_nor_erase_map - Structure to describe the SPI NOR erase map
154 * @uniform_region: a pre-allocated erase region for SPI NOR with a uniform
162 * uniform and non-uniform SPI NOR flash memories if they
174 * struct spi_nor_locking_ops - SPI NOR locking methods
175 * @lock: lock a region of the SPI NOR.
176 * @unlock: unlock a region of the SPI NOR.
177 * @is_locked: check if a region of the SPI NOR is completely locked
[all …]
Dsfdp.c9 #include <linux/mtd/spi-nor.h>
133 * @nor: pointer to a 'struct spi_nor'
140 static int spi_nor_read_raw(struct spi_nor *nor, u32 addr, size_t len, u8 *buf) in spi_nor_read_raw() argument
145 ret = spi_nor_read_data(nor, addr, len, buf); in spi_nor_read_raw()
160 * @nor: pointer to a 'struct spi_nor'
171 static int spi_nor_read_sfdp(struct spi_nor *nor, u32 addr, in spi_nor_read_sfdp() argument
177 read_opcode = nor->read_opcode; in spi_nor_read_sfdp()
178 addr_width = nor->addr_width; in spi_nor_read_sfdp()
179 read_dummy = nor->read_dummy; in spi_nor_read_sfdp()
181 nor->read_opcode = SPINOR_OP_RDSFDP; in spi_nor_read_sfdp()
[all …]
Dwinbond.c7 #include <linux/mtd/spi-nor.h>
12 w25q256_post_bfpt_fixups(struct spi_nor *nor, in w25q256_post_bfpt_fixups() argument
27 nor->flags |= SNOR_F_4B_OPCODES; in w25q256_post_bfpt_fixups()
104 * @nor: pointer to 'struct spi_nor'.
110 static int winbond_set_4byte_addr_mode(struct spi_nor *nor, bool enable) in winbond_set_4byte_addr_mode() argument
114 ret = spi_nor_set_4byte_addr_mode(nor, enable); in winbond_set_4byte_addr_mode()
123 ret = spi_nor_write_enable(nor); in winbond_set_4byte_addr_mode()
127 ret = spi_nor_write_ear(nor, 0); in winbond_set_4byte_addr_mode()
131 return spi_nor_write_disable(nor); in winbond_set_4byte_addr_mode()
134 static void winbond_default_init(struct spi_nor *nor) in winbond_default_init() argument
[all …]
Dmicron-st.c7 #include <linux/mtd/spi-nor.h>
116 * @nor: pointer to 'struct spi_nor'.
122 static int st_micron_set_4byte_addr_mode(struct spi_nor *nor, bool enable) in st_micron_set_4byte_addr_mode() argument
126 ret = spi_nor_write_enable(nor); in st_micron_set_4byte_addr_mode()
130 ret = spi_nor_set_4byte_addr_mode(nor, enable); in st_micron_set_4byte_addr_mode()
134 return spi_nor_write_disable(nor); in st_micron_set_4byte_addr_mode()
137 static void micron_st_default_init(struct spi_nor *nor) in micron_st_default_init() argument
139 nor->flags |= SNOR_F_HAS_LOCK; in micron_st_default_init()
140 nor->flags &= ~SNOR_F_HAS_16BIT_SR; in micron_st_default_init()
141 nor->params->quad_enable = NULL; in micron_st_default_init()
[all …]
Dspansion.c7 #include <linux/mtd/spi-nor.h>
12 s25fs_s_post_bfpt_fixups(struct spi_nor *nor, in s25fs_s_post_bfpt_fixups() argument
109 static void spansion_post_sfdp_fixups(struct spi_nor *nor) in spansion_post_sfdp_fixups() argument
111 if (nor->params->size <= SZ_16M) in spansion_post_sfdp_fixups()
114 nor->flags |= SNOR_F_4B_OPCODES; in spansion_post_sfdp_fixups()
116 nor->erase_opcode = SPINOR_OP_SE; in spansion_post_sfdp_fixups()
117 nor->mtd.erasesize = nor->info->sector_size; in spansion_post_sfdp_fixups()
DKconfig3 tristate "SPI NOR device support"
8 This is the framework for the SPI NOR which can be used by the SPI
9 device drivers and the SPI NOR device driver.
27 source "drivers/mtd/spi-nor/controllers/Kconfig"
/Linux-v5.10/drivers/mtd/spi-nor/controllers/
Dhisi-sfc.c3 * HiSilicon FMC SPI NOR flash controller driver
13 #include <linux/mtd/spi-nor.h>
99 struct spi_nor *nor[HIFMC_MAX_CHIP_NUM]; member
147 static int hisi_spi_nor_prep(struct spi_nor *nor) in hisi_spi_nor_prep() argument
149 struct hifmc_priv *priv = nor->priv; in hisi_spi_nor_prep()
170 static void hisi_spi_nor_unprep(struct spi_nor *nor) in hisi_spi_nor_unprep() argument
172 struct hifmc_priv *priv = nor->priv; in hisi_spi_nor_unprep()
179 static int hisi_spi_nor_op_reg(struct spi_nor *nor, in hisi_spi_nor_op_reg() argument
182 struct hifmc_priv *priv = nor->priv; in hisi_spi_nor_op_reg()
202 static int hisi_spi_nor_read_reg(struct spi_nor *nor, u8 opcode, u8 *buf, in hisi_spi_nor_read_reg() argument
[all …]
Daspeed-smc.c15 #include <linux/mtd/spi-nor.h>
100 struct spi_nor nor; member
119 * CE0 and CE1 can only be of type SPI. CE2 can be of type NOR but the
277 static void aspeed_smc_start_user(struct spi_nor *nor) in aspeed_smc_start_user() argument
279 struct aspeed_smc_chip *chip = nor->priv; in aspeed_smc_start_user()
296 static void aspeed_smc_stop_user(struct spi_nor *nor) in aspeed_smc_stop_user() argument
298 struct aspeed_smc_chip *chip = nor->priv; in aspeed_smc_stop_user()
308 static int aspeed_smc_prep(struct spi_nor *nor) in aspeed_smc_prep() argument
310 struct aspeed_smc_chip *chip = nor->priv; in aspeed_smc_prep()
316 static void aspeed_smc_unprep(struct spi_nor *nor) in aspeed_smc_unprep() argument
[all …]
Dnxp-spifi.c3 * SPI NOR driver for NXP SPI Flash Interface (SPIFI)
18 #include <linux/mtd/spi-nor.h>
59 struct spi_nor nor; member
126 static int nxp_spifi_read_reg(struct spi_nor *nor, u8 opcode, u8 *buf, in nxp_spifi_read_reg() argument
129 struct nxp_spifi *spifi = nor->priv; in nxp_spifi_read_reg()
149 static int nxp_spifi_write_reg(struct spi_nor *nor, u8 opcode, const u8 *buf, in nxp_spifi_write_reg() argument
152 struct nxp_spifi *spifi = nor->priv; in nxp_spifi_write_reg()
173 static ssize_t nxp_spifi_read(struct spi_nor *nor, loff_t from, size_t len, in nxp_spifi_read() argument
176 struct nxp_spifi *spifi = nor->priv; in nxp_spifi_read()
188 static ssize_t nxp_spifi_write(struct spi_nor *nor, loff_t to, size_t len, in nxp_spifi_write() argument
[all …]
Dintel-spi.c17 #include <linux/mtd/spi-nor.h>
129 * @nor: SPI NOR layer structure
147 struct spi_nor nor; member
558 static int intel_spi_read_reg(struct spi_nor *nor, u8 opcode, u8 *buf, in intel_spi_read_reg() argument
561 struct intel_spi *ispi = nor->priv; in intel_spi_read_reg()
579 static int intel_spi_write_reg(struct spi_nor *nor, u8 opcode, const u8 *buf, in intel_spi_write_reg() argument
582 struct intel_spi *ispi = nor->priv; in intel_spi_write_reg()
637 static ssize_t intel_spi_read(struct spi_nor *nor, loff_t from, size_t len, in intel_spi_read() argument
640 struct intel_spi *ispi = nor->priv; in intel_spi_read()
652 switch (nor->read_opcode) { in intel_spi_read()
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/spi/
Dmediatek,spi-mtk-nor.yaml4 $id: http://devicetree.org/schemas/spi/mediatek,spi-mtk-nor.yaml#
7 title: Serial NOR flash controller for MediaTek ARM SoCs
15 SPI NOR flash. There should be only one spi slave device following
17 for devices other than SPI NOR flash due to limited transfer
28 - mediatek,mt2701-nor
29 - mediatek,mt2712-nor
30 - mediatek,mt7622-nor
31 - mediatek,mt7623-nor
32 - mediatek,mt7629-nor
33 - mediatek,mt8192-nor
[all …]
/Linux-v5.10/Documentation/driver-api/mtd/
Dspi-nor.rst2 SPI NOR framework
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
18 details of the SPI NOR protocol.
24 With this new layer, the SPI NOR controller driver does not depend on the
35 SPI NOR chip
40 SPI NOR framework
46 SPI NOR chip
48 With the SPI NOR controller driver (Freescale QuadSPI), it looks like:
51 SPI NOR framework
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/mtd/
Dhisilicon,fmc-spi-nor.txt1 HiSilicon SPI-NOR Flash Controller
4 - compatible : Should be "hisilicon,fmc-spi-nor" and one of the following strings:
5 "hisilicon,hi3519-spi-nor"
10 - clocks : handle to spi-nor flash controller clock.
13 spi-nor-controller@10000000 {
14 compatible = "hisilicon,hi3519-spi-nor", "hisilicon,fmc-spi-nor";
20 spi-nor@0 {
21 compatible = "jedec,spi-nor";
Dgpmc-nor.txt1 Device tree bindings for NOR flash connect to TI GPMC
3 NOR flash connected to the TI GPMC (found on OMAP boards) are represented as
4 child nodes of the GPMC controller with a name of "nor".
11 - bank-width: Width of NOR flash in bytes. GPMC supports 8-bit and
26 and size of NOR flash. Note that base address will be
51 nor@0,0 {
82 label = "bootloader-nor";
86 label = "params-nor";
90 label = "kernel-nor";
94 label = "filesystem-nor";
/Linux-v5.10/include/linux/mtd/
Dspi-nor.h294 * struct spi_nor_controller_ops - SPI NOR controller driver specific
302 * @read: read data from the SPI NOR.
303 * @write: write data to the SPI NOR.
304 * @erase: erase a sector of the SPI NOR at the offset @offs; if
305 * not provided by the driver, SPI NOR will send the erase
309 int (*prepare)(struct spi_nor *nor);
310 void (*unprepare)(struct spi_nor *nor);
311 int (*read_reg)(struct spi_nor *nor, u8 opcode, u8 *buf, size_t len);
312 int (*write_reg)(struct spi_nor *nor, u8 opcode, const u8 *buf,
315 ssize_t (*read)(struct spi_nor *nor, loff_t from, size_t len, u8 *buf);
[all …]
/Linux-v5.10/arch/powerpc/boot/dts/fsl/
Dmpc8536ds.dtsi13 * * Neither the name of Freescale Semiconductor nor the
36 nor@0,0 {
46 label = "ramdisk-nor";
51 label = "diagnostic-nor";
57 label = "dink-nor";
63 label = "kernel-nor";
68 label = "fs-nor";
73 label = "dtb-nor";
78 label = "u-boot-nor";
145 compatible = "spansion,s25sl12801", "jedec,spi-nor";
[all …]
Dp1022ds.dtsi13 * * Neither the name of Freescale Semiconductor nor the
36 nor@0,0 {
46 label = "ramdisk-nor";
52 label = "diagnostic-nor";
58 label = "dink-nor";
64 label = "kernel-nor";
70 label = "jffs2-nor";
75 label = "dtb-nor";
81 label = "u-boot-nor";
163 compatible = "spansion,s25sl12801", "jedec,spi-nor";
Dp1020mbg-pc.dtsi13 * * Neither the name of Freescale Semiconductor nor the
36 nor@0,0 {
47 label = "NOR DTB Image";
53 label = "NOR Linux Kernel Image";
59 label = "NOR Root File System";
66 label = "NOR Vitesse-7385 Firmware";
75 label = "NOR U-Boot Image";
Dp1021rdb-pc.dtsi13 * * Neither the name of Freescale Semiconductor nor the
36 nor@0,0 {
48 label = "NOR Vitesse-7385 Firmware";
55 label = "NOR DTB Image";
61 label = "NOR Linux Kernel Image";
67 label = "NOR JFFS2 Root File System";
74 label = "NOR QE microcode firmware";
83 label = "NOR U-Boot Image";
153 compatible = "spansion,s25sl12801", "jedec,spi-nor";
Dc293pcie.dts13 * * Neither the name of Freescale Semiconductor nor the
74 nor@0,0 {
85 label = "NOR DTB Image";
91 label = "NOR Linux Kernel Image";
97 label = "NOR Rootfs Image";
103 label = "NOR blob encrypted key";
109 label = "NOR U-Boot Image";
170 compatible = "spansion,s25sl12801", "jedec,spi-nor";
/Linux-v5.10/Documentation/devicetree/bindings/mtd/partitions/
Dbrcm,bcm963xx-cfe-nor-partitions.txt1 Broadcom BCM963XX CFE Loader NOR Flash Partitions
5 NOR. The first erase block used for the CFE bootloader, the last for an
12 - compatible : must be "brcm,bcm963xx-cfe-nor-partitions"
22 compatible = "brcm,bcm963xx-cfe-nor-partitions";

12345678910>>...80