2 * ADSP-BF533の System MMR 定義。アドレスの指定は .ldファイルとの組み合わせで行う。
3 * .ldファイルのサンプルは、 config/blackfin/bf533cbを参照。
5 * アドレスが正しく割り当てられているかは、次の方法で検証した.
6 * (Makefileの$(OBJCOPY) -R .sysmmr -R .coremmr jsp をコメントアウトすること)
8 $ readelf -s -W jsp | grep mmr | grep -v DUMMY | grep -v blackfin | sort -k 2 | awk '/_mmr/{print $8, $2}' - | sed 's/_mmr//p' | uniq > regelf.txt
9 $ cat ../jsp/config/blackfin/def_lpblackfin.h ../jsp/config/blackfin/defbf532.h | grep '0xFF[CE]0' | grep "#define" | sed 's/_MA /_MAP /' - | awk '{print $2,$3}' - | sort -k 2 | sed 's/0x//' - > regdef.txt
10 $ diff -i -w regelf.txt regdef.txt
22 > DCPLB_FAULT_STATUS FFE00008
24 > CODE_FAULT_STATUS FFE01008
26 > CODE_FAULT_ADDR FFE0100C
30 * つまり、いくつかのレジスタの宣言がELF側から抜けていることになる。ここで、
31 * それぞれのレジスタは別のレジスタのエイリアスであることに注目する。
32 * RTC_PREN -> RTC_FAST
33 * UART_DLL -> UART_THR
34 * UART_RBR -> UART_THR
35 * UART_DLH -> UART_IER
36 * DMA_TCPER -> DMA_TC_PER
37 * DMA_TCCNT -> DMA_TC_CNT
39 * したがって、上の結果は問題ないと言える。
44 volatile unsigned short mmrPLL_CTL __attribute__ ((aligned(4), section("PWRMGMT")));
45 volatile unsigned short mmrPLL_DIV __attribute__ ((aligned(4), section("PWRMGMT")));
46 volatile unsigned short mmrVR_CTL __attribute__ ((aligned(4), section("PWRMGMT")));
47 volatile unsigned short mmrPLL_STAT __attribute__ ((aligned(4), section("PWRMGMT")));
48 volatile unsigned short mmrPLL_LOCKCNT __attribute__ ((aligned(4), section("PWRMGMT")));
49 volatile unsigned short mmrCHIPID __attribute__ ((aligned(4), section("PWRMGMT")));
51 volatile unsigned short mmrSWRST __attribute__ ((aligned(4), section("SYSRST")));
52 volatile unsigned short mmrSYSCR __attribute__ ((aligned(4), section("SYSRST")));
53 volatile unsigned long mmrSIC_RVECT __attribute__ ((aligned(4), section("SYSRST")));
54 volatile unsigned long mmrSIC_IMASK __attribute__ ((aligned(4), section("SYSRST")));
55 volatile unsigned long mmrSIC_IAR0 __attribute__ ((aligned(4), section("SYSRST")));
56 volatile unsigned long mmrSIC_IAR1 __attribute__ ((aligned(4), section("SYSRST")));
57 volatile unsigned long mmrSIC_IAR2 __attribute__ ((aligned(4), section("SYSRST")));
58 volatile unsigned long mmrSIC_IARDUMMY __attribute__ ((aligned(4), section("SYSRST")));
59 volatile unsigned long mmrSIC_ISR __attribute__ ((aligned(4), section("SYSRST")));
60 volatile unsigned long mmrSIC_IWR __attribute__ ((aligned(4), section("SYSRST")));
62 volatile unsigned short mmrWDOG_CTL __attribute__ ((aligned(4), section("WDOG")));
63 volatile unsigned long mmrWDOG_CNT __attribute__ ((aligned(4), section("WDOG")));
64 volatile unsigned long mmrWDOG_STAT __attribute__ ((aligned(4), section("WDOG")));
66 volatile unsigned long mmrRTC_STAT __attribute__ ((aligned(4), section("RTC")));
67 volatile unsigned short mmrRTC_ICTL __attribute__ ((aligned(4), section("RTC")));
68 volatile unsigned short mmrRTC_ISTAT __attribute__ ((aligned(4), section("RTC")));
69 volatile unsigned short mmrRTC_SWCNT __attribute__ ((aligned(4), section("RTC")));
70 volatile unsigned long mmrRTC_ALARM __attribute__ ((aligned(4), section("RTC")));
71 volatile unsigned short mmrRTC_FAST __attribute__ ((aligned(4), section("RTC")));
73 volatile unsigned short mmrUART_THR __attribute__ ((aligned(4), section("UART")));
74 volatile unsigned short mmrUART_IER __attribute__ ((aligned(4), section("UART")));
75 volatile unsigned short mmrUART_IIR __attribute__ ((aligned(4), section("UART")));
76 volatile unsigned short mmrUART_LCR __attribute__ ((aligned(4), section("UART")));
77 volatile unsigned short mmrUART_MCR __attribute__ ((aligned(4), section("UART")));
78 volatile unsigned short mmrUART_LSR __attribute__ ((aligned(4), section("UART")));
79 volatile unsigned short mmrUART_MSR __attribute__ ((aligned(4), section("UART")));
80 volatile unsigned short mmrUART_SCR __attribute__ ((aligned(4), section("UART")));
81 volatile unsigned short mmrUART_DUMMY0 __attribute__ ((aligned(4), section("UART")));
82 volatile unsigned short mmrUART_GCTL __attribute__ ((aligned(4), section("UART")));
84 volatile unsigned short mmrSPI_CTL __attribute__ ((aligned(4), section("SPI")));
85 volatile unsigned short mmrSPI_FLG __attribute__ ((aligned(4), section("SPI")));
86 volatile unsigned short mmrSPI_STAT __attribute__ ((aligned(4), section("SPI")));
87 volatile unsigned short mmrSPI_TDBR __attribute__ ((aligned(4), section("SPI")));
88 volatile unsigned short mmrSPI_RDBR __attribute__ ((aligned(4), section("SPI")));
89 volatile unsigned short mmrSPI_BAUD __attribute__ ((aligned(4), section("SPI")));
90 volatile unsigned short mmrSPI_SHADOW __attribute__ ((aligned(4), section("SPI")));
92 volatile unsigned short mmrTIMER0_CONFIG __attribute__ ((aligned(4), section("TIMER")));
93 volatile unsigned long mmrTIMER0_COUNTER __attribute__ ((aligned(4), section("TIMER")));
94 volatile unsigned long mmrTIMER0_PERIOD __attribute__ ((aligned(4), section("TIMER")));
95 volatile unsigned long mmrTIMER0_WIDTH __attribute__ ((aligned(4), section("TIMER")));
97 volatile unsigned short mmrTIMER1_CONFIG __attribute__ ((aligned(4), section("TIMER")));
98 volatile unsigned long mmrTIMER1_COUNTER __attribute__ ((aligned(4), section("TIMER")));
99 volatile unsigned long mmrTIMER1_PERIOD __attribute__ ((aligned(4), section("TIMER")));
100 volatile unsigned long mmrTIMER1_WIDTH __attribute__ ((aligned(4), section("TIMER")));
102 volatile unsigned short mmrTIMER2_CONFIG __attribute__ ((aligned(4), section("TIMER")));
103 volatile unsigned long mmrTIMER2_COUNTER __attribute__ ((aligned(4), section("TIMER")));
104 volatile unsigned long mmrTIMER2_PERIOD __attribute__ ((aligned(4), section("TIMER")));
105 volatile unsigned long mmrTIMER2_WIDTH __attribute__ ((aligned(4), section("TIMER")));
107 volatile unsigned short mmrTIMER_ENABLE __attribute__ ((aligned(4), section("TMRCTL")));
108 volatile unsigned short mmrTIMER_DISABLE __attribute__ ((aligned(4), section("TMRCTL")));
109 volatile unsigned short mmrTIMER_STATUS __attribute__ ((aligned(4), section("TMRCTL")));
112 volatile unsigned short mmrFIO_FLAG_D __attribute__ ((aligned(4), section("FLAG")));
113 volatile unsigned short mmrFIO_FLAG_C __attribute__ ((aligned(4), section("FLAG")));
114 volatile unsigned short mmrFIO_FLAG_S __attribute__ ((aligned(4), section("FLAG")));
115 volatile unsigned short mmrFIO_FLAG_T __attribute__ ((aligned(4), section("FLAG")));
116 volatile unsigned short mmrFIO_MASKA_D __attribute__ ((aligned(4), section("FLAG")));
117 volatile unsigned short mmrFIO_MASKA_C __attribute__ ((aligned(4), section("FLAG")));
118 volatile unsigned short mmrFIO_MASKA_S __attribute__ ((aligned(4), section("FLAG")));
119 volatile unsigned short mmrFIO_MASKA_T __attribute__ ((aligned(4), section("FLAG")));
120 volatile unsigned short mmrFIO_MASKB_D __attribute__ ((aligned(4), section("FLAG")));
121 volatile unsigned short mmrFIO_MASKB_C __attribute__ ((aligned(4), section("FLAG")));
122 volatile unsigned short mmrFIO_MASKB_S __attribute__ ((aligned(4), section("FLAG")));
123 volatile unsigned short mmrFIO_MASKB_T __attribute__ ((aligned(4), section("FLAG")));
124 volatile unsigned short mmrFIO_DIR __attribute__ ((aligned(4), section("FLAG")));
125 volatile unsigned short mmrFIO_POLAR __attribute__ ((aligned(4), section("FLAG")));
126 volatile unsigned short mmrFIO_EDGE __attribute__ ((aligned(4), section("FLAG")));
127 volatile unsigned short mmrFIO_BOTH __attribute__ ((aligned(4), section("FLAG")));
128 volatile unsigned short mmrFIO_INEN __attribute__ ((aligned(4), section("FLAG")));
132 volatile unsigned short mmrSPORT0_TCR1 __attribute__ ((aligned(4), section("SPORT0")));
133 volatile unsigned short mmrSPORT0_TCR2 __attribute__ ((aligned(4), section("SPORT0")));
134 volatile unsigned short mmrSPORT0_TCLKDIV __attribute__ ((aligned(4), section("SPORT0")));
135 volatile unsigned short mmrSPORT0_TFSDIV __attribute__ ((aligned(4), section("SPORT0")));
136 volatile long mmrSPORT0_TX __attribute__ ((aligned(4), section("SPORT0")));
137 volatile long mmrSPORT0_DUMMY0 __attribute__ ((aligned(4), section("SPORT0")));
138 volatile long mmrSPORT0_RX __attribute__ ((aligned(4), section("SPORT0")));
139 volatile long mmrSPORT0_DUMMY1 __attribute__ ((aligned(4), section("SPORT0")));
140 volatile unsigned short mmrSPORT0_RCR1 __attribute__ ((aligned(4), section("SPORT0")));
141 volatile unsigned short mmrSPORT0_RCR2 __attribute__ ((aligned(4), section("SPORT0")));
142 volatile unsigned short mmrSPORT0_RCLKDIV __attribute__ ((aligned(4), section("SPORT0")));
143 volatile unsigned short mmrSPORT0_RFSDIV __attribute__ ((aligned(4), section("SPORT0")));
144 volatile unsigned short mmrSPORT0_STAT __attribute__ ((aligned(4), section("SPORT0")));
145 volatile unsigned short mmrSPORT0_CHNL __attribute__ ((aligned(4), section("SPORT0")));
146 volatile unsigned short mmrSPORT0_MCMC1 __attribute__ ((aligned(4), section("SPORT0")));
147 volatile unsigned short mmrSPORT0_MCMC2 __attribute__ ((aligned(4), section("SPORT0")));
148 volatile unsigned long mmrSPORT0_MTCS0 __attribute__ ((aligned(4), section("SPORT0")));
149 volatile unsigned long mmrSPORT0_MTCS1 __attribute__ ((aligned(4), section("SPORT0")));
150 volatile unsigned long mmrSPORT0_MTCS2 __attribute__ ((aligned(4), section("SPORT0")));
151 volatile unsigned long mmrSPORT0_MTCS3 __attribute__ ((aligned(4), section("SPORT0")));
152 volatile unsigned long mmrSPORT0_MRCS0 __attribute__ ((aligned(4), section("SPORT0")));
153 volatile unsigned long mmrSPORT0_MRCS1 __attribute__ ((aligned(4), section("SPORT0")));
154 volatile unsigned long mmrSPORT0_MRCS2 __attribute__ ((aligned(4), section("SPORT0")));
155 volatile unsigned long mmrSPORT0_MRCS3 __attribute__ ((aligned(4), section("SPORT0")));
158 volatile unsigned short mmrSPORT1_TCR1 __attribute__ ((aligned(4), section("SPORT1")));
159 volatile unsigned short mmrSPORT1_TCR2 __attribute__ ((aligned(4), section("SPORT1")));
160 volatile unsigned short mmrSPORT1_TCLKDIV __attribute__ ((aligned(4), section("SPORT1")));
161 volatile unsigned short mmrSPORT1_TFSDIV __attribute__ ((aligned(4), section("SPORT1")));
162 volatile long mmrSPORT1_TX __attribute__ ((aligned(4), section("SPORT1")));
163 volatile long mmrSPORT1_DUMMY0 __attribute__ ((aligned(4), section("SPORT1")));
164 volatile long mmrSPORT1_RX __attribute__ ((aligned(4), section("SPORT1")));
165 volatile long mmrSPORT1_DUMMY1 __attribute__ ((aligned(4), section("SPORT1")));
166 volatile unsigned short mmrSPORT1_RCR1 __attribute__ ((aligned(4), section("SPORT1")));
167 volatile unsigned short mmrSPORT1_RCR2 __attribute__ ((aligned(4), section("SPORT1")));
168 volatile unsigned short mmrSPORT1_RCLKDIV __attribute__ ((aligned(4), section("SPORT1")));
169 volatile unsigned short mmrSPORT1_RFSDIV __attribute__ ((aligned(4), section("SPORT1")));
170 volatile unsigned short mmrSPORT1_STAT __attribute__ ((aligned(4), section("SPORT1")));
171 volatile unsigned short mmrSPORT1_CHNL __attribute__ ((aligned(4), section("SPORT1")));
172 volatile unsigned short mmrSPORT1_MCMC1 __attribute__ ((aligned(4), section("SPORT1")));
173 volatile unsigned short mmrSPORT1_MCMC2 __attribute__ ((aligned(4), section("SPORT1")));
174 volatile unsigned long mmrSPORT1_MTCS0 __attribute__ ((aligned(4), section("SPORT1")));
175 volatile unsigned long mmrSPORT1_MTCS1 __attribute__ ((aligned(4), section("SPORT1")));
176 volatile unsigned long mmrSPORT1_MTCS2 __attribute__ ((aligned(4), section("SPORT1")));
177 volatile unsigned long mmrSPORT1_MTCS3 __attribute__ ((aligned(4), section("SPORT1")));
178 volatile unsigned long mmrSPORT1_MRCS0 __attribute__ ((aligned(4), section("SPORT1")));
179 volatile unsigned long mmrSPORT1_MRCS1 __attribute__ ((aligned(4), section("SPORT1")));
180 volatile unsigned long mmrSPORT1_MRCS2 __attribute__ ((aligned(4), section("SPORT1")));
181 volatile unsigned long mmrSPORT1_MRCS3 __attribute__ ((aligned(4), section("SPORT1")));
185 volatile unsigned short mmrEBIU_AMGCTL __attribute__ ((aligned(4), section("EBIU")));
186 volatile unsigned long mmrEBIU_AMBCTL0 __attribute__ ((aligned(4), section("EBIU")));
187 volatile unsigned long mmrEBIU_AMBCTL1 __attribute__ ((aligned(4), section("EBIU")));
188 volatile unsigned long mmrEBIU_DUMMY0 __attribute__ ((aligned(4), section("EBIU")));
191 volatile unsigned long mmrEBIU_SDGCTL __attribute__ ((aligned(4), section("EBIU")));
192 volatile unsigned short mmrEBIU_SDBCTL __attribute__ ((aligned(4), section("EBIU")));
193 volatile unsigned short mmrEBIU_SDRRC __attribute__ ((aligned(4), section("EBIU")));
194 volatile unsigned short mmrEBIU_SDSTAT __attribute__ ((aligned(4), section("EBIU")));
198 volatile unsigned short mmrDMA_TC_DUMMY0 __attribute__ ((aligned(4), section("DMATC")));
199 volatile unsigned short mmrDMA_TC_DUMMY1 __attribute__ ((aligned(4), section("DMATC")));
200 volatile unsigned short mmrDMA_TC_DUMMY3 __attribute__ ((aligned(4), section("DMATC")));
201 volatile unsigned short mmrDMA_TC_PER __attribute__ ((aligned(4), section("DMATC")));
202 volatile unsigned short mmrDMA_TC_CNT __attribute__ ((aligned(4), section("DMATC")));
205 volatile void * volatile mmrDMA0_NEXT_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
206 volatile void * volatile mmrDMA0_START_ADDR __attribute__ ((aligned(4), section("DMA")));
207 volatile unsigned short mmrDMA0_CONFIG __attribute__ ((aligned(4), section("DMA")));
208 volatile unsigned short mmrDMA0_DUMMY0 __attribute__ ((aligned(4), section("DMA")));
209 volatile unsigned short mmrDMA0_X_COUNT __attribute__ ((aligned(4), section("DMA")));
210 volatile signed short mmrDMA0_X_MODIFY __attribute__ ((aligned(4), section("DMA")));
211 volatile unsigned short mmrDMA0_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
212 volatile signed short mmrDMA0_Y_MODIFY __attribute__ ((aligned(4), section("DMA")));
213 volatile void * volatile mmrDMA0_CURR_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
214 volatile void * volatile mmrDMA0_CURR_ADDR __attribute__ ((aligned(4), section("DMA")));
215 volatile unsigned short mmrDMA0_IRQ_STATUS __attribute__ ((aligned(4), section("DMA")));
216 volatile unsigned short mmrDMA0_PERIPHERAL_MAP __attribute__ ((aligned(4), section("DMA")));
217 volatile unsigned short mmrDMA0_CURR_X_COUNT __attribute__ ((aligned(4), section("DMA")));
218 volatile unsigned short mmrDMA0_DUMMY1 __attribute__ ((aligned(4), section("DMA")));
219 volatile unsigned short mmrDMA0_CURR_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
220 volatile unsigned short mmrDMA0_DUMMY2 __attribute__ ((aligned(4), section("DMA")));
222 volatile void * volatile mmrDMA1_NEXT_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
223 volatile void * volatile mmrDMA1_START_ADDR __attribute__ ((aligned(4), section("DMA")));
224 volatile unsigned short mmrDMA1_CONFIG __attribute__ ((aligned(4), section("DMA")));
225 volatile unsigned short mmrDMA1_DUMMY0 __attribute__ ((aligned(4), section("DMA")));
226 volatile unsigned short mmrDMA1_X_COUNT __attribute__ ((aligned(4), section("DMA")));
227 volatile signed short mmrDMA1_X_MODIFY __attribute__ ((aligned(4), section("DMA")));
228 volatile unsigned short mmrDMA1_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
229 volatile signed short mmrDMA1_Y_MODIFY __attribute__ ((aligned(4), section("DMA")));
230 volatile void * volatile mmrDMA1_CURR_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
231 volatile void * volatile mmrDMA1_CURR_ADDR __attribute__ ((aligned(4), section("DMA")));
232 volatile unsigned short mmrDMA1_IRQ_STATUS __attribute__ ((aligned(4), section("DMA")));
233 volatile unsigned short mmrDMA1_PERIPHERAL_MAP __attribute__ ((aligned(4), section("DMA")));
234 volatile unsigned short mmrDMA1_CURR_X_COUNT __attribute__ ((aligned(4), section("DMA")));
235 volatile unsigned short mmrDMA1_DUMMY1 __attribute__ ((aligned(4), section("DMA")));
236 volatile unsigned short mmrDMA1_CURR_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
237 volatile unsigned short mmrDMA1_DUMMY2 __attribute__ ((aligned(4), section("DMA")));
239 volatile void * volatile mmrDMA2_NEXT_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
240 volatile void * volatile mmrDMA2_START_ADDR __attribute__ ((aligned(4), section("DMA")));
241 volatile unsigned short mmrDMA2_CONFIG __attribute__ ((aligned(4), section("DMA")));
242 volatile unsigned short mmrDMA2_DUMMY0 __attribute__ ((aligned(4), section("DMA")));
243 volatile unsigned short mmrDMA2_X_COUNT __attribute__ ((aligned(4), section("DMA")));
244 volatile signed short mmrDMA2_X_MODIFY __attribute__ ((aligned(4), section("DMA")));
245 volatile unsigned short mmrDMA2_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
246 volatile signed short mmrDMA2_Y_MODIFY __attribute__ ((aligned(4), section("DMA")));
247 volatile void * volatile mmrDMA2_CURR_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
248 volatile void * volatile mmrDMA2_CURR_ADDR __attribute__ ((aligned(4), section("DMA")));
249 volatile unsigned short mmrDMA2_IRQ_STATUS __attribute__ ((aligned(4), section("DMA")));
250 volatile unsigned short mmrDMA2_PERIPHERAL_MAP __attribute__ ((aligned(4), section("DMA")));
251 volatile unsigned short mmrDMA2_CURR_X_COUNT __attribute__ ((aligned(4), section("DMA")));
252 volatile unsigned short mmrDMA2_DUMMY1 __attribute__ ((aligned(4), section("DMA")));
253 volatile unsigned short mmrDMA2_CURR_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
254 volatile unsigned short mmrDMA2_DUMMY2 __attribute__ ((aligned(4), section("DMA")));
256 volatile void * volatile mmrDMA3_NEXT_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
257 volatile void * volatile mmrDMA3_START_ADDR __attribute__ ((aligned(4), section("DMA")));
258 volatile unsigned short mmrDMA3_CONFIG __attribute__ ((aligned(4), section("DMA")));
259 volatile unsigned short mmrDMA3_DUMMY0 __attribute__ ((aligned(4), section("DMA")));
260 volatile unsigned short mmrDMA3_X_COUNT __attribute__ ((aligned(4), section("DMA")));
261 volatile signed short mmrDMA3_X_MODIFY __attribute__ ((aligned(4), section("DMA")));
262 volatile unsigned short mmrDMA3_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
263 volatile signed short mmrDMA3_Y_MODIFY __attribute__ ((aligned(4), section("DMA")));
264 volatile void * volatile mmrDMA3_CURR_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
265 volatile void * volatile mmrDMA3_CURR_ADDR __attribute__ ((aligned(4), section("DMA")));
266 volatile unsigned short mmrDMA3_IRQ_STATUS __attribute__ ((aligned(4), section("DMA")));
267 volatile unsigned short mmrDMA3_PERIPHERAL_MAP __attribute__ ((aligned(4), section("DMA")));
268 volatile unsigned short mmrDMA3_CURR_X_COUNT __attribute__ ((aligned(4), section("DMA")));
269 volatile unsigned short mmrDMA3_DUMMY1 __attribute__ ((aligned(4), section("DMA")));
270 volatile unsigned short mmrDMA3_CURR_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
271 volatile unsigned short mmrDMA3_DUMMY2 __attribute__ ((aligned(4), section("DMA")));
273 volatile void * volatile mmrDMA4_NEXT_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
274 volatile void * volatile mmrDMA4_START_ADDR __attribute__ ((aligned(4), section("DMA")));
275 volatile unsigned short mmrDMA4_CONFIG __attribute__ ((aligned(4), section("DMA")));
276 volatile unsigned short mmrDMA4_DUMMY0 __attribute__ ((aligned(4), section("DMA")));
277 volatile unsigned short mmrDMA4_X_COUNT __attribute__ ((aligned(4), section("DMA")));
278 volatile signed short mmrDMA4_X_MODIFY __attribute__ ((aligned(4), section("DMA")));
279 volatile unsigned short mmrDMA4_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
280 volatile signed short mmrDMA4_Y_MODIFY __attribute__ ((aligned(4), section("DMA")));
281 volatile void * volatile mmrDMA4_CURR_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
282 volatile void * volatile mmrDMA4_CURR_ADDR __attribute__ ((aligned(4), section("DMA")));
283 volatile unsigned short mmrDMA4_IRQ_STATUS __attribute__ ((aligned(4), section("DMA")));
284 volatile unsigned short mmrDMA4_PERIPHERAL_MAP __attribute__ ((aligned(4), section("DMA")));
285 volatile unsigned short mmrDMA4_CURR_X_COUNT __attribute__ ((aligned(4), section("DMA")));
286 volatile unsigned short mmrDMA4_DUMMY1 __attribute__ ((aligned(4), section("DMA")));
287 volatile unsigned short mmrDMA4_CURR_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
288 volatile unsigned short mmrDMA4_DUMMY2 __attribute__ ((aligned(4), section("DMA")));
290 volatile void * volatile mmrDMA5_NEXT_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
291 volatile void * volatile mmrDMA5_START_ADDR __attribute__ ((aligned(4), section("DMA")));
292 volatile unsigned short mmrDMA5_CONFIG __attribute__ ((aligned(4), section("DMA")));
293 volatile unsigned short mmrDMA5_DUMMY0 __attribute__ ((aligned(4), section("DMA")));
294 volatile unsigned short mmrDMA5_X_COUNT __attribute__ ((aligned(4), section("DMA")));
295 volatile signed short mmrDMA5_X_MODIFY __attribute__ ((aligned(4), section("DMA")));
296 volatile unsigned short mmrDMA5_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
297 volatile signed short mmrDMA5_Y_MODIFY __attribute__ ((aligned(4), section("DMA")));
298 volatile void * volatile mmrDMA5_CURR_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
299 volatile void * volatile mmrDMA5_CURR_ADDR __attribute__ ((aligned(4), section("DMA")));
300 volatile unsigned short mmrDMA5_IRQ_STATUS __attribute__ ((aligned(4), section("DMA")));
301 volatile unsigned short mmrDMA5_PERIPHERAL_MAP __attribute__ ((aligned(4), section("DMA")));
302 volatile unsigned short mmrDMA5_CURR_X_COUNT __attribute__ ((aligned(4), section("DMA")));
303 volatile unsigned short mmrDMA5_DUMMY1 __attribute__ ((aligned(4), section("DMA")));
304 volatile unsigned short mmrDMA5_CURR_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
305 volatile unsigned short mmrDMA5_DUMMY2 __attribute__ ((aligned(4), section("DMA")));
307 volatile void * volatile mmrDMA6_NEXT_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
308 volatile void * volatile mmrDMA6_START_ADDR __attribute__ ((aligned(4), section("DMA")));
309 volatile unsigned short mmrDMA6_CONFIG __attribute__ ((aligned(4), section("DMA")));
310 volatile unsigned short mmrDMA6_DUMMY0 __attribute__ ((aligned(4), section("DMA")));
311 volatile unsigned short mmrDMA6_X_COUNT __attribute__ ((aligned(4), section("DMA")));
312 volatile signed short mmrDMA6_X_MODIFY __attribute__ ((aligned(4), section("DMA")));
313 volatile unsigned short mmrDMA6_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
314 volatile signed short mmrDMA6_Y_MODIFY __attribute__ ((aligned(4), section("DMA")));
315 volatile void * volatile mmrDMA6_CURR_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
316 volatile void * volatile mmrDMA6_CURR_ADDR __attribute__ ((aligned(4), section("DMA")));
317 volatile unsigned short mmrDMA6_IRQ_STATUS __attribute__ ((aligned(4), section("DMA")));
318 volatile unsigned short mmrDMA6_PERIPHERAL_MAP __attribute__ ((aligned(4), section("DMA")));
319 volatile unsigned short mmrDMA6_CURR_X_COUNT __attribute__ ((aligned(4), section("DMA")));
320 volatile unsigned short mmrDMA6_DUMMY1 __attribute__ ((aligned(4), section("DMA")));
321 volatile unsigned short mmrDMA6_CURR_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
322 volatile unsigned short mmrDMA6_DUMMY2 __attribute__ ((aligned(4), section("DMA")));
324 volatile void * volatile mmrDMA7_NEXT_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
325 volatile void * volatile mmrDMA7_START_ADDR __attribute__ ((aligned(4), section("DMA")));
326 volatile unsigned short mmrDMA7_CONFIG __attribute__ ((aligned(4), section("DMA")));
327 volatile unsigned short mmrDMA7_DUMMY0 __attribute__ ((aligned(4), section("DMA")));
328 volatile unsigned short mmrDMA7_X_COUNT __attribute__ ((aligned(4), section("DMA")));
329 volatile signed short mmrDMA7_X_MODIFY __attribute__ ((aligned(4), section("DMA")));
330 volatile unsigned short mmrDMA7_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
331 volatile signed short mmrDMA7_Y_MODIFY __attribute__ ((aligned(4), section("DMA")));
332 volatile void * volatile mmrDMA7_CURR_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
333 volatile void * volatile mmrDMA7_CURR_ADDR __attribute__ ((aligned(4), section("DMA")));
334 volatile unsigned short mmrDMA7_IRQ_STATUS __attribute__ ((aligned(4), section("DMA")));
335 volatile unsigned short mmrDMA7_PERIPHERAL_MAP __attribute__ ((aligned(4), section("DMA")));
336 volatile unsigned short mmrDMA7_CURR_X_COUNT __attribute__ ((aligned(4), section("DMA")));
337 volatile unsigned short mmrDMA7_DUMMY1 __attribute__ ((aligned(4), section("DMA")));
338 volatile unsigned short mmrDMA7_CURR_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
339 volatile unsigned short mmrDMA7_DUMMY2 __attribute__ ((aligned(4), section("DMA")));
341 volatile void * volatile mmrMDMA_D0_NEXT_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
342 volatile void * volatile mmrMDMA_D0_START_ADDR __attribute__ ((aligned(4), section("DMA")));
343 volatile unsigned short mmrMDMA_D0_CONFIG __attribute__ ((aligned(4), section("DMA")));
344 volatile unsigned short mmrMDMA_D0_DUMMY0 __attribute__ ((aligned(4), section("DMA")));
345 volatile unsigned short mmrMDMA_D0_X_COUNT __attribute__ ((aligned(4), section("DMA")));
346 volatile signed short mmrMDMA_D0_X_MODIFY __attribute__ ((aligned(4), section("DMA")));
347 volatile unsigned short mmrMDMA_D0_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
348 volatile signed short mmrMDMA_D0_Y_MODIFY __attribute__ ((aligned(4), section("DMA")));
349 volatile void * volatile mmrMDMA_D0_CURR_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
350 volatile void * volatile mmrMDMA_D0_CURR_ADDR __attribute__ ((aligned(4), section("DMA")));
351 volatile unsigned short mmrMDMA_D0_IRQ_STATUS __attribute__ ((aligned(4), section("DMA")));
352 volatile unsigned short mmrMDMA_D0_PERIPHERAL_MAP __attribute__ ((aligned(4), section("DMA")));
353 volatile unsigned short mmrMDMA_D0_CURR_X_COUNT __attribute__ ((aligned(4), section("DMA")));
354 volatile unsigned short mmrMDMA_D0_DUMMY1 __attribute__ ((aligned(4), section("DMA")));
355 volatile unsigned short mmrMDMA_D0_CURR_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
356 volatile unsigned short mmrMDMA_D0_DUMMY2 __attribute__ ((aligned(4), section("DMA")));
358 volatile void * volatile mmrMDMA_S0_NEXT_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
359 volatile void * volatile mmrMDMA_S0_START_ADDR __attribute__ ((aligned(4), section("DMA")));
360 volatile unsigned short mmrMDMA_S0_CONFIG __attribute__ ((aligned(4), section("DMA")));
361 volatile unsigned short mmrMDMA_S0_DUMMY0 __attribute__ ((aligned(4), section("DMA")));
362 volatile unsigned short mmrMDMA_S0_X_COUNT __attribute__ ((aligned(4), section("DMA")));
363 volatile signed short mmrMDMA_S0_X_MODIFY __attribute__ ((aligned(4), section("DMA")));
364 volatile unsigned short mmrMDMA_S0_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
365 volatile signed short mmrMDMA_S0_Y_MODIFY __attribute__ ((aligned(4), section("DMA")));
366 volatile void * volatile mmrMDMA_S0_CURR_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
367 volatile void * volatile mmrMDMA_S0_CURR_ADDR __attribute__ ((aligned(4), section("DMA")));
368 volatile unsigned short mmrMDMA_S0_IRQ_STATUS __attribute__ ((aligned(4), section("DMA")));
369 volatile unsigned short mmrMDMA_S0_PERIPHERAL_MAP __attribute__ ((aligned(4), section("DMA")));
370 volatile unsigned short mmrMDMA_S0_CURR_X_COUNT __attribute__ ((aligned(4), section("DMA")));
371 volatile unsigned short mmrMDMA_S0_DUMMY1 __attribute__ ((aligned(4), section("DMA")));
372 volatile unsigned short mmrMDMA_S0_CURR_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
373 volatile unsigned short mmrMDMA_S0_DUMMY2 __attribute__ ((aligned(4), section("DMA")));
375 volatile void * volatile mmrMDMA_D1_NEXT_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
376 volatile void * volatile mmrMDMA_D1_START_ADDR __attribute__ ((aligned(4), section("DMA")));
377 volatile unsigned short mmrMDMA_D1_CONFIG __attribute__ ((aligned(4), section("DMA")));
378 volatile unsigned short mmrMDMA_D1_DUMMY0 __attribute__ ((aligned(4), section("DMA")));
379 volatile unsigned short mmrMDMA_D1_X_COUNT __attribute__ ((aligned(4), section("DMA")));
380 volatile signed short mmrMDMA_D1_X_MODIFY __attribute__ ((aligned(4), section("DMA")));
381 volatile unsigned short mmrMDMA_D1_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
382 volatile signed short mmrMDMA_D1_Y_MODIFY __attribute__ ((aligned(4), section("DMA")));
383 volatile void * volatile mmrMDMA_D1_CURR_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
384 volatile void * volatile mmrMDMA_D1_CURR_ADDR __attribute__ ((aligned(4), section("DMA")));
385 volatile unsigned short mmrMDMA_D1_IRQ_STATUS __attribute__ ((aligned(4), section("DMA")));
386 volatile unsigned short mmrMDMA_D1_PERIPHERAL_MAP __attribute__ ((aligned(4), section("DMA")));
387 volatile unsigned short mmrMDMA_D1_CURR_X_COUNT __attribute__ ((aligned(4), section("DMA")));
388 volatile unsigned short mmrMDMA_D1_DUMMY1 __attribute__ ((aligned(4), section("DMA")));
389 volatile unsigned short mmrMDMA_D1_CURR_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
390 volatile unsigned short mmrMDMA_D1_DUMMY2 __attribute__ ((aligned(4), section("DMA")));
392 volatile void * volatile mmrMDMA_S1_NEXT_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
393 volatile void * volatile mmrMDMA_S1_START_ADDR __attribute__ ((aligned(4), section("DMA")));
394 volatile unsigned short mmrMDMA_S1_CONFIG __attribute__ ((aligned(4), section("DMA")));
395 volatile unsigned short mmrMDMA_S1_DUMMY0 __attribute__ ((aligned(4), section("DMA")));
396 volatile unsigned short mmrMDMA_S1_X_COUNT __attribute__ ((aligned(4), section("DMA")));
397 volatile signed short mmrMDMA_S1_X_MODIFY __attribute__ ((aligned(4), section("DMA")));
398 volatile unsigned short mmrMDMA_S1_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
399 volatile signed short mmrMDMA_S1_Y_MODIFY __attribute__ ((aligned(4), section("DMA")));
400 volatile void * volatile mmrMDMA_S1_CURR_DESC_PTR __attribute__ ((aligned(4), section("DMA")));
401 volatile void * volatile mmrMDMA_S1_CURR_ADDR __attribute__ ((aligned(4), section("DMA")));
402 volatile unsigned short mmrMDMA_S1_IRQ_STATUS __attribute__ ((aligned(4), section("DMA")));
403 volatile unsigned short mmrMDMA_S1_PERIPHERAL_MAP __attribute__ ((aligned(4), section("DMA")));
404 volatile unsigned short mmrMDMA_S1_CURR_X_COUNT __attribute__ ((aligned(4), section("DMA")));
405 volatile unsigned short mmrMDMA_S1_DUMMY1 __attribute__ ((aligned(4), section("DMA")));
406 volatile unsigned short mmrMDMA_S1_CURR_Y_COUNT __attribute__ ((aligned(4), section("DMA")));
407 volatile unsigned short mmrMDMA_S1_DUMMY2 __attribute__ ((aligned(4), section("DMA")));
409 volatile unsigned short mmrPPI_CONTROL __attribute__ ((aligned(4), section("PPI")));
410 volatile unsigned short mmrPPI_STATUS __attribute__ ((aligned(4), section("PPI")));
411 volatile unsigned short mmrPPI_COUNT __attribute__ ((aligned(4), section("PPI")));
412 volatile unsigned short mmrPPI_DELAY __attribute__ ((aligned(4), section("PPI")));
413 volatile unsigned short mmrPPI_FRAME __attribute__ ((aligned(4), section("PPI")));