Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:40

0001 /*  Blackfin DMA Registers
0002  *
0003  *  Copyright (c) 2008 Kallisti Labs, Los Gatos, CA, USA
0004  *             written by Allan Hessenflow <allanh@kallisti.com>
0005  *
0006  *  The license and distribution terms for this file may be
0007  *  found in the file LICENSE in this distribution or at
0008  *  http://www.rtems.org/license/LICENSE.
0009  */
0010 
0011 #ifndef _dmaRegs_h_
0012 #define _dmaRegs_h_
0013 
0014 
0015 /* register addresses */
0016 
0017 #define DMA_NEXT_DESC_PTR_OFFSET                      0x0000
0018 #define DMA_START_ADDR_OFFSET                         0x0004
0019 #define DMA_CONFIG_OFFSET                             0x0008
0020 #define DMA_X_COUNT_OFFSET                            0x0010
0021 #define DMA_X_MODIFY_OFFSET                           0x0014
0022 #define DMA_Y_COUNT_OFFSET                            0x0018
0023 #define DMA_Y_MODIFY_OFFSET                           0x001c
0024 #define DMA_CURR_DESC_PTR_OFFSET                      0x0020
0025 #define DMA_CURR_ADDR_OFFSET                          0x0024
0026 #define DMA_IRQ_STATUS_OFFSET                         0x0028
0027 #define DMA_PERIPHERAL_MAP_OFFSET                     0x002c
0028 #define DMA_CURR_X_COUNT_OFFSET                       0x0030
0029 #define DMA_CURR_Y_COUNT_OFFSET                       0x0038
0030 
0031 #define HMDMA_CONTROL_OFFSET                          0x0000
0032 #define HMDMA_ECINIT_OFFSET                           0x0004
0033 #define HMDMA_BCINIT_OFFSET                           0x0008
0034 #define HMDMA_ECURGENT_OFFSET                         0x000c
0035 #define HMDMA_ECOVERFLOW_OFFSET                       0x0010
0036 #define HMDMA_ECOUNT_OFFSET                           0x0014
0037 #define HMDMA_BCOUNT_OFFSET                           0x0018
0038 
0039 
0040 /* register fields */
0041 
0042 #define DMA_CONFIG_FLOW_MASK                          0x7000
0043 #define DMA_CONFIG_FLOW_STOP                          0x0000
0044 #define DMA_CONFIG_FLOW_AUTOBUFFER                    0x1000
0045 #define DMA_CONFIG_FLOW_DESC_ARRAY                    0x4000
0046 #define DMA_CONFIG_FLOW_DESC_SMALL                    0x6000
0047 #define DMA_CONFIG_FLOW_DESC_LARGE                    0x7000
0048 #define DMA_CONFIG_NDSIZE_MASK                        0x0f00
0049 #define DMA_CONFIG_NDSIZE_SHIFT                            8
0050 #define DMA_CONFIG_DI_EN                              0x0080
0051 #define DMA_CONFIG_DI_SEL                             0x0040
0052 #define DMA_CONFIG_SYNC                               0x0020
0053 #define DMA_CONFIG_DMA2D                              0x0010
0054 #define DMA_CONFIG_WDSIZE_MASK                        0x000c
0055 #define DMA_CONFIG_WDSIZE_8                           0x0000
0056 #define DMA_CONFIG_WDSIZE_16                          0x0004
0057 #define DMA_CONFIG_WDSIZE_32                          0x0008
0058 #define DMA_CONFIG_WNR                                0x0002
0059 #define DMA_CONFIG_DMAEN                              0x0001
0060 
0061 #define DMA_IRQ_STATUS_DMA_RUN                        0x0008
0062 #define DMA_IRQ_STATUS_DFETCH                         0x0004
0063 #define DMA_IRQ_STATUS_DMA_ERR                        0x0002
0064 #define DMA_IRQ_STATUS_DMA_DONE                       0x0001
0065 
0066 #define DMA_PERIPHERAL_MAP_PMAP_MASK                  0xf000
0067 #define DMA_PERIPHERAL_MAP_PMAP_PPI                   0x0000
0068 #define DMA_PERIPHERAL_MAP_PMAP_ETHRX                 0x1000
0069 #define DMA_PERIPHERAL_MAP_PMAP_ETHTX                 0x2000
0070 #define DMA_PERIPHERAL_MAP_PMAP_SPORT0RX              0x3000
0071 #define DMA_PERIPHERAL_MAP_PMAP_SPORT0TX              0x4000
0072 #define DMA_PERIPHERAL_MAP_PMAP_SPORT1RX              0x5000
0073 #define DMA_PERIPHERAL_MAP_PMAP_SPORT1TX              0x6000
0074 #define DMA_PERIPHERAL_MAP_PMAP_SPI                   0x7000
0075 #define DMA_PERIPHERAL_MAP_PMAP_UART0RX               0x8000
0076 #define DMA_PERIPHERAL_MAP_PMAP_UART0TX               0x9000
0077 #define DMA_PERIPHERAL_MAP_PMAP_UART1RX               0xa000
0078 #define DMA_PERIPHERAL_MAP_PMAP_UART1TX               0xb000
0079 #define DMA_PERIPHERAL_MAP_CTYPE                      0x0040
0080 
0081 #define HMDMA_CONTROL_BDI                             0x8000
0082 #define HMDMA_CONTROL_OI                              0x4000
0083 #define HMDMA_CONTROL_PS                              0x2000
0084 #define HMDMA_CONTROL_RBC                             0x1000
0085 #define HMDMA_CONTROL_DRQ_MASK                        0x0300
0086 #define HMDMA_CONTROL_DRQ_NONE                        0x0000
0087 #define HMDMA_CONTROL_DRQ_SINGLE                      0x0100
0088 #define HMDMA_CONTROL_DRQ_MULTIPLE                    0x0200
0089 #define HMDMA_CONTROL_DRQ_URGENT_MULTIPLE             0x0300
0090 #define HMDMA_CONTROL_MBDI                            0x0040
0091 #define HMDMA_CONTROL_BDIE                            0x0020
0092 #define HMDMA_CONTROL_OIE                             0x0010
0093 #define HMDMA_CONTROL_UTE                             0x0008
0094 #define HMDMA_CONTROL_REP                             0x0002
0095 #define HMDMA_CONTROL_HMDMAEN                         0x0001
0096 
0097 #endif /* _dmaRegs_h_ */