00001 00028 #ifndef PLATFORM_SPI_H 00029 #define PLATFORM_SPI_H 00030 #include <inttypes.h> 00031 #include "spb.h" 00032 00033 #define MAX_BLOCK_LEN 512 00034 00035 enum { 00036 IRQ_OP_ENABLE, 00037 IRQ_OP_DISABLE 00038 }; 00039 00040 enum { 00041 SPI_FLAG_POLL = (1 << 0), 00042 }; 00043 00044 00045 enum { 00046 SPI_IRQ_RX = (1 << 0), 00047 }; 00048 00049 void platform_init(uint8_t *flags); 00050 void platform_reset(void); 00051 void platform_txrx(const uint8_t *in, uint8_t* out, uint16_t len); 00052 void platform_spi_irq(uint8_t op); 00053 void platform_spi_cs(uint8_t enable); 00054 00055 extern void spi_irq_handler(uint8_t status); 00056 00057 #endif