cfi_write
cfi_write(sc, 0, CFI_BCS_READ_ARRAY);
cfi_write(sc, 0, CFI_BCS_READ_ARRAY2);
cfi_write(sc, 0, CFI_BCS_READ_ARRAY);
cfi_write(sc, CFI_QRY_CMD_ADDR * sc->sc_width, CFI_QRY_CMD_DATA);
cfi_write(sc, ofs + AMD_ADDR_START, CFI_AMD_UNLOCK);
cfi_write(sc, ofs + AMD_ADDR_ACK, CFI_AMD_UNLOCK_ACK);
cfi_write(sc, ofs + addr, data);
cfi_write(sc, 0, CFI_BCS_CLEAR_STATUS);
cfi_write(sc, 0, CFI_BCS_READ_ARRAY2);
cfi_write(sc, sc->sc_wrofs, CFI_INTEL_LBS);
cfi_write(sc, sc->sc_wrofs, CFI_INTEL_UB);
cfi_write(sc, sc->sc_wrofs, CFI_BCS_READ_ARRAY);
cfi_write(sc, sc->sc_wrofs, CFI_BCS_BLOCK_ERASE);
cfi_write(sc, sc->sc_wrofs, CFI_BCS_CONFIRM);
cfi_write(sc, sc->sc_wrofs + i,
cfi_write(sc, sc->sc_wrofs + i,
cfi_write(sc, sc->sc_wrofs + i,
cfi_write(sc, sc->sc_wrofs + i, CFI_BCS_PROGRAM);
cfi_write(sc, sc->sc_wrofs, CFI_INTEL_LBS);
cfi_write(sc, sc->sc_wrofs, CFI_INTEL_LB);
cfi_write(sc, sc->sc_wrofs, CFI_BCS_READ_ARRAY);
cfi_write(sc, 0, CFI_INTEL_READ_ID);
cfi_write(sc, 0, CFI_BCS_READ_ARRAY);
cfi_write(sc, 0, CFI_INTEL_READ_ID);
cfi_write(sc, 0, CFI_BCS_READ_ARRAY);
cfi_write(sc, 0, CFI_INTEL_PP_SETUP);
cfi_write(sc, 0, CFI_BCS_READ_ARRAY);
cfi_write(sc, 0, CFI_INTEL_READ_ID);
cfi_write(sc, 0, CFI_BCS_READ_ARRAY);
cfi_write(sc, 0, CFI_INTEL_PP_SETUP);