/linux/drivers/mtd/nand/spi/ |
H A D | core.c | 16 #include <linux/mtd/spinand.h> 23 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 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_cont_read_enable(struct spinand_device * spinand,bool enable) spinand_cont_read_enable() argument 209 spinand_check_ecc_status(struct spinand_device * spinand,u8 status) spinand_check_ecc_status() argument 264 struct spinand_device *spinand = nand_to_spinand(nand); spinand_ondie_ecc_init_ctx() local 294 struct spinand_device *spinand = nand_to_spinand(nand); spinand_ondie_ecc_prepare_io_req() local 310 struct spinand_device *spinand = nand_to_spinand(nand); spinand_ondie_ecc_finish_io_req() local 363 spinand_write_enable_op(struct spinand_device * spinand) spinand_write_enable_op() argument 370 spinand_load_page_op(struct spinand_device * spinand,const struct nand_page_io_req * req) spinand_load_page_op() argument 380 spinand_read_from_cache_op(struct spinand_device * spinand,const struct nand_page_io_req * req) spinand_read_from_cache_op() argument 455 spinand_write_to_cache_op(struct spinand_device * spinand,const struct nand_page_io_req * req) spinand_write_to_cache_op() argument 517 spinand_program_op(struct spinand_device * spinand,const struct nand_page_io_req * req) spinand_program_op() argument 527 spinand_erase_op(struct spinand_device * spinand,const struct nand_pos * pos) spinand_erase_op() argument 549 spinand_wait(struct spinand_device * spinand,unsigned long initial_delay_us,unsigned long poll_delay_us,u8 * s) spinand_wait() argument 583 spinand_read_id_op(struct spinand_device * spinand,u8 naddr,u8 ndummy,u8 * buf) spinand_read_id_op() argument 597 spinand_reset_op(struct spinand_device * spinand) spinand_reset_op() argument 612 spinand_lock_block(struct spinand_device * spinand,u8 lock) spinand_lock_block() argument 625 spinand_read_page(struct spinand_device * spinand,const struct nand_page_io_req * req) spinand_read_page() argument 664 spinand_write_page(struct spinand_device * spinand,const struct nand_page_io_req * req) spinand_write_page() argument 704 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_regular_page_read() local 775 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_continuous_page_read() local 844 spinand_cont_read_init(struct spinand_device * spinand) spinand_cont_read_init() argument 861 struct spinand_device *spinand = nand_to_spinand(nand); spinand_use_cont_read() local 893 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_read() local 922 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_write() local 956 struct spinand_device *spinand = nand_to_spinand(nand); spinand_isbad() local 985 struct spinand_device *spinand = nand_to_spinand(nand); spinand_mtd_block_isbad() local 999 struct spinand_device *spinand = nand_to_spinand(nand); spinand_markbad() local 1027 struct spinand_device *spinand = nand_to_spinand(nand); spinand_mtd_block_markbad() local 1041 struct spinand_device *spinand = nand_to_spinand(nand); spinand_erase() local 1071 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_erase() local 1083 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_block_isreserved() local 1096 spinand_create_dirmap(struct spinand_device * spinand,unsigned int plane) spinand_create_dirmap() argument 1156 spinand_create_dirmaps(struct spinand_device * spinand) spinand_create_dirmaps() argument 1198 spinand_manufacturer_match(struct spinand_device * spinand,enum spinand_readid_method rdid_method) spinand_manufacturer_match() argument 1225 spinand_id_detect(struct spinand_device * spinand) spinand_id_detect() argument 1254 spinand_manufacturer_init(struct spinand_device * spinand) spinand_manufacturer_init() argument 1273 spinand_manufacturer_cleanup(struct spinand_device * spinand) spinand_manufacturer_cleanup() argument 1281 spinand_select_op_variant(struct spinand_device * spinand,const struct spinand_op_variants * variants) spinand_select_op_variant() argument 1338 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 1394 spinand_detect(struct spinand_device * spinand) spinand_detect() argument 1427 spinand_init_flash(struct spinand_device * spinand) spinand_init_flash() argument 1472 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_resume() local 1486 spinand_init(struct spinand_device * spinand) spinand_init() argument 1599 spinand_cleanup(struct spinand_device * spinand) spinand_cleanup() argument 1612 struct spinand_device *spinand; spinand_probe() local 1646 struct spinand_device *spinand; spinand_remove() local [all...] |
H A D | otp.c | 9 #include <linux/mtd/spinand.h> 13 * @spinand: the spinand device 17 size_t spinand_otp_page_size(struct spinand_device *spinand) in spinand_otp_page_size() argument 19 struct nand_device *nand = spinand_to_nand(spinand); in spinand_otp_page_size() 24 static size_t spinand_otp_size(struct spinand_device *spinand, in spinand_otp_size() argument 27 return layout->npages * spinand_otp_page_size(spinand); in spinand_otp_size() 32 * @spinand: the spinand device 36 size_t spinand_fact_otp_size(struct spinand_device *spinand) in spinand_fact_otp_size() argument 47 spinand_user_otp_size(struct spinand_device * spinand) spinand_user_otp_size() argument 52 spinand_otp_check_bounds(struct spinand_device * spinand,loff_t ofs,size_t len,const struct spinand_otp_layout * layout) spinand_otp_check_bounds() argument 62 spinand_user_otp_check_bounds(struct spinand_device * spinand,loff_t ofs,size_t len) spinand_user_otp_check_bounds() argument 69 spinand_otp_rw(struct spinand_device * spinand,loff_t ofs,size_t len,size_t * retlen,u8 * buf,bool is_write,const struct spinand_otp_layout * layout) spinand_otp_rw() argument 137 spinand_fact_otp_read(struct spinand_device * spinand,loff_t ofs,size_t len,size_t * retlen,u8 * buf) spinand_fact_otp_read() argument 154 spinand_user_otp_read(struct spinand_device * spinand,loff_t ofs,size_t len,size_t * retlen,u8 * buf) spinand_user_otp_read() argument 171 spinand_user_otp_write(struct spinand_device * spinand,loff_t ofs,size_t len,size_t * retlen,const u8 * buf) spinand_user_otp_write() argument 182 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_otp_info() local 214 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_otp_read() local 257 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_user_otp_write() local 280 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_user_otp_erase() local 301 struct spinand_device *spinand = mtd_to_spinand(mtd); spinand_mtd_user_otp_lock() local 327 spinand_set_mtd_otp_ops(struct spinand_device * spinand) spinand_set_mtd_otp_ops() argument [all...] |
H A D | micron.c | 11 #include <linux/mtd/spinand.h> 99 struct spinand_device *spinand = mtd_to_spinand(mtd); in micron_4_ooblayout_ecc() local 101 if (section >= spinand->base.memorg.pagesize / in micron_4_ooblayout_ecc() 114 struct spinand_device *spinand = mtd_to_spinand(mtd); in micron_4_ooblayout_free() local 116 if (section >= spinand->base.memorg.pagesize / in micron_4_ooblayout_free() 137 static int micron_select_target(struct spinand_device *spinand, in micron_select_target() argument 141 spinand->scratchbuf); in micron_select_target() 146 *spinand->scratchbuf = MICRON_SELECT_DIE(target); in micron_select_target() 148 return spi_mem_exec_op(spinand->spimem, &op); in micron_select_target() 151 static int micron_8_ecc_get_status(struct spinand_device *spinand, in micron_8_ecc_get_status() argument 177 mt29f2g01abagd_otp_is_locked(struct spinand_device * spinand) mt29f2g01abagd_otp_is_locked() argument 215 mt29f2g01abagd_otp_info(struct spinand_device * spinand,size_t len,struct otp_info * buf,size_t * retlen,bool user) mt29f2g01abagd_otp_info() argument 237 mt29f2g01abagd_fact_otp_info(struct spinand_device * spinand,size_t len,struct otp_info * buf,size_t * retlen) mt29f2g01abagd_fact_otp_info() argument 244 mt29f2g01abagd_user_otp_info(struct spinand_device * spinand,size_t len,struct otp_info * buf,size_t * retlen) mt29f2g01abagd_user_otp_info() argument 251 mt29f2g01abagd_otp_lock(struct spinand_device * spinand,loff_t from,size_t len) mt29f2g01abagd_otp_lock() argument 419 micron_spinand_init(struct spinand_device * spinand) micron_spinand_init() argument [all...] |
H A D | winbond.c | 12 #include <linux/mtd/spinand.h> 119 static int w25m02gv_select_target(struct spinand_device *spinand, in w25m02gv_select_target() argument 126 spinand->scratchbuf, in w25m02gv_select_target() 129 *spinand->scratchbuf = target; in w25m02gv_select_target() 130 return spi_mem_exec_op(spinand->spimem, &op); in w25m02gv_select_target() 214 static int w25n02kv_ecc_get_status(struct spinand_device *spinand, in w25n02kv_ecc_get_status() argument 217 struct nand_device *nand = spinand_to_nand(spinand); in w25n02kv_ecc_get_status() 219 struct spi_mem_op op = SPINAND_GET_FEATURE_1S_1S_1S_OP(0x30, spinand->scratchbuf); in w25n02kv_ecc_get_status() 235 if (spi_mem_exec_op(spinand->spimem, &op)) in w25n02kv_ecc_get_status() 238 mbf = *(spinand in w25n02kv_ecc_get_status() 252 w25n0xjw_hs_cfg(struct spinand_device * spinand) w25n0xjw_hs_cfg() argument 286 w35n0xjw_write_vcr(struct spinand_device * spinand,u8 reg,u8 val) w35n0xjw_write_vcr() argument 315 w35n0xjw_vcr_cfg(struct spinand_device * spinand) w35n0xjw_vcr_cfg() argument 498 winbond_spinand_init(struct spinand_device * spinand) winbond_spinand_init() argument [all...] |
H A D | esmt.c | 10 #include <linux/mtd/spinand.h> 110 static int f50l1g41lb_otp_info(struct spinand_device *spinand, size_t len, in f50l1g41lb_otp_info() argument 118 buf->length = user ? spinand_user_otp_size(spinand) : in f50l1g41lb_otp_info() 119 spinand_fact_otp_size(spinand); in f50l1g41lb_otp_info() 125 static int f50l1g41lb_fact_otp_info(struct spinand_device *spinand, size_t len, in f50l1g41lb_fact_otp_info() argument 128 return f50l1g41lb_otp_info(spinand, len, buf, retlen, false); in f50l1g41lb_fact_otp_info() 131 static int f50l1g41lb_user_otp_info(struct spinand_device *spinand, size_t len, in f50l1g41lb_user_otp_info() argument 134 return f50l1g41lb_otp_info(spinand, len, buf, retlen, true); in f50l1g41lb_user_otp_info() 137 static int f50l1g41lb_otp_lock(struct spinand_device *spinand, loff_t from, in f50l1g41lb_otp_lock() argument 145 ret = spinand_upd_cfg(spinand, ESMT_F50L1G41LB_CFG_OTP_LOC in f50l1g41lb_otp_lock() [all...] |
H A D | macronix.c | 11 #include <linux/mtd/spinand.h> 67 static int macronix_get_eccsr(struct spinand_device *spinand, u8 *eccsr) in macronix_get_eccsr() argument 69 struct macronix_priv *priv = spinand->priv; in macronix_get_eccsr() 75 int ret = spi_mem_exec_op(spinand->spimem, &op); in macronix_get_eccsr() 92 static int macronix_ecc_get_status(struct spinand_device *spinand, in macronix_ecc_get_status() argument 95 struct nand_device *nand = spinand_to_nand(spinand); in macronix_ecc_get_status() 111 if (macronix_get_eccsr(spinand, spinand->scratchbuf)) in macronix_ecc_get_status() 114 eccsr = *spinand->scratchbuf; in macronix_ecc_get_status() 126 static int macronix_set_cont_read(struct spinand_device *spinand, boo argument 148 macronix_set_read_retry(struct spinand_device * spinand,unsigned int retry_mode) macronix_set_read_retry() argument 463 macronix_spinand_init(struct spinand_device * spinand) macronix_spinand_init() argument 476 macronix_spinand_cleanup(struct spinand_device * spinand) macronix_spinand_cleanup() argument [all...] |
H A D | gigadevice.c | 9 #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 D | toshiba.c | 11 #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_1S_1S_1S_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 D | alliancememory.c | 8 #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 D | skyhigh.c | 11 #include <linux/mtd/spinand.h> 60 static int skyhigh_spinand_ecc_get_status(struct spinand_device *spinand, in skyhigh_spinand_ecc_get_status() argument 126 static int skyhigh_spinand_init(struct spinand_device *spinand) in skyhigh_spinand_init() argument 133 return spinand_write_reg_op(spinand, REG_BLOCK_LOCK, in skyhigh_spinand_init()
|
H A D | foresee.c | 10 #include <linux/mtd/spinand.h> 52 static int f35sqa002g_ecc_get_status(struct spinand_device *spinand, u8 status) in f35sqa002g_ecc_get_status() argument 54 struct nand_device *nand = spinand_to_nand(spinand); in f35sqa002g_ecc_get_status()
|
H A D | xtx.c | 10 #include <linux/mtd/spinand.h> 70 static int xt26g0xa_ecc_get_status(struct spinand_device *spinand, in xt26g0xa_ecc_get_status() argument 123 static int xt26xxxd_ecc_get_status(struct spinand_device *spinand, in xt26xxxd_ecc_get_status() argument
|
H A D | paragon.c | 10 #include <linux/mtd/spinand.h> 70 static int pn26g0xa_ecc_get_status(struct spinand_device *spinand, in pn26g0xa_ecc_get_status() argument
|
/linux/include/linux/mtd/ |
H A D | spinand.h | 333 int (*init)(struct spinand_device *spinand); 334 void (*cleanup)(struct spinand_device *spinand); 402 int (*get_status)(struct spinand_device *spinand, u8 status); 415 * ->get_status() is not populated by the spinand device. 437 int (*info)(struct spinand_device *spinand, size_t len, 439 int (*read)(struct spinand_device *spinand, loff_t from, size_t len, 452 int (*info)(struct spinand_device *spinand, size_t len, 454 int (*lock)(struct spinand_device *spinand, loff_t from, size_t len); 455 int (*erase)(struct spinand_device *spinand, loff_t from, size_t len); 456 int (*read)(struct spinand_device *spinand, loff_ 695 spinand_to_mtd(struct spinand_device * spinand) spinand_to_mtd() argument 718 spinand_to_nand(struct spinand_device * spinand) spinand_to_nand() argument 730 spinand_set_of_node(struct spinand_device * spinand,struct device_node * np) spinand_set_of_node() argument [all...] |