__s32 PHY_SimpleErase_2CH (struct boot_physical_param *eraseop ) { __s32 status; __s32 ret = 0; __u32 rb; for(NandIndex = 0; NandIndex<CHANNEL_CNT;NandIndex++) { ret = _erase_single_block(eraseop); if (ret) return -1; rb = _cal_real_rb(eraseop->chip); NFC_SelectChip(eraseop->chip); NFC_SelectRb(rb); /*get status*/ while(1){ status = _read_status(0x70,eraseop->chip); if (status & NAND_STATUS_READY) break; } if (status & NAND_OPERATE_FAIL) ret = -2; NFC_DeSelectChip(eraseop->chip); NFC_DeSelectRb(rb); if(NandIndex == (CHANNEL_CNT-1)) break; } NandIndex = 0; return ret; }
__s32 PHY_SimpleWrite_CurCH(struct boot_physical_param * writeop) { __s32 status; __u32 rb; __s32 ret; //NandIndex = 0; ret = _write_single_page(writeop,0x80,0x10,0,0); if (ret) return -1; rb = _cal_real_rb(writeop->chip); NFC_SelectChip(writeop->chip); NFC_SelectRb(rb); /*get status*/ while(1){ status = _read_status(0x70,writeop->chip); if (status < 0) return status; if (status & NAND_STATUS_READY) break; } if (status & NAND_OPERATE_FAIL) ret = -2; NFC_DeSelectChip(writeop->chip); NFC_DeSelectRb(rb); return ret; }