• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/mtd/devices/

Lines Matching refs:docptr

44 static void DoC_Delay(void __iomem * docptr, unsigned short cycles)
50 dummy = ReadDOC(docptr, NOP);
54 static int _DoC_WaitReady(void __iomem * docptr)
62 while (!(ReadDOC(docptr, CDSNControl) & CDSN_CTRL_FR_B) && --c)
71 static inline int DoC_WaitReady(void __iomem * docptr)
78 DoC_Delay(docptr, 4);
80 if (!(ReadDOC(docptr, CDSNControl) & CDSN_CTRL_FR_B))
82 ret = _DoC_WaitReady(docptr);
86 DoC_Delay(docptr, 2);
95 static void DoC_Command(void __iomem * docptr, unsigned char command,
99 WriteDOC(xtraflags | CDSN_CTRL_CLE | CDSN_CTRL_CE, docptr, CDSNControl);
100 DoC_Delay(docptr, 4);
103 WriteDOC(command, docptr, Mil_CDSN_IO);
104 WriteDOC(0x00, docptr, WritePipeTerm);
107 WriteDOC(xtraflags | CDSN_CTRL_CE, docptr, CDSNControl);
108 DoC_Delay(docptr, 4);
115 static inline void DoC_Address(void __iomem * docptr, int numbytes, unsigned long ofs,
119 WriteDOC(xtraflags1 | CDSN_CTRL_ALE | CDSN_CTRL_CE, docptr, CDSNControl);
120 DoC_Delay(docptr, 4);
127 WriteDOC(ofs & 0xff, docptr, Mil_CDSN_IO);
128 WriteDOC(0x00, docptr, WritePipeTerm);
132 WriteDOC((ofs >> 9) & 0xff, docptr, Mil_CDSN_IO);
133 WriteDOC((ofs >> 17) & 0xff, docptr, Mil_CDSN_IO);
134 WriteDOC(0x00, docptr, WritePipeTerm);
138 WriteDOC(ofs & 0xff, docptr, Mil_CDSN_IO);
139 WriteDOC((ofs >> 9) & 0xff, docptr, Mil_CDSN_IO);
140 WriteDOC((ofs >> 17) & 0xff, docptr, Mil_CDSN_IO);
141 WriteDOC(0x00, docptr, WritePipeTerm);
148 WriteDOC(xtraflags1 | xtraflags2 | CDSN_CTRL_CE, docptr, CDSNControl);
149 DoC_Delay(docptr, 4);
153 static int DoC_SelectChip(void __iomem * docptr, int chip)
156 WriteDOC(chip, docptr, CDSNDeviceSelect);
157 DoC_Delay(docptr, 4);
160 return DoC_WaitReady(docptr);
164 static int DoC_SelectFloor(void __iomem * docptr, int floor)
167 WriteDOC(floor, docptr, FloorSelect);
170 return DoC_WaitReady(docptr);
388 void __iomem *docptr = this->virtadr;
401 DoC_SelectFloor(docptr, mychip->floor);
402 DoC_SelectChip(docptr, mychip->chip);
404 DoC_SelectChip(docptr, mychip->chip);
412 DoC_Command(docptr, (from >> 8) & 1, CDSN_CTRL_WP);
413 DoC_Address(docptr, 3, from, CDSN_CTRL_WP, 0x00);
414 DoC_WaitReady(docptr);
417 WriteDOC (DOC_ECC_RESET, docptr, ECCConf);
418 WriteDOC (DOC_ECC_EN, docptr, ECCConf);
422 dummy = ReadDOC(docptr, ReadPipeInit);
427 buf[i] = ReadDOC(docptr, Mil_CDSN_IO + (i & 0xff));
430 memcpy_fromio(buf, docptr + DoC_Mil_CDSN_IO, len - 1);
432 buf[len - 1] = ReadDOC(docptr, LastDataRead);
440 dummy = ReadDOC(docptr, ReadPipeInit);
445 eccbuf[i] = ReadDOC(docptr, Mil_CDSN_IO + i);
448 memcpy_fromio(eccbuf, docptr + DoC_Mil_CDSN_IO, 5);
450 eccbuf[5] = ReadDOC(docptr, LastDataRead);
453 dummy = ReadDOC(docptr, ECCConf);
454 dummy = ReadDOC(docptr, ECCConf);
457 if (ReadDOC(docptr, ECCConf) & 0x80) {
466 syndrome[i] = ReadDOC(docptr, ECCSyndrome0 + i);
487 WriteDOC(DOC_ECC_DIS, docptr , ECCConf);
499 void __iomem *docptr = this->virtadr;
512 DoC_SelectFloor(docptr, mychip->floor);
513 DoC_SelectChip(docptr, mychip->chip);
515 DoC_SelectChip(docptr, mychip->chip);
521 DoC_Command(docptr, NAND_CMD_RESET, 0x00);
522 DoC_WaitReady(docptr);
524 DoC_Command(docptr, NAND_CMD_READ0, 0x00);
527 DoC_Command(docptr, NAND_CMD_SEQIN, 0x00);
528 DoC_Address(docptr, 3, to, 0x00, 0x00);
529 DoC_WaitReady(docptr);
532 WriteDOC (DOC_ECC_RESET, docptr, ECCConf);
533 WriteDOC (DOC_ECC_EN | DOC_ECC_RW, docptr, ECCConf);
541 WriteDOC(buf[i], docptr, Mil_CDSN_IO + i);
544 memcpy_toio(docptr + DoC_Mil_CDSN_IO, buf, len);
546 WriteDOC(0x00, docptr, WritePipeTerm);
550 WriteDOC(0, docptr, NOP);
551 WriteDOC(0, docptr, NOP);
552 WriteDOC(0, docptr, NOP);
556 eccbuf[i] = ReadDOC(docptr, ECCSyndrome0 + i);
560 WriteDOC(DOC_ECC_DIS, docptr , ECCConf);
567 WriteDOC(eccbuf[i], docptr, Mil_CDSN_IO + i);
570 memcpy_toio(docptr + DoC_Mil_CDSN_IO, eccbuf, 6);
573 WriteDOC(0x55, docptr, Mil_CDSN_IO);
574 WriteDOC(0x55, docptr, Mil_CDSN_IO + 1);
576 WriteDOC(0x00, docptr, WritePipeTerm);
586 DoC_Command(docptr, NAND_CMD_PAGEPROG, 0x00);
587 DoC_WaitReady(docptr);
591 DoC_Command(docptr, NAND_CMD_STATUS, CDSN_CTRL_WP);
592 dummy = ReadDOC(docptr, ReadPipeInit);
593 DoC_Delay(docptr, 2);
594 if (ReadDOC(docptr, Mil_CDSN_IO) & 1) {
599 dummy = ReadDOC(docptr, LastDataRead);
615 void __iomem *docptr = this->virtadr;
626 DoC_SelectFloor(docptr, mychip->floor);
627 DoC_SelectChip(docptr, mychip->chip);
629 DoC_SelectChip(docptr, mychip->chip);
635 WriteDOC (DOC_ECC_RESET, docptr, ECCConf);
636 WriteDOC (DOC_ECC_DIS, docptr, ECCConf);
641 DoC_Command(docptr, NAND_CMD_READOOB, CDSN_CTRL_WP);
642 DoC_Address(docptr, 3, ofs, CDSN_CTRL_WP, 0x00);
643 DoC_WaitReady(docptr);
647 dummy = ReadDOC(docptr, ReadPipeInit);
652 buf[i] = ReadDOC(docptr, Mil_CDSN_IO + i);
655 memcpy_fromio(buf, docptr + DoC_Mil_CDSN_IO, len - 1);
657 buf[len - 1] = ReadDOC(docptr, LastDataRead);
673 void __iomem *docptr = this->virtadr;
684 DoC_SelectFloor(docptr, mychip->floor);
685 DoC_SelectChip(docptr, mychip->chip);
687 DoC_SelectChip(docptr, mychip->chip);
693 WriteDOC (DOC_ECC_RESET, docptr, ECCConf);
694 WriteDOC (DOC_ECC_DIS, docptr, ECCConf);
697 DoC_Command(docptr, NAND_CMD_RESET, CDSN_CTRL_WP);
698 DoC_WaitReady(docptr);
700 DoC_Command(docptr, NAND_CMD_READOOB, CDSN_CTRL_WP);
703 DoC_Command(docptr, NAND_CMD_SEQIN, 0x00);
704 DoC_Address(docptr, 3, ofs, 0x00, 0x00);
712 WriteDOC(buf[i], docptr, Mil_CDSN_IO + i);
715 memcpy_toio(docptr + DoC_Mil_CDSN_IO, buf, len);
717 WriteDOC(0x00, docptr, WritePipeTerm);
721 DoC_Command(docptr, NAND_CMD_PAGEPROG, 0x00);
722 DoC_WaitReady(docptr);
726 DoC_Command(docptr, NAND_CMD_STATUS, 0x00);
727 dummy = ReadDOC(docptr, ReadPipeInit);
728 DoC_Delay(docptr, 2);
729 if (ReadDOC(docptr, Mil_CDSN_IO) & 1) {
734 dummy = ReadDOC(docptr, LastDataRead);
747 void __iomem *docptr = this->virtadr;
756 DoC_SelectFloor(docptr, mychip->floor);
757 DoC_SelectChip(docptr, mychip->chip);
759 DoC_SelectChip(docptr, mychip->chip);
767 DoC_Command(docptr, NAND_CMD_ERASE1, 0x00);
768 DoC_Address(docptr, 2, ofs, 0x00, 0x00);
772 DoC_Command(docptr, NAND_CMD_ERASE2, 0x00);
773 DoC_WaitReady(docptr);
777 DoC_Command(docptr, NAND_CMD_STATUS, CDSN_CTRL_WP);
778 dummy = ReadDOC(docptr, ReadPipeInit);
779 DoC_Delay(docptr, 2);
780 if (ReadDOC(docptr, Mil_CDSN_IO) & 1) {
785 dummy = ReadDOC(docptr, LastDataRead);