cfi_cmd
cfi_cmd(cfi, cfi_query_offset[j], CFI_QUERY_DATA);
cfi_cmd(cfi, CFI_ADDR_ANY, CFI_RESET_DATA);
cfi_cmd(cfi, CFI_ADDR_ANY, CFI_ALT_RESET_DATA);
cfi_cmd(cfi, CFI_ADDR_ANY, CFI_RESET_DATA);
cfi_cmd(cfi, CFI_ADDR_ANY, CFI_ALT_RESET_DATA);
cfi_cmd(cfi, cfi->cfi_unlock_addr1, 0xaa);
cfi_cmd(cfi, cfi->cfi_unlock_addr2, 0x55);
cfi_cmd(cfi, cfi->cfi_unlock_addr1, 0x90);
extern void cfi_cmd(struct cfi * const, bus_size_t, uint32_t);
cfi_cmd(cfi, cfi->cfi_unlock_addr1, 0xaa);
cfi_cmd(cfi, cfi->cfi_unlock_addr2, 0x55);
cfi_cmd(cfi, sa, 0x25); /* Write To Buffer */
cfi_cmd(cfi, sa, wc);
cfi_cmd(cfi, sa, 0x29); /* Write Buffer Program Confirm */
cfi_cmd(cfi, cfi->cfi_unlock_addr1, 0xaa);
cfi_cmd(cfi, cfi->cfi_unlock_addr2, 0x55);
cfi_cmd(cfi, cfi->cfi_unlock_addr1, 0x80); /* erase start */
cfi_cmd(cfi, cfi->cfi_unlock_addr1, 0xaa);
cfi_cmd(cfi, cfi->cfi_unlock_addr2, 0x55);
cfi_cmd(cfi, cfi->cfi_unlock_addr1, 0x10); /* erase chip */
cfi_cmd(cfi, cfi->cfi_unlock_addr1, 0xaa);
cfi_cmd(cfi, cfi->cfi_unlock_addr2, 0x55);
cfi_cmd(cfi, cfi->cfi_unlock_addr1, 0x80); /* erase start */
cfi_cmd(cfi, cfi->cfi_unlock_addr1, 0xaa);
cfi_cmd(cfi, cfi->cfi_unlock_addr2, 0x55);
cfi_cmd(cfi, sa, 0x30); /* erase sector */
cfi_cmd(cfi, cfi->cfi_unlock_addr1, 0x70); /* Status Register Read */