/drivers/mtd/spi-nor/ |
D | core.c | 57 static u8 spi_nor_get_cmd_ext(const struct spi_nor *nor, in spi_nor_get_cmd_ext() argument 60 switch (nor->cmd_ext_type) { in spi_nor_get_cmd_ext() 68 dev_err(nor->dev, "Unknown command extension type\n"); in spi_nor_get_cmd_ext() 80 void spi_nor_spimem_setup_op(const struct spi_nor *nor, in spi_nor_spimem_setup_op() argument 112 ext = spi_nor_get_cmd_ext(nor, op); in spi_nor_spimem_setup_op() 128 static bool spi_nor_spimem_bounce(struct spi_nor *nor, struct spi_mem_op *op) in spi_nor_spimem_bounce() argument 133 if (op->data.nbytes > nor->bouncebuf_size) in spi_nor_spimem_bounce() 134 op->data.nbytes = nor->bouncebuf_size; in spi_nor_spimem_bounce() 135 op->data.buf.in = nor->bouncebuf; in spi_nor_spimem_bounce() 149 static int spi_nor_spimem_exec_op(struct spi_nor *nor, struct spi_mem_op *op) in spi_nor_spimem_exec_op() argument [all …]
|
D | otp.c | 14 #define spi_nor_otp_region_len(nor) ((nor)->params->otp.org->len) argument 15 #define spi_nor_otp_n_regions(nor) ((nor)->params->otp.org->n_regions) argument 36 int spi_nor_otp_read_secr(struct spi_nor *nor, loff_t addr, size_t len, u8 *buf) in spi_nor_otp_read_secr() argument 43 read_opcode = nor->read_opcode; in spi_nor_otp_read_secr() 44 addr_width = nor->addr_width; in spi_nor_otp_read_secr() 45 read_dummy = nor->read_dummy; in spi_nor_otp_read_secr() 46 read_proto = nor->read_proto; in spi_nor_otp_read_secr() 47 rdesc = nor->dirmap.rdesc; in spi_nor_otp_read_secr() 49 nor->read_opcode = SPINOR_OP_RSECR; in spi_nor_otp_read_secr() 50 nor->read_dummy = 8; in spi_nor_otp_read_secr() [all …]
|
D | swp.c | 13 static u8 spi_nor_get_sr_bp_mask(struct spi_nor *nor) in spi_nor_get_sr_bp_mask() argument 17 if (nor->flags & SNOR_F_HAS_SR_BP3_BIT6) in spi_nor_get_sr_bp_mask() 20 if (nor->flags & SNOR_F_HAS_4BIT_BP) in spi_nor_get_sr_bp_mask() 26 static u8 spi_nor_get_sr_tb_mask(struct spi_nor *nor) in spi_nor_get_sr_tb_mask() argument 28 if (nor->flags & SNOR_F_HAS_SR_TB_BIT6) in spi_nor_get_sr_tb_mask() 34 static u64 spi_nor_get_min_prot_length_sr(struct spi_nor *nor) in spi_nor_get_min_prot_length_sr() argument 37 u8 mask = spi_nor_get_sr_bp_mask(nor); in spi_nor_get_min_prot_length_sr() 41 bp_slots_needed = ilog2(nor->info->n_sectors); in spi_nor_get_min_prot_length_sr() 44 return nor->info->sector_size << in spi_nor_get_min_prot_length_sr() 47 return nor->info->sector_size; in spi_nor_get_min_prot_length_sr() [all …]
|
D | xilinx.c | 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() 52 nor->flags |= SNOR_F_NO_OP_CHIP_ERASE; in xilinx_nor_setup() [all …]
|
D | sst.c | 13 static int sst26vf_lock(struct spi_nor *nor, loff_t ofs, uint64_t len) in sst26vf_lock() argument 18 static int sst26vf_unlock(struct spi_nor *nor, loff_t ofs, uint64_t len) in sst26vf_unlock() argument 23 if (ofs != 0 || len != nor->params->size) in sst26vf_unlock() 26 ret = spi_nor_read_cr(nor, nor->bouncebuf); in sst26vf_unlock() 30 if (!(nor->bouncebuf[0] & SST26VF_CR_BPNV)) { in sst26vf_unlock() 31 dev_dbg(nor->dev, "Any block has been permanently locked\n"); in sst26vf_unlock() 35 return spi_nor_global_block_unlock(nor); in sst26vf_unlock() 38 static int sst26vf_is_locked(struct spi_nor *nor, loff_t ofs, uint64_t len) in sst26vf_is_locked() argument 49 static void sst26vf_default_init(struct spi_nor *nor) in sst26vf_default_init() argument 51 nor->params->locking_ops = &sst26vf_locking_ops; in sst26vf_default_init() [all …]
|
D | atmel.c | 19 static int atmel_at25fs_lock(struct spi_nor *nor, loff_t ofs, uint64_t len) in atmel_at25fs_lock() argument 24 static int atmel_at25fs_unlock(struct spi_nor *nor, loff_t ofs, uint64_t len) in atmel_at25fs_unlock() argument 29 if (ofs || len != nor->params->size) in atmel_at25fs_unlock() 33 ret = spi_nor_write_sr_and_check(nor, 0); in atmel_at25fs_unlock() 35 dev_dbg(nor->dev, "unable to clear BP bits, WP# asserted?\n"); in atmel_at25fs_unlock() 40 static int atmel_at25fs_is_locked(struct spi_nor *nor, loff_t ofs, uint64_t len) in atmel_at25fs_is_locked() argument 51 static void atmel_at25fs_default_init(struct spi_nor *nor) in atmel_at25fs_default_init() argument 53 nor->params->locking_ops = &atmel_at25fs_locking_ops; in atmel_at25fs_default_init() 69 static int atmel_set_global_protection(struct spi_nor *nor, loff_t ofs, in atmel_set_global_protection() argument 76 if (ofs || len != nor->params->size) in atmel_set_global_protection() [all …]
|
D | spansion.c | 37 static int spi_nor_cypress_octal_dtr_enable(struct spi_nor *nor, bool enable) in spi_nor_cypress_octal_dtr_enable() argument 40 u8 *buf = nor->bouncebuf; in spi_nor_cypress_octal_dtr_enable() 45 ret = spi_nor_write_enable(nor); in spi_nor_cypress_octal_dtr_enable() 57 ret = spi_mem_exec_op(nor->spimem, &op); in spi_nor_cypress_octal_dtr_enable() 61 ret = spi_nor_wait_till_ready(nor); in spi_nor_cypress_octal_dtr_enable() 65 nor->read_dummy = 24; in spi_nor_cypress_octal_dtr_enable() 69 ret = spi_nor_write_enable(nor); in spi_nor_cypress_octal_dtr_enable() 87 spi_nor_spimem_setup_op(nor, &op, SNOR_PROTO_8_8_8_DTR); in spi_nor_cypress_octal_dtr_enable() 89 ret = spi_mem_exec_op(nor->spimem, &op); in spi_nor_cypress_octal_dtr_enable() 98 SPI_MEM_OP_DATA_IN(round_up(nor->info->id_len, 2), in spi_nor_cypress_octal_dtr_enable() [all …]
|
D | core.h | 185 int (*lock)(struct spi_nor *nor, loff_t ofs, uint64_t len); 186 int (*unlock)(struct spi_nor *nor, loff_t ofs, uint64_t len); 187 int (*is_locked)(struct spi_nor *nor, loff_t ofs, uint64_t len); 214 int (*read)(struct spi_nor *nor, loff_t addr, size_t len, u8 *buf); 215 int (*write)(struct spi_nor *nor, loff_t addr, size_t len, 217 int (*lock)(struct spi_nor *nor, unsigned int region); 218 int (*erase)(struct spi_nor *nor, loff_t addr); 219 int (*is_locked)(struct spi_nor *nor, unsigned int region); 281 int (*octal_dtr_enable)(struct spi_nor *nor, bool enable); 282 int (*quad_enable)(struct spi_nor *nor); [all …]
|
D | micron-st.c | 19 static int spi_nor_micron_octal_dtr_enable(struct spi_nor *nor, bool enable) in spi_nor_micron_octal_dtr_enable() argument 22 u8 *buf = nor->bouncebuf; in spi_nor_micron_octal_dtr_enable() 27 ret = spi_nor_write_enable(nor); in spi_nor_micron_octal_dtr_enable() 38 ret = spi_mem_exec_op(nor->spimem, &op); in spi_nor_micron_octal_dtr_enable() 42 ret = spi_nor_wait_till_ready(nor); in spi_nor_micron_octal_dtr_enable() 47 ret = spi_nor_write_enable(nor); in spi_nor_micron_octal_dtr_enable() 64 spi_nor_spimem_setup_op(nor, &op, SNOR_PROTO_8_8_8_DTR); in spi_nor_micron_octal_dtr_enable() 66 ret = spi_mem_exec_op(nor->spimem, &op); in spi_nor_micron_octal_dtr_enable() 75 SPI_MEM_OP_DATA_IN(round_up(nor->info->id_len, 2), in spi_nor_micron_octal_dtr_enable() 79 spi_nor_spimem_setup_op(nor, &op, SNOR_PROTO_8_8_8_DTR); in spi_nor_micron_octal_dtr_enable() [all …]
|
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 += 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 …]
|
D | sfdp.c | 147 static int spi_nor_read_raw(struct spi_nor *nor, u32 addr, size_t len, u8 *buf) in spi_nor_read_raw() argument 152 ret = spi_nor_read_data(nor, addr, len, buf); in spi_nor_read_raw() 178 static int spi_nor_read_sfdp(struct spi_nor *nor, u32 addr, in spi_nor_read_sfdp() argument 184 read_opcode = nor->read_opcode; in spi_nor_read_sfdp() 185 addr_width = nor->addr_width; in spi_nor_read_sfdp() 186 read_dummy = nor->read_dummy; in spi_nor_read_sfdp() 188 nor->read_opcode = SPINOR_OP_RDSFDP; in spi_nor_read_sfdp() 189 nor->addr_width = 3; in spi_nor_read_sfdp() 190 nor->read_dummy = 8; in spi_nor_read_sfdp() 192 ret = spi_nor_read_raw(nor, addr, len, buf); in spi_nor_read_sfdp() [all …]
|
D | sysfs.c | 15 struct spi_nor *nor = spi_mem_get_drvdata(spimem); in manufacturer_show() local 17 return sysfs_emit(buf, "%s\n", nor->manufacturer->name); in manufacturer_show() 26 struct spi_nor *nor = spi_mem_get_drvdata(spimem); in partname_show() local 28 return sysfs_emit(buf, "%s\n", nor->info->name); in partname_show() 37 struct spi_nor *nor = spi_mem_get_drvdata(spimem); in jedec_id_show() local 39 return sysfs_emit(buf, "%*phN\n", nor->info->id_len, nor->info->id); in jedec_id_show() 56 struct spi_nor *nor = spi_mem_get_drvdata(spimem); in sfdp_read() local 57 struct sfdp *sfdp = nor->sfdp; in sfdp_read() 60 return memory_read_from_buffer(buf, count, &off, nor->sfdp->dwords, in sfdp_read() 75 struct spi_nor *nor = spi_mem_get_drvdata(spimem); in spi_nor_sysfs_is_visible() local [all …]
|
D | winbond.c | 12 w25q256_post_bfpt_fixups(struct spi_nor *nor, in w25q256_post_bfpt_fixups() argument 26 nor->flags |= SNOR_F_4B_OPCODES; in w25q256_post_bfpt_fixups() 115 static int winbond_set_4byte_addr_mode(struct spi_nor *nor, bool enable) in winbond_set_4byte_addr_mode() argument 119 ret = spi_nor_set_4byte_addr_mode(nor, enable); in winbond_set_4byte_addr_mode() 128 ret = spi_nor_write_enable(nor); in winbond_set_4byte_addr_mode() 132 ret = spi_nor_write_ear(nor, 0); in winbond_set_4byte_addr_mode() 136 return spi_nor_write_disable(nor); in winbond_set_4byte_addr_mode() 147 static void winbond_default_init(struct spi_nor *nor) in winbond_default_init() argument 149 nor->params->set_4byte_addr_mode = winbond_set_4byte_addr_mode; in winbond_default_init() 150 if (nor->params->otp.org->n_regions) in winbond_default_init() [all …]
|
D | macronix.c | 12 mx25l25635_post_bfpt_fixups(struct spi_nor *nor, in mx25l25635_post_bfpt_fixups() argument 26 nor->flags |= SNOR_F_4B_OPCODES; in mx25l25635_post_bfpt_fixups() 92 static void macronix_default_init(struct spi_nor *nor) in macronix_default_init() argument 94 nor->params->quad_enable = spi_nor_sr1_bit6_quad_enable; in macronix_default_init() 95 nor->params->set_4byte_addr_mode = spi_nor_set_4byte_addr_mode; in macronix_default_init()
|
D | issi.c | 12 is25lp256_post_bfpt_fixups(struct spi_nor *nor, in is25lp256_post_bfpt_fixups() argument 23 nor->addr_width = 4; in is25lp256_post_bfpt_fixups() 68 static void issi_default_init(struct spi_nor *nor) in issi_default_init() argument 70 nor->params->quad_enable = spi_nor_sr1_bit6_quad_enable; in issi_default_init()
|
D | gigadevice.c | 11 static void gd25q256_default_init(struct spi_nor *nor) in gd25q256_default_init() argument 19 nor->params->quad_enable = spi_nor_sr1_bit6_quad_enable; in gd25q256_default_init()
|
D | sfdp.h | 110 int spi_nor_parse_sfdp(struct spi_nor *nor);
|
/drivers/mtd/spi-nor/controllers/ |
D | aspeed-smc.c | 100 struct spi_nor nor; member 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 318 struct aspeed_smc_chip *chip = nor->priv; in aspeed_smc_unprep() 323 static int aspeed_smc_read_reg(struct spi_nor *nor, u8 opcode, u8 *buf, in aspeed_smc_read_reg() argument [all …]
|
D | hisi-sfc.c | 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 205 struct hifmc_priv *priv = nor->priv; in hisi_spi_nor_read_reg() 209 ret = hisi_spi_nor_op_reg(nor, opcode, len, FMC_OP_READ_DATA_EN); in hisi_spi_nor_read_reg() [all …]
|
D | nxp-spifi.c | 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 191 struct nxp_spifi *spifi = nor->priv; in nxp_spifi_write() 205 SPIFI_CMD_OPCODE(nor->program_opcode) | in nxp_spifi_write() [all …]
|
D | intel-spi.c | 145 struct spi_nor nor; member 556 static int intel_spi_read_reg(struct spi_nor *nor, u8 opcode, u8 *buf, in intel_spi_read_reg() argument 559 struct intel_spi *ispi = nor->priv; in intel_spi_read_reg() 577 static int intel_spi_write_reg(struct spi_nor *nor, u8 opcode, const u8 *buf, in intel_spi_write_reg() argument 580 struct intel_spi *ispi = nor->priv; in intel_spi_write_reg() 635 static ssize_t intel_spi_read(struct spi_nor *nor, loff_t from, size_t len, in intel_spi_read() argument 638 struct intel_spi *ispi = nor->priv; in intel_spi_read() 650 switch (nor->read_opcode) { in intel_spi_read() 706 static ssize_t intel_spi_write(struct spi_nor *nor, loff_t to, size_t len, in intel_spi_write() argument 709 struct intel_spi *ispi = nor->priv; in intel_spi_write() [all …]
|
/drivers/mtd/ |
D | Makefile | 31 obj-$(CONFIG_MTD_SPI_NOR) += spi-nor/
|
/drivers/staging/mt7621-dts/ |
D | gbpc2.dts | 49 compatible = "jedec,spi-nor";
|
D | gbpc1.dts | 65 compatible = "jedec,spi-nor";
|
/drivers/thermal/ti-soc-thermal/ |
D | Kconfig | 32 this generation are not accurate, nor they are very close to
|