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