/linux/drivers/mtd/spi-nor/ |
H A D | micron-st.c | 7 #include <linux/mtd/spi-nor.h> 32 /* Micron ST SPI NOR flash operations. */ 51 static int micron_st_nor_octal_dtr_en(struct spi_nor *nor) in micron_st_nor_octal_dtr_en() argument 54 u8 *buf = nor->bouncebuf; in micron_st_nor_octal_dtr_en() 56 u8 addr_mode_nbytes = nor->params->addr_mode_nbytes; in micron_st_nor_octal_dtr_en() 63 ret = spi_nor_write_any_volatile_reg(nor, &op, nor->reg_proto); in micron_st_nor_octal_dtr_en() 71 ret = spi_nor_write_any_volatile_reg(nor, &op, nor->reg_proto); in micron_st_nor_octal_dtr_en() 76 ret = spi_nor_read_id(nor, 0, 8, buf, SNOR_PROTO_8_8_8_DTR); in micron_st_nor_octal_dtr_en() 78 dev_dbg(nor->dev, "error %d reading JEDEC ID after enabling 8D-8D-8D mode\n", ret); in micron_st_nor_octal_dtr_en() 82 if (memcmp(buf, nor->info->id->bytes, nor->info->id->len)) in micron_st_nor_octal_dtr_en() [all …]
|
H A D | sst.c | 7 #include <linux/mtd/spi-nor.h> 16 static int sst26vf_nor_lock(struct spi_nor *nor, loff_t ofs, u64 len) in sst26vf_nor_lock() argument 21 static int sst26vf_nor_unlock(struct spi_nor *nor, loff_t ofs, u64 len) in sst26vf_nor_unlock() argument 26 if (ofs != 0 || len != nor->params->size) in sst26vf_nor_unlock() 29 ret = spi_nor_read_cr(nor, nor->bouncebuf); in sst26vf_nor_unlock() 33 if (!(nor->bouncebuf[0] & SST26VF_CR_BPNV)) { in sst26vf_nor_unlock() 34 dev_dbg(nor->dev, "Any block has been permanently locked\n"); in sst26vf_nor_unlock() 38 return spi_nor_global_block_unlock(nor); in sst26vf_nor_unlock() 41 static int sst26vf_nor_is_locked(struct spi_nor *nor, loff_t ofs, u64 len) in sst26vf_nor_is_locked() argument 52 static int sst26vf_nor_late_init(struct spi_nor *nor) in sst26vf_nor_late_init() argument [all …]
|
H A D | Makefile | 3 spi-nor-objs := core.o sfdp.o swp.o otp.o sysfs.o 4 spi-nor-objs += atmel.o 5 spi-nor-objs += eon.o 6 spi-nor-objs += esmt.o 7 spi-nor-objs += everspin.o 8 spi-nor-objs += gigadevice.o 9 spi-nor-objs += intel.o 10 spi-nor-objs += issi.o 11 spi-nor-objs += macronix.o 12 spi-nor-objs += micron-st.o [all …]
|
H A D | sfdp.c | 8 #include <linux/mtd/spi-nor.h> 144 * @nor: pointer to a 'struct spi_nor' 151 static int spi_nor_read_raw(struct spi_nor *nor, u32 addr, size_t len, u8 *buf) in spi_nor_read_raw() argument 156 ret = spi_nor_read_data(nor, addr, len, buf); in spi_nor_read_raw() 171 * @nor: pointer to a 'struct spi_nor' 182 static int spi_nor_read_sfdp(struct spi_nor *nor, u32 addr, in spi_nor_read_sfdp() argument 188 read_opcode = nor->read_opcode; in spi_nor_read_sfdp() 189 addr_nbytes = nor->addr_nbytes; in spi_nor_read_sfdp() 190 read_dummy = nor->read_dummy; in spi_nor_read_sfdp() 192 nor->read_opcode = SPINOR_OP_RDSFDP; in spi_nor_read_sfdp() [all …]
|
H A D | debugfs.c | 4 #include <linux/mtd/spi-nor.h> 10 #define SPI_NOR_DEBUGFS_ROOT "spi-nor" 78 struct spi_nor *nor = s->private; in spi_nor_params_show() local 79 struct spi_nor_flash_parameter *params = nor->params; in spi_nor_params_show() 82 const struct flash_info *info = nor->info; in spi_nor_params_show() 87 seq_printf(s, "id\t\t%*ph\n", SPI_NOR_MAX_ID_LEN, nor->id); in spi_nor_params_show() 92 seq_printf(s, "address nbytes\t%u\n", nor->addr_nbytes); in spi_nor_params_show() 95 spi_nor_print_flags(s, nor->flags, snor_f_names, sizeof(snor_f_names)); in spi_nor_params_show() 99 seq_printf(s, " read\t\t0x%02x\n", nor->read_opcode); in spi_nor_params_show() 100 seq_printf(s, " dummy cycles\t%u\n", nor->read_dummy); in spi_nor_params_show() [all …]
|
H A D | issi.c | 7 #include <linux/mtd/spi-nor.h> 12 is25lp256_post_bfpt_fixups(struct spi_nor *nor, in is25lp256_post_bfpt_fixups() argument 23 nor->params->addr_nbytes = 4; in is25lp256_post_bfpt_fixups() 32 static int pm25lv_nor_late_init(struct spi_nor *nor) in pm25lv_nor_late_init() argument 34 struct spi_nor_erase_map *map = &nor->params->erase_map; in pm25lv_nor_late_init() 132 static void issi_nor_default_init(struct spi_nor *nor) in issi_nor_default_init() argument 134 nor->params->quad_enable = spi_nor_sr1_bit6_quad_enable; in issi_nor_default_init()
|
/linux/drivers/mtd/spi-nor/controllers/ |
H A D | hisi-sfc.c | 3 * 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 …]
|
H A D | nxp-spifi.c | 3 * SPI NOR driver for NXP SPI Flash Interface (SPIFI) 18 #include <linux/mtd/spi-nor.h> 58 struct spi_nor nor; member 125 static int nxp_spifi_read_reg(struct spi_nor *nor, u8 opcode, u8 *buf, in nxp_spifi_read_reg() argument 128 struct nxp_spifi *spifi = nor->priv; in nxp_spifi_read_reg() 148 static int nxp_spifi_write_reg(struct spi_nor *nor, u8 opcode, const u8 *buf, in nxp_spifi_write_reg() argument 151 struct nxp_spifi *spifi = nor->priv; in nxp_spifi_write_reg() 172 static ssize_t nxp_spifi_read(struct spi_nor *nor, loff_t from, size_t len, in nxp_spifi_read() argument 175 struct nxp_spifi *spifi = nor->priv; in nxp_spifi_read() 187 static ssize_t nxp_spifi_write(struct spi_nor *nor, loff_t to, size_t len, in nxp_spifi_write() argument [all …]
|
/linux/Documentation/devicetree/bindings/spi/ |
H A D | mediatek,spi-mtk-nor.yaml | 4 $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 27 - mediatek,mt8173-nor 28 - mediatek,mt8186-nor 29 - mediatek,mt8192-nor 32 - mediatek,mt2701-nor 33 - mediatek,mt2712-nor 34 - mediatek,mt7622-nor [all …]
|
H A D | cdns,xspi.yaml | 16 read/write access to slaves such as SPI-NOR flash. 21 - cdns,xspi-nor 22 - marvell,cn10-xspi-nor 55 - marvell,cn10-xspi-nor 81 compatible = "cdns,xspi-nor"; 90 compatible = "jedec,spi-nor"; 96 compatible = "jedec,spi-nor";
|
/linux/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" 10 - clocks : handle to spi-nor flash controller clock. 13 spi-nor-controller@10000000 { 14 compatible = "hisilicon,hi3519-spi-nor", "hisilicon,fmc-spi-nor"; 21 compatible = "jedec,spi-nor";
|
/linux/include/linux/mtd/ |
H A D | spi-nor.h | 291 * struct spi_nor_controller_ops - SPI NOR controller driver specific 299 * @read: read data from the SPI NOR. 300 * @write: write data to the SPI NOR. 301 * @erase: erase a sector of the SPI NOR at the offset @offs; if 302 * not provided by the driver, SPI NOR will send the erase 306 int (*prepare)(struct spi_nor *nor); 307 void (*unprepare)(struct spi_nor *nor); 308 int (*read_reg)(struct spi_nor *nor, u8 opcode, u8 *buf, size_t len); 309 int (*write_reg)(struct spi_nor *nor, u8 opcode, const u8 *buf, 312 ssize_t (*read)(struct spi_nor *nor, loff_t from, size_t len, u8 *buf); [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-bus-spi-devices-spi-nor | 1 What: /sys/bus/spi/devices/.../spi-nor/jedec_id 5 Description: (RO) The JEDEC ID of the SPI NOR flash as reported by the 12 What: /sys/bus/spi/devices/.../spi-nor/manufacturer 16 Description: (RO) Manufacturer of the SPI NOR flash. 22 What: /sys/bus/spi/devices/.../spi-nor/partname 26 Description: (RO) Part name of the SPI NOR flash. 32 What: /sys/bus/spi/devices/.../spi-nor/sfdp 36 Description: (RO) This attribute is only present if the SPI NOR flash
|
/linux/arch/powerpc/boot/dts/fsl/ |
H A D | mpc8536ds.dtsi | 13 * * 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 …]
|
H A D | p1022ds.dtsi | 13 * * 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";
|
H A D | p1020mbg-pc.dtsi | 13 * * 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";
|
H A D | p1021rdb-pc.dtsi | 13 * * 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";
|
H A D | p1024rdb.dtsi | 13 * * 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"; 75 label = "NOR U-Boot Image"; 132 compatible = "spansion,m25p80", "jedec,spi-nor";
|
H A D | c293pcie.dts | 13 * * 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";
|
H A D | p1020rdb-pd.dts | 13 * * Neither the name of Freescale Semiconductor nor the 47 /* NOR, NAND flash, L2 switch and CPLD */ 53 nor@0,0 { 64 label = "NOR DTB Image"; 70 label = "NOR Linux Kernel Image"; 76 label = "NOR Root File System"; 83 label = "NOR Vitesse-7385 Firmware"; 92 label = "NOR U-Boot Image"; 158 compatible = "spansion,s25sl12801", "jedec,spi-nor";
|
H A D | p1020rdb-pc.dtsi | 13 * * 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"; 75 label = "NOR U-Boot Image"; 154 compatible = "spansion,s25sl12801", "jedec,spi-nor";
|
H A D | p2020rdb-pc.dtsi | 13 * * 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"; 75 label = "NOR U-Boot Image"; 154 compatible = "spansion,m25p80", "jedec,spi-nor";
|
/linux/Documentation/driver-api/mtd/ |
H A D | spi-nor.rst | 2 SPI NOR framework 8 Most SPI NOR flashes comply with the JEDEC JESD216 13 The SPI NOR driver queries the SFDP tables in order to determine the 17 on its SFDP data. All one has to do is to specify the "jedec,spi-nor" 41 root@1:~# cat /sys/bus/spi/devices/spi0.0/spi-nor/partname 43 root@1:~# cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id 45 root@1:~# cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer 47 root@1:~# xxd -p /sys/bus/spi/devices/spi0.0/spi-nor/sfdp 69 root@1:~# sha256sum /sys/bus/spi/devices/spi0.0/spi-nor/sfdp 70 …0461876f189ac97f93e68a05fa6428c6650b3b7baf736a921e5898ed1 /sys/bus/spi/devices/spi0.0/spi-nor/sfdp [all …]
|
/linux/arch/arm/boot/dts/xilinx/ |
H A D | zynq-zc770-xm012.dts | 64 label = "nor-fsbl-uboot"; 68 label = "nor-linux"; 72 label = "nor-device-tree"; 76 label = "nor-rootfs"; 80 label = "nor-bitstream";
|
/linux/Documentation/devicetree/bindings/mtd/partitions/ |
H A D | brcm,bcm963xx-cfe-nor-partitions.txt | 1 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";
|