Lines Matching full:nor
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
54 nor->params->locking_ops = &sst26vf_nor_locking_ops; in sst26vf_nor_late_init()
170 static int sst_nor_write_data(struct spi_nor *nor, loff_t to, size_t len, in sst_nor_write_data() argument
176 nor->program_opcode = op; in sst_nor_write_data()
177 ret = spi_nor_write_data(nor, to, len, buf); in sst_nor_write_data()
182 return spi_nor_wait_till_ready(nor); in sst_nor_write_data()
188 struct spi_nor *nor = mtd_to_spi_nor(mtd); in sst_nor_write() local
192 dev_dbg(nor->dev, "to 0x%08x, len %zd\n", (u32)to, len); in sst_nor_write()
194 ret = spi_nor_prep_and_lock(nor); in sst_nor_write()
198 ret = spi_nor_write_enable(nor); in sst_nor_write()
202 nor->sst_write_second = false; in sst_nor_write()
207 ret = sst_nor_write_data(nor, to, 1, buf); in sst_nor_write()
218 ret = sst_nor_write_data(nor, to, 2, buf + actual); in sst_nor_write()
223 nor->sst_write_second = true; in sst_nor_write()
225 nor->sst_write_second = false; in sst_nor_write()
227 ret = spi_nor_write_disable(nor); in sst_nor_write()
231 ret = spi_nor_wait_till_ready(nor); in sst_nor_write()
237 ret = spi_nor_write_enable(nor); in sst_nor_write()
241 ret = sst_nor_write_data(nor, to, 1, buf + actual); in sst_nor_write()
247 ret = spi_nor_write_disable(nor); in sst_nor_write()
251 spi_nor_unlock_and_unprep(nor); in sst_nor_write()
255 static int sst_nor_late_init(struct spi_nor *nor) in sst_nor_late_init() argument
257 if (nor->info->mfr_flags & SST_WRITE) in sst_nor_late_init()
258 nor->mtd._write = sst_nor_write; in sst_nor_late_init()