Lines Matching refs:docptr
259 static inline void write_nop(void __iomem *docptr) in write_nop() argument
261 writew(0, docptr + DOC_NOP); in write_nop()
296 void __iomem *docptr = doc->virtadr; in poll_status() local
301 flash_status = readw(docptr + DOC_FLASHCONTROL); in poll_status()
306 flash_status = readb(docptr + DOC_FLASHCONTROL); in poll_status()
345 void __iomem *docptr = doc->virtadr; in docg4_select_chip() local
355 writew(0, docptr + DOC_DEVICESELECT); in docg4_select_chip()
364 void __iomem *docptr = doc->virtadr; in reset() local
367 docptr + DOC_ASICMODE); in reset()
369 docptr + DOC_ASICMODECONFIRM); in reset()
370 write_nop(docptr); in reset()
373 docptr + DOC_ASICMODE); in reset()
375 docptr + DOC_ASICMODECONFIRM); in reset()
377 writew(DOC_ECCCONF1_ECC_ENABLE, docptr + DOC_ECCCONF1); in reset()
382 static void read_hw_ecc(void __iomem *docptr, uint8_t *ecc_buf) in read_hw_ecc() argument
388 ecc_buf[i] = readb(docptr + DOC_BCH_SYNDROM(i)); in read_hw_ecc()
389 ecc_buf[i] = readb(docptr + DOC_BCH_SYNDROM(i)); in read_hw_ecc()
402 void __iomem *docptr = doc->virtadr; in correct_data() local
407 read_hw_ecc(docptr, doc->ecc_buf); /* read 7 hw-generated ecc bytes */ in correct_data()
525 void __iomem *docptr = doc->virtadr; in write_addr() local
526 writeb(docg4_addr & 0xff, docptr + DOC_FLASHADDRESS); in write_addr()
528 writeb(docg4_addr & 0xff, docptr + DOC_FLASHADDRESS); in write_addr()
530 writeb(docg4_addr & 0xff, docptr + DOC_FLASHADDRESS); in write_addr()
532 writeb(docg4_addr & 0xff, docptr + DOC_FLASHADDRESS); in write_addr()
542 void __iomem *docptr = doc->virtadr; in read_progstatus() local
545 uint16_t status1 = readw(docptr + DOC_IOSPACE_DATA); in read_progstatus()
546 uint16_t status2 = readw(docptr + DOC_IOSPACE_DATA); in read_progstatus()
547 uint16_t status3 = readw(docptr + DOCG4_MYSTERY_REG); in read_progstatus()
572 void __iomem *docptr = doc->virtadr; in pageprog() local
577 writew(DOCG4_SEQ_PAGEPROG, docptr + DOC_FLASHSEQUENCE); in pageprog()
578 writew(DOC_CMD_PROG_CYCLE2, docptr + DOC_FLASHCOMMAND); in pageprog()
579 write_nop(docptr); in pageprog()
580 write_nop(docptr); in pageprog()
585 writew(DOCG4_SEQ_FLUSH, docptr + DOC_FLASHSEQUENCE); in pageprog()
586 writew(DOCG4_CMD_FLUSH, docptr + DOC_FLASHCOMMAND); in pageprog()
587 writew(DOC_ECCCONF0_READ_MODE | 4, docptr + DOC_ECCCONF0); in pageprog()
588 write_nop(docptr); in pageprog()
589 write_nop(docptr); in pageprog()
590 write_nop(docptr); in pageprog()
591 write_nop(docptr); in pageprog()
592 write_nop(docptr); in pageprog()
595 writew(0, docptr + DOC_DATAEND); in pageprog()
596 write_nop(docptr); in pageprog()
598 write_nop(docptr); in pageprog()
609 void __iomem *docptr = doc->virtadr; in sequence_reset() local
611 writew(DOC_CTRL_UNKNOWN | DOC_CTRL_CE, docptr + DOC_FLASHCONTROL); in sequence_reset()
612 writew(DOC_SEQ_RESET, docptr + DOC_FLASHSEQUENCE); in sequence_reset()
613 writew(DOC_CMD_RESET, docptr + DOC_FLASHCOMMAND); in sequence_reset()
614 write_nop(docptr); in sequence_reset()
615 write_nop(docptr); in sequence_reset()
617 write_nop(docptr); in sequence_reset()
626 void __iomem *docptr = doc->virtadr; in read_page_prologue() local
633 writew(DOCG4_SEQ_PAGE_READ, docptr + DOC_FLASHSEQUENCE); in read_page_prologue()
634 writew(DOCG4_CMD_PAGE_READ, docptr + DOC_FLASHCOMMAND); in read_page_prologue()
635 write_nop(docptr); in read_page_prologue()
639 write_nop(docptr); in read_page_prologue()
640 writew(DOCG4_CMD_READ2, docptr + DOC_FLASHCOMMAND); in read_page_prologue()
641 write_nop(docptr); in read_page_prologue()
642 write_nop(docptr); in read_page_prologue()
653 void __iomem *docptr = doc->virtadr; in write_page_prologue() local
660 writew(DOCG4_SEQ_SETMODE, docptr + DOC_FLASHSEQUENCE); in write_page_prologue()
661 writew(DOCG4_CMD_FAST_MODE, docptr + DOC_FLASHCOMMAND); in write_page_prologue()
662 writew(DOC_CMD_RELIABLE_MODE, docptr + DOC_FLASHCOMMAND); in write_page_prologue()
663 write_nop(docptr); in write_page_prologue()
666 writew(DOCG4_SEQ_PAGEWRITE, docptr + DOC_FLASHSEQUENCE); in write_page_prologue()
667 writew(DOCG4_CMD_PAGEWRITE, docptr + DOC_FLASHCOMMAND); in write_page_prologue()
668 write_nop(docptr); in write_page_prologue()
670 write_nop(docptr); in write_page_prologue()
671 write_nop(docptr); in write_page_prologue()
782 void __iomem *docptr = doc->virtadr; in read_page() local
794 docptr + DOC_ECCCONF0); in read_page()
795 write_nop(docptr); in read_page()
796 write_nop(docptr); in read_page()
797 write_nop(docptr); in read_page()
798 write_nop(docptr); in read_page()
799 write_nop(docptr); in read_page()
802 status = readw(docptr + DOC_IOSPACE_DATA); in read_page()
806 writew(0, docptr + DOC_DATAEND); in read_page()
820 *buf16 = readw(docptr + DOCG4_MYSTERY_REG); in read_page()
822 write_nop(docptr); in read_page()
827 edc_err = readw(docptr + DOC_ECCCONF1); in read_page()
828 edc_err = readw(docptr + DOC_ECCCONF1); in read_page()
841 writew(0, docptr + DOC_DATAEND); in read_page()
864 void __iomem *docptr = doc->virtadr; in docg4_read_oob() local
871 writew(DOC_ECCCONF0_READ_MODE | DOCG4_OOB_SIZE, docptr + DOC_ECCCONF0); in docg4_read_oob()
872 write_nop(docptr); in docg4_read_oob()
873 write_nop(docptr); in docg4_read_oob()
874 write_nop(docptr); in docg4_read_oob()
875 write_nop(docptr); in docg4_read_oob()
876 write_nop(docptr); in docg4_read_oob()
879 status = readw(docptr + DOC_IOSPACE_DATA); in docg4_read_oob()
890 write_nop(docptr); in docg4_read_oob()
891 write_nop(docptr); in docg4_read_oob()
892 write_nop(docptr); in docg4_read_oob()
893 writew(0, docptr + DOC_DATAEND); in docg4_read_oob()
894 write_nop(docptr); in docg4_read_oob()
903 void __iomem *docptr = doc->virtadr; in docg4_erase_block() local
911 writew(DOCG4_SEQ_BLOCKERASE, docptr + DOC_FLASHSEQUENCE); in docg4_erase_block()
912 writew(DOC_CMD_PROG_BLOCK_ADDR, docptr + DOC_FLASHCOMMAND); in docg4_erase_block()
913 write_nop(docptr); in docg4_erase_block()
917 writeb(g4_page & 0xff, docptr + DOC_FLASHADDRESS); in docg4_erase_block()
919 writeb(g4_page & 0xff, docptr + DOC_FLASHADDRESS); in docg4_erase_block()
920 write_nop(docptr); in docg4_erase_block()
923 writew(DOC_CMD_ERASECYCLE2, docptr + DOC_FLASHCOMMAND); in docg4_erase_block()
924 write_nop(docptr); in docg4_erase_block()
925 write_nop(docptr); in docg4_erase_block()
929 writew(DOCG4_SEQ_FLUSH, docptr + DOC_FLASHSEQUENCE); in docg4_erase_block()
930 writew(DOCG4_CMD_FLUSH, docptr + DOC_FLASHCOMMAND); in docg4_erase_block()
931 writew(DOC_ECCCONF0_READ_MODE | 4, docptr + DOC_ECCCONF0); in docg4_erase_block()
932 write_nop(docptr); in docg4_erase_block()
933 write_nop(docptr); in docg4_erase_block()
934 write_nop(docptr); in docg4_erase_block()
935 write_nop(docptr); in docg4_erase_block()
936 write_nop(docptr); in docg4_erase_block()
940 writew(0, docptr + DOC_DATAEND); in docg4_erase_block()
941 write_nop(docptr); in docg4_erase_block()
943 write_nop(docptr); in docg4_erase_block()
956 void __iomem *docptr = doc->virtadr; in write_page() local
966 docptr + DOC_ECCCONF0); in write_page()
967 write_nop(docptr); in write_page()
976 writew(nand->oob_poi[6], docptr + DOCG4_OOB_6_7); in write_page()
978 write_nop(docptr); in write_page()
979 write_nop(docptr); in write_page()
984 uint8_t hamming = readb(docptr + DOC_HAMMINGPARITY); in write_page()
985 hamming = readb(docptr + DOC_HAMMINGPARITY); /* 2nd read */ in write_page()
986 writew(hamming, docptr + DOCG4_OOB_6_7); in write_page()
987 write_nop(docptr); in write_page()
990 read_hw_ecc(docptr, ecc_buf); in write_page()
996 writew(nand->oob_poi[7], docptr + DOCG4_OOB_6_7); in write_page()
997 write_nop(docptr); in write_page()
1002 write_nop(docptr); in write_page()
1003 write_nop(docptr); in write_page()
1004 writew(0, docptr + DOC_DATAEND); in write_page()
1005 write_nop(docptr); in write_page()
1173 void __iomem *docptr = doc->virtadr; in docg4_suspend() local
1179 pwr_down = readb(docptr + DOC_POWERMODE); in docg4_suspend()
1192 docptr + DOC_ASICMODE); in docg4_suspend()
1194 docptr + DOC_ASICMODECONFIRM); in docg4_suspend()
1196 write_nop(docptr); in docg4_suspend()
1210 void __iomem *docptr = doc->virtadr; in docg4_resume() local
1216 readb(docptr + 0x1fff); in docg4_resume()
1297 void __iomem *docptr = doc->virtadr; in read_id_reg() local
1301 id1 = readw(docptr + DOC_CHIPID); in read_id_reg()
1302 id1 = readw(docptr + DOCG4_MYSTERY_REG); in read_id_reg()
1303 id2 = readw(docptr + DOC_CHIPID_INV); in read_id_reg()
1304 id2 = readw(docptr + DOCG4_MYSTERY_REG); in read_id_reg()