summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-08-26 09:43:34 -0700
committerKeith Packard <keithp@keithp.com>2012-08-26 09:43:34 -0700
commit89f1a685a02c7808cf03853aa9a5ee50c6baf49e (patch)
treed05c8dd8ee31c4b5c8ab873336bc632d5adc79cd /src
parent7ecb429fe4682faf209452b1738ff3c8096fc5d5 (diff)
altos: Allow sharing of radio DMA with aes engine
otherwise, telefire doesn't have enough DMA channels. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src')
-rw-r--r--src/cc1111/ao_aes.c4
-rw-r--r--src/telefire-v0.1/ao_pins.h1
-rw-r--r--src/telefire-v0.1/ao_telefire.c2
3 files changed, 6 insertions, 1 deletions
diff --git a/src/cc1111/ao_aes.c b/src/cc1111/ao_aes.c
index d50fecfb..0e32abf6 100644
--- a/src/cc1111/ao_aes.c
+++ b/src/cc1111/ao_aes.c
@@ -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;
}
diff --git a/src/telefire-v0.1/ao_pins.h b/src/telefire-v0.1/ao_pins.h
index d3a9e9e3..eecf783e 100644
--- a/src/telefire-v0.1/ao_pins.h
+++ b/src/telefire-v0.1/ao_pins.h
@@ -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
diff --git a/src/telefire-v0.1/ao_telefire.c b/src/telefire-v0.1/ao_telefire.c
index c1335d66..210be08b 100644
--- a/src/telefire-v0.1/ao_telefire.c
+++ b/src/telefire-v0.1/ao_telefire.c
@@ -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();