diff options
author | Uros Majstorovic <majstor@majstor.org> | 2019-10-18 18:38:00 +0200 |
---|---|---|
committer | Uros Majstorovic <majstor@majstor.org> | 2019-10-18 18:38:00 +0200 |
commit | 85500fe0d01b691a9bdd8c2330d26d66bc2bc177 (patch) | |
tree | c320c642ebb942d1b3692701d50c4a46e50e49f3 /code/fe310/eos/spi.h | |
parent | f74dcae328e3650acf6b12499a55548b46117877 (diff) |
added spi driver
Diffstat (limited to 'code/fe310/eos/spi.h')
-rw-r--r-- | code/fe310/eos/spi.h | 25 |
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 |