Lines Matching refs:docptr
237 static inline void write_nop(void __iomem *docptr) in write_nop() argument
239 writew(0, docptr + DOC_NOP); in write_nop()
274 void __iomem *docptr = doc->virtadr; in poll_status() local
279 flash_status = readw(docptr + DOC_FLASHCONTROL); in poll_status()
284 flash_status = readb(docptr + DOC_FLASHCONTROL); in poll_status()
323 void __iomem *docptr = doc->virtadr; in docg4_select_chip() local
333 writew(0, docptr + DOC_DEVICESELECT); in docg4_select_chip()
342 void __iomem *docptr = doc->virtadr; in reset() local
345 docptr + DOC_ASICMODE); in reset()
347 docptr + DOC_ASICMODECONFIRM); in reset()
348 write_nop(docptr); in reset()
351 docptr + DOC_ASICMODE); in reset()
353 docptr + DOC_ASICMODECONFIRM); in reset()
355 writew(DOC_ECCCONF1_ECC_ENABLE, docptr + DOC_ECCCONF1); in reset()
360 static void read_hw_ecc(void __iomem *docptr, uint8_t *ecc_buf) in read_hw_ecc() argument
366 ecc_buf[i] = readb(docptr + DOC_BCH_SYNDROM(i)); in read_hw_ecc()
367 ecc_buf[i] = readb(docptr + DOC_BCH_SYNDROM(i)); in read_hw_ecc()
380 void __iomem *docptr = doc->virtadr; in correct_data() local
385 read_hw_ecc(docptr, doc->ecc_buf); /* read 7 hw-generated ecc bytes */ in correct_data()
503 void __iomem *docptr = doc->virtadr; in write_addr() local
504 writeb(docg4_addr & 0xff, docptr + DOC_FLASHADDRESS); in write_addr()
506 writeb(docg4_addr & 0xff, docptr + DOC_FLASHADDRESS); in write_addr()
508 writeb(docg4_addr & 0xff, docptr + DOC_FLASHADDRESS); in write_addr()
510 writeb(docg4_addr & 0xff, docptr + DOC_FLASHADDRESS); in write_addr()
520 void __iomem *docptr = doc->virtadr; in read_progstatus() local
523 uint16_t status1 = readw(docptr + DOC_IOSPACE_DATA); in read_progstatus()
524 uint16_t status2 = readw(docptr + DOC_IOSPACE_DATA); in read_progstatus()
525 uint16_t status3 = readw(docptr + DOCG4_MYSTERY_REG); in read_progstatus()
550 void __iomem *docptr = doc->virtadr; in pageprog() local
555 writew(DOCG4_SEQ_PAGEPROG, docptr + DOC_FLASHSEQUENCE); in pageprog()
556 writew(DOC_CMD_PROG_CYCLE2, docptr + DOC_FLASHCOMMAND); in pageprog()
557 write_nop(docptr); in pageprog()
558 write_nop(docptr); in pageprog()
563 writew(DOCG4_SEQ_FLUSH, docptr + DOC_FLASHSEQUENCE); in pageprog()
564 writew(DOCG4_CMD_FLUSH, docptr + DOC_FLASHCOMMAND); in pageprog()
565 writew(DOC_ECCCONF0_READ_MODE | 4, docptr + DOC_ECCCONF0); in pageprog()
566 write_nop(docptr); in pageprog()
567 write_nop(docptr); in pageprog()
568 write_nop(docptr); in pageprog()
569 write_nop(docptr); in pageprog()
570 write_nop(docptr); in pageprog()
573 writew(0, docptr + DOC_DATAEND); in pageprog()
574 write_nop(docptr); in pageprog()
576 write_nop(docptr); in pageprog()
587 void __iomem *docptr = doc->virtadr; in sequence_reset() local
589 writew(DOC_CTRL_UNKNOWN | DOC_CTRL_CE, docptr + DOC_FLASHCONTROL); in sequence_reset()
590 writew(DOC_SEQ_RESET, docptr + DOC_FLASHSEQUENCE); in sequence_reset()
591 writew(DOC_CMD_RESET, docptr + DOC_FLASHCOMMAND); in sequence_reset()
592 write_nop(docptr); in sequence_reset()
593 write_nop(docptr); in sequence_reset()
595 write_nop(docptr); in sequence_reset()
604 void __iomem *docptr = doc->virtadr; in read_page_prologue() local
611 writew(DOCG4_SEQ_PAGE_READ, docptr + DOC_FLASHSEQUENCE); in read_page_prologue()
612 writew(DOCG4_CMD_PAGE_READ, docptr + DOC_FLASHCOMMAND); in read_page_prologue()
613 write_nop(docptr); in read_page_prologue()
617 write_nop(docptr); in read_page_prologue()
618 writew(DOCG4_CMD_READ2, docptr + DOC_FLASHCOMMAND); in read_page_prologue()
619 write_nop(docptr); in read_page_prologue()
620 write_nop(docptr); in read_page_prologue()
631 void __iomem *docptr = doc->virtadr; in write_page_prologue() local
638 writew(DOCG4_SEQ_SETMODE, docptr + DOC_FLASHSEQUENCE); in write_page_prologue()
639 writew(DOCG4_CMD_FAST_MODE, docptr + DOC_FLASHCOMMAND); in write_page_prologue()
640 writew(DOC_CMD_RELIABLE_MODE, docptr + DOC_FLASHCOMMAND); in write_page_prologue()
641 write_nop(docptr); in write_page_prologue()
644 writew(DOCG4_SEQ_PAGEWRITE, docptr + DOC_FLASHSEQUENCE); in write_page_prologue()
645 writew(DOCG4_CMD_PAGEWRITE, docptr + DOC_FLASHCOMMAND); in write_page_prologue()
646 write_nop(docptr); in write_page_prologue()
648 write_nop(docptr); in write_page_prologue()
649 write_nop(docptr); in write_page_prologue()
760 void __iomem *docptr = doc->virtadr; in read_page() local
770 docptr + DOC_ECCCONF0); in read_page()
771 write_nop(docptr); in read_page()
772 write_nop(docptr); in read_page()
773 write_nop(docptr); in read_page()
774 write_nop(docptr); in read_page()
775 write_nop(docptr); in read_page()
778 status = readw(docptr + DOC_IOSPACE_DATA); in read_page()
782 writew(0, docptr + DOC_DATAEND); in read_page()
796 *buf16 = readw(docptr + DOCG4_MYSTERY_REG); in read_page()
798 write_nop(docptr); in read_page()
803 edc_err = readw(docptr + DOC_ECCCONF1); in read_page()
804 edc_err = readw(docptr + DOC_ECCCONF1); in read_page()
817 writew(0, docptr + DOC_DATAEND); in read_page()
840 void __iomem *docptr = doc->virtadr; in docg4_read_oob() local
847 writew(DOC_ECCCONF0_READ_MODE | DOCG4_OOB_SIZE, docptr + DOC_ECCCONF0); in docg4_read_oob()
848 write_nop(docptr); in docg4_read_oob()
849 write_nop(docptr); in docg4_read_oob()
850 write_nop(docptr); in docg4_read_oob()
851 write_nop(docptr); in docg4_read_oob()
852 write_nop(docptr); in docg4_read_oob()
855 status = readw(docptr + DOC_IOSPACE_DATA); in docg4_read_oob()
866 write_nop(docptr); in docg4_read_oob()
867 write_nop(docptr); in docg4_read_oob()
868 write_nop(docptr); in docg4_read_oob()
869 writew(0, docptr + DOC_DATAEND); in docg4_read_oob()
870 write_nop(docptr); in docg4_read_oob()
879 void __iomem *docptr = doc->virtadr; in docg4_erase_block() local
886 writew(DOCG4_SEQ_BLOCKERASE, docptr + DOC_FLASHSEQUENCE); in docg4_erase_block()
887 writew(DOC_CMD_PROG_BLOCK_ADDR, docptr + DOC_FLASHCOMMAND); in docg4_erase_block()
888 write_nop(docptr); in docg4_erase_block()
892 writeb(g4_page & 0xff, docptr + DOC_FLASHADDRESS); in docg4_erase_block()
894 writeb(g4_page & 0xff, docptr + DOC_FLASHADDRESS); in docg4_erase_block()
895 write_nop(docptr); in docg4_erase_block()
898 writew(DOC_CMD_ERASECYCLE2, docptr + DOC_FLASHCOMMAND); in docg4_erase_block()
899 write_nop(docptr); in docg4_erase_block()
900 write_nop(docptr); in docg4_erase_block()
904 writew(DOCG4_SEQ_FLUSH, docptr + DOC_FLASHSEQUENCE); in docg4_erase_block()
905 writew(DOCG4_CMD_FLUSH, docptr + DOC_FLASHCOMMAND); in docg4_erase_block()
906 writew(DOC_ECCCONF0_READ_MODE | 4, docptr + DOC_ECCCONF0); in docg4_erase_block()
907 write_nop(docptr); in docg4_erase_block()
908 write_nop(docptr); in docg4_erase_block()
909 write_nop(docptr); in docg4_erase_block()
910 write_nop(docptr); in docg4_erase_block()
911 write_nop(docptr); in docg4_erase_block()
915 writew(0, docptr + DOC_DATAEND); in docg4_erase_block()
916 write_nop(docptr); in docg4_erase_block()
918 write_nop(docptr); in docg4_erase_block()
927 void __iomem *docptr = doc->virtadr; in write_page() local
935 docptr + DOC_ECCCONF0); in write_page()
936 write_nop(docptr); in write_page()
945 writew(nand->oob_poi[6], docptr + DOCG4_OOB_6_7); in write_page()
947 write_nop(docptr); in write_page()
948 write_nop(docptr); in write_page()
953 uint8_t hamming = readb(docptr + DOC_HAMMINGPARITY); in write_page()
954 hamming = readb(docptr + DOC_HAMMINGPARITY); /* 2nd read */ in write_page()
955 writew(hamming, docptr + DOCG4_OOB_6_7); in write_page()
956 write_nop(docptr); in write_page()
959 read_hw_ecc(docptr, ecc_buf); in write_page()
965 writew(nand->oob_poi[7], docptr + DOCG4_OOB_6_7); in write_page()
966 write_nop(docptr); in write_page()
971 write_nop(docptr); in write_page()
972 write_nop(docptr); in write_page()
973 writew(0, docptr + DOC_DATAEND); in write_page()
974 write_nop(docptr); in write_page()
1142 void __iomem *docptr = doc->virtadr; in docg4_suspend() local
1148 pwr_down = readb(docptr + DOC_POWERMODE); in docg4_suspend()
1161 docptr + DOC_ASICMODE); in docg4_suspend()
1163 docptr + DOC_ASICMODECONFIRM); in docg4_suspend()
1165 write_nop(docptr); in docg4_suspend()
1179 void __iomem *docptr = doc->virtadr; in docg4_resume() local
1185 readb(docptr + 0x1fff); in docg4_resume()
1266 void __iomem *docptr = doc->virtadr; in read_id_reg() local
1270 id1 = readw(docptr + DOC_CHIPID); in read_id_reg()
1271 id1 = readw(docptr + DOCG4_MYSTERY_REG); in read_id_reg()
1272 id2 = readw(docptr + DOC_CHIPID_INV); in read_id_reg()
1273 id2 = readw(docptr + DOCG4_MYSTERY_REG); in read_id_reg()