#include "test_harness.h" #include "core/dma.h" #include #include #include TEST(dma, smoke) { dma_t* dma = &DMA1; memset(dma, sizeof(dma), 0); regset(dma->is_r, dma_tcif1, 1); ASSERT_EQ(dma->is_r, 2); regset(dma->is_r, dma_htif7, 1); ASSERT_EQ(dma->is_r, 67108866); } TEST(dma, cc_regset) { dma_t* dma = &DMA1; memset(dma, sizeof(dma), 0); dma_channel_config_t* channel_config = &dma->channel_config[2]; regset(channel_config->cc_r, dma_cc_msize, DMA_SIZE_32_BITS); ASSERT_EQ(channel_config->cc_r, 1 << 11); } TEST(dma, correct_align) { dma_t dma; // Assert the DMA registers are aligned with what the spec says. ASSERT_EQ((long)(&dma.csel_r) - (long)(&dma), 0xA8); return 0; }