enabled MCDMA for fec

This commit is contained in:
Markus Fröschle
2014-01-01 13:02:37 +00:00
parent 45dc5b564a
commit 4d37bfcf42
5 changed files with 70 additions and 8 deletions

View File

@@ -268,6 +268,18 @@ void network_init(void)
return;
}
/*
* Register the DMA interrupt handler
*/
handler = dma_interrupt_handler;
vector = 112;
if (!isr_register_handler(ISR_DBUG_ISR, vector, handler, NULL,NULL))
{
xprintf("Error: Unable to register handler\n");
return;
}
nif_init(&nif1);
nif1.mtu = ETH_MTU;
nif1.send = fec0_send;
@@ -282,7 +294,9 @@ void network_init(void)
ip_init(&ip_info, myip, gateway, netmask);
nif_bind_protocol(&nif1, ETH_FRM_IP, ip_handler, (void *) &ip_info);
bootp_request(&nif1, 0);
dma_irq_enable(6, 0);
//bootp_request(&nif1, 0);
}
void BaS(void)
@@ -422,7 +436,7 @@ void BaS(void)
enable_coldfire_interrupts();
//set_ipl(0);
//network_init();
network_init();
xprintf("call EmuTOS\r\n");
ROM_HEADER* os_header = (ROM_HEADER*)TOS;

View File

@@ -307,6 +307,7 @@ init_vec_loop:
move.l a1,(INT_SOURCE_GPT3 + 64) * 4(a0)
move.l a1,(INT_SOURCE_FEC0 + 64) * 4(a0)
move.l a1,(INT_SOURCE_FEC1 + 64) * 4(a0)
move.l a1,(INT_SOURCE_DMA + 64) * 4(a0)
move.l (sp)+,a2 // Restore registers
rts

View File

@@ -205,6 +205,7 @@ bool isr_execute_handler(int vector)
if ((isrtab[index].vector == vector) &&
(isrtab[index].type == ISR_DBUG_ISR))
{
xprintf("calling BaS isr handler at %p\r\n", isrtab[index].handler);
if (isrtab[index].handler(isrtab[index].hdev,isrtab[index].harg))
{
retval = true;
@@ -221,6 +222,7 @@ bool isr_execute_handler(int vector)
if ((isrtab[index].vector == vector) &&
(isrtab[index].type == ISR_USER_ISR))
{
xprintf("calling USR isr handler at %p\r\n", isrtab[index].handler);
if (isrtab[index].handler(isrtab[index].hdev,isrtab[index].harg))
{
retval = true;