1 .cpu arm7tdmi 2 .arch armv4t 3 .fpu softvfp 4 .eabi_attribute 20, 1 5 .eabi_attribute 21, 1 6 .eabi_attribute 23, 3 7 .eabi_attribute 24, 1 8 .eabi_attribute 25, 1 9 .eabi_attribute 26, 1 10 .eabi_attribute 30, 4 11 .eabi_attribute 34, 0 12 .eabi_attribute 18, 4 13 .file "dma.c" 14 .text 15 .Ltext0: 16 .cfi_sections .debug_frame 17 .file 1 "calypso/dma.c" 18 .section .text.dma_init,"ax",%progbits 19 .align 2 20 .global dma_init 21 .syntax unified 22 .arm 24 dma_init: 25 .LFB0: 1:calypso/dma.c **** /* Driver for Calypso DMA controller */ 2:calypso/dma.c **** 3:calypso/dma.c **** /* (C) 2010 by Harald Welte 4:calypso/dma.c **** * 5:calypso/dma.c **** * All Rights Reserved 6:calypso/dma.c **** * 7:calypso/dma.c **** * This program is free software; you can redistribute it and/or modify 8:calypso/dma.c **** * it under the terms of the GNU General Public License as published by 9:calypso/dma.c **** * the Free Software Foundation; either version 2 of the License, or 10:calypso/dma.c **** * (at your option) any later version. 11:calypso/dma.c **** * 12:calypso/dma.c **** * This program is distributed in the hope that it will be useful, 13:calypso/dma.c **** * but WITHOUT ANY WARRANTY; without even the implied warranty of 14:calypso/dma.c **** * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15:calypso/dma.c **** * GNU General Public License for more details. 16:calypso/dma.c **** * 17:calypso/dma.c **** */ 18:calypso/dma.c **** 19:calypso/dma.c **** #include 20:calypso/dma.c **** 21:calypso/dma.c **** #define BASE_ADDR_DMA 0xfffffc00 22:calypso/dma.c **** 23:calypso/dma.c **** enum dma_reg { 24:calypso/dma.c **** CONTROLLER_CONF = 0x00, 25:calypso/dma.c **** ALLOC_CONFIG = 0x02, 26:calypso/dma.c **** }; 27:calypso/dma.c **** #define DMA_REG(m) (BASE_ADDR_DMA + (m)) 28:calypso/dma.c **** 29:calypso/dma.c **** #define DMA_RAD(x) DMA_REG((x)*0x10 + 0x0) 30:calypso/dma.c **** #define DMA_RDPATH(x) DMA_REG((x)*0x10 + 0x2) 31:calypso/dma.c **** #define DMA_AAD(x) DMA_REG((x)*0x10 + 0x4) 32:calypso/dma.c **** #define DMA_ALGTH(x) DMA_REG((x)*0x10 + 0x6) 33:calypso/dma.c **** #define DMA_CTRL(x) DMA_REG((x)*0x10 + 0x8) 34:calypso/dma.c **** #define DMA_CUR_OFF_API(x) DMA_REG((x)*0x10 + 0xa) 35:calypso/dma.c **** 36:calypso/dma.c **** void dma_init(void) 37:calypso/dma.c **** { 26 .loc 1 37 1 view -0 27 .cfi_startproc 28 @ Function supports interworking. 29 @ args = 0, pretend = 0, frame = 0 30 @ frame_needed = 0, uses_anonymous_args = 0 31 @ link register save eliminated. 38:calypso/dma.c **** /* DMA 1 (RIF Tx), 2 (RIF Rx) allocated to DSP, all others to ARM */ 39:calypso/dma.c **** writew(0x000c, DMA_REG(ALLOC_CONFIG)); 32 .loc 1 39 2 view .LVU1 33 0000 033CE0E3 mvn r3, #768 34 0004 0C20A0E3 mov r2, #12 35 0008 BD2F43E1 strh r2, [r3, #-253] @ movhi 40:calypso/dma.c **** } 36 .loc 1 40 1 is_stmt 0 view .LVU2 37 000c 1EFF2FE1 bx lr 38 .cfi_endproc 39 .LFE0: 41 .text 42 .Letext0: DEFINED SYMBOLS *ABS*:00000000 dma.c /tmp/ccdMqH9I.s:19 .text.dma_init:00000000 $a /tmp/ccdMqH9I.s:24 .text.dma_init:00000000 dma_init NO UNDEFINED SYMBOLS