+ ASSERT(ch <= DMAC_CHANNEL_CNT);
+
+ dmac_ch_enabled |= BV(ch);
+ if (handler)
+ {
+ dmac[ch].handler = handler;
+ DMAC_EBCIER |= (BV(ch) << DMAC_EBCIER_BTC0) | (BV(ch) << DMAC_EBCIDR_CBTC0) | (BV(ch) << DMAC_EBCIDR_ERR0);
+ kprintf("Init dmac ch[%08lx]\n", DMAC_EBCIMR);
+ }
+
+ return true;
+}
+
+void dmac_init(void)
+{
+ dmac_ch_enabled = 0;
+ memset(&dmac, 0, sizeof(dmac));