Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(389)

Side by Side Diff: arch/arm/mach-tegra/nv/include/ap20/arslink.h

Issue 3256004: [ARM] tegra: add nvos/nvrm/nvmap drivers (Closed) Base URL: ssh://git@gitrw.chromium.org/kernel.git
Patch Set: remove ap15 headers Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2009 NVIDIA Corporation.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 *
11 * Redistributions in binary form must reproduce the above copyright notice,
12 * this list of conditions and the following disclaimer in the documentation
13 * and/or other materials provided with the distribution.
14 *
15 * Neither the name of the NVIDIA Corporation nor the names of its contributors
16 * may be used to endorse or promote products derived from this software
17 * without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 *
31 */
32 //
33 // DO NOT EDIT - generated by simspec!
34 //
35
36 #ifndef ___ARSLINK_H_INC_
37 #define ___ARSLINK_H_INC_
38
39 // Register SLINK_COMMAND_0
40 #define SLINK_COMMAND_0 _MK_ADDR_CONST(0x0)
41 #define SLINK_COMMAND_0_SECURE 0x0
42 #define SLINK_COMMAND_0_WORD_COUNT 0x1
43 #define SLINK_COMMAND_0_RESET_VAL _MK_MASK_CONST(0x0)
44 #define SLINK_COMMAND_0_RESET_MASK _MK_MASK_CONST(0xf3f33ff f)
45 #define SLINK_COMMAND_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
46 #define SLINK_COMMAND_0_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
47 #define SLINK_COMMAND_0_READ_MASK _MK_MASK_CONST(0xf3f33ff f)
48 #define SLINK_COMMAND_0_WRITE_MASK _MK_MASK_CONST(0xf3f33ff f)
49 // RD/WD access to Data Register would start the next transfer. (This allows co ntinuous Receive via RD of Buffer and Automated Transmit per WD of Buffer Regis ter)
50 #define SLINK_COMMAND_0_ENB_SHIFT _MK_SHIFT_CONST(31)
51 #define SLINK_COMMAND_0_ENB_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_ENB_SHIFT)
52 #define SLINK_COMMAND_0_ENB_RANGE 31:31
53 #define SLINK_COMMAND_0_ENB_WOFFSET 0x0
54 #define SLINK_COMMAND_0_ENB_DEFAULT _MK_MASK_CONST(0x0)
55 #define SLINK_COMMAND_0_ENB_DEFAULT_MASK _MK_MASK_CONST(0 x1)
56 #define SLINK_COMMAND_0_ENB_SW_DEFAULT _MK_MASK_CONST(0x0)
57 #define SLINK_COMMAND_0_ENB_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
58 #define SLINK_COMMAND_0_ENB_DISABLE _MK_ENUM_CONST(0)
59 #define SLINK_COMMAND_0_ENB_ENABLE _MK_ENUM_CONST(1)
60
61 // Program 1 after all the other bits in the COMMAND2 and COMMAND are programmed to start the trasnfer
62 // HW clears this bit automatically after the trasnfer is done
63 // Clearing of the bit by SW will stop the Shifter and latch the partial data i nto buffer
64 #define SLINK_COMMAND_0_GO_SHIFT _MK_SHIFT_CONST(30)
65 #define SLINK_COMMAND_0_GO_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_GO_SHIFT)
66 #define SLINK_COMMAND_0_GO_RANGE 30:30
67 #define SLINK_COMMAND_0_GO_WOFFSET 0x0
68 #define SLINK_COMMAND_0_GO_DEFAULT _MK_MASK_CONST(0x0)
69 #define SLINK_COMMAND_0_GO_DEFAULT_MASK _MK_MASK_CONST(0x1)
70 #define SLINK_COMMAND_0_GO_SW_DEFAULT _MK_MASK_CONST(0x0)
71 #define SLINK_COMMAND_0_GO_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
72 #define SLINK_COMMAND_0_GO_STOP _MK_ENUM_CONST(0)
73 #define SLINK_COMMAND_0_GO_GO _MK_ENUM_CONST(1)
74
75 // 1 = Hold APB Cycle from writing another data into COMMAND register until RDY 0 = NOP. Use of this bit is deprecated.
76 #define SLINK_COMMAND_0_WAIT_SHIFT _MK_SHIFT_CONST(29)
77 #define SLINK_COMMAND_0_WAIT_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_WAIT_SHIFT)
78 #define SLINK_COMMAND_0_WAIT_RANGE 29:29
79 #define SLINK_COMMAND_0_WAIT_WOFFSET 0x0
80 #define SLINK_COMMAND_0_WAIT_DEFAULT _MK_MASK_CONST(0x0)
81 #define SLINK_COMMAND_0_WAIT_DEFAULT_MASK _MK_MASK_CONST(0 x1)
82 #define SLINK_COMMAND_0_WAIT_SW_DEFAULT _MK_MASK_CONST(0x0)
83 #define SLINK_COMMAND_0_WAIT_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
84 #define SLINK_COMMAND_0_WAIT_NOP _MK_ENUM_CONST(0)
85 #define SLINK_COMMAND_0_WAIT_WAIT _MK_ENUM_CONST(1)
86
87 // 1 = Master Mode (internal Clock) 0 = Slave Mode (external Clock)
88 #define SLINK_COMMAND_0_M_S_SHIFT _MK_SHIFT_CONST(28)
89 #define SLINK_COMMAND_0_M_S_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_M_S_SHIFT)
90 #define SLINK_COMMAND_0_M_S_RANGE 28:28
91 #define SLINK_COMMAND_0_M_S_WOFFSET 0x0
92 #define SLINK_COMMAND_0_M_S_DEFAULT _MK_MASK_CONST(0x0)
93 #define SLINK_COMMAND_0_M_S_DEFAULT_MASK _MK_MASK_CONST(0 x1)
94 #define SLINK_COMMAND_0_M_S_SW_DEFAULT _MK_MASK_CONST(0x0)
95 #define SLINK_COMMAND_0_M_S_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
96 #define SLINK_COMMAND_0_M_S_SLAVE _MK_ENUM_CONST(0)
97 #define SLINK_COMMAND_0_M_S_MASTER _MK_ENUM_CONST(1)
98
99 // 11 = Pull High 10 = Pull Low 01 = Driven High 00 = Driven Low (def)
100 #define SLINK_COMMAND_0_IDLE_SCLK_SHIFT _MK_SHIFT_CONST(24)
101 #define SLINK_COMMAND_0_IDLE_SCLK_FIELD (_MK_MASK_CONST(0x3) << SLINK_COMMAND_0_IDLE_SCLK_SHIFT)
102 #define SLINK_COMMAND_0_IDLE_SCLK_RANGE 25:24
103 #define SLINK_COMMAND_0_IDLE_SCLK_WOFFSET 0x0
104 #define SLINK_COMMAND_0_IDLE_SCLK_DEFAULT _MK_MASK_CONST(0 x0)
105 #define SLINK_COMMAND_0_IDLE_SCLK_DEFAULT_MASK _MK_MASK_CONST(0 x3)
106 #define SLINK_COMMAND_0_IDLE_SCLK_SW_DEFAULT _MK_MASK_CONST(0 x0)
107 #define SLINK_COMMAND_0_IDLE_SCLK_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
108 #define SLINK_COMMAND_0_IDLE_SCLK_DRIVE_LOW _MK_ENUM_CONST(0 )
109 #define SLINK_COMMAND_0_IDLE_SCLK_DRIVE_HIGH _MK_ENUM_CONST(1 )
110 #define SLINK_COMMAND_0_IDLE_SCLK_PULL_LOW _MK_ENUM_CONST(2 )
111 #define SLINK_COMMAND_0_IDLE_SCLK_PULL_HIGH _MK_ENUM_CONST(3 )
112
113 // 1 = CS3 active high 0 = CS3 active low
114 #define SLINK_COMMAND_0_CS_POLARITY3_SHIFT _MK_SHIFT_CONST( 23)
115 #define SLINK_COMMAND_0_CS_POLARITY3_FIELD (_MK_MASK_CONST( 0x1) << SLINK_COMMAND_0_CS_POLARITY3_SHIFT)
116 #define SLINK_COMMAND_0_CS_POLARITY3_RANGE 23:23
117 #define SLINK_COMMAND_0_CS_POLARITY3_WOFFSET 0x0
118 #define SLINK_COMMAND_0_CS_POLARITY3_DEFAULT _MK_MASK_CONST(0 x0)
119 #define SLINK_COMMAND_0_CS_POLARITY3_DEFAULT_MASK _MK_MASK _CONST(0x1)
120 #define SLINK_COMMAND_0_CS_POLARITY3_SW_DEFAULT _MK_MASK_CONST(0 x0)
121 #define SLINK_COMMAND_0_CS_POLARITY3_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
122 #define SLINK_COMMAND_0_CS_POLARITY3_LOW _MK_ENUM_CONST(0 )
123 #define SLINK_COMMAND_0_CS_POLARITY3_HIGH _MK_ENUM_CONST(1 )
124
125 // 1 = CS2 active high 0 = CS2 active low
126 #define SLINK_COMMAND_0_CS_POLARITY2_SHIFT _MK_SHIFT_CONST( 22)
127 #define SLINK_COMMAND_0_CS_POLARITY2_FIELD (_MK_MASK_CONST( 0x1) << SLINK_COMMAND_0_CS_POLARITY2_SHIFT)
128 #define SLINK_COMMAND_0_CS_POLARITY2_RANGE 22:22
129 #define SLINK_COMMAND_0_CS_POLARITY2_WOFFSET 0x0
130 #define SLINK_COMMAND_0_CS_POLARITY2_DEFAULT _MK_MASK_CONST(0 x0)
131 #define SLINK_COMMAND_0_CS_POLARITY2_DEFAULT_MASK _MK_MASK _CONST(0x1)
132 #define SLINK_COMMAND_0_CS_POLARITY2_SW_DEFAULT _MK_MASK_CONST(0 x0)
133 #define SLINK_COMMAND_0_CS_POLARITY2_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
134 #define SLINK_COMMAND_0_CS_POLARITY2_LOW _MK_ENUM_CONST(0 )
135 #define SLINK_COMMAND_0_CS_POLARITY2_HIGH _MK_ENUM_CONST(1 )
136
137 // 1 = Rising Edge 0 = Falling Edge (def)
138 #define SLINK_COMMAND_0_CK_SDA_SHIFT _MK_SHIFT_CONST(21)
139 #define SLINK_COMMAND_0_CK_SDA_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_CK_SDA_SHIFT)
140 #define SLINK_COMMAND_0_CK_SDA_RANGE 21:21
141 #define SLINK_COMMAND_0_CK_SDA_WOFFSET 0x0
142 #define SLINK_COMMAND_0_CK_SDA_DEFAULT _MK_MASK_CONST(0x0)
143 #define SLINK_COMMAND_0_CK_SDA_DEFAULT_MASK _MK_MASK_CONST(0 x1)
144 #define SLINK_COMMAND_0_CK_SDA_SW_DEFAULT _MK_MASK_CONST(0 x0)
145 #define SLINK_COMMAND_0_CK_SDA_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
146 #define SLINK_COMMAND_0_CK_SDA_FIRST_CLK_EDGE _MK_ENUM_CONST(0 )
147 #define SLINK_COMMAND_0_CK_SDA_SECOND_CLK_EDGE _MK_ENUM_CONST(1 )
148
149 // 1 = CS1 active high 0 = CS1 active low
150 #define SLINK_COMMAND_0_CS_POLARITY1_SHIFT _MK_SHIFT_CONST( 20)
151 #define SLINK_COMMAND_0_CS_POLARITY1_FIELD (_MK_MASK_CONST( 0x1) << SLINK_COMMAND_0_CS_POLARITY1_SHIFT)
152 #define SLINK_COMMAND_0_CS_POLARITY1_RANGE 20:20
153 #define SLINK_COMMAND_0_CS_POLARITY1_WOFFSET 0x0
154 #define SLINK_COMMAND_0_CS_POLARITY1_DEFAULT _MK_MASK_CONST(0 x0)
155 #define SLINK_COMMAND_0_CS_POLARITY1_DEFAULT_MASK _MK_MASK _CONST(0x1)
156 #define SLINK_COMMAND_0_CS_POLARITY1_SW_DEFAULT _MK_MASK_CONST(0 x0)
157 #define SLINK_COMMAND_0_CS_POLARITY1_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
158 #define SLINK_COMMAND_0_CS_POLARITY1_LOW _MK_ENUM_CONST(0 )
159 #define SLINK_COMMAND_0_CS_POLARITY1_HIGH _MK_ENUM_CONST(1 )
160
161 // 11 = Pull High 10 = Pull Low 01 = Driven High 00 = Driven Low
162 #define SLINK_COMMAND_0_IDLE_SDA_SHIFT _MK_SHIFT_CONST(16)
163 #define SLINK_COMMAND_0_IDLE_SDA_FIELD (_MK_MASK_CONST(0x3) << SLINK_COMMAND_0_IDLE_SDA_SHIFT)
164 #define SLINK_COMMAND_0_IDLE_SDA_RANGE 17:16
165 #define SLINK_COMMAND_0_IDLE_SDA_WOFFSET 0x0
166 #define SLINK_COMMAND_0_IDLE_SDA_DEFAULT _MK_MASK_CONST(0 x0)
167 #define SLINK_COMMAND_0_IDLE_SDA_DEFAULT_MASK _MK_MASK_CONST(0 x3)
168 #define SLINK_COMMAND_0_IDLE_SDA_SW_DEFAULT _MK_MASK_CONST(0 x0)
169 #define SLINK_COMMAND_0_IDLE_SDA_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
170 #define SLINK_COMMAND_0_IDLE_SDA_DRIVE_LOW _MK_ENUM_CONST(0 )
171 #define SLINK_COMMAND_0_IDLE_SDA_DRIVE_HIGH _MK_ENUM_CONST(1 )
172 #define SLINK_COMMAND_0_IDLE_SDA_PULL_LOW _MK_ENUM_CONST(2 )
173 #define SLINK_COMMAND_0_IDLE_SDA_PULL_HIGH _MK_ENUM_CONST(3 )
174
175 // 1 = CS0 active high 0 = CS0 active low
176 #define SLINK_COMMAND_0_CS_POLARITY0_SHIFT _MK_SHIFT_CONST( 13)
177 #define SLINK_COMMAND_0_CS_POLARITY0_FIELD (_MK_MASK_CONST( 0x1) << SLINK_COMMAND_0_CS_POLARITY0_SHIFT)
178 #define SLINK_COMMAND_0_CS_POLARITY0_RANGE 13:13
179 #define SLINK_COMMAND_0_CS_POLARITY0_WOFFSET 0x0
180 #define SLINK_COMMAND_0_CS_POLARITY0_DEFAULT _MK_MASK_CONST(0 x0)
181 #define SLINK_COMMAND_0_CS_POLARITY0_DEFAULT_MASK _MK_MASK _CONST(0x1)
182 #define SLINK_COMMAND_0_CS_POLARITY0_SW_DEFAULT _MK_MASK_CONST(0 x0)
183 #define SLINK_COMMAND_0_CS_POLARITY0_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
184 #define SLINK_COMMAND_0_CS_POLARITY0_LOW _MK_ENUM_CONST(0 )
185 #define SLINK_COMMAND_0_CS_POLARITY0_HIGH _MK_ENUM_CONST(1 )
186
187 // 1 = CS is high 0 = CS is low
188 #define SLINK_COMMAND_0_CS_VALUE_SHIFT _MK_SHIFT_CONST(12)
189 #define SLINK_COMMAND_0_CS_VALUE_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_CS_VALUE_SHIFT)
190 #define SLINK_COMMAND_0_CS_VALUE_RANGE 12:12
191 #define SLINK_COMMAND_0_CS_VALUE_WOFFSET 0x0
192 #define SLINK_COMMAND_0_CS_VALUE_DEFAULT _MK_MASK_CONST(0 x0)
193 #define SLINK_COMMAND_0_CS_VALUE_DEFAULT_MASK _MK_MASK_CONST(0 x1)
194 #define SLINK_COMMAND_0_CS_VALUE_SW_DEFAULT _MK_MASK_CONST(0 x0)
195 #define SLINK_COMMAND_0_CS_VALUE_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
196 #define SLINK_COMMAND_0_CS_VALUE_LOW _MK_ENUM_CONST(0)
197 #define SLINK_COMMAND_0_CS_VALUE_HIGH _MK_ENUM_CONST(1)
198
199 // 1 = CS controlled by SW 0 = CS controlled by hardware
200 #define SLINK_COMMAND_0_CS_SW_SHIFT _MK_SHIFT_CONST(11)
201 #define SLINK_COMMAND_0_CS_SW_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_CS_SW_SHIFT)
202 #define SLINK_COMMAND_0_CS_SW_RANGE 11:11
203 #define SLINK_COMMAND_0_CS_SW_WOFFSET 0x0
204 #define SLINK_COMMAND_0_CS_SW_DEFAULT _MK_MASK_CONST(0x0)
205 #define SLINK_COMMAND_0_CS_SW_DEFAULT_MASK _MK_MASK_CONST(0 x1)
206 #define SLINK_COMMAND_0_CS_SW_SW_DEFAULT _MK_MASK_CONST(0 x0)
207 #define SLINK_COMMAND_0_CS_SW_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
208 #define SLINK_COMMAND_0_CS_SW_HARD _MK_ENUM_CONST(0)
209 #define SLINK_COMMAND_0_CS_SW_SOFT _MK_ENUM_CONST(1)
210
211 // 1 = both lines transmit/receive 0 = one line transmit and other receive
212 #define SLINK_COMMAND_0_BOTH_EN_SHIFT _MK_SHIFT_CONST(10)
213 #define SLINK_COMMAND_0_BOTH_EN_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND_0_BOTH_EN_SHIFT)
214 #define SLINK_COMMAND_0_BOTH_EN_RANGE 10:10
215 #define SLINK_COMMAND_0_BOTH_EN_WOFFSET 0x0
216 #define SLINK_COMMAND_0_BOTH_EN_DEFAULT _MK_MASK_CONST(0x0)
217 #define SLINK_COMMAND_0_BOTH_EN_DEFAULT_MASK _MK_MASK_CONST(0 x1)
218 #define SLINK_COMMAND_0_BOTH_EN_SW_DEFAULT _MK_MASK_CONST(0 x0)
219 #define SLINK_COMMAND_0_BOTH_EN_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
220 #define SLINK_COMMAND_0_BOTH_EN_DISABLE _MK_ENUM_CONST(0)
221 #define SLINK_COMMAND_0_BOTH_EN_ENABLE _MK_ENUM_CONST(1)
222
223 // 31 = Thirty Two words (Max)
224 #define SLINK_COMMAND_0_WORD_SIZE_SHIFT _MK_SHIFT_CONST(5)
225 #define SLINK_COMMAND_0_WORD_SIZE_FIELD (_MK_MASK_CONST(0x1f) << SLINK_COMMAND_0_WORD_SIZE_SHIFT)
226 #define SLINK_COMMAND_0_WORD_SIZE_RANGE 9:5
227 #define SLINK_COMMAND_0_WORD_SIZE_WOFFSET 0x0
228 #define SLINK_COMMAND_0_WORD_SIZE_DEFAULT _MK_MASK_CONST(0 x0)
229 #define SLINK_COMMAND_0_WORD_SIZE_DEFAULT_MASK _MK_MASK_CONST(0 x1f)
230 #define SLINK_COMMAND_0_WORD_SIZE_SW_DEFAULT _MK_MASK_CONST(0 x0)
231 #define SLINK_COMMAND_0_WORD_SIZE_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
232
233 // 31 = Thirty Two bit Transfers (Max)
234 #define SLINK_COMMAND_0_BIT_LENGTH_SHIFT _MK_SHIFT_CONST( 0)
235 #define SLINK_COMMAND_0_BIT_LENGTH_FIELD (_MK_MASK_CONST( 0x1f) << SLINK_COMMAND_0_BIT_LENGTH_SHIFT)
236 #define SLINK_COMMAND_0_BIT_LENGTH_RANGE 4:0
237 #define SLINK_COMMAND_0_BIT_LENGTH_WOFFSET 0x0
238 #define SLINK_COMMAND_0_BIT_LENGTH_DEFAULT _MK_MASK_CONST(0 x0)
239 #define SLINK_COMMAND_0_BIT_LENGTH_DEFAULT_MASK _MK_MASK_CONST(0 x1f)
240 #define SLINK_COMMAND_0_BIT_LENGTH_SW_DEFAULT _MK_MASK_CONST(0 x0)
241 #define SLINK_COMMAND_0_BIT_LENGTH_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
242
243
244 // Register SLINK_COMMAND2_0
245 #define SLINK_COMMAND2_0 _MK_ADDR_CONST(0x4)
246 #define SLINK_COMMAND2_0_SECURE 0x0
247 #define SLINK_COMMAND2_0_WORD_COUNT 0x1
248 #define SLINK_COMMAND2_0_RESET_VAL _MK_MASK_CONST(0x0)
249 #define SLINK_COMMAND2_0_RESET_MASK _MK_MASK_CONST(0xfcfe1fd 3)
250 #define SLINK_COMMAND2_0_SW_DEFAULT_VAL _MK_MASK_CONST(0 x0)
251 #define SLINK_COMMAND2_0_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
252 #define SLINK_COMMAND2_0_READ_MASK _MK_MASK_CONST(0xfcfe1fd 3)
253 #define SLINK_COMMAND2_0_WRITE_MASK _MK_MASK_CONST(0xfcfe1fd 3)
254 // Receive enable
255 #define SLINK_COMMAND2_0_RXEN_SHIFT _MK_SHIFT_CONST(31)
256 #define SLINK_COMMAND2_0_RXEN_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_RXEN_SHIFT)
257 #define SLINK_COMMAND2_0_RXEN_RANGE 31:31
258 #define SLINK_COMMAND2_0_RXEN_WOFFSET 0x0
259 #define SLINK_COMMAND2_0_RXEN_DEFAULT _MK_MASK_CONST(0x0)
260 #define SLINK_COMMAND2_0_RXEN_DEFAULT_MASK _MK_MASK_CONST(0 x1)
261 #define SLINK_COMMAND2_0_RXEN_SW_DEFAULT _MK_MASK_CONST(0 x0)
262 #define SLINK_COMMAND2_0_RXEN_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
263 #define SLINK_COMMAND2_0_RXEN_DISABLE _MK_ENUM_CONST(0)
264 #define SLINK_COMMAND2_0_RXEN_ENABLE _MK_ENUM_CONST(1)
265
266 // Transmit enable
267 #define SLINK_COMMAND2_0_TXEN_SHIFT _MK_SHIFT_CONST(30)
268 #define SLINK_COMMAND2_0_TXEN_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_TXEN_SHIFT)
269 #define SLINK_COMMAND2_0_TXEN_RANGE 30:30
270 #define SLINK_COMMAND2_0_TXEN_WOFFSET 0x0
271 #define SLINK_COMMAND2_0_TXEN_DEFAULT _MK_MASK_CONST(0x0)
272 #define SLINK_COMMAND2_0_TXEN_DEFAULT_MASK _MK_MASK_CONST(0 x1)
273 #define SLINK_COMMAND2_0_TXEN_SW_DEFAULT _MK_MASK_CONST(0 x0)
274 #define SLINK_COMMAND2_0_TXEN_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
275 #define SLINK_COMMAND2_0_TXEN_DISABLE _MK_ENUM_CONST(0)
276 #define SLINK_COMMAND2_0_TXEN_ENABLE _MK_ENUM_CONST(1)
277
278 // 1 = bi directional mode 0 = Normal mode
279 #define SLINK_COMMAND2_0_SPC0_SHIFT _MK_SHIFT_CONST(29)
280 #define SLINK_COMMAND2_0_SPC0_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_SPC0_SHIFT)
281 #define SLINK_COMMAND2_0_SPC0_RANGE 29:29
282 #define SLINK_COMMAND2_0_SPC0_WOFFSET 0x0
283 #define SLINK_COMMAND2_0_SPC0_DEFAULT _MK_MASK_CONST(0x0)
284 #define SLINK_COMMAND2_0_SPC0_DEFAULT_MASK _MK_MASK_CONST(0 x1)
285 #define SLINK_COMMAND2_0_SPC0_SW_DEFAULT _MK_MASK_CONST(0 x0)
286 #define SLINK_COMMAND2_0_SPC0_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
287 #define SLINK_COMMAND2_0_SPC0_NORMAL _MK_ENUM_CONST(0)
288 #define SLINK_COMMAND2_0_SPC0_BIDIR _MK_ENUM_CONST(1)
289
290 // number of cycles between two packs in the DMA. Use of this field is deprecate d. Use INT_SIZE 8 = number of cycles between 2 packs (Max)
291 #define SLINK_COMMAND2_0_WAIT_PACK_INT_SHIFT _MK_SHIFT_CONST( 26)
292 #define SLINK_COMMAND2_0_WAIT_PACK_INT_FIELD (_MK_MASK_CONST( 0x7) << SLINK_COMMAND2_0_WAIT_PACK_INT_SHIFT)
293 #define SLINK_COMMAND2_0_WAIT_PACK_INT_RANGE 28:26
294 #define SLINK_COMMAND2_0_WAIT_PACK_INT_WOFFSET 0x0
295 #define SLINK_COMMAND2_0_WAIT_PACK_INT_DEFAULT _MK_MASK_CONST(0 x0)
296 #define SLINK_COMMAND2_0_WAIT_PACK_INT_DEFAULT_MASK _MK_MASK _CONST(0x7)
297 #define SLINK_COMMAND2_0_WAIT_PACK_INT_SW_DEFAULT _MK_MASK _CONST(0x0)
298 #define SLINK_COMMAND2_0_WAIT_PACK_INT_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
299
300 // Number of transfers the CS should stay low for word sizes more than 32.
301 // This will enable to do the trasnfer of word sizes > 32 without using apb-dma
302 // 0x00 For word_sizes 1 to 32
303 // 0x01 For word_sizes 33 to 64
304 // 0x10 For word sizes 65 to 96
305 // 0x11 For word sizes 97 to 128
306 #define SLINK_COMMAND2_0_FIFO_REFILLS_SHIFT _MK_SHIFT_CONST( 22)
307 #define SLINK_COMMAND2_0_FIFO_REFILLS_FIELD (_MK_MASK_CONST( 0x3) << SLINK_COMMAND2_0_FIFO_REFILLS_SHIFT)
308 #define SLINK_COMMAND2_0_FIFO_REFILLS_RANGE 23:22
309 #define SLINK_COMMAND2_0_FIFO_REFILLS_WOFFSET 0x0
310 #define SLINK_COMMAND2_0_FIFO_REFILLS_DEFAULT _MK_MASK_CONST(0 x0)
311 #define SLINK_COMMAND2_0_FIFO_REFILLS_DEFAULT_MASK _MK_MASK _CONST(0x3)
312 #define SLINK_COMMAND2_0_FIFO_REFILLS_SW_DEFAULT _MK_MASK _CONST(0x0)
313 #define SLINK_COMMAND2_0_FIFO_REFILLS_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
314 #define SLINK_COMMAND2_0_FIFO_REFILLS_REFILL0 _MK_ENUM_CONST(0 )
315 #define SLINK_COMMAND2_0_FIFO_REFILLS_REFILL1 _MK_ENUM_CONST(1 )
316 #define SLINK_COMMAND2_0_FIFO_REFILLS_REFILL2 _MK_ENUM_CONST(2 )
317 #define SLINK_COMMAND2_0_FIFO_REFILLS_REFILL3 _MK_ENUM_CONST(3 )
318
319 // number of cycles CS should stay inactive between packets 4 = number of cycles in setup for chip select (Max)
320 #define SLINK_COMMAND2_0_SS_SETUP_SHIFT _MK_SHIFT_CONST(20)
321 #define SLINK_COMMAND2_0_SS_SETUP_FIELD (_MK_MASK_CONST(0x3) << SLINK_COMMAND2_0_SS_SETUP_SHIFT)
322 #define SLINK_COMMAND2_0_SS_SETUP_RANGE 21:20
323 #define SLINK_COMMAND2_0_SS_SETUP_WOFFSET 0x0
324 #define SLINK_COMMAND2_0_SS_SETUP_DEFAULT _MK_MASK_CONST(0 x0)
325 #define SLINK_COMMAND2_0_SS_SETUP_DEFAULT_MASK _MK_MASK_CONST(0 x3)
326 #define SLINK_COMMAND2_0_SS_SETUP_SW_DEFAULT _MK_MASK_CONST(0 x0)
327 #define SLINK_COMMAND2_0_SS_SETUP_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
328
329 // 11 = chip select3 10 = chip select2 01 = chip select1 00 = chip select0(def)
330 #define SLINK_COMMAND2_0_SS_EN_SHIFT _MK_SHIFT_CONST(18)
331 #define SLINK_COMMAND2_0_SS_EN_FIELD (_MK_MASK_CONST(0x3) << SLINK_COMMAND2_0_SS_EN_SHIFT)
332 #define SLINK_COMMAND2_0_SS_EN_RANGE 19:18
333 #define SLINK_COMMAND2_0_SS_EN_WOFFSET 0x0
334 #define SLINK_COMMAND2_0_SS_EN_DEFAULT _MK_MASK_CONST(0x0)
335 #define SLINK_COMMAND2_0_SS_EN_DEFAULT_MASK _MK_MASK_CONST(0 x3)
336 #define SLINK_COMMAND2_0_SS_EN_SW_DEFAULT _MK_MASK_CONST(0 x0)
337 #define SLINK_COMMAND2_0_SS_EN_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
338 #define SLINK_COMMAND2_0_SS_EN_CS0 _MK_ENUM_CONST(0)
339 #define SLINK_COMMAND2_0_SS_EN_CS1 _MK_ENUM_CONST(1)
340 #define SLINK_COMMAND2_0_SS_EN_CS2 _MK_ENUM_CONST(2)
341 #define SLINK_COMMAND2_0_SS_EN_CS3 _MK_ENUM_CONST(3)
342
343 // 1 = CS active between two packets 0 = CS inactive between two packets
344 #define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_SHIFT _MK_SHIF T_CONST(17)
345 #define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_FIELD (_MK_MAS K_CONST(0x1) << SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_SHIFT)
346 #define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_RANGE 17:17
347 #define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_WOFFSET 0x0
348 #define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_DEFAULT _MK_MASK _CONST(0x0)
349 #define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_DEFAULT_MASK _MK_MASK _CONST(0x1)
350 #define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_SW_DEFAULT _MK_MASK _CONST(0x0)
351 #define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
352 #define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_LOW _MK_ENUM_CONST(0 )
353 #define SLINK_COMMAND2_0_CS_ACTIVE_BETWEEN_HIGH _MK_ENUM_CONST(1 )
354
355 // number of IDLE cycles between two packets
356 // 31 = thirty two cycles between 2 packets
357 #define SLINK_COMMAND2_0_INT_SIZE_SHIFT _MK_SHIFT_CONST(8)
358 #define SLINK_COMMAND2_0_INT_SIZE_FIELD (_MK_MASK_CONST(0x1f) << SLINK_COMMAND2_0_INT_SIZE_SHIFT)
359 #define SLINK_COMMAND2_0_INT_SIZE_RANGE 12:8
360 #define SLINK_COMMAND2_0_INT_SIZE_WOFFSET 0x0
361 #define SLINK_COMMAND2_0_INT_SIZE_DEFAULT _MK_MASK_CONST(0 x0)
362 #define SLINK_COMMAND2_0_INT_SIZE_DEFAULT_MASK _MK_MASK_CONST(0 x1f)
363 #define SLINK_COMMAND2_0_INT_SIZE_SW_DEFAULT _MK_MASK_CONST(0 x0)
364 #define SLINK_COMMAND2_0_INT_SIZE_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
365
366 // 1 = Enable Modef 0 = Disable Modef (def)
367 #define SLINK_COMMAND2_0_MODFEN_SHIFT _MK_SHIFT_CONST(7)
368 #define SLINK_COMMAND2_0_MODFEN_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_MODFEN_SHIFT)
369 #define SLINK_COMMAND2_0_MODFEN_RANGE 7:7
370 #define SLINK_COMMAND2_0_MODFEN_WOFFSET 0x0
371 #define SLINK_COMMAND2_0_MODFEN_DEFAULT _MK_MASK_CONST(0x0)
372 #define SLINK_COMMAND2_0_MODFEN_DEFAULT_MASK _MK_MASK_CONST(0 x1)
373 #define SLINK_COMMAND2_0_MODFEN_SW_DEFAULT _MK_MASK_CONST(0 x0)
374 #define SLINK_COMMAND2_0_MODFEN_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
375 #define SLINK_COMMAND2_0_MODFEN_DISABLE _MK_ENUM_CONST(0)
376 #define SLINK_COMMAND2_0_MODFEN_ENABLE _MK_ENUM_CONST(1)
377
378 // When set to 1 SLINK uses only one data line (mosi/miso) for Tx and Rx dependi ng on Master/Slave mode.
379 // This has effect only when SPC0 is set to 1
380 // 1 = Enable Output buffer 0 = Disable Output buffer (def)
381 #define SLINK_COMMAND2_0_BIDIROE_SHIFT _MK_SHIFT_CONST(6)
382 #define SLINK_COMMAND2_0_BIDIROE_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_BIDIROE_SHIFT)
383 #define SLINK_COMMAND2_0_BIDIROE_RANGE 6:6
384 #define SLINK_COMMAND2_0_BIDIROE_WOFFSET 0x0
385 #define SLINK_COMMAND2_0_BIDIROE_DEFAULT _MK_MASK_CONST(0 x0)
386 #define SLINK_COMMAND2_0_BIDIROE_DEFAULT_MASK _MK_MASK_CONST(0 x1)
387 #define SLINK_COMMAND2_0_BIDIROE_SW_DEFAULT _MK_MASK_CONST(0 x0)
388 #define SLINK_COMMAND2_0_BIDIROE_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
389 #define SLINK_COMMAND2_0_BIDIROE_DISABLE _MK_ENUM_CONST(0 )
390 #define SLINK_COMMAND2_0_BIDIROE_ENABLE _MK_ENUM_CONST(1)
391
392 // 1 = Enable SPIE interrupt 0 = Disable SPIE interrupt
393 #define SLINK_COMMAND2_0_SPIE_SHIFT _MK_SHIFT_CONST(4)
394 #define SLINK_COMMAND2_0_SPIE_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_SPIE_SHIFT)
395 #define SLINK_COMMAND2_0_SPIE_RANGE 4:4
396 #define SLINK_COMMAND2_0_SPIE_WOFFSET 0x0
397 #define SLINK_COMMAND2_0_SPIE_DEFAULT _MK_MASK_CONST(0x0)
398 #define SLINK_COMMAND2_0_SPIE_DEFAULT_MASK _MK_MASK_CONST(0 x1)
399 #define SLINK_COMMAND2_0_SPIE_SW_DEFAULT _MK_MASK_CONST(0 x0)
400 #define SLINK_COMMAND2_0_SPIE_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
401 #define SLINK_COMMAND2_0_SPIE_DISABLE _MK_ENUM_CONST(0)
402 #define SLINK_COMMAND2_0_SPIE_ENABLE _MK_ENUM_CONST(1)
403
404 // 1 = Enable 0 = Disable (def)
405 #define SLINK_COMMAND2_0_SSOE_SHIFT _MK_SHIFT_CONST(1)
406 #define SLINK_COMMAND2_0_SSOE_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_SSOE_SHIFT)
407 #define SLINK_COMMAND2_0_SSOE_RANGE 1:1
408 #define SLINK_COMMAND2_0_SSOE_WOFFSET 0x0
409 #define SLINK_COMMAND2_0_SSOE_DEFAULT _MK_MASK_CONST(0x0)
410 #define SLINK_COMMAND2_0_SSOE_DEFAULT_MASK _MK_MASK_CONST(0 x1)
411 #define SLINK_COMMAND2_0_SSOE_SW_DEFAULT _MK_MASK_CONST(0 x0)
412 #define SLINK_COMMAND2_0_SSOE_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
413 #define SLINK_COMMAND2_0_SSOE_DISABLE _MK_ENUM_CONST(0)
414 #define SLINK_COMMAND2_0_SSOE_ENABLE _MK_ENUM_CONST(1)
415
416 // 1 = Transmit LSB first 0 = Transmit LSB last
417 #define SLINK_COMMAND2_0_LSBFE_SHIFT _MK_SHIFT_CONST(0)
418 #define SLINK_COMMAND2_0_LSBFE_FIELD (_MK_MASK_CONST(0x1) << SLINK_COMMAND2_0_LSBFE_SHIFT)
419 #define SLINK_COMMAND2_0_LSBFE_RANGE 0:0
420 #define SLINK_COMMAND2_0_LSBFE_WOFFSET 0x0
421 #define SLINK_COMMAND2_0_LSBFE_DEFAULT _MK_MASK_CONST(0x0)
422 #define SLINK_COMMAND2_0_LSBFE_DEFAULT_MASK _MK_MASK_CONST(0 x1)
423 #define SLINK_COMMAND2_0_LSBFE_SW_DEFAULT _MK_MASK_CONST(0 x0)
424 #define SLINK_COMMAND2_0_LSBFE_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
425 #define SLINK_COMMAND2_0_LSBFE_LAST _MK_ENUM_CONST(0)
426 #define SLINK_COMMAND2_0_LSBFE_FIRST _MK_ENUM_CONST(1)
427
428
429 // Register SLINK_STATUS_0
430 #define SLINK_STATUS_0 _MK_ADDR_CONST(0x8)
431 #define SLINK_STATUS_0_SECURE 0x0
432 #define SLINK_STATUS_0_WORD_COUNT 0x1
433 #define SLINK_STATUS_0_RESET_VAL _MK_MASK_CONST(0xa00000)
434 #define SLINK_STATUS_0_RESET_MASK _MK_MASK_CONST(0xfffdfff f)
435 #define SLINK_STATUS_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
436 #define SLINK_STATUS_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
437 #define SLINK_STATUS_0_READ_MASK _MK_MASK_CONST(0xfffdfff f)
438 #define SLINK_STATUS_0_WRITE_MASK _MK_MASK_CONST(0xfffdfff f)
439 // 1 = Controller is Busy 0 = Controller is Free
440 #define SLINK_STATUS_0_BSY_SHIFT _MK_SHIFT_CONST(31)
441 #define SLINK_STATUS_0_BSY_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_BSY_SHIFT)
442 #define SLINK_STATUS_0_BSY_RANGE 31:31
443 #define SLINK_STATUS_0_BSY_WOFFSET 0x0
444 #define SLINK_STATUS_0_BSY_DEFAULT _MK_MASK_CONST(0x0)
445 #define SLINK_STATUS_0_BSY_DEFAULT_MASK _MK_MASK_CONST(0x1)
446 #define SLINK_STATUS_0_BSY_SW_DEFAULT _MK_MASK_CONST(0x0)
447 #define SLINK_STATUS_0_BSY_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
448 #define SLINK_STATUS_0_BSY_IDLE _MK_ENUM_CONST(0)
449 #define SLINK_STATUS_0_BSY_BUSY _MK_ENUM_CONST(1)
450
451 // 1= contoller is Ready for transfer 0 = controller is Busy. Write 1 to clear t he flag
452 #define SLINK_STATUS_0_RDY_SHIFT _MK_SHIFT_CONST(30)
453 #define SLINK_STATUS_0_RDY_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_RDY_SHIFT)
454 #define SLINK_STATUS_0_RDY_RANGE 30:30
455 #define SLINK_STATUS_0_RDY_WOFFSET 0x0
456 #define SLINK_STATUS_0_RDY_DEFAULT _MK_MASK_CONST(0x0)
457 #define SLINK_STATUS_0_RDY_DEFAULT_MASK _MK_MASK_CONST(0x1)
458 #define SLINK_STATUS_0_RDY_SW_DEFAULT _MK_MASK_CONST(0x0)
459 #define SLINK_STATUS_0_RDY_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
460 #define SLINK_STATUS_0_RDY_NOT_READY _MK_ENUM_CONST(0)
461 #define SLINK_STATUS_0_RDY_READY _MK_ENUM_CONST(1)
462
463 // Will be set to 1 by HW when Errors such as Underflow/overflow occurs.Write 1 to clear the flag
464 #define SLINK_STATUS_0_ERR_SHIFT _MK_SHIFT_CONST(29)
465 #define SLINK_STATUS_0_ERR_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_ERR_SHIFT)
466 #define SLINK_STATUS_0_ERR_RANGE 29:29
467 #define SLINK_STATUS_0_ERR_WOFFSET 0x0
468 #define SLINK_STATUS_0_ERR_DEFAULT _MK_MASK_CONST(0x0)
469 #define SLINK_STATUS_0_ERR_DEFAULT_MASK _MK_MASK_CONST(0x1)
470 #define SLINK_STATUS_0_ERR_SW_DEFAULT _MK_MASK_CONST(0x0)
471 #define SLINK_STATUS_0_ERR_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
472 #define SLINK_STATUS_0_ERR_OK _MK_ENUM_CONST(0)
473 #define SLINK_STATUS_0_ERR_ERROR _MK_ENUM_CONST(1)
474
475 // SCLK input signal State
476 #define SLINK_STATUS_0_SCLK_SHIFT _MK_SHIFT_CONST(28)
477 #define SLINK_STATUS_0_SCLK_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_SCLK_SHIFT)
478 #define SLINK_STATUS_0_SCLK_RANGE 28:28
479 #define SLINK_STATUS_0_SCLK_WOFFSET 0x0
480 #define SLINK_STATUS_0_SCLK_DEFAULT _MK_MASK_CONST(0x0)
481 #define SLINK_STATUS_0_SCLK_DEFAULT_MASK _MK_MASK_CONST(0 x1)
482 #define SLINK_STATUS_0_SCLK_SW_DEFAULT _MK_MASK_CONST(0x0)
483 #define SLINK_STATUS_0_SCLK_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
484 #define SLINK_STATUS_0_SCLK_LOW _MK_ENUM_CONST(0)
485 #define SLINK_STATUS_0_SCLK_HIGH _MK_ENUM_CONST(1)
486
487 // Flush the RX FIFO
488 #define SLINK_STATUS_0_RX_FLUSH_SHIFT _MK_SHIFT_CONST(27)
489 #define SLINK_STATUS_0_RX_FLUSH_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_RX_FLUSH_SHIFT)
490 #define SLINK_STATUS_0_RX_FLUSH_RANGE 27:27
491 #define SLINK_STATUS_0_RX_FLUSH_WOFFSET 0x0
492 #define SLINK_STATUS_0_RX_FLUSH_DEFAULT _MK_MASK_CONST(0x0)
493 #define SLINK_STATUS_0_RX_FLUSH_DEFAULT_MASK _MK_MASK_CONST(0 x1)
494 #define SLINK_STATUS_0_RX_FLUSH_SW_DEFAULT _MK_MASK_CONST(0 x0)
495 #define SLINK_STATUS_0_RX_FLUSH_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
496 #define SLINK_STATUS_0_RX_FLUSH_NOP _MK_ENUM_CONST(0)
497 #define SLINK_STATUS_0_RX_FLUSH_FLUSH _MK_ENUM_CONST(1)
498
499 // Flush the TX FIFO
500 #define SLINK_STATUS_0_TX_FLUSH_SHIFT _MK_SHIFT_CONST(26)
501 #define SLINK_STATUS_0_TX_FLUSH_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_TX_FLUSH_SHIFT)
502 #define SLINK_STATUS_0_TX_FLUSH_RANGE 26:26
503 #define SLINK_STATUS_0_TX_FLUSH_WOFFSET 0x0
504 #define SLINK_STATUS_0_TX_FLUSH_DEFAULT _MK_MASK_CONST(0x0)
505 #define SLINK_STATUS_0_TX_FLUSH_DEFAULT_MASK _MK_MASK_CONST(0 x1)
506 #define SLINK_STATUS_0_TX_FLUSH_SW_DEFAULT _MK_MASK_CONST(0 x0)
507 #define SLINK_STATUS_0_TX_FLUSH_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
508 #define SLINK_STATUS_0_TX_FLUSH_NOP _MK_ENUM_CONST(0)
509 #define SLINK_STATUS_0_TX_FLUSH_FLUSH _MK_ENUM_CONST(1)
510
511 // RX FIFO Overflow
512 #define SLINK_STATUS_0_RX_OVF_SHIFT _MK_SHIFT_CONST(25)
513 #define SLINK_STATUS_0_RX_OVF_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_RX_OVF_SHIFT)
514 #define SLINK_STATUS_0_RX_OVF_RANGE 25:25
515 #define SLINK_STATUS_0_RX_OVF_WOFFSET 0x0
516 #define SLINK_STATUS_0_RX_OVF_DEFAULT _MK_MASK_CONST(0x0)
517 #define SLINK_STATUS_0_RX_OVF_DEFAULT_MASK _MK_MASK_CONST(0 x1)
518 #define SLINK_STATUS_0_RX_OVF_SW_DEFAULT _MK_MASK_CONST(0 x0)
519 #define SLINK_STATUS_0_RX_OVF_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
520 #define SLINK_STATUS_0_RX_OVF_OK _MK_ENUM_CONST(0)
521 #define SLINK_STATUS_0_RX_OVF_ERROR _MK_ENUM_CONST(1)
522
523 // TX FIFO Underflow
524 #define SLINK_STATUS_0_TX_UNF_SHIFT _MK_SHIFT_CONST(24)
525 #define SLINK_STATUS_0_TX_UNF_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_TX_UNF_SHIFT)
526 #define SLINK_STATUS_0_TX_UNF_RANGE 24:24
527 #define SLINK_STATUS_0_TX_UNF_WOFFSET 0x0
528 #define SLINK_STATUS_0_TX_UNF_DEFAULT _MK_MASK_CONST(0x0)
529 #define SLINK_STATUS_0_TX_UNF_DEFAULT_MASK _MK_MASK_CONST(0 x1)
530 #define SLINK_STATUS_0_TX_UNF_SW_DEFAULT _MK_MASK_CONST(0 x0)
531 #define SLINK_STATUS_0_TX_UNF_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
532 #define SLINK_STATUS_0_TX_UNF_OK _MK_ENUM_CONST(0)
533 #define SLINK_STATUS_0_TX_UNF_ERROR _MK_ENUM_CONST(1)
534
535 // RX FIFO Empty
536 #define SLINK_STATUS_0_RX_EMPTY_SHIFT _MK_SHIFT_CONST(23)
537 #define SLINK_STATUS_0_RX_EMPTY_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_RX_EMPTY_SHIFT)
538 #define SLINK_STATUS_0_RX_EMPTY_RANGE 23:23
539 #define SLINK_STATUS_0_RX_EMPTY_WOFFSET 0x0
540 #define SLINK_STATUS_0_RX_EMPTY_DEFAULT _MK_MASK_CONST(0x1)
541 #define SLINK_STATUS_0_RX_EMPTY_DEFAULT_MASK _MK_MASK_CONST(0 x1)
542 #define SLINK_STATUS_0_RX_EMPTY_SW_DEFAULT _MK_MASK_CONST(0 x0)
543 #define SLINK_STATUS_0_RX_EMPTY_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
544 #define SLINK_STATUS_0_RX_EMPTY_NOT_EMPTY _MK_ENUM_CONST(0 )
545 #define SLINK_STATUS_0_RX_EMPTY_EMPTY _MK_ENUM_CONST(1)
546
547 // RX FIFO Full
548 #define SLINK_STATUS_0_RX_FULL_SHIFT _MK_SHIFT_CONST(22)
549 #define SLINK_STATUS_0_RX_FULL_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_RX_FULL_SHIFT)
550 #define SLINK_STATUS_0_RX_FULL_RANGE 22:22
551 #define SLINK_STATUS_0_RX_FULL_WOFFSET 0x0
552 #define SLINK_STATUS_0_RX_FULL_DEFAULT _MK_MASK_CONST(0x0)
553 #define SLINK_STATUS_0_RX_FULL_DEFAULT_MASK _MK_MASK_CONST(0 x1)
554 #define SLINK_STATUS_0_RX_FULL_SW_DEFAULT _MK_MASK_CONST(0 x0)
555 #define SLINK_STATUS_0_RX_FULL_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
556 #define SLINK_STATUS_0_RX_FULL_NOT_FULL _MK_ENUM_CONST(0)
557 #define SLINK_STATUS_0_RX_FULL_FULL _MK_ENUM_CONST(1)
558
559 // TX FIFO Empty
560 #define SLINK_STATUS_0_TX_EMPTY_SHIFT _MK_SHIFT_CONST(21)
561 #define SLINK_STATUS_0_TX_EMPTY_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_TX_EMPTY_SHIFT)
562 #define SLINK_STATUS_0_TX_EMPTY_RANGE 21:21
563 #define SLINK_STATUS_0_TX_EMPTY_WOFFSET 0x0
564 #define SLINK_STATUS_0_TX_EMPTY_DEFAULT _MK_MASK_CONST(0x1)
565 #define SLINK_STATUS_0_TX_EMPTY_DEFAULT_MASK _MK_MASK_CONST(0 x1)
566 #define SLINK_STATUS_0_TX_EMPTY_SW_DEFAULT _MK_MASK_CONST(0 x0)
567 #define SLINK_STATUS_0_TX_EMPTY_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
568 #define SLINK_STATUS_0_TX_EMPTY_NOT_EMPTY _MK_ENUM_CONST(0 )
569 #define SLINK_STATUS_0_TX_EMPTY_EMPTY _MK_ENUM_CONST(1)
570
571 // TX FIFO Full
572 #define SLINK_STATUS_0_TX_FULL_SHIFT _MK_SHIFT_CONST(20)
573 #define SLINK_STATUS_0_TX_FULL_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_TX_FULL_SHIFT)
574 #define SLINK_STATUS_0_TX_FULL_RANGE 20:20
575 #define SLINK_STATUS_0_TX_FULL_WOFFSET 0x0
576 #define SLINK_STATUS_0_TX_FULL_DEFAULT _MK_MASK_CONST(0x0)
577 #define SLINK_STATUS_0_TX_FULL_DEFAULT_MASK _MK_MASK_CONST(0 x1)
578 #define SLINK_STATUS_0_TX_FULL_SW_DEFAULT _MK_MASK_CONST(0 x0)
579 #define SLINK_STATUS_0_TX_FULL_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
580 #define SLINK_STATUS_0_TX_FULL_NOT_FULL _MK_ENUM_CONST(0)
581 #define SLINK_STATUS_0_TX_FULL_FULL _MK_ENUM_CONST(1)
582
583 // TX FIFO Overflow
584 #define SLINK_STATUS_0_TX_OVF_SHIFT _MK_SHIFT_CONST(19)
585 #define SLINK_STATUS_0_TX_OVF_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_TX_OVF_SHIFT)
586 #define SLINK_STATUS_0_TX_OVF_RANGE 19:19
587 #define SLINK_STATUS_0_TX_OVF_WOFFSET 0x0
588 #define SLINK_STATUS_0_TX_OVF_DEFAULT _MK_MASK_CONST(0x0)
589 #define SLINK_STATUS_0_TX_OVF_DEFAULT_MASK _MK_MASK_CONST(0 x1)
590 #define SLINK_STATUS_0_TX_OVF_SW_DEFAULT _MK_MASK_CONST(0 x0)
591 #define SLINK_STATUS_0_TX_OVF_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
592 #define SLINK_STATUS_0_TX_OVF_OK _MK_ENUM_CONST(0)
593 #define SLINK_STATUS_0_TX_OVF_ERROR _MK_ENUM_CONST(1)
594
595 // RX FIFO Underflow
596 #define SLINK_STATUS_0_RX_UNF_SHIFT _MK_SHIFT_CONST(18)
597 #define SLINK_STATUS_0_RX_UNF_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_RX_UNF_SHIFT)
598 #define SLINK_STATUS_0_RX_UNF_RANGE 18:18
599 #define SLINK_STATUS_0_RX_UNF_WOFFSET 0x0
600 #define SLINK_STATUS_0_RX_UNF_DEFAULT _MK_MASK_CONST(0x0)
601 #define SLINK_STATUS_0_RX_UNF_DEFAULT_MASK _MK_MASK_CONST(0 x1)
602 #define SLINK_STATUS_0_RX_UNF_SW_DEFAULT _MK_MASK_CONST(0 x0)
603 #define SLINK_STATUS_0_RX_UNF_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
604 #define SLINK_STATUS_0_RX_UNF_OK _MK_ENUM_CONST(0)
605 #define SLINK_STATUS_0_RX_UNF_ERROR _MK_ENUM_CONST(1)
606
607 // Mode fault
608 #define SLINK_STATUS_0_MODF_SHIFT _MK_SHIFT_CONST(16)
609 #define SLINK_STATUS_0_MODF_FIELD (_MK_MASK_CONST(0x1) << SLINK_STATUS_0_MODF_SHIFT)
610 #define SLINK_STATUS_0_MODF_RANGE 16:16
611 #define SLINK_STATUS_0_MODF_WOFFSET 0x0
612 #define SLINK_STATUS_0_MODF_DEFAULT _MK_MASK_CONST(0x0)
613 #define SLINK_STATUS_0_MODF_DEFAULT_MASK _MK_MASK_CONST(0 x1)
614 #define SLINK_STATUS_0_MODF_SW_DEFAULT _MK_MASK_CONST(0x0)
615 #define SLINK_STATUS_0_MODF_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
616 #define SLINK_STATUS_0_MODF_OK _MK_ENUM_CONST(0)
617 #define SLINK_STATUS_0_MODF_ERROR _MK_ENUM_CONST(1)
618
619 // number of blocks transferred (BLOCK count) during dma
620 #define SLINK_STATUS_0_BLK_CNT_SHIFT _MK_SHIFT_CONST(0)
621 #define SLINK_STATUS_0_BLK_CNT_FIELD (_MK_MASK_CONST(0xffff) << SLINK_STATUS_0_BLK_CNT_SHIFT)
622 #define SLINK_STATUS_0_BLK_CNT_RANGE 15:0
623 #define SLINK_STATUS_0_BLK_CNT_WOFFSET 0x0
624 #define SLINK_STATUS_0_BLK_CNT_DEFAULT _MK_MASK_CONST(0x0)
625 #define SLINK_STATUS_0_BLK_CNT_DEFAULT_MASK _MK_MASK_CONST(0 xffff)
626 #define SLINK_STATUS_0_BLK_CNT_SW_DEFAULT _MK_MASK_CONST(0 x0)
627 #define SLINK_STATUS_0_BLK_CNT_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
628
629 // In GO mode indicates number of words transferred (word count)
630 #define SLINK_STATUS_0_WORD_SHIFT _MK_SHIFT_CONST(5)
631 #define SLINK_STATUS_0_WORD_FIELD (_MK_MASK_CONST(0x1f) << SLINK_STATUS_0_WORD_SHIFT)
632 #define SLINK_STATUS_0_WORD_RANGE 9:5
633 #define SLINK_STATUS_0_WORD_WOFFSET 0x0
634 #define SLINK_STATUS_0_WORD_DEFAULT _MK_MASK_CONST(0x0)
635 #define SLINK_STATUS_0_WORD_DEFAULT_MASK _MK_MASK_CONST(0 x1f)
636 #define SLINK_STATUS_0_WORD_SW_DEFAULT _MK_MASK_CONST(0x0)
637 #define SLINK_STATUS_0_WORD_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
638
639 // In Go mode indicates mumber of bits trasnferred (bit count)
640 #define SLINK_STATUS_0_COUNT_SHIFT _MK_SHIFT_CONST(0)
641 #define SLINK_STATUS_0_COUNT_FIELD (_MK_MASK_CONST(0x1f) << SLINK_STATUS_0_COUNT_SHIFT)
642 #define SLINK_STATUS_0_COUNT_RANGE 4:0
643 #define SLINK_STATUS_0_COUNT_WOFFSET 0x0
644 #define SLINK_STATUS_0_COUNT_DEFAULT _MK_MASK_CONST(0x0)
645 #define SLINK_STATUS_0_COUNT_DEFAULT_MASK _MK_MASK_CONST(0 x1f)
646 #define SLINK_STATUS_0_COUNT_SW_DEFAULT _MK_MASK_CONST(0x0)
647 #define SLINK_STATUS_0_COUNT_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
648
649
650 // Reserved address 12 [0xc]
651
652 // Register SLINK_MAS_DATA_0
653 #define SLINK_MAS_DATA_0 _MK_ADDR_CONST(0x10)
654 #define SLINK_MAS_DATA_0_SECURE 0x0
655 #define SLINK_MAS_DATA_0_WORD_COUNT 0x1
656 #define SLINK_MAS_DATA_0_RESET_VAL _MK_MASK_CONST(0x0)
657 #define SLINK_MAS_DATA_0_RESET_MASK _MK_MASK_CONST(0xfffffff f)
658 #define SLINK_MAS_DATA_0_SW_DEFAULT_VAL _MK_MASK_CONST(0 x0)
659 #define SLINK_MAS_DATA_0_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
660 #define SLINK_MAS_DATA_0_READ_MASK _MK_MASK_CONST(0xfffffff f)
661 #define SLINK_MAS_DATA_0_WRITE_MASK _MK_MASK_CONST(0xfffffff f)
662 // Tx/Rx Shift Pattern
663 #define SLINK_MAS_DATA_0_MASTER_BUFFER_SHIFT _MK_SHIFT_CONST( 0)
664 #define SLINK_MAS_DATA_0_MASTER_BUFFER_FIELD (_MK_MASK_CONST( 0xffffffff) << SLINK_MAS_DATA_0_MASTER_BUFFER_SHIFT)
665 #define SLINK_MAS_DATA_0_MASTER_BUFFER_RANGE 31:0
666 #define SLINK_MAS_DATA_0_MASTER_BUFFER_WOFFSET 0x0
667 #define SLINK_MAS_DATA_0_MASTER_BUFFER_DEFAULT _MK_MASK_CONST(0 x0)
668 #define SLINK_MAS_DATA_0_MASTER_BUFFER_DEFAULT_MASK _MK_MASK _CONST(0xffffffff)
669 #define SLINK_MAS_DATA_0_MASTER_BUFFER_SW_DEFAULT _MK_MASK _CONST(0x0)
670 #define SLINK_MAS_DATA_0_MASTER_BUFFER_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
671
672
673 // Register SLINK_SLAVE_DATA_0
674 #define SLINK_SLAVE_DATA_0 _MK_ADDR_CONST(0x14)
675 #define SLINK_SLAVE_DATA_0_SECURE 0x0
676 #define SLINK_SLAVE_DATA_0_WORD_COUNT 0x1
677 #define SLINK_SLAVE_DATA_0_RESET_VAL _MK_MASK_CONST(0x0)
678 #define SLINK_SLAVE_DATA_0_RESET_MASK _MK_MASK_CONST(0xfffffff f)
679 #define SLINK_SLAVE_DATA_0_SW_DEFAULT_VAL _MK_MASK_CONST(0 x0)
680 #define SLINK_SLAVE_DATA_0_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
681 #define SLINK_SLAVE_DATA_0_READ_MASK _MK_MASK_CONST(0xfffffff f)
682 #define SLINK_SLAVE_DATA_0_WRITE_MASK _MK_MASK_CONST(0xfffffff f)
683 // Tx/Rx Shift Pattern
684 #define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_SHIFT _MK_SHIFT_CONST( 0)
685 #define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_FIELD (_MK_MASK_CONST( 0xffffffff) << SLINK_SLAVE_DATA_0_SLAVE_BUFFER_SHIFT)
686 #define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_RANGE 31:0
687 #define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_WOFFSET 0x0
688 #define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_DEFAULT _MK_MASK_CONST(0 x0)
689 #define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_DEFAULT_MASK _MK_MASK _CONST(0xffffffff)
690 #define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_SW_DEFAULT _MK_MASK _CONST(0x0)
691 #define SLINK_SLAVE_DATA_0_SLAVE_BUFFER_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
692
693
694 // Register SLINK_DMA_CTL_0
695 #define SLINK_DMA_CTL_0 _MK_ADDR_CONST(0x18)
696 #define SLINK_DMA_CTL_0_SECURE 0x0
697 #define SLINK_DMA_CTL_0_WORD_COUNT 0x1
698 #define SLINK_DMA_CTL_0_RESET_VAL _MK_MASK_CONST(0x0)
699 #define SLINK_DMA_CTL_0_RESET_MASK _MK_MASK_CONST(0x8c7ffff f)
700 #define SLINK_DMA_CTL_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
701 #define SLINK_DMA_CTL_0_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
702 #define SLINK_DMA_CTL_0_READ_MASK _MK_MASK_CONST(0x8c7ffff f)
703 #define SLINK_DMA_CTL_0_WRITE_MASK _MK_MASK_CONST(0x8c7ffff f)
704 // 1 = DMA mode is enabled, 0 = DMA disabled
705 #define SLINK_DMA_CTL_0_DMA_EN_SHIFT _MK_SHIFT_CONST(31)
706 #define SLINK_DMA_CTL_0_DMA_EN_FIELD (_MK_MASK_CONST(0x1) << SLINK_DMA_CTL_0_DMA_EN_SHIFT)
707 #define SLINK_DMA_CTL_0_DMA_EN_RANGE 31:31
708 #define SLINK_DMA_CTL_0_DMA_EN_WOFFSET 0x0
709 #define SLINK_DMA_CTL_0_DMA_EN_DEFAULT _MK_MASK_CONST(0x0)
710 #define SLINK_DMA_CTL_0_DMA_EN_DEFAULT_MASK _MK_MASK_CONST(0 x1)
711 #define SLINK_DMA_CTL_0_DMA_EN_SW_DEFAULT _MK_MASK_CONST(0 x0)
712 #define SLINK_DMA_CTL_0_DMA_EN_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
713 #define SLINK_DMA_CTL_0_DMA_EN_DISABLE _MK_ENUM_CONST(0)
714 #define SLINK_DMA_CTL_0_DMA_EN_ENABLE _MK_ENUM_CONST(1)
715
716 // Interrupt enable on receive completion.
717 // 1 = Enable interrupt generation at the end of a receive transfer.
718 // 0 = Disable interrupt generation for receive.
719 #define SLINK_DMA_CTL_0_IE_RXC_SHIFT _MK_SHIFT_CONST(27)
720 #define SLINK_DMA_CTL_0_IE_RXC_FIELD (_MK_MASK_CONST(0x1) << SLINK_DMA_CTL_0_IE_RXC_SHIFT)
721 #define SLINK_DMA_CTL_0_IE_RXC_RANGE 27:27
722 #define SLINK_DMA_CTL_0_IE_RXC_WOFFSET 0x0
723 #define SLINK_DMA_CTL_0_IE_RXC_DEFAULT _MK_MASK_CONST(0x0)
724 #define SLINK_DMA_CTL_0_IE_RXC_DEFAULT_MASK _MK_MASK_CONST(0 x1)
725 #define SLINK_DMA_CTL_0_IE_RXC_SW_DEFAULT _MK_MASK_CONST(0 x0)
726 #define SLINK_DMA_CTL_0_IE_RXC_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
727 #define SLINK_DMA_CTL_0_IE_RXC_DISABLE _MK_ENUM_CONST(0)
728 #define SLINK_DMA_CTL_0_IE_RXC_ENABLE _MK_ENUM_CONST(1)
729
730 // Interrupt enable on transmit completion.
731 // 1 = Enable interrupt generation at the end of a transmit transfer.
732 // 0 = Disable interrupt generation for transmit.
733 #define SLINK_DMA_CTL_0_IE_TXC_SHIFT _MK_SHIFT_CONST(26)
734 #define SLINK_DMA_CTL_0_IE_TXC_FIELD (_MK_MASK_CONST(0x1) << SLINK_DMA_CTL_0_IE_TXC_SHIFT)
735 #define SLINK_DMA_CTL_0_IE_TXC_RANGE 26:26
736 #define SLINK_DMA_CTL_0_IE_TXC_WOFFSET 0x0
737 #define SLINK_DMA_CTL_0_IE_TXC_DEFAULT _MK_MASK_CONST(0x0)
738 #define SLINK_DMA_CTL_0_IE_TXC_DEFAULT_MASK _MK_MASK_CONST(0 x1)
739 #define SLINK_DMA_CTL_0_IE_TXC_SW_DEFAULT _MK_MASK_CONST(0 x0)
740 #define SLINK_DMA_CTL_0_IE_TXC_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
741 #define SLINK_DMA_CTL_0_IE_TXC_DISABLE _MK_ENUM_CONST(0)
742 #define SLINK_DMA_CTL_0_IE_TXC_ENABLE _MK_ENUM_CONST(1)
743
744 // Specifies the packet size during the DMA mode
745 // 00 = 4 bits in a pack
746 // 01 = 8bits in a pack
747 // 10 = 16 in a pack
748 // 10 = 32 in a pack
749 #define SLINK_DMA_CTL_0_PACK_SIZE_SHIFT _MK_SHIFT_CONST(21)
750 #define SLINK_DMA_CTL_0_PACK_SIZE_FIELD (_MK_MASK_CONST(0x3) << SLINK_DMA_CTL_0_PACK_SIZE_SHIFT)
751 #define SLINK_DMA_CTL_0_PACK_SIZE_RANGE 22:21
752 #define SLINK_DMA_CTL_0_PACK_SIZE_WOFFSET 0x0
753 #define SLINK_DMA_CTL_0_PACK_SIZE_DEFAULT _MK_MASK_CONST(0 x0)
754 #define SLINK_DMA_CTL_0_PACK_SIZE_DEFAULT_MASK _MK_MASK_CONST(0 x3)
755 #define SLINK_DMA_CTL_0_PACK_SIZE_SW_DEFAULT _MK_MASK_CONST(0 x0)
756 #define SLINK_DMA_CTL_0_PACK_SIZE_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
757 #define SLINK_DMA_CTL_0_PACK_SIZE_PACK4 _MK_ENUM_CONST(0)
758 #define SLINK_DMA_CTL_0_PACK_SIZE_PACK8 _MK_ENUM_CONST(1)
759 #define SLINK_DMA_CTL_0_PACK_SIZE_PACK16 _MK_ENUM_CONST(2 )
760 #define SLINK_DMA_CTL_0_PACK_SIZE_PACK32 _MK_ENUM_CONST(3 )
761
762 // Packed mode enable bit.
763 // 1 = Packed mode is enabled. This is only valid if BIT_LENGTH in SBCX_COMMAND register is set to 3, 7, 15 or 31
764 // When enabled, all 32-bits of data in the FIFO contains valid
765 // data packets of either 8-bit or 16-bit length.
766 // 0 = Packed mode is disabled.
767 #define SLINK_DMA_CTL_0_PACKED_SHIFT _MK_SHIFT_CONST(20)
768 #define SLINK_DMA_CTL_0_PACKED_FIELD (_MK_MASK_CONST(0x1) << SLINK_DMA_CTL_0_PACKED_SHIFT)
769 #define SLINK_DMA_CTL_0_PACKED_RANGE 20:20
770 #define SLINK_DMA_CTL_0_PACKED_WOFFSET 0x0
771 #define SLINK_DMA_CTL_0_PACKED_DEFAULT _MK_MASK_CONST(0x0)
772 #define SLINK_DMA_CTL_0_PACKED_DEFAULT_MASK _MK_MASK_CONST(0 x1)
773 #define SLINK_DMA_CTL_0_PACKED_SW_DEFAULT _MK_MASK_CONST(0 x0)
774 #define SLINK_DMA_CTL_0_PACKED_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
775 #define SLINK_DMA_CTL_0_PACKED_DISABLE _MK_ENUM_CONST(0)
776 #define SLINK_DMA_CTL_0_PACKED_ENABLE _MK_ENUM_CONST(1)
777
778 // Receive FIFO trigger level.
779 // 00: 1 word. DMA trigger is asserted whenever there is at least 1 word in the RX FIFO.
780 // 01: 4 word. DMA trigger is asserted when there are at least 4 words in the RX FIFO.
781 // 10: 8 word. DMA trigger is asserted when there are at least 8 words in the RX FIFO.
782 // 11: 16 word. DMA trigger is asserted when there are at least 16 words in the RX FIFO.
783 #define SLINK_DMA_CTL_0_RX_TRIG_SHIFT _MK_SHIFT_CONST(18)
784 #define SLINK_DMA_CTL_0_RX_TRIG_FIELD (_MK_MASK_CONST(0x3) << SLINK_DMA_CTL_0_RX_TRIG_SHIFT)
785 #define SLINK_DMA_CTL_0_RX_TRIG_RANGE 19:18
786 #define SLINK_DMA_CTL_0_RX_TRIG_WOFFSET 0x0
787 #define SLINK_DMA_CTL_0_RX_TRIG_DEFAULT _MK_MASK_CONST(0x0)
788 #define SLINK_DMA_CTL_0_RX_TRIG_DEFAULT_MASK _MK_MASK_CONST(0 x3)
789 #define SLINK_DMA_CTL_0_RX_TRIG_SW_DEFAULT _MK_MASK_CONST(0 x0)
790 #define SLINK_DMA_CTL_0_RX_TRIG_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
791 #define SLINK_DMA_CTL_0_RX_TRIG_TRIG1 _MK_ENUM_CONST(0)
792 #define SLINK_DMA_CTL_0_RX_TRIG_TRIG4 _MK_ENUM_CONST(1)
793 #define SLINK_DMA_CTL_0_RX_TRIG_TRIG8 _MK_ENUM_CONST(2)
794 #define SLINK_DMA_CTL_0_RX_TRIG_TRIG16 _MK_ENUM_CONST(3)
795
796 // Transmit FIFO trigger level.
797 // 00: 1 word. DMA trigger is asserted whenever there is at least 1 word in the TX FIFO.
798 // 01: 4 word. DMA trigger is asserted when there are at least 4 words in the TX FIFO.
799 // 10: 8 word. DMA trigger is asserted when there are at least 8 words in the TX FIFO.
800 // 11: 16 word. DMA trigger is asserted when there are at least 16 words in the TX FIFO.
801 #define SLINK_DMA_CTL_0_TX_TRIG_SHIFT _MK_SHIFT_CONST(16)
802 #define SLINK_DMA_CTL_0_TX_TRIG_FIELD (_MK_MASK_CONST(0x3) << SLINK_DMA_CTL_0_TX_TRIG_SHIFT)
803 #define SLINK_DMA_CTL_0_TX_TRIG_RANGE 17:16
804 #define SLINK_DMA_CTL_0_TX_TRIG_WOFFSET 0x0
805 #define SLINK_DMA_CTL_0_TX_TRIG_DEFAULT _MK_MASK_CONST(0x0)
806 #define SLINK_DMA_CTL_0_TX_TRIG_DEFAULT_MASK _MK_MASK_CONST(0 x3)
807 #define SLINK_DMA_CTL_0_TX_TRIG_SW_DEFAULT _MK_MASK_CONST(0 x0)
808 #define SLINK_DMA_CTL_0_TX_TRIG_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
809 #define SLINK_DMA_CTL_0_TX_TRIG_TRIG1 _MK_ENUM_CONST(0)
810 #define SLINK_DMA_CTL_0_TX_TRIG_TRIG4 _MK_ENUM_CONST(1)
811 #define SLINK_DMA_CTL_0_TX_TRIG_TRIG8 _MK_ENUM_CONST(2)
812 #define SLINK_DMA_CTL_0_TX_TRIG_TRIG16 _MK_ENUM_CONST(3)
813
814 // N = N+1 packets
815 // number of packets should be aligned in the packed mode trasnfers.
816 // packed mode --> Number of packets
817 // 3 multiple of 8
818 // 7 multiple of 4
819 // 15 multiple of 2
820 // 31 from 0 to N
821 #define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_SHIFT _MK_SHIFT_CONST( 0)
822 #define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_FIELD (_MK_MASK_CONST( 0xffff) << SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_SHIFT)
823 #define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_RANGE 15:0
824 #define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_WOFFSET 0x0
825 #define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_DEFAULT _MK_MASK_CONST(0 x0)
826 #define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_DEFAULT_MASK _MK_MASK _CONST(0xffff)
827 #define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_SW_DEFAULT _MK_MASK _CONST(0x0)
828 #define SLINK_DMA_CTL_0_DMA_BLOCK_SIZE_SW_DEFAULT_MASK _MK_MASK _CONST(0x0)
829
830
831 // Register SLINK_STATUS2_0
832 #define SLINK_STATUS2_0 _MK_ADDR_CONST(0x1c)
833 #define SLINK_STATUS2_0_SECURE 0x0
834 #define SLINK_STATUS2_0_WORD_COUNT 0x1
835 #define SLINK_STATUS2_0_RESET_VAL _MK_MASK_CONST(0x20)
836 #define SLINK_STATUS2_0_RESET_MASK _MK_MASK_CONST(0x3f003f)
837 #define SLINK_STATUS2_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
838 #define SLINK_STATUS2_0_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
839 #define SLINK_STATUS2_0_READ_MASK _MK_MASK_CONST(0x3f003f)
840 #define SLINK_STATUS2_0_WRITE_MASK _MK_MASK_CONST(0x3f003f)
841 // Indicates the number of words in the receive FIFO
842 #define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_SHIFT _MK_SHIF T_CONST(16)
843 #define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_FIELD (_MK_MAS K_CONST(0x3f) << SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_SHIFT)
844 #define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_RANGE 21:16
845 #define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_WOFFSET 0x0
846 #define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_DEFAULT _MK_MASK _CONST(0x0)
847 #define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_DEFAULT_MASK _MK_MASK _CONST(0x3f)
848 #define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_SW_DEFAULT _MK_MASK _CONST(0x0)
849 #define SLINK_STATUS2_0_RX_FIFO_FULL_COUNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
850
851 // Indicates the number of empty slots in the transmit FIFO
852 #define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_SHIFT _MK_SHIF T_CONST(0)
853 #define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_FIELD (_MK_MAS K_CONST(0x3f) << SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_SHIFT)
854 #define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_RANGE 5:0
855 #define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_WOFFSET 0x0
856 #define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_DEFAULT _MK_MASK _CONST(0x20)
857 #define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_DEFAULT_MASK _MK_MASK_CONST(0x3f)
858 #define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_SW_DEFAULT _MK_MASK _CONST(0x0)
859 #define SLINK_STATUS2_0_TX_FIFO_EMPTY_COUNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
860
861
862 // Reserved address 32 [0x20]
863
864 // Reserved address 36 [0x24]
865
866 // Reserved address 40 [0x28]
867
868 // Reserved address 44 [0x2c]
869
870 // Reserved address 48 [0x30]
871
872 // Reserved address 52 [0x34]
873
874 // Reserved address 56 [0x38]
875
876 // Reserved address 60 [0x3c]
877
878 // Reserved address 64 [0x40]
879
880 // Reserved address 68 [0x44]
881
882 // Reserved address 72 [0x48]
883
884 // Reserved address 76 [0x4c]
885
886 // Reserved address 80 [0x50]
887
888 // Reserved address 84 [0x54]
889
890 // Reserved address 88 [0x58]
891
892 // Reserved address 92 [0x5c]
893
894 // Reserved address 96 [0x60]
895
896 // Reserved address 100 [0x64]
897
898 // Reserved address 104 [0x68]
899
900 // Reserved address 108 [0x6c]
901
902 // Reserved address 112 [0x70]
903
904 // Reserved address 116 [0x74]
905
906 // Reserved address 120 [0x78]
907
908 // Reserved address 124 [0x7c]
909
910 // Reserved address 128 [0x80]
911
912 // Reserved address 132 [0x84]
913
914 // Reserved address 136 [0x88]
915
916 // Reserved address 140 [0x8c]
917
918 // Reserved address 144 [0x90]
919
920 // Reserved address 148 [0x94]
921
922 // Reserved address 152 [0x98]
923
924 // Reserved address 156 [0x9c]
925
926 // Reserved address 160 [0xa0]
927
928 // Reserved address 164 [0xa4]
929
930 // Reserved address 168 [0xa8]
931
932 // Reserved address 172 [0xac]
933
934 // Reserved address 176 [0xb0]
935
936 // Reserved address 180 [0xb4]
937
938 // Reserved address 184 [0xb8]
939
940 // Reserved address 188 [0xbc]
941
942 // Reserved address 192 [0xc0]
943
944 // Reserved address 196 [0xc4]
945
946 // Reserved address 200 [0xc8]
947
948 // Reserved address 204 [0xcc]
949
950 // Reserved address 208 [0xd0]
951
952 // Reserved address 212 [0xd4]
953
954 // Reserved address 216 [0xd8]
955
956 // Reserved address 220 [0xdc]
957
958 // Reserved address 224 [0xe0]
959
960 // Reserved address 228 [0xe4]
961
962 // Reserved address 232 [0xe8]
963
964 // Reserved address 236 [0xec]
965
966 // Reserved address 240 [0xf0]
967
968 // Reserved address 244 [0xf4]
969
970 // Reserved address 248 [0xf8]
971
972 // Reserved address 252 [0xfc]
973
974 // Register SLINK_TX_FIFO_0
975 #define SLINK_TX_FIFO_0 _MK_ADDR_CONST(0x100)
976 #define SLINK_TX_FIFO_0_SECURE 0x0
977 #define SLINK_TX_FIFO_0_WORD_COUNT 0x1
978 #define SLINK_TX_FIFO_0_RESET_VAL _MK_MASK_CONST(0x0)
979 #define SLINK_TX_FIFO_0_RESET_MASK _MK_MASK_CONST(0xfffffff f)
980 #define SLINK_TX_FIFO_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
981 #define SLINK_TX_FIFO_0_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
982 #define SLINK_TX_FIFO_0_READ_MASK _MK_MASK_CONST(0xfffffff f)
983 #define SLINK_TX_FIFO_0_WRITE_MASK _MK_MASK_CONST(0xfffffff f)
984 // Tx/Rx Shift Pattern
985 #define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_SHIFT _MK_SHIFT_CONST( 0)
986 #define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_FIELD (_MK_MASK_CONST( 0xffffffff) << SLINK_TX_FIFO_0_TX_FIFO_REGISTER_SHIFT)
987 #define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_RANGE 31:0
988 #define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_WOFFSET 0x0
989 #define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_DEFAULT _MK_MASK _CONST(0x0)
990 #define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_DEFAULT_MASK _MK_MASK _CONST(0xffffffff)
991 #define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_SW_DEFAULT _MK_MASK _CONST(0x0)
992 #define SLINK_TX_FIFO_0_TX_FIFO_REGISTER_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
993
994
995 // Reserved address 260 [0x104]
996
997 // Reserved address 264 [0x108]
998
999 // Reserved address 268 [0x10c]
1000
1001 // Reserved address 272 [0x110]
1002
1003 // Reserved address 276 [0x114]
1004
1005 // Reserved address 280 [0x118]
1006
1007 // Reserved address 284 [0x11c]
1008
1009 // Reserved address 288 [0x120]
1010
1011 // Reserved address 292 [0x124]
1012
1013 // Reserved address 296 [0x128]
1014
1015 // Reserved address 300 [0x12c]
1016
1017 // Reserved address 304 [0x130]
1018
1019 // Reserved address 308 [0x134]
1020
1021 // Reserved address 312 [0x138]
1022
1023 // Reserved address 316 [0x13c]
1024
1025 // Reserved address 320 [0x140]
1026
1027 // Reserved address 324 [0x144]
1028
1029 // Reserved address 328 [0x148]
1030
1031 // Reserved address 332 [0x14c]
1032
1033 // Reserved address 336 [0x150]
1034
1035 // Reserved address 340 [0x154]
1036
1037 // Reserved address 344 [0x158]
1038
1039 // Reserved address 348 [0x15c]
1040
1041 // Reserved address 352 [0x160]
1042
1043 // Reserved address 356 [0x164]
1044
1045 // Reserved address 360 [0x168]
1046
1047 // Reserved address 364 [0x16c]
1048
1049 // Reserved address 368 [0x170]
1050
1051 // Reserved address 372 [0x174]
1052
1053 // Reserved address 376 [0x178]
1054
1055 // Reserved address 380 [0x17c]
1056
1057 // Register SLINK_RX_FIFO_0
1058 #define SLINK_RX_FIFO_0 _MK_ADDR_CONST(0x180)
1059 #define SLINK_RX_FIFO_0_SECURE 0x0
1060 #define SLINK_RX_FIFO_0_WORD_COUNT 0x1
1061 #define SLINK_RX_FIFO_0_RESET_VAL _MK_MASK_CONST(0x0)
1062 #define SLINK_RX_FIFO_0_RESET_MASK _MK_MASK_CONST(0xfffffff f)
1063 #define SLINK_RX_FIFO_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
1064 #define SLINK_RX_FIFO_0_SW_DEFAULT_MASK _MK_MASK_CONST(0 x0)
1065 #define SLINK_RX_FIFO_0_READ_MASK _MK_MASK_CONST(0xfffffff f)
1066 #define SLINK_RX_FIFO_0_WRITE_MASK _MK_MASK_CONST(0xfffffff f)
1067 // Tx/Rx Shift Pattern
1068 #define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_SHIFT _MK_SHIFT_CONST( 0)
1069 #define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_FIELD (_MK_MASK_CONST( 0xffffffff) << SLINK_RX_FIFO_0_RX_FIFO_REGISTER_SHIFT)
1070 #define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_RANGE 31:0
1071 #define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_WOFFSET 0x0
1072 #define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_DEFAULT _MK_MASK _CONST(0x0)
1073 #define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_DEFAULT_MASK _MK_MASK _CONST(0xffffffff)
1074 #define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_SW_DEFAULT _MK_MASK _CONST(0x0)
1075 #define SLINK_RX_FIFO_0_RX_FIFO_REGISTER_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
1076
1077
1078 //
1079 // REGISTER LIST
1080 //
1081 #define LIST_ARSLINK_REGS(_op_) \
1082 _op_(SLINK_COMMAND_0) \
1083 _op_(SLINK_COMMAND2_0) \
1084 _op_(SLINK_STATUS_0) \
1085 _op_(SLINK_MAS_DATA_0) \
1086 _op_(SLINK_SLAVE_DATA_0) \
1087 _op_(SLINK_DMA_CTL_0) \
1088 _op_(SLINK_STATUS2_0) \
1089 _op_(SLINK_TX_FIFO_0) \
1090 _op_(SLINK_RX_FIFO_0)
1091
1092
1093 //
1094 // ADDRESS SPACES
1095 //
1096
1097 #define BASE_ADDRESS_SLINK 0x00000000
1098
1099 //
1100 // ARSLINK REGISTER BANKS
1101 //
1102
1103 #define SLINK0_FIRST_REG 0x0000 // SLINK_COMMAND_0
1104 #define SLINK0_LAST_REG 0x0008 // SLINK_STATUS_0
1105 #define SLINK1_FIRST_REG 0x0010 // SLINK_MAS_DATA_0
1106 #define SLINK1_LAST_REG 0x001c // SLINK_STATUS2_0
1107 #define SLINK2_FIRST_REG 0x0100 // SLINK_TX_FIFO_0
1108 #define SLINK2_LAST_REG 0x0100 // SLINK_TX_FIFO_0
1109 #define SLINK3_FIRST_REG 0x0180 // SLINK_RX_FIFO_0
1110 #define SLINK3_LAST_REG 0x0180 // SLINK_RX_FIFO_0
1111
1112 #ifndef _MK_SHIFT_CONST
1113 #define _MK_SHIFT_CONST(_constant_) _constant_
1114 #endif
1115 #ifndef _MK_MASK_CONST
1116 #define _MK_MASK_CONST(_constant_) _constant_
1117 #endif
1118 #ifndef _MK_ENUM_CONST
1119 #define _MK_ENUM_CONST(_constant_) (_constant_ ## UL)
1120 #endif
1121 #ifndef _MK_ADDR_CONST
1122 #define _MK_ADDR_CONST(_constant_) _constant_
1123 #endif
1124
1125 #endif // ifndef ___ARSLINK_H_INC_
OLDNEW
« no previous file with comments | « arch/arm/mach-tegra/nv/include/ap20/arsdmmc.h ('k') | arch/arm/mach-tegra/nv/include/ap20/arsnor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698