Lines Matching defs:onenand

16 #include <linux/mtd/onenand.h>
68 static struct s3c_onenand *onenand;
72 return readl(onenand->ahb_addr + cmd);
77 writel(value, onenand->ahb_addr + cmd);
102 writel(ONENAND_MEM_RESET_COLD, &onenand->reg->mem_reset);
104 stat = readl(&onenand->reg->int_err_stat);
108 stat = readl(&onenand->reg->int_err_stat);
109 writel(stat, &onenand->reg->int_err_ack);
112 writel(0x0, &onenand->reg->int_err_ack);
114 writel(0x0, &onenand->reg->ecc_err_stat);
119 struct onenand_chip *this = onenand->mtd->priv;
127 return readl(&onenand->reg->manufact_id);
129 return readl(&onenand->reg->device_id);
131 return readl(&onenand->reg->flash_ver_id);
133 return readl(&onenand->reg->data_buf_size);
135 return readl(&onenand->reg->tech);
137 return readl(&onenand->reg->mem_cfg);
151 if (reg < ONENAND_DATARAM && onenand->bootram_command) {
153 return readl(&onenand->reg->manufact_id);
155 return readl(&onenand->reg->device_id);
157 return readl(&onenand->reg->flash_ver_id);
168 struct onenand_chip *this = onenand->mtd->priv;
175 writel(value, &onenand->reg->mem_cfg);
193 onenand->bootram_command = 1;
198 &onenand->reg->mem_reset);
199 onenand->bootram_command = 0;
234 stat = readl(&onenand->reg->int_err_stat);
240 stat = readl(&onenand->reg->int_err_stat);
241 writel(stat, &onenand->reg->int_err_ack);
249 ecc = readl(&onenand->reg->ecc_err_stat);
285 mem_addr = onenand->mem_addr(fba, fpa, fsa);
301 m = (unsigned int *) onenand->page_buf;
302 s = (unsigned int *) onenand->oob_buf;
320 writel(TSRF, &onenand->reg->trans_spare);
329 writel(0, &onenand->reg->trans_spare);
339 writel(TSRF, &onenand->reg->trans_spare);
349 writel(0, &onenand->reg->trans_spare);
382 p = (unsigned char *) onenand->page_buf;
386 p = (unsigned char *) onenand->oob_buf;
418 struct samsung_onenand *reg = (struct samsung_onenand *)onenand->base;
429 stat = readl(&onenand->reg->int_err_stat);
430 writel(stat, &onenand->reg->int_err_ack);
438 int ecc = readl(&onenand->reg->ecc_err_stat);
456 s3c_read_cmd(CMD_MAP_01(onenand->mem_addr(block, 0, 0)));
458 if (readl(&onenand->reg->int_err_stat) & LOCKED_BLK) {
460 writel(LOCKED_BLK, &onenand->reg->int_err_ack);
472 start_mem_addr = onenand->mem_addr(start, 0, 0);
474 end_mem_addr = onenand->mem_addr(end, 0, 0);
534 onenand = malloc(sizeof(struct s3c_onenand));
535 if (!onenand)
538 onenand->page_buf = malloc(size * sizeof(char));
539 if (!onenand->page_buf)
541 memset(onenand->page_buf, 0xff, size);
543 onenand->oob_buf = malloc(128 * sizeof(char));
544 if (!onenand->oob_buf)
546 memset(onenand->oob_buf, 0xff, 128);
548 onenand->mtd = mtd;
551 onenand->base = (void *)0xE7100000;
552 onenand->ahb_addr = (void *)0xB0000000;
554 onenand->mem_addr = s3c_mem_addr;
555 onenand->reg = (struct samsung_onenand *)onenand->base;