summaryrefslogtreecommitdiff
path: root/controller/fw/spi_flash.h
diff options
context:
space:
mode:
Diffstat (limited to 'controller/fw/spi_flash.h')
-rw-r--r--controller/fw/spi_flash.h12
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);