Home
last modified time | relevance | path

Searched refs:nand (Results 1 – 25 of 302) sorted by relevance

12345678910>>...13

/rk3399_rockchip-uboot/include/linux/mtd/
H A Dnand.h163 int (*erase)(struct nand_device *nand, const struct nand_pos *pos);
164 int (*markbad)(struct nand_device *nand, const struct nand_pos *pos);
165 bool (*isbad)(struct nand_device *nand, const struct nand_pos *pos);
231 static inline struct mtd_info *nanddev_to_mtd(struct nand_device *nand) in nanddev_to_mtd() argument
233 return nand->mtd; in nanddev_to_mtd()
242 static inline unsigned int nanddev_bits_per_cell(const struct nand_device *nand) in nanddev_bits_per_cell() argument
244 return nand->memorg.bits_per_cell; in nanddev_bits_per_cell()
253 static inline size_t nanddev_page_size(const struct nand_device *nand) in nanddev_page_size() argument
255 return nand->memorg.pagesize; in nanddev_page_size()
265 nanddev_per_page_oobsize(const struct nand_device *nand) in nanddev_per_page_oobsize() argument
[all …]
/rk3399_rockchip-uboot/drivers/mtd/nand/
H A Dcore.c24 bool nanddev_isbad(struct nand_device *nand, const struct nand_pos *pos) in nanddev_isbad() argument
26 if (nanddev_bbt_is_initialized(nand)) { in nanddev_isbad()
30 entry = nanddev_bbt_pos_to_entry(nand, pos); in nanddev_isbad()
31 status = nanddev_bbt_get_block_status(nand, entry); in nanddev_isbad()
34 if (nand->ops->isbad(nand, pos)) in nanddev_isbad()
39 nanddev_bbt_set_block_status(nand, entry, status); in nanddev_isbad()
49 return nand->ops->isbad(nand, pos); in nanddev_isbad()
63 int nanddev_markbad(struct nand_device *nand, const struct nand_pos *pos) in nanddev_markbad() argument
65 struct mtd_info *mtd = nanddev_to_mtd(nand); in nanddev_markbad()
69 if (nanddev_isbad(nand, pos)) in nanddev_markbad()
[all …]
H A Dbbt.c84 static u32 bbt_nand_isbad_bypass(struct nand_device *nand, u32 block) in bbt_nand_isbad_bypass() argument
86 struct mtd_info *mtd = nanddev_to_mtd(nand); in bbt_nand_isbad_bypass()
89 nanddev_bbt_set_block_status(nand, block, NAND_BBT_BLOCK_STATUS_UNKNOWN); in bbt_nand_isbad_bypass()
90 nanddev_offs_to_pos(nand, block * mtd->erasesize, &pos); in bbt_nand_isbad_bypass()
92 return nanddev_isbad(nand, &pos); in bbt_nand_isbad_bypass()
106 static int nanddev_read_bbt(struct nand_device *nand, u32 block, bool update) in nanddev_read_bbt() argument
109 unsigned int nblocks = nanddev_neraseblocks(nand); in nanddev_read_bbt()
111 BITS_PER_LONG) * sizeof(*nand->bbt.cache); in nanddev_read_bbt()
112 struct mtd_info *mtd = nanddev_to_mtd(nand); in nanddev_read_bbt()
120 if (!nand->bbt.cache) in nanddev_read_bbt()
[all …]
/rk3399_rockchip-uboot/drivers/mtd/nand/raw/
H A Domap_gpmc.c180 struct nand_chip *nand = mtd_to_nand(mtd); in omap_enable_hwecc() local
181 struct omap_nand_info *info = nand_get_controller_data(nand); in omap_enable_hwecc()
182 unsigned int dev_width = (nand->options & NAND_BUSWIDTH_16) ? 1 : 0; in omap_enable_hwecc()
712 static int omap_select_ecc_scheme(struct nand_chip *nand, in omap_select_ecc_scheme() argument
714 struct omap_nand_info *info = nand_get_controller_data(nand); in omap_select_ecc_scheme()
725 nand->ecc.mode = NAND_ECC_SOFT; in omap_select_ecc_scheme()
726 nand->ecc.layout = NULL; in omap_select_ecc_scheme()
727 nand->ecc.size = 0; in omap_select_ecc_scheme()
740 memset(&nand->ecc, 0, sizeof(struct nand_ecc_ctrl)); in omap_select_ecc_scheme()
741 nand->ecc.mode = NAND_ECC_HW; in omap_select_ecc_scheme()
[all …]
H A Dfsmc_nand.c402 struct nand_chip *nand; in fsmc_nand_switch_ecc() local
413 nand = mtd_to_nand(mtd); in fsmc_nand_switch_ecc()
417 nand->ecc.mode = NAND_ECC_HW; in fsmc_nand_switch_ecc()
418 nand->ecc.bytes = 3; in fsmc_nand_switch_ecc()
419 nand->ecc.strength = 1; in fsmc_nand_switch_ecc()
420 nand->ecc.layout = &fsmc_ecc1_layout; in fsmc_nand_switch_ecc()
421 nand->ecc.calculate = fsmc_read_hwecc; in fsmc_nand_switch_ecc()
422 nand->ecc.correct = nand_correct_data; in fsmc_nand_switch_ecc()
428 nand->ecc.mode = NAND_ECC_SOFT_BCH; in fsmc_nand_switch_ecc()
429 nand->ecc.strength = 4; in fsmc_nand_switch_ecc()
[all …]
H A Dmxs_nand.c268 struct nand_chip *nand = mtd_to_nand(mtd); in mxs_nand_cmd_ctrl() local
269 struct mxs_nand_info *nand_info = nand_get_controller_data(nand); in mxs_nand_cmd_ctrl()
362 struct nand_chip *nand = mtd_to_nand(mtd); in mxs_nand_select_chip() local
363 struct mxs_nand_info *nand_info = nand_get_controller_data(nand); in mxs_nand_select_chip()
409 struct nand_chip *nand = mtd_to_nand(mtd); in mxs_nand_read_buf() local
410 struct mxs_nand_info *nand_info = nand_get_controller_data(nand); in mxs_nand_read_buf()
493 struct nand_chip *nand = mtd_to_nand(mtd); in mxs_nand_write_buf() local
494 struct mxs_nand_info *nand_info = nand_get_controller_data(nand); in mxs_nand_write_buf()
554 static int mxs_nand_ecc_read_page(struct mtd_info *mtd, struct nand_chip *nand, in mxs_nand_ecc_read_page() argument
558 struct mxs_nand_info *nand_info = nand_get_controller_data(nand); in mxs_nand_ecc_read_page()
[all …]
H A Ddavinci_nand.c58 const u32 *nand = chip->IO_ADDR_R; in nand_davinci_read_buf() local
64 *buf = readb(nand); in nand_davinci_read_buf()
72 *(u16 *)buf = readw(nand); in nand_davinci_read_buf()
81 *(u32 *)buf = __raw_readl(nand); in nand_davinci_read_buf()
89 *(u16 *)buf = readw(nand); in nand_davinci_read_buf()
95 *buf = readb(nand); in nand_davinci_read_buf()
103 const u32 *nand = chip->IO_ADDR_W; in nand_davinci_write_buf() local
109 writeb(*buf, nand); in nand_davinci_write_buf()
117 writew(*(u16 *)buf, nand); in nand_davinci_write_buf()
126 __raw_writel(*(u32 *)buf, nand); in nand_davinci_write_buf()
[all …]
H A Dkirkwood_nand.c77 int board_nand_init(struct nand_chip *nand) in board_nand_init() argument
79 nand->options = NAND_COPYBACK | NAND_CACHEPRG | NAND_NO_PADDING; in board_nand_init()
81 nand->options |= NAND_NO_SUBPAGE_WRITE; in board_nand_init()
84 nand->ecc.mode = NAND_ECC_SOFT_BCH; in board_nand_init()
86 nand->ecc.mode = NAND_ECC_SOFT; in board_nand_init()
88 nand->cmd_ctrl = kw_nand_hwcontrol; in board_nand_init()
89 nand->chip_delay = 40; in board_nand_init()
90 nand->select_chip = kw_nand_select_chip; in board_nand_init()
H A Dkmeter1_nand.c104 int board_nand_init(struct nand_chip *nand) in board_nand_init() argument
107 nand->ecc.mode = NAND_ECC_SOFT_BCH; in board_nand_init()
109 nand->ecc.mode = NAND_ECC_SOFT; in board_nand_init()
113 nand->cmd_ctrl = kpn_nand_hwcontrol; in board_nand_init()
114 nand->read_byte = kpn_nand_read_byte; in board_nand_init()
115 nand->write_buf = kpn_nand_write_buf; in board_nand_init()
116 nand->read_buf = kpn_nand_read_buf; in board_nand_init()
117 nand->dev_ready = kpn_nand_dev_ready; in board_nand_init()
118 nand->chip_delay = KPN_DEFAULT_CHIP_DELAY; in board_nand_init()
H A Dsunxi_nand.c238 struct nand_chip nand; member
251 static inline struct sunxi_nand_chip *to_sunxi_nand(struct nand_chip *nand) in to_sunxi_nand() argument
253 return container_of(nand, struct sunxi_nand_chip, nand); in to_sunxi_nand()
382 struct nand_chip *nand = mtd_to_nand(mtd); in sunxi_nfc_dev_ready() local
383 struct sunxi_nand_chip *sunxi_nand = to_sunxi_nand(nand); in sunxi_nfc_dev_ready()
384 struct sunxi_nfc *nfc = to_sunxi_nfc(sunxi_nand->nand.controller); in sunxi_nfc_dev_ready()
386 unsigned long timeo = (sunxi_nand->nand.state == FL_ERASING ? 400 : 20); in sunxi_nfc_dev_ready()
420 struct nand_chip *nand = mtd_to_nand(mtd); in sunxi_nfc_select_chip() local
421 struct sunxi_nand_chip *sunxi_nand = to_sunxi_nand(nand); in sunxi_nfc_select_chip()
422 struct sunxi_nfc *nfc = to_sunxi_nfc(sunxi_nand->nand.controller); in sunxi_nfc_select_chip()
[all …]
H A Datmel_nand.c805 static int atmel_pmecc_nand_init_params(struct nand_chip *nand, in atmel_pmecc_nand_init_params() argument
812 nand_set_controller_data(nand, host); in atmel_pmecc_nand_init_params()
814 nand->ecc.mode = NAND_ECC_HW; in atmel_pmecc_nand_init_params()
815 nand->ecc.calculate = NULL; in atmel_pmecc_nand_init_params()
816 nand->ecc.correct = NULL; in atmel_pmecc_nand_init_params()
817 nand->ecc.hwctl = NULL; in atmel_pmecc_nand_init_params()
832 if (pmecc_choose_ecc(host, nand, &cap, &sector_size)) { in atmel_pmecc_nand_init_params()
885 nand->ecc.size = mtd->writesize; in atmel_pmecc_nand_init_params()
902 nand->ecc.steps = 1; in atmel_pmecc_nand_init_params()
903 nand->ecc.bytes = host->pmecc_bytes_per_sector * in atmel_pmecc_nand_init_params()
[all …]
H A Dfsl_elbc_nand.c661 struct nand_chip *nand; in fsl_elbc_chip_init() local
700 nand = &priv->chip; in fsl_elbc_chip_init()
701 mtd = nand_to_mtd(nand); in fsl_elbc_chip_init()
707 nand->read_byte = fsl_elbc_read_byte; in fsl_elbc_chip_init()
708 nand->write_buf = fsl_elbc_write_buf; in fsl_elbc_chip_init()
709 nand->read_buf = fsl_elbc_read_buf; in fsl_elbc_chip_init()
710 nand->select_chip = fsl_elbc_select_chip; in fsl_elbc_chip_init()
711 nand->cmdfunc = fsl_elbc_cmdfunc; in fsl_elbc_chip_init()
712 nand->waitfunc = fsl_elbc_wait; in fsl_elbc_chip_init()
715 nand->bbt_td = &bbt_main_descr; in fsl_elbc_chip_init()
[all …]
H A Dnand_plat.c48 int board_nand_init(struct nand_chip *nand) in board_nand_init() argument
59 nand->cmd_ctrl = plat_cmd_ctrl; in board_nand_init()
60 nand->dev_ready = plat_dev_ready; in board_nand_init()
61 nand->ecc.mode = NAND_ECC_SOFT; in board_nand_init()
H A Dfsl_ifc_nand.c885 struct nand_chip *nand; in fsl_ifc_chip_init() local
926 nand = &priv->chip; in fsl_ifc_chip_init()
927 mtd = nand_to_mtd(nand); in fsl_ifc_chip_init()
934 nand->write_buf = fsl_ifc_write_buf; in fsl_ifc_chip_init()
935 nand->read_buf = fsl_ifc_read_buf; in fsl_ifc_chip_init()
936 nand->select_chip = fsl_ifc_select_chip; in fsl_ifc_chip_init()
937 nand->cmdfunc = fsl_ifc_cmdfunc; in fsl_ifc_chip_init()
938 nand->waitfunc = fsl_ifc_wait; in fsl_ifc_chip_init()
941 nand->bbt_td = &bbt_main_descr; in fsl_ifc_chip_init()
942 nand->bbt_md = &bbt_mirror_descr; in fsl_ifc_chip_init()
[all …]
H A Dnand_bch.c112 struct nand_chip *nand = mtd_to_nand(mtd); in nand_bch_init() local
114 struct nand_ecclayout *layout = nand->ecc.layout; in nand_bch_init()
117 unsigned int eccsize = nand->ecc.size; in nand_bch_init()
118 unsigned int eccbytes = nand->ecc.bytes; in nand_bch_init()
119 unsigned int eccstrength = nand->ecc.strength; in nand_bch_init()
123 nand->ecc.bytes = eccbytes; in nand_bch_init()
178 nand->ecc.layout = layout; in nand_bch_init()
211 nand->ecc.strength = (eccbytes * 8) / fls(8 * eccsize); in nand_bch_init()
/rk3399_rockchip-uboot/drivers/mtd/nand/spi/
H A Dcore.c37 struct nand_device *nand = spinand_to_nand(spinand); in spinand_cache_op_adjust_colum() local
40 if (nand->memorg.planes_per_lun < 2) in spinand_cache_op_adjust_colum()
44 shift = fls(nand->memorg.pagesize); in spinand_cache_op_adjust_colum()
78 struct nand_device *nand = spinand_to_nand(spinand); in spinand_get_cfg() local
81 spinand->cur_target >= nand->memorg.ntargets)) in spinand_get_cfg()
90 struct nand_device *nand = spinand_to_nand(spinand); in spinand_set_cfg() local
94 spinand->cur_target >= nand->memorg.ntargets)) in spinand_set_cfg()
144 struct nand_device *nand = spinand_to_nand(spinand); in spinand_select_target() local
147 if (WARN_ON(target >= nand->memorg.ntargets)) in spinand_select_target()
153 if (nand->memorg.ntargets == 1) { in spinand_select_target()
[all …]
/rk3399_rockchip-uboot/drivers/dfu/
H A Ddfu_nand.c32 *len = dfu->data.nand.size; in nand_block_op()
36 start = dfu->data.nand.start + offset + dfu->bad_skip; in nand_block_op()
37 lim = dfu->data.nand.start + dfu->data.nand.size - start; in nand_block_op()
119 *size = dfu->data.nand.size; in dfu_get_medium_size_nand()
147 if (dfu->data.nand.ubi) { in dfu_flush_medium_nand()
168 opts.offset = dfu->data.nand.start + off + in dfu_flush_medium_nand()
170 opts.length = dfu->data.nand.start + in dfu_flush_medium_nand()
171 dfu->data.nand.size - opts.offset; in dfu_flush_medium_nand()
186 if (dfu->data.nand.ubi) in dfu_polltimeout_nand()
198 dfu->data.nand.ubi = 0; in dfu_fill_entity_nand()
[all …]
/rk3399_rockchip-uboot/board/socrates/
H A Dnand.c150 int board_nand_init(struct nand_chip *nand) in board_nand_init() argument
152 nand->cmd_ctrl = sc_nand_hwcontrol; in board_nand_init()
153 nand->ecc.mode = NAND_ECC_SOFT; in board_nand_init()
154 nand->dev_ready = sc_nand_device_ready; in board_nand_init()
155 nand->read_byte = sc_nand_read_byte; in board_nand_init()
156 nand->read_word = sc_nand_read_word; in board_nand_init()
157 nand->write_buf = sc_nand_write_buf; in board_nand_init()
158 nand->read_buf = sc_nand_read_buf; in board_nand_init()
/rk3399_rockchip-uboot/doc/device-tree-bindings/nand/
H A Dnvidia,tegra20-nand.txt12 - compatible : Should be "manufacturer,device", "nand-flash"
26 nvidia,nand-width : bus width of the NAND device in bits
28 - nvidia,nand-timing : Timing parameters for the NAND. Each is in ns.
42 nand-controller@0x70008000 {
43 compatible = "nvidia,tegra20-nand";
47 nvidia,nand-width = <8>;
49 nand@0 {
51 compatible = "hynix,hy27uf4g2b", "nand-flash";
/rk3399_rockchip-uboot/board/xes/common/
H A Dactl_nand.c42 int board_nand_init(struct nand_chip *nand) in board_nand_init() argument
44 nand->ecc.mode = NAND_ECC_SOFT; in board_nand_init()
45 nand->cmd_ctrl = nand_addr_hwcontrol; in board_nand_init()
46 nand->chip_delay = CONFIG_SYS_NAND_ACTL_DELAY; in board_nand_init()
/rk3399_rockchip-uboot/doc/
H A DREADME.commands.spl20 nand read 0x82000000 0x280000 0x400000 /* Read kernel image from NAND*/
22 nand erase 0x680000 0x20000 /* erase - one page */
23 nand write 0x80000100 0x680000 0x20000 /* write the image - one page */
27 nand read 0x82000000 0x280000 0x400000 /* Read kernel image from NAND*/
30 nand erase 0x680000 0x20000 /* erase - one page */
31 nand write <adress shown by spl export> 0x680000 0x20000
/rk3399_rockchip-uboot/board/synopsys/axs10x/
H A Dnand.c223 int board_nand_init(struct nand_chip *nand) in board_nand_init() argument
231 nand->ecc.mode = NAND_ECC_SOFT; in board_nand_init()
232 nand->cmd_ctrl = axs101_nand_hwcontrol; in board_nand_init()
233 nand->read_byte = axs101_nand_read_byte; in board_nand_init()
234 nand->read_word = axs101_nand_read_word; in board_nand_init()
235 nand->write_buf = axs101_nand_write_buf; in board_nand_init()
236 nand->read_buf = axs101_nand_read_buf; in board_nand_init()
240 nand->options |= NAND_BUSWIDTH_16; in board_nand_init()
/rk3399_rockchip-uboot/board/freescale/m5329evb/
H A Dnand.c52 int board_nand_init(struct nand_chip *nand) in board_nand_init() argument
67 nand->chip_delay = 60; in board_nand_init()
68 nand->ecc.mode = NAND_ECC_SOFT; in board_nand_init()
69 nand->cmd_ctrl = nand_hwcontrol; in board_nand_init()
/rk3399_rockchip-uboot/board/cssi/MCR3000/
H A Dnand.c51 int board_nand_init(struct nand_chip *nand) in board_nand_init() argument
60 nand->chip_delay = 60; in board_nand_init()
61 nand->ecc.mode = NAND_ECC_SOFT; in board_nand_init()
62 nand->cmd_ctrl = nand_hwcontrol; in board_nand_init()
/rk3399_rockchip-uboot/board/freescale/m5373evb/
H A Dnand.c53 int board_nand_init(struct nand_chip *nand) in board_nand_init() argument
71 nand->chip_delay = 60; in board_nand_init()
72 nand->ecc.mode = NAND_ECC_SOFT; in board_nand_init()
73 nand->cmd_ctrl = nand_hwcontrol; in board_nand_init()

12345678910>>...13