altos: Allow sharing of radio DMA with aes engine
authorKeith Packard <keithp@keithp.com>
Sun, 26 Aug 2012 16:43:34 +0000 (09:43 -0700)
committerKeith Packard <keithp@keithp.com>
Sun, 26 Aug 2012 16:43:34 +0000 (09:43 -0700)
otherwise, telefire doesn't have enough DMA channels.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/cc1111/ao_aes.c
src/telefire-v0.1/ao_pins.h
src/telefire-v0.1/ao_telefire.c

index d50fecfb997afacdbedc814a86a7ad3d70009fae..0e32abf61cc33fcc6182f0770465d140baa9c9a1 100644 (file)
@@ -136,7 +136,11 @@ void
 ao_aes_init(void)
 {
        ao_aes_dma_in = ao_dma_alloc(&ao_aes_dma_in_done);
+#if DMA_SHARE_AES_RADIO
+       ao_aes_dma_out = ao_radio_dma;
+#else
        ao_aes_dma_out = ao_dma_alloc(&ao_aes_dma_out_done);
+#endif
        S0CON = 0;
        ENCIE = 1;
 }
index d3a9e9e30af623e1f6352af3ba0a16023611a330..eecf783e50790e29c7b20993134d85bb7eb1380e 100644 (file)
@@ -53,6 +53,7 @@
 #define HAS_ACCEL_REF          0
 #define SPI_CS_ON_P1           1
 #define HAS_AES                        1
+#define DMA_SHARE_AES_RADIO    1
 
 #define SPI_CS_PORT    P1
 #define SPI_CS_SEL     P1SEL
index c1335d666daffc01dd5ff026d155114bcf8959ee..210be08ba7ef6e883f4a34ff4d0f73846804ada7 100644 (file)
@@ -35,7 +35,7 @@ main(void)
        ao_storage_init();
        ao_usb_init();
        ao_radio_init();
-//     ao_aes_init();
+       ao_aes_init();
        ao_pad_init();
        ao_config_init();
        ao_start_scheduler();