summaryrefslogtreecommitdiff
path: root/code/fe310/eos/spi.h
diff options
context:
space:
mode:
authorUros Majstorovic <majstor@majstor.org>2019-10-18 18:38:00 +0200
committerUros Majstorovic <majstor@majstor.org>2019-10-18 18:38:00 +0200
commit85500fe0d01b691a9bdd8c2330d26d66bc2bc177 (patch)
treec320c642ebb942d1b3692701d50c4a46e50e49f3 /code/fe310/eos/spi.h
parentf74dcae328e3650acf6b12499a55548b46117877 (diff)
added spi driver
Diffstat (limited to 'code/fe310/eos/spi.h')
-rw-r--r--code/fe310/eos/spi.h25
1 files changed, 21 insertions, 4 deletions
diff --git a/code/fe310/eos/spi.h b/code/fe310/eos/spi.h
index 9ef3745..b230924 100644
--- a/code/fe310/eos/spi.h
+++ b/code/fe310/eos/spi.h
@@ -1,8 +1,25 @@
#include <stdint.h>
-#include "encoding.h"
-#include "platform.h"
+#define EOS_SPI_DEV_NET 0
+#define EOS_SPI_DEV_DISP 1
+#define EOS_SPI_DEV_CARD 2
+#define EOS_SPI_DEV_CAM 3
-#include "spi_def.h"
+#define EOS_SPI_MAX_DEV 3
-#define SPI_IOF_MASK (((uint32_t)1 << IOF_SPI1_SCK) | ((uint32_t)1 << IOF_SPI1_MOSI) | ((uint32_t)1 << IOF_SPI1_MISO))
+#define EOS_SPI_FLAG_TX 0x01
+#define EOS_SPI_FLAG_MORE 0x02
+
+void eos_spi_init(void);
+void eos_spi_dev_acquire(unsigned char dev);
+void eos_spi_dev_release(void);
+
+void eos_spi_xchg(unsigned char *buffer, uint16_t len, uint8_t flags);
+void eos_spi_xchg_handler(void);
+void eos_spi_xchg_wait(void);
+
+uint8_t eos_spi_xchg8(uint8_t data, uint8_t flags);
+uint16_t eos_spi_xchg16(uint16_t data, uint8_t flags);
+uint32_t eos_spi_xchg32(uint32_t data, uint8_t flags);
+
+void eos_spi_set_handler(unsigned char dev, eos_evt_fptr_t handler); \ No newline at end of file