diff options
Diffstat (limited to 'controller/fw/spi_flash.h')
-rw-r--r-- | controller/fw/spi_flash.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/controller/fw/spi_flash.h b/controller/fw/spi_flash.h index 933d8c9..e647c6a 100644 --- a/controller/fw/spi_flash.h +++ b/controller/fw/spi_flash.h @@ -2,7 +2,7 @@ #define __SPI_FLASH_H__ #include <stdbool.h> -#include <stdint.h> +#include <unistd.h> struct spi_mem_id { size_t size; @@ -13,10 +13,18 @@ struct spi_mem_id { struct spi_flash_if { struct spi_mem_id id; uint32_t spi_base; + size_t page_size; void (*cs)(bool val); }; -int spif_init(struct spi_mem_id *mem_data); +void spif_init(struct spi_flash_if *spif, size_t page_size, uint32_t spi_base, void (*cs)(bool val)); + +void spif_write(struct spi_flash_if *spif, size_t addr, size_t len, const char* data); +void spif_read(struct spi_flash_if *spif, size_t addr, size_t len, char* data); + +void spif_clear_mem(struct spi_flash_if *spif); +void spif_clear_sector(struct spi_flash_if *spif, size_t addr); + void spif_deep_power_down(struct spi_flash_if *spif); void spif_wakeup(struct spi_flash_if *spif); |