altos: Add SPI slave get/put macros to cc1111
[fw/altos] / src / cc1111 / ao_arch_funcs.h
index 0737e7abeb2c113449e9ee839d4a68328d5dc265..5e2fc13db1ab808f8a6e5eda1607d5fe871626d5 100644 (file)
@@ -29,6 +29,15 @@ extern __xdata uint8_t       ao_spi_mutex;
                                          UxGCR_ORDER_MSB |             \
                                          ((speed) << UxGCR_BAUD_E_SHIFT)))
 
+#define ao_spi_get_slave(bus) do {                     \
+               ao_mutex_get(&ao_spi_mutex);            \
+               ao_spi_set_speed(AO_SPI_SPEED_FAST);    \
+       } while (0)
+
+#define ao_spi_put_slave(bus) do {             \
+               ao_mutex_put(&ao_spi_mutex);    \
+       } while (0)
+
 #define ao_spi_get_mask(reg,mask,bus,speed) do {       \
                ao_mutex_get(&ao_spi_mutex);            \
                ao_spi_set_speed(speed);                \
@@ -88,3 +97,4 @@ ao_spi_init(void);
 #define token_paster(x,y)      x ## y
 #define token_evaluator(x,y)   token_paster(x,y)
 #define ao_enable_output(port,bit,pin,v) cc1111_enable_output(port,token_evaluator(port,DIR), token_evaluator(port,SEL), pin, bit, v)
+#define ao_gpio_set(port, bit, pin, v) ((pin) = (v))