altos: Add DMA, SPI and MS5607 drivers
[fw/altos] / src / core / ao.h
index 8263a52983cd2daf167761976353eb459f1f29e5..67efa437f843fbe91143041ae7623c8bc8b49da8 100644 (file)
@@ -114,6 +114,7 @@ ao_start_scheduler(void);
 #define AO_PANIC_USB           10      /* Trying to send USB packet while busy */
 #define AO_PANIC_BT            11      /* Communications with bluetooth device failed */
 #define AO_PANIC_STACK         12      /* Stack overflow */
+#define AO_PANIC_SPI           13      /* SPI communication failure */
 
 /* Stop the operating system, beeping and blinking the reason */
 void
@@ -940,47 +941,6 @@ ao_serial0_init(void);
 #endif
 
 
-/*
- * ao_spi.c
- */
-
-extern __xdata uint8_t ao_spi_mutex;
-
-#define ao_spi_get_mask(reg,mask) do {\
-       ao_mutex_get(&ao_spi_mutex); \
-       (reg) &= ~(mask); \
-       } while (0)
-
-#define ao_spi_put_mask(reg,mask) do { \
-       (reg) |= (mask); \
-       ao_mutex_put(&ao_spi_mutex); \
-       } while (0)
-
-#define ao_spi_get_bit(bit) do {\
-       ao_mutex_get(&ao_spi_mutex); \
-       (bit) = 0; \
-       } while (0)
-
-#define ao_spi_put_bit(bit) do { \
-       (bit) = 1; \
-       ao_mutex_put(&ao_spi_mutex); \
-       } while (0)
-
-/*
- * The SPI mutex must be held to call either of these
- * functions -- this mutex covers the entire SPI operation,
- * from chip select low to chip select high
- */
-
-void
-ao_spi_send(void __xdata *block, uint16_t len) __reentrant;
-
-void
-ao_spi_recv(void __xdata *block, uint16_t len) __reentrant;
-
-void
-ao_spi_init(void);
-
 /*
  * ao_spi_slave.c
  */
@@ -1934,4 +1894,12 @@ ao_sqrt(uint32_t op);
 
 int32_t ao_freq_to_set(int32_t freq, int32_t cal);
 
+#include <ao_arch_funcs.h>
+
+/*
+ * ao_ms5607.c
+ */
+
+void ao_ms5607_init(void);
+
 #endif /* _AO_H_ */