diff options
author | Aaron Durbin <adurbin@chromium.org> | 2020-01-03 15:58:11 -0700 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2020-01-10 04:55:09 +0000 |
commit | 1c3086a6036f9908c8c09c823c5ad1718eac7ce0 (patch) | |
tree | 185d0795575f7329d9b552a3605e5139979f086d /src/drivers/spi/spi_flash_internal.h | |
parent | 73451fdea266e24a3ce99e1bf41f49735dc62d28 (diff) |
drivers/spi/spi_flash: explicitly handle STMicro deep power state
In order to provide more consistent probing in future refactorings, pull out
the release from deep sleep path in STMicro's SPI flash probing function.
Call that function explicitly when RDID doesn't return anything at all.
The old STMicro parts, even if supporting RDID, won't decode that
instruction while in a deep power down state. Instead of re-issuing RDID after
the successful wake assume the id fixup is valid.
Change-Id: I46c47abcfb1376c1c3ce772f6f232857b8c54202
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38167
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'src/drivers/spi/spi_flash_internal.h')
-rw-r--r-- | src/drivers/spi/spi_flash_internal.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/drivers/spi/spi_flash_internal.h b/src/drivers/spi/spi_flash_internal.h index f99c90ed36..58172ce929 100644 --- a/src/drivers/spi/spi_flash_internal.h +++ b/src/drivers/spi/spi_flash_internal.h @@ -81,6 +81,8 @@ int spi_flash_probe_sst(const struct spi_slave *spi, u8 *idcode, struct spi_flash *flash); int spi_flash_probe_stmicro(const struct spi_slave *spi, u8 *idcode, struct spi_flash *flash); +/* Release from deep sleep an provide alternative rdid information. */ +int stmicro_release_deep_sleep_identify(const struct spi_slave *spi, u8 *idcode); int spi_flash_probe_winbond(const struct spi_slave *spi, u8 *idcode, struct spi_flash *flash); int spi_flash_probe_gigadevice(const struct spi_slave *spi, u8 *idcode, |