Home
last modified time | relevance | path

Searched refs:mtd (Results 1 – 25 of 191) sorted by relevance

12345678

/rk3399_rockchip-uboot/drivers/mtd/
H A Dmtdcore.c184 struct mtd_info __maybe_unused *mtd = dev_get_drvdata(dev); in mtd_release() local
185 dev_t index = MTD_DEVT(mtd->index); in mtd_release()
194 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_cls_suspend() local
196 return mtd ? mtd_suspend(mtd) : 0; in mtd_cls_suspend()
201 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_cls_resume() local
203 if (mtd) in mtd_cls_resume()
204 mtd_resume(mtd); in mtd_cls_resume()
211 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_type_show() local
214 switch (mtd->type) { in mtd_type_show()
250 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_flags_show() local
[all …]
H A Dmtd_blk.c50 struct mtd_info *mtd = NULL; in mtd_blk_map_table_init() local
59 mtd = desc->bdev->priv; in mtd_blk_map_table_init()
65 if (!mtd) { in mtd_blk_map_table_init()
68 blk_total = (mtd->size + mtd->erasesize - 1) >> mtd->erasesize_shift; in mtd_blk_map_table_init()
77 blk_begin = (u32)offset >> mtd->erasesize_shift; in mtd_blk_map_table_init()
78 blk_cnt = ((u32)((offset & mtd->erasesize_mask) + length + \ in mtd_blk_map_table_init()
79 mtd->erasesize - 1) >> mtd->erasesize_shift); in mtd_blk_map_table_init()
96 if (!mtd_block_isbad(mtd, (blk_begin + j) << mtd->erasesize_shift)) { in mtd_blk_map_table_init()
110 static bool get_mtd_blk_map_address(struct mtd_info *mtd, loff_t *off) in get_mtd_blk_map_address() argument
114 size_t block_offset = offset & (mtd->erasesize - 1); in get_mtd_blk_map_address()
[all …]
H A Dcfi_mtd.c24 static int cfi_mtd_erase(struct mtd_info *mtd, struct erase_info *instr) in cfi_mtd_erase() argument
26 flash_info_t *fi = mtd->priv; in cfi_mtd_erase()
68 static int cfi_mtd_read(struct mtd_info *mtd, loff_t from, size_t len, in cfi_mtd_read() argument
71 flash_info_t *fi = mtd->priv; in cfi_mtd_read()
80 static int cfi_mtd_write(struct mtd_info *mtd, loff_t to, size_t len, in cfi_mtd_write() argument
83 flash_info_t *fi = mtd->priv; in cfi_mtd_write()
99 static void cfi_mtd_sync(struct mtd_info *mtd) in cfi_mtd_sync() argument
108 static int cfi_mtd_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len) in cfi_mtd_lock() argument
110 flash_info_t *fi = mtd->priv; in cfi_mtd_lock()
120 static int cfi_mtd_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len) in cfi_mtd_unlock() argument
[all …]
H A Daltera_qspi.c59 static void altera_qspi_get_locked_range(struct mtd_info *mtd, loff_t *ofs,
64 struct mtd_info *mtd = info->mtd; in flash_print_info() local
70 altera_qspi_get_locked_range(mtd, &ofs, &len); in flash_print_info()
86 struct mtd_info *mtd = info->mtd; in flash_erase() local
91 instr.mtd = mtd; in flash_erase()
92 instr.addr = mtd->erasesize * s_first; in flash_erase()
93 instr.len = mtd->erasesize * (s_last + 1 - s_first); in flash_erase()
95 ret = mtd_erase(mtd, &instr); in flash_erase()
106 struct mtd_info *mtd = info->mtd; in write_buff() local
107 struct udevice *dev = mtd->dev; in write_buff()
[all …]
H A Dmtdpart.c290 static int part_read(struct mtd_info *mtd, loff_t from, size_t len, in part_read() argument
296 stats = mtd->parent->ecc_stats; in part_read()
297 res = mtd->parent->_read(mtd->parent, from + mtd->offset, len, in part_read()
300 mtd->ecc_stats.failed += in part_read()
301 mtd->parent->ecc_stats.failed - stats.failed; in part_read()
303 mtd->ecc_stats.corrected += in part_read()
304 mtd->parent->ecc_stats.corrected - stats.corrected; in part_read()
309 static int part_point(struct mtd_info *mtd, loff_t from, size_t len, in part_point() argument
312 return mtd->parent->_point(mtd->parent, from + mtd->offset, len, in part_point()
316 static int part_unpoint(struct mtd_info *mtd, loff_t from, size_t len) in part_unpoint() argument
[all …]
H A Dmtdconcat.c38 struct mtd_info mtd; member
62 concat_read(struct mtd_info *mtd, loff_t from, size_t len, in concat_read() argument
65 struct mtd_concat *concat = CONCAT(mtd); in concat_read()
95 mtd->ecc_stats.failed++; in concat_read()
98 mtd->ecc_stats.corrected++; in concat_read()
118 concat_write(struct mtd_info *mtd, loff_t to, size_t len, in concat_write() argument
121 struct mtd_concat *concat = CONCAT(mtd); in concat_write()
161 concat_writev(struct mtd_info *mtd, const struct kvec *vecs, in concat_writev() argument
164 struct mtd_concat *concat = CONCAT(mtd); in concat_writev()
176 if (mtd->writesize > 1) { in concat_writev()
[all …]
/rk3399_rockchip-uboot/drivers/mtd/nand/raw/
H A Dmxs_nand_spl.c12 static struct mtd_info *mtd; variable
15 static void mxs_nand_command(struct mtd_info *mtd, unsigned int command, in mxs_nand_command() argument
18 register struct nand_chip *chip = mtd_to_nand(mtd); in mxs_nand_command()
22 chip->cmd_ctrl(mtd, command, NAND_CLE); in mxs_nand_command()
26 chip->cmd_ctrl(mtd, column, NAND_ALE); in mxs_nand_command()
27 chip->cmd_ctrl(mtd, column >> 8, NAND_ALE); in mxs_nand_command()
30 chip->cmd_ctrl(mtd, page_addr, NAND_ALE); in mxs_nand_command()
31 chip->cmd_ctrl(mtd, page_addr >> 8, NAND_ALE); in mxs_nand_command()
34 chip->cmd_ctrl(mtd, page_addr >> 16, NAND_ALE); in mxs_nand_command()
36 chip->cmd_ctrl(mtd, NAND_CMD_NONE, 0); in mxs_nand_command()
[all …]
H A Dnand_util.c52 int nand_erase_opts(struct mtd_info *mtd, in nand_erase_opts() argument
60 const char *mtd_device = mtd->name; in nand_erase_opts()
62 struct nand_chip *chip = mtd_to_nand(mtd); in nand_erase_opts()
64 if ((opts->offset & (mtd->erasesize - 1)) != 0) { in nand_erase_opts()
72 erase.mtd = mtd; in nand_erase_opts()
73 erase.len = mtd->erasesize; in nand_erase_opts()
75 erase_length = lldiv(opts->length + mtd->erasesize - 1, in nand_erase_opts()
76 mtd->erasesize); in nand_erase_opts()
101 erase.addr += mtd->erasesize) { in nand_erase_opts()
110 int ret = mtd_block_isbad(mtd, erase.addr); in nand_erase_opts()
[all …]
H A Dvf610_nfc.c198 static inline u32 vf610_nfc_read(struct mtd_info *mtd, uint reg) in vf610_nfc_read() argument
200 struct vf610_nfc *nfc = mtd_to_nfc(mtd); in vf610_nfc_read()
205 static inline void vf610_nfc_write(struct mtd_info *mtd, uint reg, u32 val) in vf610_nfc_write() argument
207 struct vf610_nfc *nfc = mtd_to_nfc(mtd); in vf610_nfc_write()
212 static inline void vf610_nfc_set(struct mtd_info *mtd, uint reg, u32 bits) in vf610_nfc_set() argument
214 vf610_nfc_write(mtd, reg, vf610_nfc_read(mtd, reg) | bits); in vf610_nfc_set()
217 static inline void vf610_nfc_clear(struct mtd_info *mtd, uint reg, u32 bits) in vf610_nfc_clear() argument
219 vf610_nfc_write(mtd, reg, vf610_nfc_read(mtd, reg) & ~bits); in vf610_nfc_clear()
222 static inline void vf610_nfc_set_field(struct mtd_info *mtd, u32 reg, in vf610_nfc_set_field() argument
225 vf610_nfc_write(mtd, reg, in vf610_nfc_set_field()
[all …]
H A Dnand_spl_simple.c14 static struct mtd_info *mtd; variable
29 struct nand_chip *this = mtd_to_nand(mtd); in nand_command()
32 while (!this->dev_ready(mtd)) in nand_command()
36 this->cmd_ctrl(mtd, cmd, NAND_CTRL_CLE | NAND_CTRL_CHANGE); in nand_command()
39 this->cmd_ctrl(mtd, offs, NAND_CTRL_ALE | NAND_CTRL_CHANGE); in nand_command()
40 this->cmd_ctrl(mtd, page_addr & 0xff, NAND_CTRL_ALE); /* A[16:9] */ in nand_command()
41 this->cmd_ctrl(mtd, (page_addr >> 8) & 0xff, in nand_command()
45 this->cmd_ctrl(mtd, (page_addr >> 16) & 0x0f, in nand_command()
49 this->cmd_ctrl(mtd, NAND_CMD_NONE, NAND_NCE | NAND_CTRL_CHANGE); in nand_command()
54 while (!this->dev_ready(mtd)) in nand_command()
[all …]
H A Dnand_base.c95 static int nand_get_device(struct mtd_info *mtd, int new_state);
97 static int nand_do_write_oob(struct mtd_info *mtd, loff_t to,
106 static int check_offs_len(struct mtd_info *mtd, in check_offs_len() argument
109 struct nand_chip *chip = mtd_to_nand(mtd); in check_offs_len()
133 static void nand_release_device(struct mtd_info *mtd) in nand_release_device() argument
135 struct nand_chip *chip = mtd_to_nand(mtd); in nand_release_device()
138 chip->select_chip(mtd, -1); in nand_release_device()
147 uint8_t nand_read_byte(struct mtd_info *mtd) in nand_read_byte() argument
149 struct nand_chip *chip = mtd_to_nand(mtd); in nand_read_byte()
160 static uint8_t nand_read_byte16(struct mtd_info *mtd) in nand_read_byte16() argument
[all …]
H A Dam335x_spl_bch.c19 static struct mtd_info *mtd; variable
33 struct nand_chip *this = mtd_to_nand(mtd); in nand_command()
35 void (*hwctrl)(struct mtd_info *mtd, int cmd, in nand_command()
38 while (!this->dev_ready(mtd)) in nand_command()
48 hwctrl(mtd, cmd, NAND_CTRL_CLE | NAND_CTRL_CHANGE); in nand_command()
51 hwctrl(mtd, NAND_CMD_NONE, NAND_NCE | NAND_CTRL_CHANGE); in nand_command()
59 while (!this->dev_ready(mtd)) in nand_command()
70 hwctrl(mtd, offs & 0xff, in nand_command()
72 hwctrl(mtd, (offs >> 8) & 0xff, NAND_CTRL_ALE); /* A[11:9] */ in nand_command()
75 hwctrl(mtd, (page_addr & 0xff), in nand_command()
[all …]
H A Drockchip_nand_v9.c86 struct mtd_info mtd; member
120 static void rockchip_nand_select_chip(struct mtd_info *mtd, int chipnr) in rockchip_nand_select_chip() argument
122 struct nand_chip *chip = mtd_to_nand(mtd); in rockchip_nand_select_chip()
147 static void rockchip_nand_cmd_ctrl(struct mtd_info *mtd, in rockchip_nand_cmd_ctrl() argument
151 struct nand_chip *chip = mtd_to_nand(mtd); in rockchip_nand_cmd_ctrl()
168 static void rockchip_nand_read_buf(struct mtd_info *mtd, in rockchip_nand_read_buf() argument
172 struct nand_chip *chip = mtd_to_nand(mtd); in rockchip_nand_read_buf()
182 static void rockchip_nand_write_buf(struct mtd_info *mtd, in rockchip_nand_write_buf() argument
186 struct nand_chip *chip = mtd_to_nand(mtd); in rockchip_nand_write_buf()
196 static uint8_t rockchip_nand_read_byte(struct mtd_info *mtd) in rockchip_nand_read_byte() argument
[all …]
H A Drockchip_nand.c84 struct mtd_info mtd; member
114 static void rockchip_nand_select_chip(struct mtd_info *mtd, int chipnr) in rockchip_nand_select_chip() argument
116 struct nand_chip *chip = mtd_to_nand(mtd); in rockchip_nand_select_chip()
141 static void rockchip_nand_cmd_ctrl(struct mtd_info *mtd, in rockchip_nand_cmd_ctrl() argument
145 struct nand_chip *chip = mtd_to_nand(mtd); in rockchip_nand_cmd_ctrl()
162 static void rockchip_nand_read_buf(struct mtd_info *mtd, in rockchip_nand_read_buf() argument
166 struct nand_chip *chip = mtd_to_nand(mtd); in rockchip_nand_read_buf()
176 static void rockchip_nand_write_buf(struct mtd_info *mtd, in rockchip_nand_write_buf() argument
180 struct nand_chip *chip = mtd_to_nand(mtd); in rockchip_nand_write_buf()
190 static uint8_t rockchip_nand_read_byte(struct mtd_info *mtd) in rockchip_nand_read_byte() argument
[all …]
H A Dnand.c42 int nand_mtd_to_devnum(struct mtd_info *mtd) in nand_mtd_to_devnum() argument
47 if (mtd && get_nand_dev_by_index(i) == mtd) in nand_mtd_to_devnum()
55 int nand_register(int devnum, struct mtd_info *mtd) in nand_register() argument
60 nand_info[devnum] = mtd; in nand_register()
63 mtd->name = dev_name[devnum]; in nand_register()
70 add_mtd_device(mtd); in nand_register()
73 total_nand_size += mtd->size / 1024; in nand_register()
85 struct mtd_info *mtd = nand_to_mtd(nand); in nand_init_chip() local
97 if (nand_scan(mtd, maxchips)) in nand_init_chip()
100 nand_register(i, mtd); in nand_init_chip()
[all …]
H A Dnand_bbt.c77 static int nand_update_bbt(struct mtd_info *mtd, loff_t offs);
169 static int read_bbt(struct mtd_info *mtd, uint8_t *buf, int page, int num, in read_bbt() argument
173 struct nand_chip *this = mtd_to_nand(mtd); in read_bbt()
196 res = mtd_read(mtd, from, len, &retlen, buf); in read_bbt()
200 from & ~mtd->writesize); in read_bbt()
204 from & ~mtd->writesize); in read_bbt()
225 mtd->ecc_stats.bbtblocks++; in read_bbt()
242 mtd->ecc_stats.badblocks++; in read_bbt()
262 static int read_abs_bbt(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr *td, int chip) in read_abs_bbt() argument
264 struct nand_chip *this = mtd_to_nand(mtd); in read_abs_bbt()
[all …]
H A Dmxc_nand.c342 static int mxc_nand_dev_ready(struct mtd_info *mtd) argument
351 static void _mxc_nand_enable_hwecc(struct mtd_info *mtd, int on) argument
353 struct nand_chip *nand_chip = mtd_to_nand(mtd);
375 static void mxc_nand_enable_hwecc(struct mtd_info *mtd, int mode) argument
384 static int mxc_nand_read_oob_syndrome(struct mtd_info *mtd, argument
390 int length = mtd->oobsize;
398 chip->cmdfunc(mtd, NAND_CMD_READOOB, mtd->writesize, page);
402 chip->read_buf(mtd, bufpoi, toread);
412 chip->read_buf(mtd, bufpoi, toread);
418 chip->read_buf(mtd, bufpoi, length);
[all …]
H A Dmxs_nand.c165 struct mtd_info *mtd, in mxs_nand_calc_ecc_layout_by_info() argument
169 struct nand_chip *chip = mtd_to_nand(mtd); in mxs_nand_calc_ecc_layout_by_info()
187 if (geo->ecc_chunk_size < mtd->oobsize) in mxs_nand_calc_ecc_layout_by_info()
193 geo->ecc_chunk_count = mtd->writesize / geo->ecc_chunk_size; in mxs_nand_calc_ecc_layout_by_info()
199 struct mtd_info *mtd) in mxs_nand_calc_ecc_layout() argument
201 struct nand_chip *chip = mtd_to_nand(mtd); in mxs_nand_calc_ecc_layout()
210 if (geo->ecc_chunk_size < mtd->oobsize) { in mxs_nand_calc_ecc_layout()
215 if (mtd->oobsize > geo->ecc_chunk_size) { in mxs_nand_calc_ecc_layout()
221 geo->ecc_chunk_count = mtd->writesize / geo->ecc_chunk_size; in mxs_nand_calc_ecc_layout()
231 geo->ecc_strength = ((mtd->oobsize - MXS_NAND_METADATA_SIZE) * 8) in mxs_nand_calc_ecc_layout()
[all …]
H A Dzynq_nand.c312 static int zynq_nand_calculate_hwecc(struct mtd_info *mtd, const u8 *data, in zynq_nand_calculate_hwecc() argument
379 static int zynq_nand_correct_data(struct mtd_info *mtd, unsigned char *buf, in zynq_nand_correct_data() argument
423 static int zynq_nand_read_oob(struct mtd_info *mtd, struct nand_chip *chip, in zynq_nand_read_oob() argument
430 chip->cmdfunc(mtd, NAND_CMD_READOOB, 0, page); in zynq_nand_read_oob()
433 chip->read_buf(mtd, p, (mtd->oobsize - data_width)); in zynq_nand_read_oob()
434 p += mtd->oobsize - data_width; in zynq_nand_read_oob()
439 chip->read_buf(mtd, p, data_width); in zynq_nand_read_oob()
450 static int zynq_nand_write_oob(struct mtd_info *mtd, struct nand_chip *chip, in zynq_nand_write_oob() argument
457 chip->cmdfunc(mtd, NAND_CMD_SEQIN, mtd->writesize, page); in zynq_nand_write_oob()
459 chip->write_buf(mtd, buf, (mtd->oobsize - data_width)); in zynq_nand_write_oob()
[all …]
H A Dfsl_elbc_nand.c155 static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob) in set_addr() argument
157 struct nand_chip *chip = mtd_to_nand(mtd); in set_addr()
195 static int fsl_elbc_run_command(struct mtd_info *mtd) in fsl_elbc_run_command() argument
197 struct nand_chip *chip = mtd_to_nand(mtd); in fsl_elbc_run_command()
279 static void fsl_elbc_cmdfunc(struct mtd_info *mtd, unsigned int command, in fsl_elbc_cmdfunc() argument
282 struct nand_chip *chip = mtd_to_nand(mtd); in fsl_elbc_cmdfunc()
305 set_addr(mtd, 0, page_addr, 0); in fsl_elbc_cmdfunc()
307 ctrl->read_bytes = mtd->writesize + mtd->oobsize; in fsl_elbc_cmdfunc()
311 fsl_elbc_run_command(mtd); in fsl_elbc_cmdfunc()
319 out_be32(&lbc->fbcr, mtd->oobsize - column); in fsl_elbc_cmdfunc()
[all …]
/rk3399_rockchip-uboot/include/linux/mtd/
H A Dmtd.h47 struct mtd_info *mtd; member
135 int (*ecc)(struct mtd_info *mtd, int section,
137 int (*rfree)(struct mtd_info *mtd, int section,
238 int (*_erase) (struct mtd_info *mtd, struct erase_info *instr);
240 int (*_point) (struct mtd_info *mtd, loff_t from, size_t len,
242 int (*_unpoint) (struct mtd_info *mtd, loff_t from, size_t len);
244 unsigned long (*_get_unmapped_area) (struct mtd_info *mtd,
248 int (*_read) (struct mtd_info *mtd, loff_t from, size_t len,
250 int (*_write) (struct mtd_info *mtd, loff_t to, size_t len,
252 int (*_panic_write) (struct mtd_info *mtd, loff_t to, size_t len,
[all …]
/rk3399_rockchip-uboot/cmd/
H A Dmtd.c20 static uint mtd_len_to_pages(struct mtd_info *mtd, u64 len) in mtd_len_to_pages() argument
22 do_div(len, mtd->writesize); in mtd_len_to_pages()
27 static bool mtd_is_aligned_with_min_io_size(struct mtd_info *mtd, u64 size) in mtd_is_aligned_with_min_io_size() argument
29 return !do_div(size, mtd->writesize); in mtd_is_aligned_with_min_io_size()
32 static bool mtd_is_aligned_with_block_size(struct mtd_info *mtd, u64 size) in mtd_is_aligned_with_block_size() argument
34 return !do_div(size, mtd->erasesize); in mtd_is_aligned_with_block_size()
54 static void mtd_dump_device_buf(struct mtd_info *mtd, u64 start_off, in mtd_dump_device_buf() argument
57 bool has_pages = mtd->type == MTD_NANDFLASH || in mtd_dump_device_buf()
58 mtd->type == MTD_MLCNANDFLASH; in mtd_dump_device_buf()
59 int npages = mtd_len_to_pages(mtd, len); in mtd_dump_device_buf()
[all …]
H A Dnand.c41 static int nand_dump(struct mtd_info *mtd, ulong off, int only_oob, in nand_dump() argument
50 off = last + mtd->writesize; in nand_dump()
54 datbuf = memalign(ARCH_DMA_MINALIGN, mtd->writesize); in nand_dump()
60 oobbuf = memalign(ARCH_DMA_MINALIGN, mtd->oobsize); in nand_dump()
66 off &= ~(mtd->writesize - 1); in nand_dump()
72 ops.len = mtd->writesize; in nand_dump()
73 ops.ooblen = mtd->oobsize; in nand_dump()
75 i = mtd_read_oob(mtd, addr, &ops); in nand_dump()
84 i = mtd->writesize >> 4; in nand_dump()
98 i = mtd->oobsize >> 3; in nand_dump()
[all …]
H A Donenand.c22 static struct mtd_info *mtd; variable
45 *size = mtd->size - *off; in arg_off_size_onenand()
48 if ((*off + *size) > mtd->size) { in arg_off_size_onenand()
49 printf("total chip size (0x%llx) exceeded!\n", mtd->size); in arg_off_size_onenand()
53 if (*size == mtd->size) in arg_off_size_onenand()
64 struct onenand_chip *this = mtd->priv; in onenand_block_read()
79 ret = mtd_block_isbad(mtd, ofs); in onenand_block_read()
93 ret = mtd_read_oob(mtd, ofs, &ops); in onenand_block_read()
112 .len = mtd->writesize, in onenand_write_oneblock_withoob()
113 .ooblen = mtd->oobsize, in onenand_write_oneblock_withoob()
[all …]
/rk3399_rockchip-uboot/drivers/mtd/onenand/
H A Donenand_base.c293 int flexonenand_region(struct mtd_info *mtd, loff_t addr) in flexonenand_region() argument
297 for (i = 0; i < mtd->numeraseregions; i++) in flexonenand_region()
298 if (addr < mtd->eraseregions[i].offset) in flexonenand_region()
325 static int onenand_command(struct mtd_info *mtd, int cmd, loff_t addr, in onenand_command() argument
328 struct onenand_chip *this = mtd->priv; in onenand_command()
468 static int onenand_wait(struct mtd_info *mtd, int state) in onenand_wait() argument
470 struct onenand_chip *this = mtd->priv; in onenand_wait()
515 static inline int onenand_bufferram_offset(struct mtd_info *mtd, int area) in onenand_bufferram_offset() argument
517 struct onenand_chip *this = mtd->priv; in onenand_bufferram_offset()
521 return mtd->writesize; in onenand_bufferram_offset()
[all …]

12345678