OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_47/] [or1ksim/] [peripheral/] [dma.c] - Diff between revs 256 and 261

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 256 Rev 261
Line 56... Line 56...
{
{
        unsigned i;
        unsigned i;
 
 
        memset( dmas, 0, sizeof(dmas) );
        memset( dmas, 0, sizeof(dmas) );
 
 
        for ( i = 0; i < NR_DMAS; ++ i ) {
  if (!config.dmas_enabled)
 
    config.ndmas = 0;
 
 
 
        for ( i = 0; i < config.ndmas; ++ i ) {
                struct dma_controller *dma = &(dmas[i]);
                struct dma_controller *dma = &(dmas[i]);
                unsigned channel_number;
                unsigned channel_number;
 
 
                dma->baseaddr = config.dmas[i].baseaddr;
                dma->baseaddr = config.dmas[i].baseaddr;
                dma->irq = config.dmas[i].irq;
                dma->irq = config.dmas[i].irq;
Line 69... Line 72...
                        dma->ch[channel_number].channel_number = channel_number;
                        dma->ch[channel_number].channel_number = channel_number;
                        dma->ch[channel_number].channel_mask = 1LU << channel_number;
                        dma->ch[channel_number].channel_mask = 1LU << channel_number;
                        dma->ch[channel_number].regs.am0 = dma->ch[channel_number].regs.am1 = 0xFFFFFFFC;
                        dma->ch[channel_number].regs.am0 = dma->ch[channel_number].regs.am1 = 0xFFFFFFFC;
                }
                }
                if ( dma->baseaddr != 0 )
                if ( dma->baseaddr != 0 )
                        register_memoryarea( dma->baseaddr, DMA_ADDR_SPACE, 4, dma_read32, dma_write32, 0 );
                        register_memoryarea( dma->baseaddr, DMA_ADDR_SPACE, 4, dma_read32, dma_write32);
        }
        }
}
}
 
 
/* Print register values on stdout */
/* Print register values on stdout */
void dma_status( void )
void dma_status( void )
{
{
        unsigned i, j;
        unsigned i, j;
 
 
        for ( i = 0; i < NR_DMAS; ++ i ) {
        for ( i = 0; i < config.ndmas; ++ i ) {
                struct dma_controller *dma = &(dmas[i]);
                struct dma_controller *dma = &(dmas[i]);
 
 
                if ( dma->baseaddr == 0 )
                if ( dma->baseaddr == 0 )
                        continue;
                        continue;
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.