• 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 defs:docptr

49 static void DoC_Delay(void __iomem * docptr, int cycles)
54 WriteDOC(0, docptr, Mplus_NOP);
60 static int _DoC_WaitReady(void __iomem * docptr)
68 while (((ReadDOC(docptr, Mplus_FlashControl) & CDSN_CTRL_FR_B_MASK) != CDSN_CTRL_FR_B_MASK) && --c)
77 static inline int DoC_WaitReady(void __iomem * docptr)
84 DoC_Delay(docptr, 4);
86 if ((ReadDOC(docptr, Mplus_FlashControl) & CDSN_CTRL_FR_B_MASK) != CDSN_CTRL_FR_B_MASK)
88 ret = _DoC_WaitReady(docptr);
98 static inline void DoC_CheckASIC(void __iomem * docptr)
101 if ((ReadDOC(docptr, Mplus_DOCControl) & DOC_MODE_NORMAL) == 0) {
102 WriteDOC((DOC_MODE_NORMAL | DOC_MODE_MDWREN), docptr, Mplus_DOCControl);
103 WriteDOC(~(DOC_MODE_NORMAL | DOC_MODE_MDWREN), docptr, Mplus_CtrlConfirm);
110 static void DoC_Command(void __iomem * docptr, unsigned char command,
113 WriteDOC(command, docptr, Mplus_FlashCmd);
114 WriteDOC(command, docptr, Mplus_WritePipeTerm);
115 WriteDOC(command, docptr, Mplus_WritePipeTerm);
125 void __iomem * docptr = doc->virtadr;
133 WriteDOC(ofs & 0xff, docptr, Mplus_FlashAddress);
137 WriteDOC((ofs >> 9) & 0xff, docptr, Mplus_FlashAddress);
138 WriteDOC((ofs >> 17) & 0xff, docptr, Mplus_FlashAddress);
142 WriteDOC(ofs & 0xff, docptr, Mplus_FlashAddress);
143 WriteDOC((ofs >> 9) & 0xff, docptr, Mplus_FlashAddress);
144 WriteDOC((ofs >> 17) & 0xff, docptr, Mplus_FlashAddress);
150 WriteDOC(0x00, docptr, Mplus_WritePipeTerm);
151 WriteDOC(0x00, docptr, Mplus_WritePipeTerm);
155 static int DoC_SelectChip(void __iomem * docptr, int chip)
162 static int DoC_SelectFloor(void __iomem * docptr, int floor)
164 WriteDOC((floor & 0x3), docptr, Mplus_DeviceSelect);
243 static inline void MemReadDOC(void __iomem * docptr, unsigned char *buf, int len)
248 buf[i] = ReadDOC(docptr, Mil_CDSN_IO + i);
250 memcpy_fromio(buf, docptr + DoC_Mil_CDSN_IO, len);
254 static inline void MemWriteDOC(void __iomem * docptr, unsigned char *buf, int len)
259 WriteDOC(buf[i], docptr, Mil_CDSN_IO + i);
261 memcpy_toio(docptr + DoC_Mil_CDSN_IO, buf, len);
270 void __iomem * docptr = doc->virtadr;
273 DoC_SelectFloor(docptr, floor);
274 DoC_SelectChip(docptr, chip);
277 WriteDOC((DOC_FLASH_CE | DOC_FLASH_WP), docptr, Mplus_FlashSelect);
280 DoC_Command(docptr, NAND_CMD_RESET, 0);
281 DoC_WaitReady(docptr);
284 DoC_Command(docptr, NAND_CMD_READID, 0);
289 WriteDOC(0, docptr, Mplus_FlashControl);
290 DoC_WaitReady(docptr);
294 dummy = ReadDOC(docptr, Mplus_ReadPipeInit);
295 dummy = ReadDOC(docptr, Mplus_ReadPipeInit);
297 mfr = ReadDOC(docptr, Mil_CDSN_IO);
299 dummy = ReadDOC(docptr, Mil_CDSN_IO); /* 2 way interleave */
301 id = ReadDOC(docptr, Mil_CDSN_IO);
303 dummy = ReadDOC(docptr, Mil_CDSN_IO); /* 2 way interleave */
305 dummy = ReadDOC(docptr, Mplus_LastDataRead);
306 dummy = ReadDOC(docptr, Mplus_LastDataRead);
309 WriteDOC(0, docptr, Mplus_FlashSelect);
515 void __iomem * docptr = this->virtadr;
526 DoC_CheckASIC(docptr);
530 DoC_SelectFloor(docptr, mychip->floor);
531 DoC_SelectChip(docptr, mychip->chip);
533 DoC_SelectChip(docptr, mychip->chip);
539 WriteDOC((DOC_FLASH_CE | DOC_FLASH_WP), docptr, Mplus_FlashSelect);
542 DoC_Command(docptr, NAND_CMD_RESET, 0);
543 DoC_WaitReady(docptr);
546 DoC_Command(docptr, DoC_GetDataOffset(mtd, &fofs), 0);
548 WriteDOC(0, docptr, Mplus_FlashControl);
549 DoC_WaitReady(docptr);
552 WriteDOC(DOC_ECC_RESET, docptr, Mplus_ECCConf);
553 WriteDOC(DOC_ECC_EN, docptr, Mplus_ECCConf);
559 ReadDOC(docptr, Mplus_ReadPipeInit);
560 ReadDOC(docptr, Mplus_ReadPipeInit);
564 MemReadDOC(docptr, buf, len);
567 MemReadDOC(docptr, eccbuf, 4);
568 eccbuf[4] = ReadDOC(docptr, Mplus_LastDataRead);
569 eccbuf[5] = ReadDOC(docptr, Mplus_LastDataRead);
572 dummy = ReadDOC(docptr, Mplus_ECCConf);
573 dummy = ReadDOC(docptr, Mplus_ECCConf);
576 if (ReadDOC(docptr, Mplus_ECCConf) & 0x80) {
585 syndrome[i] = ReadDOC(docptr, Mplus_ECCSyndrome0 + i);
618 WriteDOC(DOC_ECC_DIS, docptr , Mplus_ECCConf);
621 WriteDOC(0, docptr, Mplus_FlashSelect);
634 void __iomem * docptr = this->virtadr;
648 DoC_CheckASIC(docptr);
652 DoC_SelectFloor(docptr, mychip->floor);
653 DoC_SelectChip(docptr, mychip->chip);
655 DoC_SelectChip(docptr, mychip->chip);
661 WriteDOC(DOC_FLASH_CE, docptr, Mplus_FlashSelect);
664 DoC_Command(docptr, NAND_CMD_RESET, 0);
665 DoC_WaitReady(docptr);
669 WriteDOC(DoC_GetDataOffset(mtd, &fto), docptr, Mplus_FlashCmd);
676 DoC_Command(docptr, NAND_CMD_SEQIN, 0x00);
680 WriteDOC(DOC_ECC_RESET, docptr, Mplus_ECCConf);
684 WriteDOC(0x55, docptr, Mil_CDSN_IO);
685 WriteDOC(0x55, docptr, Mil_CDSN_IO);
689 WriteDOC(DOC_ECC_EN | DOC_ECC_RW, docptr, Mplus_ECCConf);
691 MemWriteDOC(docptr, (unsigned char *) buf, len);
695 DoC_Delay(docptr, 3);
699 eccbuf[i] = ReadDOC(docptr, Mplus_ECCSyndrome0 + i);
702 WriteDOC(DOC_ECC_DIS, docptr, Mplus_ECCConf);
705 MemWriteDOC(docptr, eccbuf, 6);
709 WriteDOC(0x55, docptr, Mil_CDSN_IO+6);
710 WriteDOC(0x55, docptr, Mil_CDSN_IO+7);
719 WriteDOC(0x00, docptr, Mplus_WritePipeTerm);
720 WriteDOC(0x00, docptr, Mplus_WritePipeTerm);
724 DoC_Command(docptr, NAND_CMD_PAGEPROG, 0x00);
725 DoC_WaitReady(docptr);
729 DoC_Command(docptr, NAND_CMD_STATUS, 0);
730 dummy = ReadDOC(docptr, Mplus_ReadPipeInit);
731 dummy = ReadDOC(docptr, Mplus_ReadPipeInit);
732 DoC_Delay(docptr, 2);
733 if ((dummy = ReadDOC(docptr, Mplus_LastDataRead)) & 1) {
738 dummy = ReadDOC(docptr, Mplus_LastDataRead);
741 WriteDOC(0, docptr, Mplus_FlashSelect);
754 void __iomem * docptr = this->virtadr;
764 DoC_CheckASIC(docptr);
768 DoC_SelectFloor(docptr, mychip->floor);
769 DoC_SelectChip(docptr, mychip->chip);
771 DoC_SelectChip(docptr, mychip->chip);
777 WriteDOC((DOC_FLASH_CE | DOC_FLASH_WP), docptr, Mplus_FlashSelect);
780 WriteDOC(DOC_ECC_RESET, docptr, Mplus_ECCConf);
781 DoC_WaitReady(docptr);
794 DoC_Command(docptr, NAND_CMD_READOOB, 0);
797 DoC_Command(docptr, DoC_GetECCOffset(mtd, &fofs), 0);
800 DoC_Command(docptr, DoC_GetFlagsOffset(mtd, &fofs), 0);
803 DoC_Command(docptr, DoC_GetHdrOffset(mtd, &fofs), 0);
811 WriteDOC(0, docptr, Mplus_FlashControl);
812 DoC_WaitReady(docptr);
814 ReadDOC(docptr, Mplus_ReadPipeInit);
815 ReadDOC(docptr, Mplus_ReadPipeInit);
816 MemReadDOC(docptr, &buf[got], size - 2);
817 buf[got + size - 2] = ReadDOC(docptr, Mplus_LastDataRead);
818 buf[got + size - 1] = ReadDOC(docptr, Mplus_LastDataRead);
826 WriteDOC(0, docptr, Mplus_FlashSelect);
838 void __iomem * docptr = this->virtadr;
849 DoC_CheckASIC(docptr);
853 DoC_SelectFloor(docptr, mychip->floor);
854 DoC_SelectChip(docptr, mychip->chip);
856 DoC_SelectChip(docptr, mychip->chip);
862 WriteDOC(DOC_FLASH_CE, docptr, Mplus_FlashSelect);
873 DoC_Command(docptr, NAND_CMD_RESET, 0);
874 DoC_WaitReady(docptr);
880 WriteDOC(NAND_CMD_READOOB, docptr, Mplus_FlashCmd);
883 WriteDOC(DoC_GetECCOffset(mtd, &fofs), docptr, Mplus_FlashCmd);
886 WriteDOC(DoC_GetFlagsOffset(mtd, &fofs), docptr, Mplus_FlashCmd);
889 WriteDOC(DoC_GetHdrOffset(mtd, &fofs), docptr, Mplus_FlashCmd);
896 DoC_Command(docptr, NAND_CMD_SEQIN, 0x00);
900 WriteDOC(DOC_ECC_RESET, docptr, Mplus_ECCConf);
904 MemWriteDOC(docptr, (unsigned char *) &buf[got], size);
905 WriteDOC(0x00, docptr, Mplus_WritePipeTerm);
906 WriteDOC(0x00, docptr, Mplus_WritePipeTerm);
910 DoC_Command(docptr, NAND_CMD_PAGEPROG, 0x00);
911 DoC_WaitReady(docptr);
915 DoC_Command(docptr, NAND_CMD_STATUS, 0x00);
916 dummy = ReadDOC(docptr, Mplus_ReadPipeInit);
917 dummy = ReadDOC(docptr, Mplus_ReadPipeInit);
918 DoC_Delay(docptr, 2);
919 if ((dummy = ReadDOC(docptr, Mplus_LastDataRead)) & 1) {
925 dummy = ReadDOC(docptr, Mplus_LastDataRead);
933 WriteDOC(0, docptr, Mplus_FlashSelect);
945 void __iomem * docptr = this->virtadr;
948 DoC_CheckASIC(docptr);
956 DoC_SelectFloor(docptr, mychip->floor);
957 DoC_SelectChip(docptr, mychip->chip);
959 DoC_SelectChip(docptr, mychip->chip);
967 WriteDOC(DOC_FLASH_CE, docptr, Mplus_FlashSelect);
969 DoC_Command(docptr, NAND_CMD_RESET, 0x00);
970 DoC_WaitReady(docptr);
972 DoC_Command(docptr, NAND_CMD_ERASE1, 0);
974 DoC_Command(docptr, NAND_CMD_ERASE2, 0);
975 DoC_WaitReady(docptr);
980 DoC_Command(docptr, NAND_CMD_STATUS, 0);
981 dummy = ReadDOC(docptr, Mplus_ReadPipeInit);
982 dummy = ReadDOC(docptr, Mplus_ReadPipeInit);
983 if ((dummy = ReadDOC(docptr, Mplus_LastDataRead)) & 1) {
989 dummy = ReadDOC(docptr, Mplus_LastDataRead);
992 WriteDOC(0, docptr, Mplus_FlashSelect);