H A D | core.c | 1 // SPDX-License-Identifier: GPL-2.0 17 #include <linux/mtd/spi-nor.h> 23 #include <linux/spi/flash.h> 30 * For everything but full-chip erase; probably could be much smaller, but kept 36 * For full-chip erase, calibrated to a 2MB flash (M25P16); should be scaled up 47 * spi_nor_get_cmd_ext() - Ge 57 spi_nor_get_cmd_ext(const struct spi_nor * nor,const struct spi_mem_op * op) spi_nor_get_cmd_ext() argument 80 spi_nor_spimem_setup_op(const struct spi_nor * nor,struct spi_mem_op * op,const enum spi_nor_protocol proto) spi_nor_spimem_setup_op() argument 128 spi_nor_spimem_bounce(struct spi_nor * nor,struct spi_mem_op * op) spi_nor_spimem_bounce() argument 149 spi_nor_spimem_exec_op(struct spi_nor * nor,struct spi_mem_op * op) spi_nor_spimem_exec_op() argument 160 spi_nor_controller_ops_read_reg(struct spi_nor * nor,u8 opcode,u8 * buf,size_t len) spi_nor_controller_ops_read_reg() argument 169 spi_nor_controller_ops_write_reg(struct spi_nor * nor,u8 opcode,const u8 * buf,size_t len) spi_nor_controller_ops_write_reg() argument 178 spi_nor_controller_ops_erase(struct spi_nor * nor,loff_t offs) spi_nor_controller_ops_erase() argument 196 spi_nor_spimem_read_data(struct spi_nor * nor,loff_t from,size_t len,u8 * buf) spi_nor_spimem_read_data() argument 242 spi_nor_read_data(struct spi_nor * nor,loff_t from,size_t len,u8 * buf) spi_nor_read_data() argument 260 spi_nor_spimem_write_data(struct spi_nor * nor,loff_t to,size_t len,const u8 * buf) spi_nor_spimem_write_data() argument 301 spi_nor_write_data(struct spi_nor * nor,loff_t to,size_t len,const u8 * buf) spi_nor_write_data() argument 319 spi_nor_read_any_reg(struct spi_nor * nor,struct spi_mem_op * op,enum spi_nor_protocol proto) spi_nor_read_any_reg() argument 341 spi_nor_write_any_volatile_reg(struct spi_nor * nor,struct spi_mem_op * op,enum spi_nor_protocol proto) spi_nor_write_any_volatile_reg() argument 362 spi_nor_write_enable(struct spi_nor * nor) spi_nor_write_enable() argument 389 spi_nor_write_disable(struct spi_nor * nor) spi_nor_write_disable() argument 423 spi_nor_read_id(struct spi_nor * nor,u8 naddr,u8 ndummy,u8 * id,enum spi_nor_protocol proto) spi_nor_read_id() argument 449 spi_nor_read_sr(struct spi_nor * nor,u8 * sr) spi_nor_read_sr() argument 489 spi_nor_read_cr(struct spi_nor * nor,u8 * cr) spi_nor_read_cr() argument 520 spi_nor_set_4byte_addr_mode_en4b_ex4b(struct spi_nor * nor,bool enable) spi_nor_set_4byte_addr_mode_en4b_ex4b() argument 553 spi_nor_set_4byte_addr_mode_wren_en4b_ex4b(struct spi_nor * nor,bool enable) spi_nor_set_4byte_addr_mode_wren_en4b_ex4b() argument 582 spi_nor_set_4byte_addr_mode_brwr(struct spi_nor * nor,bool enable) spi_nor_set_4byte_addr_mode_brwr() argument 612 spi_nor_sr_ready(struct spi_nor * nor) spi_nor_sr_ready() argument 629 spi_nor_use_parallel_locking(struct spi_nor * nor) spi_nor_use_parallel_locking() argument 635 spi_nor_rww_start_rdst(struct spi_nor * nor) spi_nor_rww_start_rdst() argument 654 spi_nor_rww_end_rdst(struct spi_nor * nor) spi_nor_rww_end_rdst() argument 666 spi_nor_lock_rdst(struct spi_nor * nor) spi_nor_lock_rdst() argument 674 spi_nor_unlock_rdst(struct spi_nor * nor) spi_nor_unlock_rdst() argument 688 spi_nor_ready(struct spi_nor * nor) spi_nor_ready() argument 715 spi_nor_wait_till_ready_with_timeout(struct spi_nor * nor,unsigned long timeout_jiffies) spi_nor_wait_till_ready_with_timeout() argument 748 spi_nor_wait_till_ready(struct spi_nor * nor) spi_nor_wait_till_ready() argument 760 spi_nor_global_block_unlock(struct spi_nor * nor) spi_nor_global_block_unlock() argument 795 spi_nor_write_sr(struct spi_nor * nor,const u8 * sr,size_t len) spi_nor_write_sr() argument 830 spi_nor_write_sr1_and_check(struct spi_nor * nor,u8 sr1) spi_nor_write_sr1_and_check() argument 862 spi_nor_write_16bit_sr_and_check(struct spi_nor * nor,u8 sr1) spi_nor_write_16bit_sr_and_check() argument 937 spi_nor_write_16bit_cr_and_check(struct spi_nor * nor,u8 cr) spi_nor_write_16bit_cr_and_check() argument 989 spi_nor_write_sr_and_check(struct spi_nor * nor,u8 sr1) spi_nor_write_sr_and_check() argument 1005 spi_nor_write_sr2(struct spi_nor * nor,const u8 * sr2) spi_nor_write_sr2() argument 1041 spi_nor_read_sr2(struct spi_nor * nor,u8 * sr2) spi_nor_read_sr2() argument 1068 spi_nor_erase_chip(struct spi_nor * nor) spi_nor_erase_chip() argument 1151 spi_nor_has_uniform_erase(const struct spi_nor * nor) spi_nor_has_uniform_erase() argument 1156 spi_nor_set_4byte_opcodes(struct spi_nor * nor) spi_nor_set_4byte_opcodes() argument 1175 spi_nor_prep(struct spi_nor * nor) spi_nor_prep() argument 1185 spi_nor_unprep(struct spi_nor * nor) spi_nor_unprep() argument 1200 spi_nor_rww_start_io(struct spi_nor * nor) spi_nor_rww_start_io() argument 1218 spi_nor_rww_end_io(struct spi_nor * nor) spi_nor_rww_end_io() argument 1225 spi_nor_lock_device(struct spi_nor * nor) spi_nor_lock_device() argument 1233 spi_nor_unlock_device(struct spi_nor * nor) spi_nor_unlock_device() argument 1242 spi_nor_rww_start_exclusive(struct spi_nor * nor) spi_nor_rww_start_exclusive() argument 1262 spi_nor_rww_end_exclusive(struct spi_nor * nor) spi_nor_rww_end_exclusive() argument 1273 spi_nor_prep_and_lock(struct spi_nor * nor) spi_nor_prep_and_lock() argument 1290 spi_nor_unlock_and_unprep(struct spi_nor * nor) spi_nor_unlock_and_unprep() argument 1303 spi_nor_rww_start_pe(struct spi_nor * nor,loff_t start,size_t len) spi_nor_rww_start_pe() argument 1333 spi_nor_rww_end_pe(struct spi_nor * nor,loff_t start,size_t len) spi_nor_rww_end_pe() argument 1350 spi_nor_prep_and_lock_pe(struct spi_nor * nor,loff_t start,size_t len) spi_nor_prep_and_lock_pe() argument 1367 spi_nor_unlock_and_unprep_pe(struct spi_nor * nor,loff_t start,size_t len) spi_nor_unlock_and_unprep_pe() argument 1380 spi_nor_rww_start_rd(struct spi_nor * nor,loff_t start,size_t len) spi_nor_rww_start_rd() argument 1411 spi_nor_rww_end_rd(struct spi_nor * nor,loff_t start,size_t len) spi_nor_rww_end_rd() argument 1429 spi_nor_prep_and_lock_rd(struct spi_nor * nor,loff_t start,size_t len) spi_nor_prep_and_lock_rd() argument 1446 spi_nor_unlock_and_unprep_rd(struct spi_nor * nor,loff_t start,size_t len) spi_nor_unlock_and_unprep_rd() argument 1458 spi_nor_convert_addr(struct spi_nor * nor,loff_t addr) spi_nor_convert_addr() argument 1469 spi_nor_erase_sector(struct spi_nor * nor,u32 addr) spi_nor_erase_sector() argument 1679 spi_nor_init_erase_cmd_list(struct spi_nor * nor,struct list_head * erase_list,u64 addr,u32 len) spi_nor_init_erase_cmd_list() argument 1746 spi_nor_erase_multi_sectors(struct spi_nor * nor,u64 addr,u32 len) spi_nor_erase_multi_sectors() argument 1801 struct spi_nor *nor = mtd_to_spi_nor(mtd); spi_nor_erase() local 1909 spi_nor_sr1_bit6_quad_enable(struct spi_nor * nor) spi_nor_sr1_bit6_quad_enable() argument 1934 spi_nor_sr2_bit1_quad_enable(struct spi_nor * nor) spi_nor_sr2_bit1_quad_enable() argument 1965 spi_nor_sr2_bit7_quad_enable(struct spi_nor * nor) spi_nor_sr2_bit7_quad_enable() argument 2031 spi_nor_match_id(struct spi_nor * nor,const u8 * id) spi_nor_match_id() argument 2051 spi_nor_detect(struct spi_nor * nor) spi_nor_detect() argument 2088 struct spi_nor *nor = mtd_to_spi_nor(mtd); spi_nor_read() local 2135 struct spi_nor *nor = mtd_to_spi_nor(mtd); spi_nor_write() local 2196 spi_nor_check(struct spi_nor * nor) spi_nor_check() argument 2298 spi_nor_spimem_check_op(struct spi_nor * nor,struct spi_mem_op * op) spi_nor_spimem_check_op() argument 2329 spi_nor_spimem_check_readop(struct spi_nor * nor,const struct spi_nor_read_command * read) spi_nor_spimem_check_readop() argument 2353 spi_nor_spimem_check_pp(struct spi_nor * nor,const struct spi_nor_pp_command * pp) spi_nor_spimem_check_pp() argument 2371 spi_nor_spimem_adjust_hwcaps(struct spi_nor * nor,u32 * hwcaps) spi_nor_spimem_adjust_hwcaps() argument 2450 spi_nor_post_bfpt_fixups(struct spi_nor * nor,const struct sfdp_parameter_header * bfpt_header,const struct sfdp_bfpt * bfpt) spi_nor_post_bfpt_fixups() argument 2470 spi_nor_select_read(struct spi_nor * nor,u32 shared_hwcaps) spi_nor_select_read() argument 2501 spi_nor_select_pp(struct spi_nor * nor,u32 shared_hwcaps) spi_nor_select_pp() argument 2581 spi_nor_select_erase(struct spi_nor * nor) spi_nor_select_erase() argument 2629 spi_nor_default_setup(struct spi_nor * nor,const struct spi_nor_hwcaps * hwcaps) spi_nor_default_setup() argument 2690 spi_nor_set_addr_nbytes(struct spi_nor * nor) spi_nor_set_addr_nbytes() argument 2733 spi_nor_setup(struct spi_nor * nor,const struct spi_nor_hwcaps * hwcaps) spi_nor_setup() argument 2753 spi_nor_manufacturer_init_params(struct spi_nor * nor) spi_nor_manufacturer_init_params() argument 2772 spi_nor_no_sfdp_init_params(struct spi_nor * nor) spi_nor_no_sfdp_init_params() argument 2840 spi_nor_init_flags(struct spi_nor * nor) spi_nor_init_flags() argument 2885 spi_nor_init_fixup_flags(struct spi_nor * nor) spi_nor_init_fixup_flags() argument 2904 spi_nor_late_init_params(struct spi_nor * nor) spi_nor_late_init_params() argument 2950 spi_nor_sfdp_init_params_deprecated(struct spi_nor * nor) spi_nor_sfdp_init_params_deprecated() argument 2971 spi_nor_init_params_deprecated(struct spi_nor * nor) spi_nor_init_params_deprecated() argument 2990 spi_nor_init_default_params(struct spi_nor * nor) spi_nor_init_default_params() argument 3076 spi_nor_init_params(struct spi_nor * nor) spi_nor_init_params() argument 3107 spi_nor_set_octal_dtr(struct spi_nor * nor,bool enable) spi_nor_set_octal_dtr() argument 3139 spi_nor_quad_enable(struct spi_nor * nor) spi_nor_quad_enable() argument 3158 spi_nor_set_4byte_addr_mode(struct spi_nor * nor,bool enable) spi_nor_set_4byte_addr_mode() argument 3178 spi_nor_init(struct spi_nor * nor) spi_nor_init() argument 3244 spi_nor_soft_reset(struct spi_nor * nor) spi_nor_soft_reset() argument 3280 struct spi_nor *nor = mtd_to_spi_nor(mtd); spi_nor_suspend() local 3294 struct spi_nor *nor = mtd_to_spi_nor(mtd); spi_nor_resume() local 3307 struct spi_nor *nor = mtd_to_spi_nor(master); spi_nor_get_device() local 3324 struct spi_nor *nor = mtd_to_spi_nor(master); spi_nor_put_device() local 3335 spi_nor_restore(struct spi_nor * nor) spi_nor_restore() argument 3356 spi_nor_match_name(struct spi_nor * nor,const char * name) spi_nor_match_name() argument 3373 spi_nor_get_flash_info(struct spi_nor * nor,const char * name) spi_nor_get_flash_info() argument 3411 spi_nor_set_mtd_info(struct spi_nor * nor) spi_nor_set_mtd_info() argument 3444 spi_nor_hw_reset(struct spi_nor * nor) spi_nor_hw_reset() argument 3465 spi_nor_scan(struct spi_nor * nor,const char * name,const struct spi_nor_hwcaps * hwcaps) spi_nor_scan() argument 3559 spi_nor_create_read_dirmap(struct spi_nor * nor) spi_nor_create_read_dirmap() argument 3590 spi_nor_create_write_dirmap(struct spi_nor * nor) spi_nor_create_write_dirmap() argument 3621 struct spi_device *spi = spimem->spi; spi_nor_probe() local 3623 struct spi_nor *nor; spi_nor_probe() local 3696 struct spi_nor *nor = spi_mem_get_drvdata(spimem); spi_nor_remove() local 3706 struct spi_nor *nor = spi_mem_get_drvdata(spimem); spi_nor_shutdown() local [all...] |