Home
last modified time | relevance | path

Searched refs:spinand (Results 1 - 22 of 22) sorted by relevance

/kernel/linux/linux-6.6/drivers/mtd/nand/spi/
H A Dcore.c16 #include <linux/mtd/spinand.h>
23 static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val) in spinand_read_reg_op() argument
26 spinand->scratchbuf); in spinand_read_reg_op()
29 ret = spi_mem_exec_op(spinand->spimem, &op); in spinand_read_reg_op()
33 *val = *spinand->scratchbuf; in spinand_read_reg_op()
37 static int spinand_write_reg_op(struct spinand_device *spinand, u8 reg, u8 val) in spinand_write_reg_op() argument
40 spinand->scratchbuf); in spinand_write_reg_op()
42 *spinand->scratchbuf = val; in spinand_write_reg_op()
43 return spi_mem_exec_op(spinand->spimem, &op); in spinand_write_reg_op()
46 static int spinand_read_status(struct spinand_device *spinand, u argument
51 spinand_get_cfg(struct spinand_device *spinand, u8 *cfg) spinand_get_cfg() argument
63 spinand_set_cfg(struct spinand_device *spinand, u8 cfg) spinand_set_cfg() argument
93 spinand_upd_cfg(struct spinand_device *spinand, u8 mask, u8 val) spinand_upd_cfg() argument
117 spinand_select_target(struct spinand_device *spinand, unsigned int target) spinand_select_target() argument
141 spinand_read_cfg(struct spinand_device *spinand) spinand_read_cfg() argument
165 spinand_init_cfg_cache(struct spinand_device *spinand) spinand_init_cfg_cache() argument
180 spinand_init_quad_enable(struct spinand_device *spinand) spinand_init_quad_enable() argument
196 spinand_ecc_enable(struct spinand_device *spinand, bool enable) spinand_ecc_enable() argument
203 spinand_check_ecc_status(struct spinand_device *spinand, u8 status) spinand_check_ecc_status() argument
258 struct spinand_device *spinand = nand_to_spinand(nand); spinand_ondie_ecc_init_ctx() local
288 struct spinand_device *spinand = nand_to_spinand(nand); spinand_ondie_ecc_prepare_io_req() local
301 struct spinand_device *spinand = nand_to_spinand(nand); spinand_ondie_ecc_finish_io_req() local
342 spinand_write_enable_op(struct spinand_device *spinand) spinand_write_enable_op() argument
349 spinand_load_page_op(struct spinand_device *spinand, const struct nand_page_io_req *req) spinand_load_page_op() argument
359 spinand_read_from_cache_op(struct spinand_device *spinand, const struct nand_page_io_req *req) spinand_read_from_cache_op() argument
420 spinand_write_to_cache_op(struct spinand_device *spinand, const struct nand_page_io_req *req) spinand_write_to_cache_op() argument
479 spinand_program_op(struct spinand_device *spinand, const struct nand_page_io_req *req) spinand_program_op() argument
489 spinand_erase_op(struct spinand_device *spinand, const struct nand_pos *pos) spinand_erase_op() argument
499 spinand_wait(struct spinand_device *spinand, unsigned long initial_delay_us, unsigned long poll_delay_us, u8 *s) spinand_wait() argument
535 spinand_read_id_op(struct spinand_device *spinand, u8 naddr, u8 ndummy, u8 *buf) spinand_read_id_op() argument
549 spinand_reset_op(struct spinand_device *spinand) spinand_reset_op() argument
564 spinand_lock_block(struct spinand_device *spinand, u8 lock) spinand_lock_block() argument
569 spinand_read_page(struct spinand_device *spinand, const struct nand_page_io_req *req) spinand_read_page() argument
600 spinand_write_page(struct spinand_device *spinand, const struct nand_page_io_req *req) spinand_write_page() argument
636 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_read() local
692 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_write() local
726 struct spinand_device *spinand = nand_to_spinand(nand); spinand_isbad() local
747 struct spinand_device *spinand = nand_to_spinand(nand); spinand_mtd_block_isbad() local
761 struct spinand_device *spinand = nand_to_spinand(nand); spinand_markbad() local
786 struct spinand_device *spinand = nand_to_spinand(nand); spinand_mtd_block_markbad() local
800 struct spinand_device *spinand = nand_to_spinand(nand); spinand_erase() local
830 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_erase() local
842 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_block_isreserved() local
855 spinand_create_dirmap(struct spinand_device *spinand, unsigned int plane) spinand_create_dirmap() argument
912 spinand_create_dirmaps(struct spinand_device *spinand) spinand_create_dirmaps() argument
952 spinand_manufacturer_match(struct spinand_device *spinand, enum spinand_readid_method rdid_method) spinand_manufacturer_match() argument
979 spinand_id_detect(struct spinand_device *spinand) spinand_id_detect() argument
1008 spinand_manufacturer_init(struct spinand_device *spinand) spinand_manufacturer_init() argument
1016 spinand_manufacturer_cleanup(struct spinand_device *spinand) spinand_manufacturer_cleanup() argument
1024 spinand_select_op_variant(struct spinand_device *spinand, const struct spinand_op_variants *variants) spinand_select_op_variant() argument
1072 spinand_match_and_init(struct spinand_device *spinand, const struct spinand_info *table, unsigned int table_size, enum spinand_readid_method rdid_method) spinand_match_and_init() argument
1122 spinand_detect(struct spinand_device *spinand) spinand_detect() argument
1155 spinand_init_flash(struct spinand_device *spinand) spinand_init_flash() argument
1200 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_resume() local
1214 spinand_init(struct spinand_device *spinand) spinand_init() argument
1315 spinand_cleanup(struct spinand_device *spinand) spinand_cleanup() argument
1327 struct spinand_device *spinand; spinand_probe() local
1361 struct spinand_device *spinand; spinand_remove() local
[all...]
H A Dwinbond.c12 #include <linux/mtd/spinand.h>
63 static int w25m02gv_select_target(struct spinand_device *spinand, in w25m02gv_select_target() argument
70 spinand->scratchbuf, in w25m02gv_select_target()
73 *spinand->scratchbuf = target; in w25m02gv_select_target()
74 return spi_mem_exec_op(spinand->spimem, &op); in w25m02gv_select_target()
106 static int w25n02kv_ecc_get_status(struct spinand_device *spinand, in w25n02kv_ecc_get_status() argument
109 struct nand_device *nand = spinand_to_nand(spinand); in w25n02kv_ecc_get_status()
111 struct spi_mem_op op = SPINAND_GET_FEATURE_OP(0x30, spinand->scratchbuf); in w25n02kv_ecc_get_status()
126 if (spi_mem_exec_op(spinand->spimem, &op)) in w25n02kv_ecc_get_status()
129 mbf = *(spinand in w25n02kv_ecc_get_status()
174 winbond_spinand_init(struct spinand_device *spinand) winbond_spinand_init() argument
[all...]
H A Dmicron.c11 #include <linux/mtd/spinand.h>
93 struct spinand_device *spinand = mtd_to_spinand(mtd); in micron_4_ooblayout_ecc() local
95 if (section >= spinand->base.memorg.pagesize / in micron_4_ooblayout_ecc()
108 struct spinand_device *spinand = mtd_to_spinand(mtd); in micron_4_ooblayout_free() local
110 if (section >= spinand->base.memorg.pagesize / in micron_4_ooblayout_free()
131 static int micron_select_target(struct spinand_device *spinand, in micron_select_target() argument
135 spinand->scratchbuf); in micron_select_target()
140 *spinand->scratchbuf = MICRON_SELECT_DIE(target); in micron_select_target()
142 return spi_mem_exec_op(spinand->spimem, &op); in micron_select_target()
145 static int micron_8_ecc_get_status(struct spinand_device *spinand, in micron_8_ecc_get_status() argument
286 micron_spinand_init(struct spinand_device *spinand) micron_spinand_init() argument
[all...]
H A Dgigadevice.c9 #include <linux/mtd/spinand.h>
100 static int gd5fxgq4xa_ecc_get_status(struct spinand_device *spinand, in gd5fxgq4xa_ecc_get_status() argument
184 static int gd5fxgq4uexxg_ecc_get_status(struct spinand_device *spinand, in gd5fxgq4uexxg_ecc_get_status() argument
189 spinand->scratchbuf); in gd5fxgq4uexxg_ecc_get_status()
201 ret = spi_mem_exec_op(spinand->spimem, &op); in gd5fxgq4uexxg_ecc_get_status()
210 status2 = *(spinand->scratchbuf); in gd5fxgq4uexxg_ecc_get_status()
227 static int gd5fxgq5xexxg_ecc_get_status(struct spinand_device *spinand, in gd5fxgq5xexxg_ecc_get_status() argument
232 spinand->scratchbuf); in gd5fxgq5xexxg_ecc_get_status()
244 ret = spi_mem_exec_op(spinand->spimem, &op); in gd5fxgq5xexxg_ecc_get_status()
252 status2 = *(spinand in gd5fxgq5xexxg_ecc_get_status()
265 gd5fxgq4ufxxg_ecc_get_status(struct spinand_device *spinand, u8 status) gd5fxgq4ufxxg_ecc_get_status() argument
[all...]
H A Dmacronix.c10 #include <linux/mtd/spinand.h>
52 static int mx35lf1ge4ab_get_eccsr(struct spinand_device *spinand, u8 *eccsr) in mx35lf1ge4ab_get_eccsr() argument
59 int ret = spi_mem_exec_op(spinand->spimem, &op); in mx35lf1ge4ab_get_eccsr()
67 static int mx35lf1ge4ab_ecc_get_status(struct spinand_device *spinand, in mx35lf1ge4ab_ecc_get_status() argument
70 struct nand_device *nand = spinand_to_nand(spinand); in mx35lf1ge4ab_ecc_get_status()
86 if (mx35lf1ge4ab_get_eccsr(spinand, spinand->scratchbuf)) in mx35lf1ge4ab_ecc_get_status()
89 eccsr = *spinand->scratchbuf; in mx35lf1ge4ab_ecc_get_status()
H A DMakefile2 spinand-objs := core.o alliancememory.o ato.o esmt.o gigadevice.o macronix.o
3 spinand-objs += micron.o paragon.o toshiba.o winbond.o xtx.o
4 obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
H A Dalliancememory.c8 #include <linux/mtd/spinand.h>
95 static int am_ecc_get_status(struct spinand_device *spinand, u8 status) in am_ecc_get_status() argument
106 if (spinand->base.mtd.oobsize == 64) in am_ecc_get_status()
119 if (spinand->base.mtd.oobsize == 64) in am_ecc_get_status()
H A Dtoshiba.c11 #include <linux/mtd/spinand.h>
71 static int tx58cxgxsxraix_ecc_get_status(struct spinand_device *spinand, in tx58cxgxsxraix_ecc_get_status() argument
74 struct nand_device *nand = spinand_to_nand(spinand); in tx58cxgxsxraix_ecc_get_status()
76 struct spi_mem_op op = SPINAND_GET_FEATURE_OP(0x30, spinand->scratchbuf); in tx58cxgxsxraix_ecc_get_status()
92 if (spi_mem_exec_op(spinand->spimem, &op)) in tx58cxgxsxraix_ecc_get_status()
95 mbf = *(spinand->scratchbuf) >> 4; in tx58cxgxsxraix_ecc_get_status()
H A Dparagon.c10 #include <linux/mtd/spinand.h>
70 static int pn26g0xa_ecc_get_status(struct spinand_device *spinand, in pn26g0xa_ecc_get_status() argument
H A Dxtx.c9 #include <linux/mtd/spinand.h>
63 static int xt26g0xa_ecc_get_status(struct spinand_device *spinand, in xt26g0xa_ecc_get_status() argument
H A Dato.c10 #include <linux/mtd/spinand.h>
H A Desmt.c10 #include <linux/mtd/spinand.h>
/kernel/linux/linux-5.10/drivers/mtd/nand/spi/
H A Dcore.c16 #include <linux/mtd/spinand.h>
23 static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val) in spinand_read_reg_op() argument
26 spinand->scratchbuf); in spinand_read_reg_op()
29 ret = spi_mem_exec_op(spinand->spimem, &op); in spinand_read_reg_op()
33 *val = *spinand->scratchbuf; in spinand_read_reg_op()
37 static int spinand_write_reg_op(struct spinand_device *spinand, u8 reg, u8 val) in spinand_write_reg_op() argument
40 spinand->scratchbuf); in spinand_write_reg_op()
42 *spinand->scratchbuf = val; in spinand_write_reg_op()
43 return spi_mem_exec_op(spinand->spimem, &op); in spinand_write_reg_op()
46 static int spinand_read_status(struct spinand_device *spinand, u argument
51 spinand_get_cfg(struct spinand_device *spinand, u8 *cfg) spinand_get_cfg() argument
63 spinand_set_cfg(struct spinand_device *spinand, u8 cfg) spinand_set_cfg() argument
93 spinand_upd_cfg(struct spinand_device *spinand, u8 mask, u8 val) spinand_upd_cfg() argument
117 spinand_select_target(struct spinand_device *spinand, unsigned int target) spinand_select_target() argument
141 spinand_init_cfg_cache(struct spinand_device *spinand) spinand_init_cfg_cache() argument
173 spinand_init_quad_enable(struct spinand_device *spinand) spinand_init_quad_enable() argument
189 spinand_ecc_enable(struct spinand_device *spinand, bool enable) spinand_ecc_enable() argument
196 spinand_write_enable_op(struct spinand_device *spinand) spinand_write_enable_op() argument
203 spinand_load_page_op(struct spinand_device *spinand, const struct nand_page_io_req *req) spinand_load_page_op() argument
213 spinand_read_from_cache_op(struct spinand_device *spinand, const struct nand_page_io_req *req) spinand_read_from_cache_op() argument
271 spinand_write_to_cache_op(struct spinand_device *spinand, const struct nand_page_io_req *req) spinand_write_to_cache_op() argument
324 spinand_program_op(struct spinand_device *spinand, const struct nand_page_io_req *req) spinand_program_op() argument
334 spinand_erase_op(struct spinand_device *spinand, const struct nand_pos *pos) spinand_erase_op() argument
344 spinand_wait(struct spinand_device *spinand, u8 *s) spinand_wait() argument
374 spinand_read_id_op(struct spinand_device *spinand, u8 naddr, u8 ndummy, u8 *buf) spinand_read_id_op() argument
388 spinand_reset_op(struct spinand_device *spinand) spinand_reset_op() argument
400 spinand_lock_block(struct spinand_device *spinand, u8 lock) spinand_lock_block() argument
405 spinand_check_ecc_status(struct spinand_device *spinand, u8 status) spinand_check_ecc_status() argument
434 spinand_read_page(struct spinand_device *spinand, const struct nand_page_io_req *req, bool ecc_enabled) spinand_read_page() argument
459 spinand_write_page(struct spinand_device *spinand, const struct nand_page_io_req *req) spinand_write_page() argument
487 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_read() local
537 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_write() local
572 struct spinand_device *spinand = nand_to_spinand(nand); spinand_isbad() local
593 struct spinand_device *spinand = nand_to_spinand(nand); spinand_mtd_block_isbad() local
607 struct spinand_device *spinand = nand_to_spinand(nand); spinand_markbad() local
632 struct spinand_device *spinand = nand_to_spinand(nand); spinand_mtd_block_markbad() local
646 struct spinand_device *spinand = nand_to_spinand(nand); spinand_erase() local
672 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_erase() local
684 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_block_isreserved() local
697 spinand_create_dirmap(struct spinand_device *spinand, unsigned int plane) spinand_create_dirmap() argument
729 spinand_create_dirmaps(struct spinand_device *spinand) spinand_create_dirmaps() argument
765 spinand_manufacturer_match(struct spinand_device *spinand, enum spinand_readid_method rdid_method) spinand_manufacturer_match() argument
792 spinand_id_detect(struct spinand_device *spinand) spinand_id_detect() argument
821 spinand_manufacturer_init(struct spinand_device *spinand) spinand_manufacturer_init() argument
829 spinand_manufacturer_cleanup(struct spinand_device *spinand) spinand_manufacturer_cleanup() argument
837 spinand_select_op_variant(struct spinand_device *spinand, const struct spinand_op_variants *variants) spinand_select_op_variant() argument
885 spinand_match_and_init(struct spinand_device *spinand, const struct spinand_info *table, unsigned int table_size, enum spinand_readid_method rdid_method) spinand_match_and_init() argument
935 spinand_detect(struct spinand_device *spinand) spinand_detect() argument
992 spinand_init(struct spinand_device *spinand) spinand_init() argument
1110 spinand_cleanup(struct spinand_device *spinand) spinand_cleanup() argument
1122 struct spinand_device *spinand; spinand_probe() local
1156 struct spinand_device *spinand; spinand_remove() local
[all...]
H A Dwinbond.c12 #include <linux/mtd/spinand.h>
63 static int w25m02gv_select_target(struct spinand_device *spinand, in w25m02gv_select_target() argument
70 spinand->scratchbuf, in w25m02gv_select_target()
73 *spinand->scratchbuf = target; in w25m02gv_select_target()
74 return spi_mem_exec_op(spinand->spimem, &op); in w25m02gv_select_target()
99 static int winbond_spinand_init(struct spinand_device *spinand) in winbond_spinand_init() argument
101 struct nand_device *nand = spinand_to_nand(spinand); in winbond_spinand_init()
109 spinand_select_target(spinand, i); in winbond_spinand_init()
110 spinand_upd_cfg(spinand, WINBOND_CFG_BUF_READ, in winbond_spinand_init()
H A Dmicron.c11 #include <linux/mtd/spinand.h>
77 static int micron_select_target(struct spinand_device *spinand, in micron_select_target() argument
81 spinand->scratchbuf); in micron_select_target()
86 *spinand->scratchbuf = MICRON_SELECT_DIE(target); in micron_select_target()
88 return spi_mem_exec_op(spinand->spimem, &op); in micron_select_target()
91 static int micron_8_ecc_get_status(struct spinand_device *spinand, in micron_8_ecc_get_status() argument
222 static int micron_spinand_init(struct spinand_device *spinand) in micron_spinand_init() argument
229 if (spinand->flags & SPINAND_HAS_CR_FEAT_BIT) in micron_spinand_init()
230 return spinand_upd_cfg(spinand, MICRON_CFG_CR, 0); in micron_spinand_init()
H A Dmacronix.c10 #include <linux/mtd/spinand.h>
52 static int mx35lf1ge4ab_get_eccsr(struct spinand_device *spinand, u8 *eccsr) in mx35lf1ge4ab_get_eccsr() argument
59 int ret = spi_mem_exec_op(spinand->spimem, &op); in mx35lf1ge4ab_get_eccsr()
67 static int mx35lf1ge4ab_ecc_get_status(struct spinand_device *spinand, in mx35lf1ge4ab_ecc_get_status() argument
70 struct nand_device *nand = spinand_to_nand(spinand); in mx35lf1ge4ab_ecc_get_status()
86 if (mx35lf1ge4ab_get_eccsr(spinand, &eccsr)) in mx35lf1ge4ab_ecc_get_status()
H A Dtoshiba.c11 #include <linux/mtd/spinand.h>
71 static int tx58cxgxsxraix_ecc_get_status(struct spinand_device *spinand, in tx58cxgxsxraix_ecc_get_status() argument
74 struct nand_device *nand = spinand_to_nand(spinand); in tx58cxgxsxraix_ecc_get_status()
76 struct spi_mem_op op = SPINAND_GET_FEATURE_OP(0x30, spinand->scratchbuf); in tx58cxgxsxraix_ecc_get_status()
92 if (spi_mem_exec_op(spinand->spimem, &op)) in tx58cxgxsxraix_ecc_get_status()
95 mbf = *(spinand->scratchbuf) >> 4; in tx58cxgxsxraix_ecc_get_status()
H A Dgigadevice.c9 #include <linux/mtd/spinand.h>
81 static int gd5fxgq4xa_ecc_get_status(struct spinand_device *spinand, in gd5fxgq4xa_ecc_get_status() argument
164 static int gd5fxgq4uexxg_ecc_get_status(struct spinand_device *spinand, in gd5fxgq4uexxg_ecc_get_status() argument
181 ret = spi_mem_exec_op(spinand->spimem, &op); in gd5fxgq4uexxg_ecc_get_status()
206 static int gd5fxgq4ufxxg_ecc_get_status(struct spinand_device *spinand, in gd5fxgq4ufxxg_ecc_get_status() argument
H A DMakefile2 spinand-objs := core.o gigadevice.o macronix.o micron.o paragon.o toshiba.o winbond.o
3 obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
H A Dparagon.c10 #include <linux/mtd/spinand.h>
70 static int pn26g0xa_ecc_get_status(struct spinand_device *spinand, in pn26g0xa_ecc_get_status() argument
/kernel/linux/linux-5.10/include/linux/mtd/
H A Dspinand.h219 int (*init)(struct spinand_device *spinand);
220 void (*cleanup)(struct spinand_device *spinand);
282 int (*get_status)(struct spinand_device *spinand, u8 status);
319 int (*select_target)(struct spinand_device *spinand,
404 int (*select_target)(struct spinand_device *spinand,
431 * @spinand: SPI NAND device
433 * Return: the MTD device embedded in @spinand.
435 static inline struct mtd_info *spinand_to_mtd(struct spinand_device *spinand) in spinand_to_mtd() argument
437 return nanddev_to_mtd(&spinand->base); in spinand_to_mtd()
453 * @spinand
458 spinand_to_nand(struct spinand_device *spinand) spinand_to_nand() argument
470 spinand_set_of_node(struct spinand_device *spinand, struct device_node *np) spinand_set_of_node() argument
[all...]
/kernel/linux/linux-6.6/include/linux/mtd/
H A Dspinand.h241 int (*init)(struct spinand_device *spinand);
242 void (*cleanup)(struct spinand_device *spinand);
308 int (*get_status)(struct spinand_device *spinand, u8 status);
318 * ->get_status() is not populated by the spinand device.
354 int (*select_target)(struct spinand_device *spinand,
441 int (*select_target)(struct spinand_device *spinand,
468 * @spinand: SPI NAND device
470 * Return: the MTD device embedded in @spinand.
472 static inline struct mtd_info *spinand_to_mtd(struct spinand_device *spinand) in spinand_to_mtd() argument
474 return nanddev_to_mtd(&spinand in spinand_to_mtd()
495 spinand_to_nand(struct spinand_device *spinand) spinand_to_nand() argument
507 spinand_set_of_node(struct spinand_device *spinand, struct device_node *np) spinand_set_of_node() argument
[all...]

Completed in 14 milliseconds