int spiflash_erase_device(struct spiflash_device *dev, struct spiflash_transaction *trans, spi_cb cb, void *cbdata) { trans->spi_query[0] = DEVICE_ERASE; spiflash_setup_xfer(trans, 1, 0); trans->spi_cb = cb; trans->cbdata = cbdata; spiflash_queue_transaction(dev, trans, WRITE_ENABLE, true, spiflash_spi_done_cb); return 0; }
int spiflash_get_status(struct spiflash_device *dev, struct spiflash_transaction *trans, spiflash_status_cb cb, void *cbdata) { trans->spi_query[0] = READ_STATUS_REGISTER_1; spiflash_setup_xfer(trans, 1, 2); trans->status_cb = cb; trans->cbdata = cbdata; spiflash_queue_transaction(dev, trans, NO_OP, false, spiflash_status_done_cb); return 0; }
int spiflash_get_id(struct spiflash_device *dev, struct spiflash_transaction *trans, spiflash_info_cb cb, void *cbdata) { trans->spi_query[0] = GET_IDENTIFICATION; trans->spi_query[1] = trans->spi_query[2] = trans->spi_query[3] = 0x00; spiflash_setup_xfer(trans, 4, 4); trans->info_cb = cb; trans->cbdata = cbdata; spiflash_queue_transaction(dev, trans, NO_OP, false, spiflash_get_id_done_cb); return 0; }