From 937931ea04c27986312d261f0fbd2eff797615c7 Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Sat, 11 Jan 2020 16:52:42 -0700 Subject: drivers/spi/spi_flash: add missing status() command callbacks The adesto, amic, atmel, and stmicro spi flash drivers didn't have the status() call back. These parts do support the status command retrieval. Fill them in accordingly. Change-Id: Ie0e63bec844b8e01e292ef8c4df707494df02e69 Signed-off-by: Aaron Durbin Reviewed-on: https://review.coreboot.org/c/coreboot/+/38377 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh --- src/drivers/spi/adesto.c | 2 ++ src/drivers/spi/amic.c | 2 ++ src/drivers/spi/atmel.c | 2 ++ src/drivers/spi/stmicro.c | 2 ++ 4 files changed, 8 insertions(+) diff --git a/src/drivers/spi/adesto.c b/src/drivers/spi/adesto.c index 1339ed2f27..fd3c0a2422 100644 --- a/src/drivers/spi/adesto.c +++ b/src/drivers/spi/adesto.c @@ -152,6 +152,7 @@ static const struct spi_flash_ops spi_flash_ops = { .read = spi_flash_cmd_read, .write = spi_flash_cmd_write_page_program, .erase = spi_flash_cmd_erase, + .status = spi_flash_cmd_status, }; int spi_flash_probe_adesto(const struct spi_slave *spi, u8 *idcode, @@ -180,6 +181,7 @@ int spi_flash_probe_adesto(const struct spi_slave *spi, u8 *idcode, flash->size = flash->sector_size *params->sectors_per_block * params->nr_blocks; flash->erase_cmd = CMD_AT25DF_SE; + flash->status_cmd = CMD_AT25DF_RDSR; flash->pp_cmd = CMD_AT25DF_PP; flash->wren_cmd = CMD_AT25DF_WREN; diff --git a/src/drivers/spi/amic.c b/src/drivers/spi/amic.c index fdaf1ba569..e30ed4894d 100644 --- a/src/drivers/spi/amic.c +++ b/src/drivers/spi/amic.c @@ -123,6 +123,7 @@ static const struct spi_flash_ops spi_flash_ops = { .read = spi_flash_cmd_read, .write = spi_flash_cmd_write_page_program, .erase = spi_flash_cmd_erase, + .status = spi_flash_cmd_status, }; int spi_flash_probe_amic(const struct spi_slave *spi, u8 *idcode, @@ -152,6 +153,7 @@ int spi_flash_probe_amic(const struct spi_slave *spi, u8 *idcode, flash->size = flash->sector_size * params->sectors_per_block * params->nr_blocks; flash->erase_cmd = CMD_A25_SE; + flash->status_cmd = CMD_A25_RDSR; flash->pp_cmd = CMD_A25_PP; flash->wren_cmd = CMD_A25_WREN; diff --git a/src/drivers/spi/atmel.c b/src/drivers/spi/atmel.c index 64bc9f86f3..ad9e75b4f3 100644 --- a/src/drivers/spi/atmel.c +++ b/src/drivers/spi/atmel.c @@ -107,6 +107,7 @@ static const struct spi_flash_ops spi_flash_ops = { .read = spi_flash_cmd_read, .write = spi_flash_cmd_write_page_program, .erase = spi_flash_cmd_erase, + .status = spi_flash_cmd_status, }; int spi_flash_probe_atmel(const struct spi_slave *spi, u8 *idcode, @@ -136,6 +137,7 @@ int spi_flash_probe_atmel(const struct spi_slave *spi, u8 *idcode, flash->size = flash->sector_size * params->sectors_per_block * params->nr_blocks; flash->erase_cmd = CMD_AT25_SE; + flash->status_cmd = CMD_AT25_RDSR; flash->pp_cmd = CMD_AT25_PP; flash->wren_cmd = CMD_AT25_WREN; diff --git a/src/drivers/spi/stmicro.c b/src/drivers/spi/stmicro.c index 3f1a78c514..7aa06bd498 100644 --- a/src/drivers/spi/stmicro.c +++ b/src/drivers/spi/stmicro.c @@ -288,6 +288,7 @@ static const struct spi_flash_ops spi_flash_ops = { .read = spi_flash_cmd_read, .write = spi_flash_cmd_write_page_program, .erase = spi_flash_cmd_erase, + .status = spi_flash_cmd_status, }; int stmicro_release_deep_sleep_identify(const struct spi_slave *spi, u8 *idcode) @@ -333,6 +334,7 @@ int spi_flash_probe_stmicro(const struct spi_slave *spi, u8 *idcode, flash->sector_size = params->page_size * params->pages_per_sector; flash->size = flash->sector_size * params->nr_sectors; flash->erase_cmd = params->op_erase; + flash->status_cmd = CMD_M25PXX_RDSR; flash->pp_cmd = CMD_M25PXX_PP; flash->wren_cmd = CMD_M25PXX_WREN; -- cgit v1.2.3