5 #ifndef OPENTITAN_SW_DEVICE_TESTS_SPI_HOST_FLASH_TEST_IMPL_H_
6 #define OPENTITAN_SW_DEVICE_TESTS_SPI_HOST_FLASH_TEST_IMPL_H_
8 #include "sw/device/lib/base/status.h"
10 #include "sw/device/lib/testing/spi_flash_testutils.h"
18 status_t test_software_reset(dif_spi_host_t *spi);
26 status_t test_read_sfdp(dif_spi_host_t *spi);
34 status_t test_sector_erase(dif_spi_host_t *spi);
44 status_t test_read_jedec(dif_spi_host_t *spi, uint16_t manufacture_id);
52 status_t test_enable_quad_mode(dif_spi_host_t *spi);
60 status_t test_page_program(dif_spi_host_t *spi);
68 status_t test_fast_read(dif_spi_host_t *spi);
76 status_t test_dual_read(dif_spi_host_t *spi);
84 status_t test_quad_read(dif_spi_host_t *spi);
92 bool is_4_bytes_address_mode_supported(
void);
101 status_t test_4bytes_address(dif_spi_host_t *spi);
113 dif_spi_host_t *spi, uint8_t opcode,
114 spi_flash_testutils_transaction_width_mode_t page_program_mode);
122 status_t test_erase_32k_block(dif_spi_host_t *spi);
130 status_t test_erase_64k_block(dif_spi_host_t *spi);