Home | History | Annotate | Download | only in Omap3530
      1 /** @file
      2 
      3   Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
      4 
      5   This program and the accompanying materials
      6   are licensed and made available under the terms and conditions of the BSD License
      7   which accompanies this distribution.  The full text of the license may be found at
      8   http://opensource.org/licenses/bsd-license.php
      9 
     10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #ifndef __OMAP3530DMA_H__
     16 #define __OMAP3530DMA_H__
     17 
     18 
     19 #define DMA4_MAX_CHANNEL 31
     20 
     21 #define DMA4_IRQENABLE_L(_i)  (0x48056018 + (0x4*(_i)))
     22 
     23 #define DMA4_CCR(_i)  (0x48056080 + (0x60*(_i)))
     24 #define DMA4_CICR(_i) (0x48056088 + (0x60*(_i)))
     25 #define DMA4_CSR(_i)  (0x4805608c + (0x60*(_i)))
     26 #define DMA4_CSDP(_i) (0x48056090 + (0x60*(_i)))
     27 #define DMA4_CEN(_i)  (0x48056094 + (0x60*(_i)))
     28 #define DMA4_CFN(_i)  (0x48056098 + (0x60*(_i)))
     29 #define DMA4_CSSA(_i) (0x4805609c + (0x60*(_i)))
     30 #define DMA4_CDSA(_i) (0x480560a0 + (0x60*(_i)))
     31 #define DMA4_CSEI(_i) (0x480560a4 + (0x60*(_i)))
     32 #define DMA4_CSFI(_i) (0x480560a8 + (0x60*(_i)))
     33 #define DMA4_CDEI(_i) (0x480560ac + (0x60*(_i)))
     34 #define DMA4_CDFI(_i) (0x480560b0 + (0x60*(_i)))
     35 
     36 #define DMA4_GCR      (0x48056078)
     37 
     38 // Channel Source Destination parameters
     39 #define DMA4_CSDP_DATA_TYPE8    0
     40 #define DMA4_CSDP_DATA_TYPE16   1
     41 #define DMA4_CSDP_DATA_TYPE32   2
     42 
     43 #define DMA4_CSDP_SRC_PACKED      BIT6
     44 #define DMA4_CSDP_SRC_NONPACKED   0
     45 
     46 #define DMA4_CSDP_SRC_BURST_EN    (0x0 << 7)
     47 #define DMA4_CSDP_SRC_BURST_EN16  (0x1 << 7)
     48 #define DMA4_CSDP_SRC_BURST_EN32  (0x2 << 7)
     49 #define DMA4_CSDP_SRC_BURST_EN64  (0x3 << 7)
     50 
     51 #define DMA4_CSDP_DST_PACKED      BIT13
     52 #define DMA4_CSDP_DST_NONPACKED   0
     53 
     54 #define DMA4_CSDP_BURST_EN        (0x0 << 14)
     55 #define DMA4_CSDP_BURST_EN16      (0x1 << 14)
     56 #define DMA4_CSDP_BURST_EN32      (0x2 << 14)
     57 #define DMA4_CSDP_BURST_EN64      (0x3 << 14)
     58 
     59 #define DMA4_CSDP_WRITE_MODE_NONE_POSTED      (0x0 << 16)
     60 #define DMA4_CSDP_WRITE_MODE_POSTED           (0x1 << 16)
     61 #define DMA4_CSDP_WRITE_MODE_LAST_NON_POSTED  (0x2 << 16)
     62 
     63 #define DMA4_CSDP_DST_ENDIAN_LOCK_LOCK    BIT18
     64 #define DMA4_CSDP_DST_ENDIAN_LOCK_ADAPT   0
     65 
     66 #define DMA4_CSDP_DST_ENDIAN_BIG          BIT19
     67 #define DMA4_CSDP_DST_ENDIAN_LITTLE       0
     68 
     69 #define DMA4_CSDP_SRC_ENDIAN_LOCK_LOCK    BIT20
     70 #define DMA4_CSDP_SRC_ENDIAN_LOCK_ADAPT   0
     71 
     72 #define DMA4_CSDP_SRC_ENDIAN_BIG          BIT21
     73 #define DMA4_CSDP_SRC_ENDIAN_LITTLE       0
     74 
     75 // Channel Control
     76 #define DMA4_CCR_SYNCHRO_CONTROL_MASK     0x1f
     77 
     78 #define DMA4_CCR_FS_ELEMENT     (0    | 0)
     79 #define DMA4_CCR_FS_BLOCK       (0    | BIT18)
     80 #define DMA4_CCR_FS_FRAME       (BIT5 | 0)
     81 #define DMA4_CCR_FS_PACKET      (BIT5 | BIT18)
     82 
     83 #define DMA4_CCR_READ_PRIORITY_HIGH   BIT6
     84 #define DMA4_CCR_READ_PRIORITY_LOW    0
     85 
     86 #define DMA4_CCR_ENABLE               BIT7
     87 #define DMA4_CCR_DISABLE              0
     88 
     89 #define DMA4_CCR_SUSPEND_SENSITIVE_IGNORE BIT8
     90 #define DMA4_CCR_SUSPEND_SENSITIVE        0
     91 
     92 #define DMA4_CCR_RD_ACTIVE                BIT9
     93 #define DMA4_CCR_WR_ACTIVE                BIT10
     94 
     95 #define DMA4_CCR_SRC_AMODE                (0     | 0)
     96 #define DMA4_CCR_SRC_AMODE_POST_INC       (0     | BIT12)
     97 #define DMA4_CCR_SRC_AMODE_SINGLE_INDEX   (BIT13 | 0)
     98 #define DMA4_CCR_SRC_AMODE_DOUBLE_INDEX   (BIT13 | BIT12)
     99 
    100 #define DMA4_CCR_DST_AMODE                (0     | 0)
    101 #define DMA4_CCR_DST_AMODE_POST_INC       (0     | BIT14)
    102 #define DMA4_CCR_DST_AMODE_SINGLE_INDEX   (BIT15 | 0)
    103 #define DMA4_CCR_DST_AMODE_DOUBLE_INDEX   (BIT15 | BIT14)
    104 
    105 #define DMA4_CCR_CONST_FILL_ENABLE        BIT16
    106 #define DMA4_CCR_TRANSPARENT_COPY_ENABLE  BIT17
    107 
    108 #define DMA4_CCR_SEL_SRC_DEST_SYNC_SOURCE BIT24
    109 
    110 #define DMA4_CSR_DROP                     BIT1
    111 #define DMA4_CSR_HALF                     BIT2
    112 #define DMA4_CSR_FRAME                    BIT3
    113 #define DMA4_CSR_LAST                     BIT4
    114 #define DMA4_CSR_BLOCK                    BIT5
    115 #define DMA4_CSR_SYNC                     BIT6
    116 #define DMA4_CSR_PKT                      BIT7
    117 #define DMA4_CSR_TRANS_ERR                BIT8
    118 #define DMA4_CSR_SECURE_ERR               BIT9
    119 #define DMA4_CSR_SUPERVISOR_ERR           BIT10
    120 #define DMA4_CSR_MISALIGNED_ADRS_ERR      BIT11
    121 #define DMA4_CSR_DRAIN_END                BIT12
    122 #define DMA4_CSR_RESET                    0x1FE
    123 #define DMA4_CSR_ERR                      (DMA4_CSR_TRANS_ERR | DMA4_CSR_SECURE_ERR | DMA4_CSR_SUPERVISOR_ERR | DMA4_CSR_MISALIGNED_ADRS_ERR)
    124 
    125 // same mapping as CSR except for SYNC. Enable all since we are polling
    126 #define DMA4_CICR_ENABLE_ALL              0x1FBE
    127 
    128 
    129 #endif
    130 
    131