Home
last modified time | relevance | path

Searched refs:nor (Results 1 – 25 of 1479) sorted by relevance

12345678910>>...60

/openbmc/linux/drivers/mtd/spi-nor/
H A Dcore.c57 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 …]
H A Dotp.c14 #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_nbytes = nor->addr_nbytes; 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 …]
H A Dspansion.c79 static void spansion_nor_clear_sr(struct spi_nor *nor) in spansion_nor_clear_sr() argument
81 const struct spansion_nor_params *priv_params = nor->params->priv; in spansion_nor_clear_sr()
84 if (nor->spimem) { in spansion_nor_clear_sr()
87 spi_nor_spimem_setup_op(nor, &op, nor->reg_proto); in spansion_nor_clear_sr()
89 ret = spi_mem_exec_op(nor->spimem, &op); in spansion_nor_clear_sr()
91 ret = spi_nor_controller_ops_write_reg(nor, SPINOR_OP_CLSR, in spansion_nor_clear_sr()
96 dev_dbg(nor->dev, "error %d clearing SR\n", ret); in spansion_nor_clear_sr()
99 static int cypress_nor_sr_ready_and_clear_reg(struct spi_nor *nor, u64 addr) in cypress_nor_sr_ready_and_clear_reg() argument
101 struct spi_nor_flash_parameter *params = nor->params; in cypress_nor_sr_ready_and_clear_reg()
104 0, nor->bouncebuf); in cypress_nor_sr_ready_and_clear_reg()
[all …]
H A Dswp.c13 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 …]
H A Dmicron-st.c50 static int micron_st_nor_octal_dtr_en(struct spi_nor *nor) in micron_st_nor_octal_dtr_en() argument
53 u8 *buf = nor->bouncebuf; in micron_st_nor_octal_dtr_en()
55 u8 addr_mode_nbytes = nor->params->addr_mode_nbytes; in micron_st_nor_octal_dtr_en()
62 ret = spi_nor_write_any_volatile_reg(nor, &op, nor->reg_proto); in micron_st_nor_octal_dtr_en()
70 ret = spi_nor_write_any_volatile_reg(nor, &op, nor->reg_proto); in micron_st_nor_octal_dtr_en()
75 ret = spi_nor_read_id(nor, 0, 8, buf, SNOR_PROTO_8_8_8_DTR); in micron_st_nor_octal_dtr_en()
77 dev_dbg(nor->dev, "error %d reading JEDEC ID after enabling 8D-8D-8D mode\n", ret); in micron_st_nor_octal_dtr_en()
81 if (memcmp(buf, nor->info->id, nor->info->id_len)) in micron_st_nor_octal_dtr_en()
87 static int micron_st_nor_octal_dtr_dis(struct spi_nor *nor) in micron_st_nor_octal_dtr_dis() argument
90 u8 *buf = nor->bouncebuf; in micron_st_nor_octal_dtr_dis()
[all …]
H A Dxilinx.c57 static u32 s3an_nor_convert_addr(struct spi_nor *nor, u32 addr) in s3an_nor_convert_addr() argument
59 u32 page_size = nor->params->page_size; in s3an_nor_convert_addr()
77 static int xilinx_nor_read_sr(struct spi_nor *nor, u8 *sr) in xilinx_nor_read_sr() argument
81 if (nor->spimem) { in xilinx_nor_read_sr()
84 spi_nor_spimem_setup_op(nor, &op, nor->reg_proto); in xilinx_nor_read_sr()
86 ret = spi_mem_exec_op(nor->spimem, &op); in xilinx_nor_read_sr()
88 ret = spi_nor_controller_ops_read_reg(nor, XILINX_OP_RDSR, sr, in xilinx_nor_read_sr()
93 dev_dbg(nor->dev, "error %d reading SR\n", ret); in xilinx_nor_read_sr()
105 static int xilinx_nor_sr_ready(struct spi_nor *nor) in xilinx_nor_sr_ready() argument
109 ret = xilinx_nor_read_sr(nor, nor->bouncebuf); in xilinx_nor_sr_ready()
[all …]
H A Dsst.c16 static int sst26vf_nor_lock(struct spi_nor *nor, loff_t ofs, uint64_t len) in sst26vf_nor_lock() argument
21 static int sst26vf_nor_unlock(struct spi_nor *nor, loff_t ofs, uint64_t 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, uint64_t len) in sst26vf_nor_is_locked() argument
52 static int sst26vf_nor_late_init(struct spi_nor *nor) in sst26vf_nor_late_init() argument
54 nor->params->locking_ops = &sst26vf_nor_locking_ops; in sst26vf_nor_late_init()
[all …]
H A Datmel.c19 static int at25fs_nor_lock(struct spi_nor *nor, loff_t ofs, uint64_t len) in at25fs_nor_lock() argument
24 static int at25fs_nor_unlock(struct spi_nor *nor, loff_t ofs, uint64_t len) in at25fs_nor_unlock() argument
29 if (ofs || len != nor->params->size) in at25fs_nor_unlock()
33 ret = spi_nor_write_sr_and_check(nor, 0); in at25fs_nor_unlock()
35 dev_dbg(nor->dev, "unable to clear BP bits, WP# asserted?\n"); in at25fs_nor_unlock()
40 static int at25fs_nor_is_locked(struct spi_nor *nor, loff_t ofs, uint64_t len) in at25fs_nor_is_locked() argument
51 static int at25fs_nor_late_init(struct spi_nor *nor) in at25fs_nor_late_init() argument
53 nor->params->locking_ops = &at25fs_nor_locking_ops; in at25fs_nor_late_init()
71 static int atmel_nor_set_global_protection(struct spi_nor *nor, loff_t ofs, in atmel_nor_set_global_protection() argument
78 if (ofs || len != nor->params->size) in atmel_nor_set_global_protection()
[all …]
H A DMakefile3 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 …]
H A Dcore.h289 int (*lock)(struct spi_nor *nor, loff_t ofs, uint64_t len);
290 int (*unlock)(struct spi_nor *nor, loff_t ofs, uint64_t len);
291 int (*is_locked)(struct spi_nor *nor, loff_t ofs, uint64_t len);
318 int (*read)(struct spi_nor *nor, loff_t addr, size_t len, u8 *buf);
319 int (*write)(struct spi_nor *nor, loff_t addr, size_t len,
321 int (*lock)(struct spi_nor *nor, unsigned int region);
322 int (*erase)(struct spi_nor *nor, loff_t addr);
323 int (*is_locked)(struct spi_nor *nor, unsigned int region);
402 int (*set_octal_dtr)(struct spi_nor *nor, bool enable);
403 int (*quad_enable)(struct spi_nor *nor);
[all …]
H A Dsfdp.c151 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()
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()
193 nor->addr_nbytes = 3; in spi_nor_read_sfdp()
194 nor->read_dummy = 8; in spi_nor_read_sfdp()
196 ret = spi_nor_read_raw(nor, addr, len, buf); in spi_nor_read_sfdp()
[all …]
H A Ddebugfs.c78 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()
101 seq_printf(s, " erase\t\t0x%02x\n", nor->erase_opcode); in spi_nor_params_show()
102 seq_printf(s, " program\t0x%02x\n", nor->program_opcode); in spi_nor_params_show()
[all …]
H A Dsysfs.c15 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
38 const u8 *id = nor->info->id_len ? nor->info->id : nor->id; in jedec_id_show()
39 u8 id_len = nor->info->id_len ?: SPI_NOR_MAX_ID_LEN; in jedec_id_show()
58 struct spi_nor *nor = spi_mem_get_drvdata(spimem); in sfdp_read() local
59 struct sfdp *sfdp = nor->sfdp; in sfdp_read()
62 return memory_read_from_buffer(buf, count, &off, nor->sfdp->dwords, in sfdp_read()
[all …]
H A Dwinbond.c21 w25q256_post_bfpt_fixups(struct spi_nor *nor, in w25q256_post_bfpt_fixups() argument
35 nor->flags |= SNOR_F_4B_OPCODES; in w25q256_post_bfpt_fixups()
158 static int winbond_nor_write_ear(struct spi_nor *nor, u8 ear) in winbond_nor_write_ear() argument
162 nor->bouncebuf[0] = ear; in winbond_nor_write_ear()
164 if (nor->spimem) { in winbond_nor_write_ear()
165 struct spi_mem_op op = WINBOND_NOR_WREAR_OP(nor->bouncebuf); in winbond_nor_write_ear()
167 spi_nor_spimem_setup_op(nor, &op, nor->reg_proto); in winbond_nor_write_ear()
169 ret = spi_mem_exec_op(nor->spimem, &op); in winbond_nor_write_ear()
171 ret = spi_nor_controller_ops_write_reg(nor, in winbond_nor_write_ear()
173 nor->bouncebuf, 1); in winbond_nor_write_ear()
[all …]
H A Dmacronix.c12 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()
108 static void macronix_nor_default_init(struct spi_nor *nor) in macronix_nor_default_init() argument
110 nor->params->quad_enable = spi_nor_sr1_bit6_quad_enable; in macronix_nor_default_init()
113 static int macronix_nor_late_init(struct spi_nor *nor) in macronix_nor_late_init() argument
115 if (!nor->params->set_4byte_addr_mode) in macronix_nor_late_init()
116 nor->params->set_4byte_addr_mode = spi_nor_set_4byte_addr_mode_en4b_ex4b; in macronix_nor_late_init()
/openbmc/u-boot/drivers/mtd/spi/
H A Dspi-nor-core.c44 void spi_nor_setup_op(const struct spi_nor *nor, in spi_nor_setup_op() argument
60 static int spi_nor_read_write_reg(struct spi_nor *nor, struct spi_mem_op in spi_nor_read_write_reg() argument
67 return spi_mem_exec_op(nor->spi, op); in spi_nor_read_write_reg()
70 static int spi_nor_read_reg(struct spi_nor *nor, u8 code, u8 *val, int len) in spi_nor_read_reg() argument
78 ret = spi_nor_read_write_reg(nor, &op, val); in spi_nor_read_reg()
86 static int spi_nor_write_reg(struct spi_nor *nor, u8 opcode, u8 *buf, int len) in spi_nor_write_reg() argument
93 return spi_nor_read_write_reg(nor, &op, buf); in spi_nor_write_reg()
97 static int spansion_read_any_reg(struct spi_nor *nor, u32 addr, u8 dummy, in spansion_read_any_reg() argument
104 SPI_MEM_OP_ADDR(nor->addr_width, addr, 1), in spansion_read_any_reg()
108 dummy_ori = nor->read_dummy; in spansion_read_any_reg()
[all …]
H A Dspi-nor-tiny.c37 static int spi_nor_read_write_reg(struct spi_nor *nor, struct spi_mem_op in spi_nor_read_write_reg() argument
44 return spi_mem_exec_op(nor->spi, op); in spi_nor_read_write_reg()
47 static int spi_nor_read_reg(struct spi_nor *nor, u8 code, u8 *val, int len) in spi_nor_read_reg() argument
55 ret = spi_nor_read_write_reg(nor, &op, val); in spi_nor_read_reg()
63 static int spi_nor_write_reg(struct spi_nor *nor, u8 opcode, u8 *buf, int len) in spi_nor_write_reg() argument
70 return spi_nor_read_write_reg(nor, &op, buf); in spi_nor_write_reg()
73 static ssize_t spi_nor_read_data(struct spi_nor *nor, loff_t from, size_t len, in spi_nor_read_data() argument
77 SPI_MEM_OP(SPI_MEM_OP_CMD(nor->read_opcode, 1), in spi_nor_read_data()
78 SPI_MEM_OP_ADDR(nor->addr_width, from, 1), in spi_nor_read_data()
79 SPI_MEM_OP_DUMMY(nor->read_dummy, 1), in spi_nor_read_data()
[all …]
H A DMakefile7 spi-nor-y := sf_probe.o spi-nor-ids.o
12 spi-nor-y += spi-nor-tiny.o
14 spi-nor-y += spi-nor-core.o
17 spi-nor-y += spi-nor-core.o
20 obj-$(CONFIG_SPI_FLASH) += spi-nor.o
/openbmc/linux/drivers/mtd/spi-nor/controllers/
H A Dhisi-sfc.c99 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 …]
H A Dnxp-spifi.c58 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
190 struct nxp_spifi *spifi = nor->priv; in nxp_spifi_write()
204 SPIFI_CMD_OPCODE(nor->program_opcode) | in nxp_spifi_write()
[all …]
/openbmc/u-boot/configs/
H A Dmccmon6_sd_defconfig27 CONFIG_MTDIDS_DEFAULT="nor0=8000000.nor"
28nor:32m@0x0(mccmon6-image.nor),256k@0x40000(u-boot-env.nor),1m@0x80000(u-boot.nor),8m@0x180000(ker…
H A Dmccmon6_nor_defconfig26 CONFIG_MTDIDS_DEFAULT="nor0=8000000.nor"
27nor:32m@0x0(mccmon6-image.nor),256k@0x40000(u-boot-env.nor),1m@0x80000(u-boot.nor),8m@0x180000(ker…
/openbmc/u-boot/include/linux/mtd/
H A Dspi-nor.h330 int (*prepare)(struct spi_nor *nor, enum spi_nor_ops ops);
331 void (*unprepare)(struct spi_nor *nor, enum spi_nor_ops ops);
332 int (*read_reg)(struct spi_nor *nor, u8 opcode, u8 *buf, int len);
333 int (*write_reg)(struct spi_nor *nor, u8 opcode, u8 *buf, int len);
335 ssize_t (*read)(struct spi_nor *nor, loff_t from,
337 ssize_t (*write)(struct spi_nor *nor, loff_t to,
339 int (*erase)(struct spi_nor *nor, loff_t offs);
341 int (*flash_lock)(struct spi_nor *nor, loff_t ofs, uint64_t len);
342 int (*flash_unlock)(struct spi_nor *nor, loff_t ofs, uint64_t len);
343 int (*flash_is_locked)(struct spi_nor *nor, loff_t ofs, uint64_t len);
[all …]
/openbmc/linux/Documentation/devicetree/bindings/mtd/
H A Dhisilicon,fmc-spi-nor.txt4 - 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";
/openbmc/linux/include/linux/mtd/
H A Dspi-nor.h306 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);
313 ssize_t (*write)(struct spi_nor *nor, loff_t to, size_t len,
315 int (*erase)(struct spi_nor *nor, loff_t offs);
425 static inline void spi_nor_set_flash_node(struct spi_nor *nor, in spi_nor_set_flash_node() argument
428 mtd_set_of_node(&nor->mtd, np); in spi_nor_set_flash_node()
431 static inline struct device_node *spi_nor_get_flash_node(struct spi_nor *nor) in spi_nor_get_flash_node() argument
[all …]

12345678910>>...60