Lines Matching refs:chip

76 nand_make_dev(struct nand_chip *chip)
83 ivar = device_get_ivars(chip->dev);
84 nandbus = device_get_parent(chip->dev);
90 * If we got distinct name for chip device we can enumarete it
100 unit = parent_unit * 4 + chip->num;
101 chip->cdev = make_dev(&nand_cdevsw, unit, UID_ROOT, GID_WHEEL,
102 0640, "%s%d.%d", name, parent_unit, chip->num);
104 if (chip->cdev == NULL)
108 device_printf(chip->dev, "Created cdev %s%d.%d for chip "
109 "[0x%0x, 0x%0x]\n", name, parent_unit, chip->num,
112 chip->cdev->si_drv1 = chip;
118 nand_destroy_dev(struct nand_chip *chip)
121 if (chip->cdev)
122 destroy_dev(chip->cdev);
133 nand_read(struct nand_chip *chip, uint32_t offset, void *buf, uint32_t len)
140 nand_debug(NDBG_CDEV, "Read from chip%d [%p] at %d\n", chip->num,
141 chip, offset);
143 nandbus = device_get_parent(chip->dev);
145 NANDBUS_SELECT_CS(device_get_parent(chip->dev), chip->num);
147 cg = &chip->chip_geom;
160 err = NAND_READ_PAGE(chip->dev, start_page,
169 err = NAND_READ_PAGE(chip->dev, start_page,
187 nand_write(struct nand_chip *chip, uint32_t offset, void* buf, uint32_t len)
194 nand_debug(NDBG_CDEV, "Write to chip %d [%p] at %d\n", chip->num,
195 chip, offset);
197 nandbus = device_get_parent(chip->dev);
199 NANDBUS_SELECT_CS(device_get_parent(chip->dev), chip->num);
201 cg = &chip->chip_geom;
214 err = NAND_PROGRAM_PAGE(chip->dev, start_page, ptr,
231 struct nand_chip *chip;
236 chip = dev->si_drv1;
238 nand_debug(NDBG_CDEV, "Strategy %s on chip %d [%p]\n",
240 chip->num, chip);
243 err = nand_read(chip,
247 err = nand_write(chip,
264 nand_oob_access(struct nand_chip *chip, uint32_t page, uint32_t offset,
271 cg = &chip->chip_geom;
280 ret = nand_read_oob(chip, page, buf, cg->oob_size);
284 ret = nand_prog_oob(chip, page, buf, cg->oob_size);
296 struct nand_chip *chip;
308 chip = (struct nand_chip *)dev->si_drv1;
309 cg = &chip->chip_geom;
310 nandbus = device_get_parent(chip->dev);
316 /* Check if len is not bigger than chip size */
334 ret = nand_erase_blocks(chip, ((off_t *)data)[0],
340 ret = nand_oob_access(chip, oob_rw->page, 0,
346 ret = nand_oob_access(chip, oob_rw->page, 0,
365 ret = nand_prog_pages_raw(chip, raw_rw->off + off, buf,
379 ret = nand_read_pages_raw(chip, raw_rw->off + off, buf,
393 ret = nand_page_stat(chip, (struct page_stat_io *)data);
397 ret = nand_block_stat(chip, (struct block_stat_io *)data);
401 nand_get_chip_param(chip, (struct chip_param_io *)data);
416 nand_page_stat(struct nand_chip *chip, struct page_stat_io *page_stat)
422 cg = &chip->chip_geom;
427 stat = &chip->pg_stat[page_stat->page_num];
440 nand_block_stat(struct nand_chip *chip, struct block_stat_io *block_stat)
445 cg = &chip->chip_geom;
449 block_stat->block_erased = chip->blk_stat[block_num].block_erased;