/*
 * The authors hereby grant permission to use, copy, modify, distribute,
 * and license this software and its documentation for any purpose, provided
 * that existing copyright notices are retained in all copies and that this
 * notice is included verbatim in any distributions. No written agreement,
 * license, or royalty fee is required for any of the authorized uses.
 * Modifications to this software may be copyrighted by their authors
 * and need not follow the licensing terms described here, provided that
 * the new terms are clearly indicated on the first page of each file where
 * they apply.
 */

/************************************************************************
 *
 * cdefBF561.h
 *
 * (c) Copyright 2001-2009 Analog Devices, Inc.  All rights reserved.
 *
 ************************************************************************/

/* C POINTERS TO SYSTEM MMR REGISTER AND MEMORY MAP FOR ADSP-BF561 */

#ifndef _CDEF_BF561_H
#define _CDEF_BF561_H

#if !defined(__ADSPBF561__)
#warning cdefBF561.h should only be included for BF561 chip.
#endif
/* include all Core registers and bit definitions */
#include <defBF561.h>
#include <cdef_LPBlackfin.h>

#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */

/*********************************************************************************** */
/* System MMR Register Map */
/*********************************************************************************** */

#ifndef _PTR_TO_VOL_VOID_PTR
#ifndef _USE_LEGACY_CDEF_BEHAVIOUR
#define _PTR_TO_VOL_VOID_PTR (void * volatile *)
#else
#define _PTR_TO_VOL_VOID_PTR (volatile void **)
#endif
#endif


/* Clock and System Control (0xFFC00000 - 0xFFC000FF) */
#define pPLL_CTL 	((volatile unsigned short *)PLL_CTL)
#define pPLL_DIV 	((volatile unsigned short *)PLL_DIV)
#define pVR_CTL 	((volatile unsigned short *)VR_CTL)
#define pPLL_STAT 	((volatile unsigned short *)PLL_STAT)
#define pPLL_LOCKCNT 	((volatile unsigned short *)PLL_LOCKCNT)
#define pCHIPID ((volatile unsigned long*)CHIPID)

/* System Reset and Interrupt Controller registers for core A (0xFFC0 0100-0xFFC0 01FF) */
#define pSICA_SWRST 	((volatile unsigned short *)SICA_SWRST)
#define pSICA_SYSCR 	((volatile unsigned short *)SICA_SYSCR)
#define pSICA_RVECT 	((volatile unsigned short *)SICA_RVECT)
#define pSICA_IMASK 	((volatile unsigned long *)SICA_IMASK)
#define pSICA_IMASK0 	((volatile unsigned long *)SICA_IMASK0)
#define pSICA_IMASK1 	((volatile unsigned long *)SICA_IMASK1)
#define pSICA_IAR0 	((volatile unsigned long *)SICA_IAR0)
#define pSICA_IAR1 	((volatile unsigned long *)SICA_IAR1)
#define pSICA_IAR2 	((volatile unsigned long *)SICA_IAR2)
#define pSICA_IAR3 	((volatile unsigned long *)SICA_IAR3)
#define pSICA_IAR4 	((volatile unsigned long *)SICA_IAR4)
#define pSICA_IAR5 	((volatile unsigned long *)SICA_IAR5)
#define pSICA_IAR6 	((volatile unsigned long *)SICA_IAR6)
#define pSICA_IAR7 	((volatile unsigned long *)SICA_IAR7)
#define pSICA_ISR0 	((volatile unsigned long *)SICA_ISR0)
#define pSICA_ISR1 	((volatile unsigned long *)SICA_ISR1)
#define pSICA_IWR0 	((volatile unsigned long *)SICA_IWR0)
#define pSICA_IWR1 	((volatile unsigned long *)SICA_IWR1)

/* System Reset and Interrupt Controller registers for Core B (0xFFC0 1100-0xFFC0 11FF) */
#define pSICB_SWRST 	((volatile unsigned short *)SICB_SWRST)
#define pSICB_SYSCR 	((volatile unsigned short *)SICB_SYSCR)
#define pSICB_RVECT 	((volatile unsigned short *)SICB_RVECT)
#define pSICB_IMASK0 	((volatile unsigned long *)SICB_IMASK0)
#define pSICB_IMASK1	((volatile unsigned long *)SICB_IMASK1)
#define pSICB_IAR0 	((volatile unsigned long *)SICB_IAR0)
#define pSICB_IAR1	((volatile unsigned long *)SICB_IAR1)
#define pSICB_IAR2	((volatile unsigned long *)SICB_IAR2)
#define pSICB_IAR3	((volatile unsigned long *)SICB_IAR3)
#define pSICB_IAR4	((volatile unsigned long *)SICB_IAR4)
#define pSICB_IAR5	((volatile unsigned long *)SICB_IAR5)
#define pSICB_IAR6	((volatile unsigned long *)SICB_IAR6)
#define pSICB_IAR7 	((volatile unsigned long *)SICB_IAR7)
#define pSICB_ISR0	((volatile unsigned long *)SICB_ISR0)
#define pSICB_ISR1 	((volatile unsigned long *)SICB_ISR1)
#define pSICB_IWR0 	((volatile unsigned long *)SICB_IWR0)
#define pSICB_IWR1 	((volatile unsigned long *)SICB_IWR1)
/* Watchdog Timer registers for Core A (0xFFC0 0200-0xFFC0 02FF) */
#define pWDOGA_CTL 	((volatile unsigned short *)WDOGA_CTL)
#define pWDOGA_CNT 	((volatile unsigned long *)WDOGA_CNT)
#define pWDOGA_STAT 	((volatile unsigned long *)WDOGA_STAT)

/* Watchdog Timer registers for Core B (0xFFC0 1200-0xFFC0 12FF) */
#define pWDOGB_CTL 	((volatile unsigned short *)WDOGB_CTL)
#define pWDOGB_CNT 	((volatile unsigned long *)WDOGB_CNT)
#define pWDOGB_STAT 	((volatile unsigned long *)WDOGB_STAT)

/* UART Controller (0xFFC00400 - 0xFFC004FF) */
#define pUART_THR 	((volatile unsigned short *)UART_THR)
#define pUART_RBR 	((volatile unsigned short *)UART_RBR)
#define pUART_DLL 	((volatile unsigned short *)UART_DLL)
#define pUART_IER 	((volatile unsigned short *)UART_IER)
#define pUART_DLH 	((volatile unsigned short *)UART_DLH)
#define pUART_IIR 	((volatile unsigned short *)UART_IIR)
#define pUART_LCR 	((volatile unsigned short *)UART_LCR)
#define pUART_MCR 	((volatile unsigned short *)UART_MCR)
#define pUART_LSR 	((volatile unsigned short *)UART_LSR)
#define pUART_SCR 	((volatile unsigned short *)UART_SCR)
#define pUART_GCTL 	((volatile unsigned short *)UART_GCTL)

/* SPI Controller (0xFFC00500 - 0xFFC005FF) */
#define pSPI_CTL 	((volatile unsigned short *)SPI_CTL)
#define pSPI_FLG 	((volatile unsigned short *)SPI_FLG)
#define pSPI_STAT 	((volatile unsigned short *)SPI_STAT)
#define pSPI_TDBR 	((volatile unsigned short *)SPI_TDBR)
#define pSPI_RDBR 	((volatile unsigned short *)SPI_RDBR)
#define pSPI_BAUD 	((volatile unsigned short *)SPI_BAUD)
#define pSPI_SHADOW 	((volatile unsigned short *)SPI_SHADOW)

/* Timer 0-7 registers (0xFFC0 0600-0xFFC0 06FF) */
#define pTIMER0_CONFIG 	((volatile unsigned short *)TIMER0_CONFIG)
#define pTIMER0_COUNTER ((volatile unsigned long *)TIMER0_COUNTER)
#define pTIMER0_PERIOD 	((volatile unsigned long *)TIMER0_PERIOD)
#define pTIMER0_WIDTH 	((volatile unsigned long *)TIMER0_WIDTH)
#define pTIMER1_CONFIG 	((volatile unsigned short *)TIMER1_CONFIG)
#define pTIMER1_COUNTER ((volatile unsigned long *)TIMER1_COUNTER)
#define pTIMER1_PERIOD 	((volatile unsigned long *)TIMER1_PERIOD)
#define pTIMER1_WIDTH 	((volatile unsigned long *)TIMER1_WIDTH)
#define pTIMER2_CONFIG 	((volatile unsigned short *)TIMER2_CONFIG)
#define pTIMER2_COUNTER ((volatile unsigned long *)TIMER2_COUNTER)
#define pTIMER2_PERIOD 	((volatile unsigned long *)TIMER2_PERIOD)
#define pTIMER2_WIDTH 	((volatile unsigned long *)TIMER2_WIDTH)
#define pTIMER3_CONFIG 	((volatile unsigned short *)TIMER3_CONFIG)
#define pTIMER3_COUNTER ((volatile unsigned long *)TIMER3_COUNTER)
#define pTIMER3_PERIOD 	((volatile unsigned long *)TIMER3_PERIOD)
#define pTIMER3_WIDTH 	((volatile unsigned long *)TIMER3_WIDTH)
#define pTIMER4_CONFIG 	((volatile unsigned short *)TIMER4_CONFIG)
#define pTIMER4_COUNTER ((volatile unsigned long *)TIMER4_COUNTER)
#define pTIMER4_PERIOD 	((volatile unsigned long *)TIMER4_PERIOD)
#define pTIMER4_WIDTH 	((volatile unsigned long *)TIMER4_WIDTH)
#define pTIMER5_CONFIG 	((volatile unsigned short *)TIMER5_CONFIG)
#define pTIMER5_COUNTER ((volatile unsigned long *)TIMER5_COUNTER)
#define pTIMER5_PERIOD 	((volatile unsigned long *)TIMER5_PERIOD)
#define pTIMER5_WIDTH 	((volatile unsigned long *)TIMER5_WIDTH)
#define pTIMER6_CONFIG 	((volatile unsigned short *)TIMER6_CONFIG)
#define pTIMER6_COUNTER ((volatile unsigned long *)TIMER6_COUNTER)
#define pTIMER6_PERIOD 	((volatile unsigned long *)TIMER6_PERIOD)
#define pTIMER6_WIDTH 	((volatile unsigned long *)TIMER6_WIDTH)
#define pTIMER7_CONFIG 	((volatile unsigned short *)TIMER7_CONFIG)
#define pTIMER7_COUNTER ((volatile unsigned long *)TIMER7_COUNTER)
#define pTIMER7_PERIOD 	((volatile unsigned long *)TIMER7_PERIOD)
#define pTIMER7_WIDTH 	((volatile unsigned long *)TIMER7_WIDTH)

/* Timer registers 8-11 (0xFFC0 1600-0xFFC0 16FF) */
#define pTMRS8_ENABLE 	((volatile unsigned short *)TMRS8_ENABLE)
#define pTMRS8_DISABLE 	((volatile unsigned short *)TMRS8_DISABLE)
#define pTMRS8_STATUS 	((volatile unsigned long *)TMRS8_STATUS)
#define pTIMER8_CONFIG 	((volatile unsigned short *)TIMER8_CONFIG)
#define pTIMER8_COUNTER ((volatile unsigned long *)TIMER8_COUNTER)
#define pTIMER8_PERIOD 	((volatile unsigned long *)TIMER8_PERIOD)
#define pTIMER8_WIDTH 	((volatile unsigned long *)TIMER8_WIDTH)
#define pTIMER9_CONFIG 	((volatile unsigned short *)TIMER9_CONFIG)
#define pTIMER9_COUNTER ((volatile unsigned long *)TIMER9_COUNTER)
#define pTIMER9_PERIOD 	((volatile unsigned long *)TIMER9_PERIOD)
#define pTIMER9_WIDTH 	((volatile unsigned long *)TIMER9_WIDTH)
#define pTIMER10_CONFIG ((volatile unsigned short *)TIMER10_CONFIG)
#define pTIMER10_COUNTER ((volatile unsigned long *)TIMER10_COUNTER)
#define pTIMER10_PERIOD ((volatile unsigned long *)TIMER10_PERIOD)
#define pTIMER10_WIDTH 	((volatile unsigned long *)TIMER10_WIDTH)
#define pTIMER11_CONFIG ((volatile unsigned short *)TIMER11_CONFIG)
#define pTIMER11_COUNTER ((volatile unsigned long *)TIMER11_COUNTER)
#define pTIMER11_PERIOD ((volatile unsigned long *)TIMER11_PERIOD)
#define pTIMER11_WIDTH 	((volatile unsigned long *)TIMER11_WIDTH)
#define pTMRS4_ENABLE 	((volatile unsigned short *)TMRS4_ENABLE)
#define pTMRS4_DISABLE 	((volatile unsigned short *)TMRS4_DISABLE)
#define pTMRS4_STATUS 	((volatile unsigned long *)TMRS4_STATUS)

/* Programmable Flag 0 registers (0xFFC0 0700-0xFFC0 07FF) */
#define pFIO0_FLAG_D 	((volatile unsigned short *)FIO0_FLAG_D)
#define pFIO0_FLAG_C 	((volatile unsigned short *)FIO0_FLAG_C)
#define pFIO0_FLAG_S 	((volatile unsigned short *)FIO0_FLAG_S)
#define pFIO0_FLAG_T 	((volatile unsigned short *)FIO0_FLAG_T)
#define pFIO0_MASKA_D 	((volatile unsigned short *)FIO0_MASKA_D)
#define pFIO0_MASKA_C 	((volatile unsigned short *)FIO0_MASKA_C)
#define pFIO0_MASKA_S 	((volatile unsigned short *)FIO0_MASKA_S)
#define pFIO0_MASKA_T 	((volatile unsigned short *)FIO0_MASKA_T)
#define pFIO0_MASKB_D 	((volatile unsigned short *)FIO0_MASKB_D)
#define pFIO0_MASKB_C 	((volatile unsigned short *)FIO0_MASKB_C)
#define pFIO0_MASKB_S 	((volatile unsigned short *)FIO0_MASKB_S)
#define pFIO0_MASKB_T 	((volatile unsigned short *)FIO0_MASKB_T)
#define pFIO0_DIR 	((volatile unsigned short *)FIO0_DIR)
#define pFIO0_POLAR 	((volatile unsigned short *)FIO0_POLAR)
#define pFIO0_EDGE 	((volatile unsigned short *)FIO0_EDGE)
#define pFIO0_BOTH 	((volatile unsigned short *)FIO0_BOTH)
#define pFIO0_INEN 	((volatile unsigned short *)FIO0_INEN)
/* Programmable Flag 1 registers (0xFFC0 1500-0xFFC0 15FF) */
#define pFIO1_FLAG_D 	((volatile unsigned short *)FIO1_FLAG_D)
#define pFIO1_FLAG_C 	((volatile unsigned short *)FIO1_FLAG_C)
#define pFIO1_FLAG_S 	((volatile unsigned short *)FIO1_FLAG_S)
#define pFIO1_FLAG_T 	((volatile unsigned short *)FIO1_FLAG_T)
#define pFIO1_MASKA_D 	((volatile unsigned short *)FIO1_MASKA_D)
#define pFIO1_MASKA_C 	((volatile unsigned short *)FIO1_MASKA_C)
#define pFIO1_MASKA_S 	((volatile unsigned short *)FIO1_MASKA_S)
#define pFIO1_MASKA_T 	((volatile unsigned short *)FIO1_MASKA_T)
#define pFIO1_MASKB_D 	((volatile unsigned short *)FIO1_MASKB_D)
#define pFIO1_MASKB_C 	((volatile unsigned short *)FIO1_MASKB_C)
#define pFIO1_MASKB_S 	((volatile unsigned short *)FIO1_MASKB_S)
#define pFIO1_MASKB_T 	((volatile unsigned short *)FIO1_MASKB_T)
#define pFIO1_DIR 	((volatile unsigned short *)FIO1_DIR)
#define pFIO1_POLAR 	((volatile unsigned short *)FIO1_POLAR)
#define pFIO1_EDGE 	((volatile unsigned short *)FIO1_EDGE)
#define pFIO1_BOTH 	((volatile unsigned short *)FIO1_BOTH)
#define pFIO1_INEN 	((volatile unsigned short *)FIO1_INEN)
/* Programmable Flag registers (0xFFC0 1700-0xFFC0 17FF) */
#define pFIO2_FLAG_D 	((volatile unsigned short *)FIO2_FLAG_D)
#define pFIO2_FLAG_C 	((volatile unsigned short *)FIO2_FLAG_C)
#define pFIO2_FLAG_S 	((volatile unsigned short *)FIO2_FLAG_S)
#define pFIO2_FLAG_T 	((volatile unsigned short *)FIO2_FLAG_T)
#define pFIO2_MASKA_D 	((volatile unsigned short *)FIO2_MASKA_D)
#define pFIO2_MASKA_C 	((volatile unsigned short *)FIO2_MASKA_C)
#define pFIO2_MASKA_S 	((volatile unsigned short *)FIO2_MASKA_S)
#define pFIO2_MASKA_T 	((volatile unsigned short *)FIO2_MASKA_T)
#define pFIO2_MASKB_D 	((volatile unsigned short *)FIO2_MASKB_D)
#define pFIO2_MASKB_C 	((volatile unsigned short *)FIO2_MASKB_C)
#define pFIO2_MASKB_S 	((volatile unsigned short *)FIO2_MASKB_S)
#define pFIO2_MASKB_T 	((volatile unsigned short *)FIO2_MASKB_T)
#define pFIO2_DIR 	((volatile unsigned short *)FIO2_DIR)
#define pFIO2_POLAR 	((volatile unsigned short *)FIO2_POLAR)
#define pFIO2_EDGE 	((volatile unsigned short *)FIO2_EDGE)
#define pFIO2_BOTH 	((volatile unsigned short *)FIO2_BOTH)
#define pFIO2_INEN 	((volatile unsigned short *)FIO2_INEN)
/* SPORT0 Controller (0xFFC00800 - 0xFFC008FF) */
#define pSPORT0_TCR1 	((volatile unsigned short *)SPORT0_TCR1)
#define pSPORT0_TCR2 	((volatile unsigned short *)SPORT0_TCR2)
#define pSPORT0_TCLKDIV ((volatile unsigned short *)SPORT0_TCLKDIV)
#define pSPORT0_TFSDIV 	((volatile unsigned short *)SPORT0_TFSDIV)
#define pSPORT0_TX 	((volatile unsigned long *)SPORT0_TX)
#define pSPORT0_RX 	((volatile unsigned long *)SPORT0_RX)
#define pSPORT0_TX32 	((volatile long *)SPORT0_TX)
#define pSPORT0_RX32 	((volatile long *)SPORT0_RX)
#define pSPORT0_TX16 	((volatile unsigned short *)SPORT0_TX)
#define pSPORT0_RX16 	((volatile unsigned short *)SPORT0_RX)
#define pSPORT0_RCR1 	((volatile unsigned short *)SPORT0_RCR1)
#define pSPORT0_RCR2 	((volatile unsigned short *)SPORT0_RCR2)
#define pSPORT0_RCLKDIV ((volatile unsigned short *)SPORT0_RCLKDIV)
#define pSPORT0_RFSDIV 	((volatile unsigned short *)SPORT0_RFSDIV)
#define pSPORT0_STAT 	((volatile unsigned short *)SPORT0_STAT)
#define pSPORT0_CHNL 	((volatile unsigned short *)SPORT0_CHNL)
#define pSPORT0_MCMC1 	((volatile unsigned short *)SPORT0_MCMC1)
#define pSPORT0_MCMC2 	((volatile unsigned short *)SPORT0_MCMC2)
#define pSPORT0_MTCS0 	((volatile unsigned long *)SPORT0_MTCS0)
#define pSPORT0_MTCS1 	((volatile unsigned long *)SPORT0_MTCS1)
#define pSPORT0_MTCS2 	((volatile unsigned long *)SPORT0_MTCS2)
#define pSPORT0_MTCS3	((volatile unsigned long *)SPORT0_MTCS3)
#define pSPORT0_MRCS0	((volatile unsigned long *)SPORT0_MRCS0)
#define pSPORT0_MRCS1	((volatile unsigned long *)SPORT0_MRCS1)
#define pSPORT0_MRCS2 	((volatile unsigned long *)SPORT0_MRCS2)
#define pSPORT0_MRCS3 	((volatile unsigned long *)SPORT0_MRCS3)
/* SPORT1 Controller (0xFFC00900 - 0xFFC009FF) */
#define pSPORT1_TCR1 	((volatile unsigned short *)SPORT1_TCR1)
#define pSPORT1_TCR2 	((volatile unsigned short *)SPORT1_TCR2)
#define pSPORT1_TCLKDIV ((volatile unsigned short *)SPORT1_TCLKDIV)
#define pSPORT1_TFSDIV 	((volatile unsigned short *)SPORT1_TFSDIV)
#define pSPORT1_TX 	((volatile unsigned long *)SPORT1_TX)
#define pSPORT1_RX 	((volatile unsigned long *)SPORT1_RX)
#define pSPORT1_TX32 	((volatile long *)SPORT1_TX)
#define pSPORT1_RX32 	((volatile long *)SPORT1_RX)
#define pSPORT1_TX16 	((volatile unsigned short *)SPORT1_TX)
#define pSPORT1_RX16 	((volatile unsigned short *)SPORT1_RX)
#define pSPORT1_RCR1 	((volatile unsigned short *)SPORT1_RCR1)
#define pSPORT1_RCR2 	((volatile unsigned short *)SPORT1_RCR2)
#define pSPORT1_RCLKDIV ((volatile unsigned short *)SPORT1_RCLKDIV)
#define pSPORT1_RFSDIV 	((volatile unsigned short *)SPORT1_RFSDIV)
#define pSPORT1_STAT 	((volatile unsigned short *)SPORT1_STAT)
#define pSPORT1_CHNL 	((volatile unsigned short *)SPORT1_CHNL)
#define pSPORT1_MCMC1 	((volatile unsigned short *)SPORT1_MCMC1)
#define pSPORT1_MCMC2 	((volatile unsigned short *)SPORT1_MCMC2)
#define pSPORT1_MTCS0 	((volatile unsigned long *)SPORT1_MTCS0)
#define pSPORT1_MTCS1 	((volatile unsigned long *)SPORT1_MTCS1)
#define pSPORT1_MTCS2 	((volatile unsigned long *)SPORT1_MTCS2)
#define pSPORT1_MTCS3 	((volatile unsigned long *)SPORT1_MTCS3)
#define pSPORT1_MRCS0 	((volatile unsigned long *)SPORT1_MRCS0)
#define pSPORT1_MRCS1 	((volatile unsigned long *)SPORT1_MRCS1)
#define pSPORT1_MRCS2 	((volatile unsigned long *)SPORT1_MRCS2)
#define pSPORT1_MRCS3 	((volatile unsigned long *)SPORT1_MRCS3)
/* Asynchronous Memory Controller - External Bus Interface Unit */
#define pEBIU_AMGCTL 	((volatile unsigned short *)EBIU_AMGCTL)
#define pEBIU_AMBCTL0 	((volatile unsigned long *)EBIU_AMBCTL0)
#define pEBIU_AMBCTL1 	((volatile unsigned long *)EBIU_AMBCTL1)
/* SDRAM Controller External Bus Interface Unit (0xFFC00A00 - 0xFFC00AFF) */
#define pEBIU_SDGCTL 	((volatile unsigned long *)EBIU_SDGCTL)
#define pEBIU_SDBCTL 	((volatile unsigned long *)EBIU_SDBCTL)
#define pEBIU_SDRRC 	((volatile unsigned short *)EBIU_SDRRC)
#define pEBIU_SDSTAT 	((volatile unsigned short *)EBIU_SDSTAT)
/* Parallel Peripheral Interface (PPI) 0 registers (0xFFC0 1000-0xFFC0 10FF) */
#define pPPI0_CONTROL 	((volatile unsigned short *)PPI0_CONTROL)
#define pPPI0_STATUS 	((volatile unsigned short *)PPI0_STATUS)
#define pPPI0_COUNT 	((volatile unsigned short *)PPI0_COUNT)
#define pPPI0_DELAY 	((volatile unsigned short *)PPI0_DELAY)
#define pPPI0_FRAME 	((volatile unsigned short *)PPI0_FRAME)
/* Parallel Peripheral Interface (PPI) 1 registers (0xFFC0 1300-0xFFC0 13FF) */
#define pPPI1_CONTROL 	((volatile unsigned short *)PPI1_CONTROL)
#define pPPI1_STATUS	((volatile unsigned short *)PPI1_STATUS)
#define pPPI1_COUNT 	((volatile unsigned short *)PPI1_COUNT)
#define pPPI1_DELAY 	((volatile unsigned short *)PPI1_DELAY)
#define pPPI1_FRAME 	((volatile unsigned short *)PPI1_FRAME)
/*DMA traffic control registers */
#define pDMA1_TC_PER 	((volatile unsigned short *)DMA1_TC_PER)
#define pDMA1_TC_CNT 	((volatile unsigned short *)DMA1_TC_CNT)
#define pDMA2_TC_PER 	((volatile unsigned short *)DMA2_TC_PER)
#define pDMA2_TC_CNT 	((volatile unsigned short *)DMA2_TC_CNT)
/* DMA1 Controller registers (0xFFC0 1C00-0xFFC0 1FFF) */
#define pDMA1_0_CONFIG 		((volatile unsigned short *)DMA1_0_CONFIG)
#define pDMA1_0_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_0_NEXT_DESC_PTR)
#define pDMA1_0_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_0_START_ADDR)
#define pDMA1_0_X_COUNT 	((volatile unsigned short *)DMA1_0_X_COUNT)
#define pDMA1_0_Y_COUNT 	((volatile unsigned short *)DMA1_0_Y_COUNT)
#define pDMA1_0_X_MODIFY 	(volatile signed short *)DMA1_0_X_MODIFY
#define pDMA1_0_Y_MODIFY 	(volatile signed short *)DMA1_0_Y_MODIFY
#define pDMA1_0_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_0_CURR_DESC_PTR)
#define pDMA1_0_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_0_CURR_ADDR)
#define pDMA1_0_CURR_X_COUNT 	((volatile unsigned short *)DMA1_0_CURR_X_COUNT)
#define pDMA1_0_CURR_Y_COUNT 	((volatile unsigned short *)DMA1_0_CURR_Y_COUNT)
#define pDMA1_0_IRQ_STATUS 	((volatile unsigned short *)DMA1_0_IRQ_STATUS)
#define pDMA1_0_PERIPHERAL_MAP 	((volatile unsigned short *)DMA1_0_PERIPHERAL_MAP)
#define pDMA1_1_CONFIG 		((volatile unsigned short *)DMA1_1_CONFIG)
#define pDMA1_1_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_1_NEXT_DESC_PTR)
#define pDMA1_1_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_1_START_ADDR)
#define pDMA1_1_X_COUNT 	((volatile unsigned short *)DMA1_1_X_COUNT)
#define pDMA1_1_Y_COUNT 	((volatile unsigned short *)DMA1_1_Y_COUNT)
#define pDMA1_1_X_MODIFY 	(volatile signed short *)DMA1_1_X_MODIFY
#define pDMA1_1_Y_MODIFY 	(volatile signed short *)DMA1_1_Y_MODIFY
#define pDMA1_1_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_1_CURR_DESC_PTR)
#define pDMA1_1_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_1_CURR_ADDR)
#define pDMA1_1_CURR_X_COUNT 	((volatile unsigned short *)DMA1_1_CURR_X_COUNT)
#define pDMA1_1_CURR_Y_COUNT 	((volatile unsigned short *)DMA1_1_CURR_Y_COUNT)
#define pDMA1_1_IRQ_STATUS 	((volatile unsigned short *)DMA1_1_IRQ_STATUS)
#define pDMA1_1_PERIPHERAL_MAP 	((volatile unsigned short *)DMA1_1_PERIPHERAL_MAP)
#define pDMA1_2_CONFIG 		((volatile unsigned short *)DMA1_2_CONFIG)
#define pDMA1_2_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_2_NEXT_DESC_PTR)
#define pDMA1_2_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_2_START_ADDR)
#define pDMA1_2_X_COUNT 	((volatile unsigned short *)DMA1_2_X_COUNT)
#define pDMA1_2_Y_COUNT 	((volatile unsigned short *)DMA1_2_Y_COUNT)
#define pDMA1_2_X_MODIFY 	(volatile signed short *)DMA1_2_X_MODIFY
#define pDMA1_2_Y_MODIFY 	(volatile signed short *)DMA1_2_Y_MODIFY
#define pDMA1_2_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_2_CURR_DESC_PTR)
#define pDMA1_2_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_2_CURR_ADDR)
#define pDMA1_2_CURR_X_COUNT 	((volatile unsigned short *)DMA1_2_CURR_X_COUNT)
#define pDMA1_2_CURR_Y_COUNT 	((volatile unsigned short *)DMA1_2_CURR_Y_COUNT)
#define pDMA1_2_IRQ_STATUS 	((volatile unsigned short *)DMA1_2_IRQ_STATUS)
#define pDMA1_2_PERIPHERAL_MAP 	((volatile unsigned short *)DMA1_2_PERIPHERAL_MAP)
#define pDMA1_3_CONFIG 		((volatile unsigned short *)DMA1_3_CONFIG)
#define pDMA1_3_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_3_NEXT_DESC_PTR)
#define pDMA1_3_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_3_START_ADDR)
#define pDMA1_3_X_COUNT 	((volatile unsigned short *)DMA1_3_X_COUNT)
#define pDMA1_3_Y_COUNT 	((volatile unsigned short *)DMA1_3_Y_COUNT)
#define pDMA1_3_X_MODIFY 	(volatile signed short *)DMA1_3_X_MODIFY
#define pDMA1_3_Y_MODIFY 	(volatile signed short *)DMA1_3_Y_MODIFY
#define pDMA1_3_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_3_CURR_DESC_PTR)
#define pDMA1_3_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_3_CURR_ADDR)
#define pDMA1_3_CURR_X_COUNT 	((volatile unsigned short *)DMA1_3_CURR_X_COUNT)
#define pDMA1_3_CURR_Y_COUNT 	((volatile unsigned short *)DMA1_3_CURR_Y_COUNT)
#define pDMA1_3_IRQ_STATUS 	((volatile unsigned short *)DMA1_3_IRQ_STATUS)
#define pDMA1_3_PERIPHERAL_MAP	((volatile unsigned short *)DMA1_3_PERIPHERAL_MAP)
#define pDMA1_4_CONFIG 		((volatile unsigned short *)DMA1_4_CONFIG)
#define pDMA1_4_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_4_NEXT_DESC_PTR)
#define pDMA1_4_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_4_START_ADDR)
#define pDMA1_4_X_COUNT 	((volatile unsigned short *)DMA1_4_X_COUNT)
#define pDMA1_4_Y_COUNT 	((volatile unsigned short *)DMA1_4_Y_COUNT)
#define pDMA1_4_X_MODIFY 	(volatile signed short *)DMA1_4_X_MODIFY
#define pDMA1_4_Y_MODIFY 	(volatile signed short *)DMA1_4_Y_MODIFY
#define pDMA1_4_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_4_CURR_DESC_PTR)
#define pDMA1_4_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_4_CURR_ADDR)
#define pDMA1_4_CURR_X_COUNT 	((volatile unsigned short *)DMA1_4_CURR_X_COUNT)
#define pDMA1_4_CURR_Y_COUNT 	((volatile unsigned short *)DMA1_4_CURR_Y_COUNT)
#define pDMA1_4_IRQ_STATUS 	((volatile unsigned short *)DMA1_4_IRQ_STATUS)
#define pDMA1_4_PERIPHERAL_MAP 	((volatile unsigned short *)DMA1_4_PERIPHERAL_MAP)
#define pDMA1_5_CONFIG 		((volatile unsigned short *)DMA1_5_CONFIG)
#define pDMA1_5_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_5_NEXT_DESC_PTR)
#define pDMA1_5_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_5_START_ADDR)
#define pDMA1_5_X_COUNT 	((volatile unsigned short *)DMA1_5_X_COUNT)
#define pDMA1_5_Y_COUNT 	((volatile unsigned short *)DMA1_5_Y_COUNT)
#define pDMA1_5_X_MODIFY 	(volatile signed short *)DMA1_5_X_MODIFY
#define pDMA1_5_Y_MODIFY 	(volatile signed short *)DMA1_5_Y_MODIFY
#define pDMA1_5_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_5_CURR_DESC_PTR)
#define pDMA1_5_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_5_CURR_ADDR)
#define pDMA1_5_CURR_X_COUNT 	((volatile unsigned short *)DMA1_5_CURR_X_COUNT)
#define pDMA1_5_CURR_Y_COUNT 	((volatile unsigned short *)DMA1_5_CURR_Y_COUNT)
#define pDMA1_5_IRQ_STATUS 	((volatile unsigned short *)DMA1_5_IRQ_STATUS)
#define pDMA1_5_PERIPHERAL_MAP 	((volatile unsigned short *)DMA1_5_PERIPHERAL_MAP)
#define pDMA1_6_CONFIG 		((volatile unsigned short *)DMA1_6_CONFIG)
#define pDMA1_6_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_6_NEXT_DESC_PTR)
#define pDMA1_6_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_6_START_ADDR)
#define pDMA1_6_X_COUNT 	((volatile unsigned short *)DMA1_6_X_COUNT)
#define pDMA1_6_Y_COUNT 	((volatile unsigned short *)DMA1_6_Y_COUNT)
#define pDMA1_6_X_MODIFY 	(volatile signed short *)DMA1_6_X_MODIFY
#define pDMA1_6_Y_MODIFY 	(volatile signed short *)DMA1_6_Y_MODIFY
#define pDMA1_6_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_6_CURR_DESC_PTR)
#define pDMA1_6_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_6_CURR_ADDR)
#define pDMA1_6_CURR_X_COUNT 	((volatile unsigned short *)DMA1_6_CURR_X_COUNT)
#define pDMA1_6_CURR_Y_COUNT 	((volatile unsigned short *)DMA1_6_CURR_Y_COUNT)
#define pDMA1_6_IRQ_STATUS 	((volatile unsigned short *)DMA1_6_IRQ_STATUS)
#define pDMA1_6_PERIPHERAL_MAP 	((volatile unsigned short *)DMA1_6_PERIPHERAL_MAP)
#define pDMA1_7_CONFIG 		((volatile unsigned short *)DMA1_7_CONFIG)
#define pDMA1_7_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_7_NEXT_DESC_PTR)
#define pDMA1_7_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_7_START_ADDR)
#define pDMA1_7_X_COUNT 	((volatile unsigned short *)DMA1_7_X_COUNT)
#define pDMA1_7_Y_COUNT 	((volatile unsigned short *)DMA1_7_Y_COUNT)
#define pDMA1_7_X_MODIFY 	(volatile signed short *)DMA1_7_X_MODIFY
#define pDMA1_7_Y_MODIFY 	(volatile signed short *)DMA1_7_Y_MODIFY
#define pDMA1_7_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_7_CURR_DESC_PTR)
#define pDMA1_7_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_7_CURR_ADDR)
#define pDMA1_7_CURR_X_COUNT 	((volatile unsigned short *)DMA1_7_CURR_X_COUNT)
#define pDMA1_7_CURR_Y_COUNT 	((volatile unsigned short *)DMA1_7_CURR_Y_COUNT)
#define pDMA1_7_IRQ_STATUS 	((volatile unsigned short *)DMA1_7_IRQ_STATUS)
#define pDMA1_7_PERIPHERAL_MAP 	((volatile unsigned short *)DMA1_7_PERIPHERAL_MAP)
#define pDMA1_8_CONFIG 		((volatile unsigned short *)DMA1_8_CONFIG)
#define pDMA1_8_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_8_NEXT_DESC_PTR)
#define pDMA1_8_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_8_START_ADDR)
#define pDMA1_8_X_COUNT 	((volatile unsigned short *)DMA1_8_X_COUNT)
#define pDMA1_8_Y_COUNT 	((volatile unsigned short *)DMA1_8_Y_COUNT)
#define pDMA1_8_X_MODIFY 	(volatile signed short *)DMA1_8_X_MODIFY
#define pDMA1_8_Y_MODIFY 	(volatile signed short *)DMA1_8_Y_MODIFY
#define pDMA1_8_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_8_CURR_DESC_PTR)
#define pDMA1_8_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_8_CURR_ADDR)
#define pDMA1_8_CURR_X_COUNT 	((volatile unsigned short *)DMA1_8_CURR_X_COUNT)
#define pDMA1_8_CURR_Y_COUNT 	((volatile unsigned short *)DMA1_8_CURR_Y_COUNT)
#define pDMA1_8_IRQ_STATUS 	((volatile unsigned short *)DMA1_8_IRQ_STATUS)
#define pDMA1_8_PERIPHERAL_MAP 	((volatile unsigned short *)DMA1_8_PERIPHERAL_MAP)
#define pDMA1_9_CONFIG 		((volatile unsigned short *)DMA1_9_CONFIG)
#define pDMA1_9_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_9_NEXT_DESC_PTR)
#define pDMA1_9_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_9_START_ADDR)
#define pDMA1_9_X_COUNT 	((volatile unsigned short *)DMA1_9_X_COUNT)
#define pDMA1_9_Y_COUNT 	((volatile unsigned short *)DMA1_9_Y_COUNT)
#define pDMA1_9_X_MODIFY 	(volatile signed short *)DMA1_9_X_MODIFY
#define pDMA1_9_Y_MODIFY 	(volatile signed short *)DMA1_9_Y_MODIFY
#define pDMA1_9_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_9_CURR_DESC_PTR)
#define pDMA1_9_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_9_CURR_ADDR)
#define pDMA1_9_CURR_X_COUNT 	((volatile unsigned short *)DMA1_9_CURR_X_COUNT)
#define pDMA1_9_CURR_Y_COUNT 	((volatile unsigned short *)DMA1_9_CURR_Y_COUNT)
#define pDMA1_9_IRQ_STATUS 	((volatile unsigned short *)DMA1_9_IRQ_STATUS)
#define pDMA1_9_PERIPHERAL_MAP 	((volatile unsigned short *)DMA1_9_PERIPHERAL_MAP)
#define pDMA1_10_CONFIG 	((volatile unsigned short *)DMA1_10_CONFIG)
#define pDMA1_10_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_10_NEXT_DESC_PTR)
#define pDMA1_10_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_10_START_ADDR)
#define pDMA1_10_X_COUNT 	((volatile unsigned short *)DMA1_10_X_COUNT)
#define pDMA1_10_Y_COUNT 	((volatile unsigned short *)DMA1_10_Y_COUNT)
#define pDMA1_10_X_MODIFY 	(volatile signed short *)DMA1_10_X_MODIFY
#define pDMA1_10_Y_MODIFY 	(volatile signed short *)DMA1_10_Y_MODIFY
#define pDMA1_10_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_10_CURR_DESC_PTR)
#define pDMA1_10_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_10_CURR_ADDR)
#define pDMA1_10_CURR_X_COUNT 	((volatile unsigned short *)DMA1_10_CURR_X_COUNT)
#define pDMA1_10_CURR_Y_COUNT 	((volatile unsigned short *)DMA1_10_CURR_Y_COUNT)
#define pDMA1_10_IRQ_STATUS 	((volatile unsigned short *)DMA1_10_IRQ_STATUS)
#define pDMA1_10_PERIPHERAL_MAP ((volatile unsigned short *)DMA1_10_PERIPHERAL_MAP)
#define pDMA1_11_CONFIG 	((volatile unsigned short *)DMA1_11_CONFIG)
#define pDMA1_11_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_11_NEXT_DESC_PTR)
#define pDMA1_11_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_11_START_ADDR)
#define pDMA1_11_X_COUNT 	((volatile unsigned short *)DMA1_11_X_COUNT)
#define pDMA1_11_Y_COUNT 	((volatile unsigned short *)DMA1_11_Y_COUNT)
#define pDMA1_11_X_MODIFY 	(volatile signed short *)DMA1_11_X_MODIFY
#define pDMA1_11_Y_MODIFY 	(volatile signed short *)DMA1_11_Y_MODIFY
#define pDMA1_11_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA1_11_CURR_DESC_PTR)
#define pDMA1_11_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA1_11_CURR_ADDR)
#define pDMA1_11_CURR_X_COUNT 	((volatile unsigned short *)DMA1_11_CURR_X_COUNT)
#define pDMA1_11_CURR_Y_COUNT 	((volatile unsigned short *)DMA1_11_CURR_Y_COUNT)
#define pDMA1_11_IRQ_STATUS 	((volatile unsigned short *)DMA1_11_IRQ_STATUS)
#define pDMA1_11_PERIPHERAL_MAP ((volatile unsigned short *)DMA1_11_PERIPHERAL_MAP)
/* Memory DMA1 Controller registers (0xFFC0 1E80-0xFFC0 1FFF) */
#define pMDMA1_D0_CONFIG 	((volatile unsigned short *)MDMA1_D0_CONFIG)
#define pMDMA1_D0_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA1_D0_NEXT_DESC_PTR)
#define pMDMA1_D0_START_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA1_D0_START_ADDR)
#define pMDMA1_D0_X_COUNT 	((volatile unsigned short *)MDMA1_D0_X_COUNT)
#define pMDMA1_D0_Y_COUNT 	((volatile unsigned short *)MDMA1_D0_Y_COUNT)
#define pMDMA1_D0_X_MODIFY 	(volatile signed short *)MDMA1_D0_X_MODIFY
#define pMDMA1_D0_Y_MODIFY 	(volatile signed short *)MDMA1_D0_Y_MODIFY
#define pMDMA1_D0_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA1_D0_CURR_DESC_PTR)
#define pMDMA1_D0_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA1_D0_CURR_ADDR)
#define pMDMA1_D0_CURR_X_COUNT 	((volatile unsigned short *)MDMA1_D0_CURR_X_COUNT	)
#define pMDMA1_D0_CURR_Y_COUNT 	((volatile unsigned short *)MDMA1_D0_CURR_Y_COUNT)
#define pMDMA1_D0_IRQ_STATUS 	((volatile unsigned short *)MDMA1_D0_IRQ_STATUS)
#define pMDMA1_D0_PERIPHERAL_MAP ((volatile unsigned short *)MDMA1_D0_PERIPHERAL_MAP)
#define pMDMA1_S0_CONFIG 	((volatile unsigned short *)MDMA1_S0_CONFIG)
#define pMDMA1_S0_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA1_S0_NEXT_DESC_PTR)
#define pMDMA1_S0_START_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA1_S0_START_ADDR)
#define pMDMA1_S0_X_COUNT 	((volatile unsigned short *)MDMA1_S0_X_COUNT)
#define pMDMA1_S0_Y_COUNT 	((volatile unsigned short *)MDMA1_S0_Y_COUNT)
#define pMDMA1_S0_X_MODIFY 	(volatile signed short *)MDMA1_S0_X_MODIFY
#define pMDMA1_S0_Y_MODIFY 	(volatile signed short *)MDMA1_S0_Y_MODIFY
#define pMDMA1_S0_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA1_S0_CURR_DESC_PTR)
#define pMDMA1_S0_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA1_S0_CURR_ADDR)
#define pMDMA1_S0_CURR_X_COUNT 	((volatile unsigned short *)MDMA1_S0_CURR_X_COUNT)
#define pMDMA1_S0_CURR_Y_COUNT 	((volatile unsigned short *)MDMA1_S0_CURR_Y_COUNT)
#define pMDMA1_S0_IRQ_STATUS 	((volatile unsigned short *)MDMA1_S0_IRQ_STATUS)
#define pMDMA1_S0_PERIPHERAL_MAP ((volatile unsigned short *)MDMA1_S0_PERIPHERAL_MAP)
#define pMDMA1_D1_CONFIG 	((volatile unsigned short *)MDMA1_D1_CONFIG)
#define pMDMA1_D1_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA1_D1_NEXT_DESC_PTR)
#define pMDMA1_D1_START_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA1_D1_START_ADDR)
#define pMDMA1_D1_X_COUNT 	((volatile unsigned short *)MDMA1_D1_X_COUNT)
#define pMDMA1_D1_Y_COUNT 	((volatile unsigned short *)MDMA1_D1_Y_COUNT)
#define pMDMA1_D1_X_MODIFY 	(volatile signed short *)MDMA1_D1_X_MODIFY
#define pMDMA1_D1_Y_MODIFY 	(volatile signed short *)MDMA1_D1_Y_MODIFY
#define pMDMA1_D1_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA1_D1_CURR_DESC_PTR)
#define pMDMA1_D1_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA1_D1_CURR_ADDR)
#define pMDMA1_D1_CURR_X_COUNT 	((volatile unsigned short *)MDMA1_D1_CURR_X_COUNT)
#define pMDMA1_D1_CURR_Y_COUNT 	((volatile unsigned short *)MDMA1_D1_CURR_Y_COUNT)
#define pMDMA1_D1_IRQ_STATUS 	((volatile unsigned short *)MDMA1_D1_IRQ_STATUS)
#define pMDMA1_D1_PERIPHERAL_MAP ((volatile unsigned short *)MDMA1_D1_PERIPHERAL_MAP)
#define pMDMA1_S1_CONFIG 	((volatile unsigned short *)MDMA1_S1_CONFIG)
#define pMDMA1_S1_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA1_S1_NEXT_DESC_PTR)
#define pMDMA1_S1_START_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA1_S1_START_ADDR)
#define pMDMA1_S1_X_COUNT 	((volatile unsigned short *)MDMA1_S1_X_COUNT)
#define pMDMA1_S1_Y_COUNT 	((volatile unsigned short *)MDMA1_S1_Y_COUNT)
#define pMDMA1_S1_X_MODIFY 	(volatile signed short *)MDMA1_S1_X_MODIFY
#define pMDMA1_S1_Y_MODIFY 	(volatile signed short *)MDMA1_S1_Y_MODIFY
#define pMDMA1_S1_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA1_S1_CURR_DESC_PTR)
#define pMDMA1_S1_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA1_S1_CURR_ADDR)
#define pMDMA1_S1_CURR_X_COUNT 	((volatile unsigned short *)MDMA1_S1_CURR_X_COUNT)
#define pMDMA1_S1_CURR_Y_COUNT 	((volatile unsigned short *)MDMA1_S1_CURR_Y_COUNT)
#define pMDMA1_S1_IRQ_STATUS 	((volatile unsigned short *)MDMA1_S1_IRQ_STATUS)
#define pMDMA1_S1_PERIPHERAL_MAP ((volatile unsigned short *)MDMA1_S1_PERIPHERAL_MAP)
/* DMA2 Controller registers (0xFFC0 0C00-0xFFC0 0DFF) */
#define pDMA2_0_CONFIG 		((volatile unsigned short *)DMA2_0_CONFIG)
#define pDMA2_0_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_0_NEXT_DESC_PTR)
#define pDMA2_0_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_0_START_ADDR)
#define pDMA2_0_X_COUNT 	((volatile unsigned short *)DMA2_0_X_COUNT)
#define pDMA2_0_Y_COUNT 	((volatile unsigned short *)DMA2_0_Y_COUNT)
#define pDMA2_0_X_MODIFY 	(volatile signed short *)DMA2_0_X_MODIFY
#define pDMA2_0_Y_MODIFY 	(volatile signed short *)DMA2_0_Y_MODIFY
#define pDMA2_0_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_0_CURR_DESC_PTR)
#define pDMA2_0_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_0_CURR_ADDR)
#define pDMA2_0_CURR_X_COUNT 	((volatile unsigned short *)DMA2_0_CURR_X_COUNT)
#define pDMA2_0_CURR_Y_COUNT 	((volatile unsigned short *)DMA2_0_CURR_Y_COUNT)
#define pDMA2_0_IRQ_STATUS 	((volatile unsigned short *)DMA2_0_IRQ_STATUS)
#define pDMA2_0_PERIPHERAL_MAP 	((volatile unsigned short *)DMA2_0_PERIPHERAL_MAP)
#define pDMA2_1_CONFIG 		((volatile unsigned short *)DMA2_1_CONFIG)
#define pDMA2_1_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_1_NEXT_DESC_PTR)
#define pDMA2_1_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_1_START_ADDR)
#define pDMA2_1_X_COUNT 	((volatile unsigned short *)DMA2_1_X_COUNT)
#define pDMA2_1_Y_COUNT 	((volatile unsigned short *)DMA2_1_Y_COUNT)
#define pDMA2_1_X_MODIFY 	(volatile signed short *)DMA2_1_X_MODIFY
#define pDMA2_1_Y_MODIFY 	(volatile signed short *)DMA2_1_Y_MODIFY
#define pDMA2_1_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_1_CURR_DESC_PTR)
#define pDMA2_1_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_1_CURR_ADDR)
#define pDMA2_1_CURR_X_COUNT 	((volatile unsigned short *)DMA2_1_CURR_X_COUNT)
#define pDMA2_1_CURR_Y_COUNT 	((volatile unsigned short *)DMA2_1_CURR_Y_COUNT)
#define pDMA2_1_IRQ_STATUS 	((volatile unsigned short *)DMA2_1_IRQ_STATUS)
#define pDMA2_1_PERIPHERAL_MAP 	((volatile unsigned short *)DMA2_1_PERIPHERAL_MAP)
#define pDMA2_2_CONFIG 		((volatile unsigned short *)DMA2_2_CONFIG)
#define pDMA2_2_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_2_NEXT_DESC_PTR)
#define pDMA2_2_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_2_START_ADDR)
#define pDMA2_2_X_COUNT 	((volatile unsigned short *)DMA2_2_X_COUNT)
#define pDMA2_2_Y_COUNT 	((volatile unsigned short *)DMA2_2_Y_COUNT)
#define pDMA2_2_X_MODIFY 	(volatile signed short *)DMA2_2_X_MODIFY
#define pDMA2_2_Y_MODIFY 	(volatile signed short *)DMA2_2_Y_MODIFY
#define pDMA2_2_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_2_CURR_DESC_PTR)
#define pDMA2_2_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_2_CURR_ADDR)
#define pDMA2_2_CURR_X_COUNT 	((volatile unsigned short *)DMA2_2_CURR_X_COUNT)
#define pDMA2_2_CURR_Y_COUNT 	((volatile unsigned short *)DMA2_2_CURR_Y_COUNT)
#define pDMA2_2_IRQ_STATUS 	((volatile unsigned short *)DMA2_2_IRQ_STATUS)
#define pDMA2_2_PERIPHERAL_MAP 	((volatile unsigned short *)DMA2_2_PERIPHERAL_MAP)
#define pDMA2_3_CONFIG 		((volatile unsigned short *)DMA2_3_CONFIG)
#define pDMA2_3_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_3_NEXT_DESC_PTR)
#define pDMA2_3_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_3_START_ADDR)
#define pDMA2_3_X_COUNT 	((volatile unsigned short *)DMA2_3_X_COUNT)
#define pDMA2_3_Y_COUNT 	((volatile unsigned short *)DMA2_3_Y_COUNT)
#define pDMA2_3_X_MODIFY 	(volatile signed short *)DMA2_3_X_MODIFY
#define pDMA2_3_Y_MODIFY 	(volatile signed short *)DMA2_3_Y_MODIFY
#define pDMA2_3_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_3_CURR_DESC_PTR)
#define pDMA2_3_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_3_CURR_ADDR)
#define pDMA2_3_CURR_X_COUNT 	((volatile unsigned short *)DMA2_3_CURR_X_COUNT)
#define pDMA2_3_CURR_Y_COUNT 	((volatile unsigned short *)DMA2_3_CURR_Y_COUNT)
#define pDMA2_3_IRQ_STATUS 	((volatile unsigned short *)DMA2_3_IRQ_STATUS)
#define pDMA2_3_PERIPHERAL_MAP 	((volatile unsigned short *)DMA2_3_PERIPHERAL_MAP)
#define pDMA2_4_CONFIG 		((volatile unsigned short *)DMA2_4_CONFIG)
#define pDMA2_4_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_4_NEXT_DESC_PTR)
#define pDMA2_4_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_4_START_ADDR)
#define pDMA2_4_X_COUNT 	((volatile unsigned short *)DMA2_4_X_COUNT)
#define pDMA2_4_Y_COUNT 	((volatile unsigned short *)DMA2_4_Y_COUNT)
#define pDMA2_4_X_MODIFY 	(volatile signed short *)DMA2_4_X_MODIFY
#define pDMA2_4_Y_MODIFY 	(volatile signed short *)DMA2_4_Y_MODIFY
#define pDMA2_4_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_4_CURR_DESC_PTR)
#define pDMA2_4_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_4_CURR_ADDR)
#define pDMA2_4_CURR_X_COUNT 	((volatile unsigned short *)DMA2_4_CURR_X_COUNT)
#define pDMA2_4_CURR_Y_COUNT 	((volatile unsigned short *)DMA2_4_CURR_Y_COUNT)
#define pDMA2_4_IRQ_STATUS 	((volatile unsigned short *)DMA2_4_IRQ_STATUS)
#define pDMA2_4_PERIPHERAL_MAP 	((volatile unsigned short *)DMA2_4_PERIPHERAL_MAP)
#define pDMA2_5_CONFIG 		((volatile unsigned short *)DMA2_5_CONFIG)
#define pDMA2_5_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_5_NEXT_DESC_PTR)
#define pDMA2_5_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_5_START_ADDR)
#define pDMA2_5_X_COUNT 	((volatile unsigned short *)DMA2_5_X_COUNT)
#define pDMA2_5_Y_COUNT 	((volatile unsigned short *)DMA2_5_Y_COUNT)
#define pDMA2_5_X_MODIFY 	(volatile signed short *)DMA2_5_X_MODIFY
#define pDMA2_5_Y_MODIFY 	(volatile signed short *)DMA2_5_Y_MODIFY
#define pDMA2_5_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_5_CURR_DESC_PTR)
#define pDMA2_5_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_5_CURR_ADDR)
#define pDMA2_5_CURR_X_COUNT 	((volatile unsigned short *)DMA2_5_CURR_X_COUNT)
#define pDMA2_5_CURR_Y_COUNT 	((volatile unsigned short *)DMA2_5_CURR_Y_COUNT)
#define pDMA2_5_IRQ_STATUS 	((volatile unsigned short *)DMA2_5_IRQ_STATUS)
#define pDMA2_5_PERIPHERAL_MAP 	((volatile unsigned short *)DMA2_5_PERIPHERAL_MAP)
#define pDMA2_6_CONFIG 		((volatile unsigned short *)DMA2_6_CONFIG)
#define pDMA2_6_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_6_NEXT_DESC_PTR)
#define pDMA2_6_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_6_START_ADDR)
#define pDMA2_6_X_COUNT 	((volatile unsigned short *)DMA2_6_X_COUNT)
#define pDMA2_6_Y_COUNT 	((volatile unsigned short *)DMA2_6_Y_COUNT)
#define pDMA2_6_X_MODIFY 	(volatile signed short *)DMA2_6_X_MODIFY
#define pDMA2_6_Y_MODIFY 	(volatile signed short *)DMA2_6_Y_MODIFY
#define pDMA2_6_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_6_CURR_DESC_PTR)
#define pDMA2_6_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_6_CURR_ADDR)
#define pDMA2_6_CURR_X_COUNT 	((volatile unsigned short *)DMA2_6_CURR_X_COUNT)
#define pDMA2_6_CURR_Y_COUNT 	((volatile unsigned short *)DMA2_6_CURR_Y_COUNT)
#define pDMA2_6_IRQ_STATUS 	((volatile unsigned short *)DMA2_6_IRQ_STATUS)
#define pDMA2_6_PERIPHERAL_MAP 	((volatile unsigned short *)DMA2_6_PERIPHERAL_MAP)
#define pDMA2_7_CONFIG 		((volatile unsigned short *)DMA2_7_CONFIG)
#define pDMA2_7_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_7_NEXT_DESC_PTR)
#define pDMA2_7_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_7_START_ADDR)
#define pDMA2_7_X_COUNT 	((volatile unsigned short *)DMA2_7_X_COUNT)
#define pDMA2_7_Y_COUNT 	((volatile unsigned short *)DMA2_7_Y_COUNT)
#define pDMA2_7_X_MODIFY 	(volatile signed short *)DMA2_7_X_MODIFY
#define pDMA2_7_Y_MODIFY 	(volatile signed short *)DMA2_7_Y_MODIFY
#define pDMA2_7_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_7_CURR_DESC_PTR)
#define pDMA2_7_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_7_CURR_ADDR)
#define pDMA2_7_CURR_X_COUNT 	((volatile unsigned short *)DMA2_7_CURR_X_COUNT)
#define pDMA2_7_CURR_Y_COUNT 	((volatile unsigned short *)DMA2_7_CURR_Y_COUNT)
#define pDMA2_7_IRQ_STATUS 	((volatile unsigned short *)DMA2_7_IRQ_STATUS)
#define pDMA2_7_PERIPHERAL_MAP 	((volatile unsigned short *)DMA2_7_PERIPHERAL_MAP)
#define pDMA2_8_CONFIG 		((volatile unsigned short *)DMA2_8_CONFIG)
#define pDMA2_8_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_8_NEXT_DESC_PTR)
#define pDMA2_8_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_8_START_ADDR)
#define pDMA2_8_X_COUNT 	((volatile unsigned short *)DMA2_8_X_COUNT)
#define pDMA2_8_Y_COUNT 	((volatile unsigned short *)DMA2_8_Y_COUNT)
#define pDMA2_8_X_MODIFY 	(volatile signed short *)DMA2_8_X_MODIFY
#define pDMA2_8_Y_MODIFY 	(volatile signed short *)DMA2_8_Y_MODIFY
#define pDMA2_8_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_8_CURR_DESC_PTR)
#define pDMA2_8_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_8_CURR_ADDR)
#define pDMA2_8_CURR_X_COUNT 	((volatile unsigned short *)DMA2_8_CURR_X_COUNT)
#define pDMA2_8_CURR_Y_COUNT 	((volatile unsigned short *)DMA2_8_CURR_Y_COUNT)
#define pDMA2_8_IRQ_STATUS 	((volatile unsigned short *)DMA2_8_IRQ_STATUS)
#define pDMA2_8_PERIPHERAL_MAP 	((volatile unsigned short *)DMA2_8_PERIPHERAL_MAP)
#define pDMA2_9_CONFIG 		((volatile unsigned short *)DMA2_9_CONFIG)
#define pDMA2_9_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_9_NEXT_DESC_PTR)
#define pDMA2_9_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_9_START_ADDR)
#define pDMA2_9_X_COUNT 	((volatile unsigned short *)DMA2_9_X_COUNT)
#define pDMA2_9_Y_COUNT 	((volatile unsigned short *)DMA2_9_Y_COUNT)
#define pDMA2_9_X_MODIFY 	(volatile signed short *)DMA2_9_X_MODIFY
#define pDMA2_9_Y_MODIFY 	(volatile signed short *)DMA2_9_Y_MODIFY
#define pDMA2_9_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_9_CURR_DESC_PTR)
#define pDMA2_9_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_9_CURR_ADDR)
#define pDMA2_9_CURR_X_COUNT 	((volatile unsigned short *)DMA2_9_CURR_X_COUNT)
#define pDMA2_9_CURR_Y_COUNT 	((volatile unsigned short *)DMA2_9_CURR_Y_COUNT)
#define pDMA2_9_IRQ_STATUS 	((volatile unsigned short *)DMA2_9_IRQ_STATUS)
#define pDMA2_9_PERIPHERAL_MAP 	((volatile unsigned short *)DMA2_9_PERIPHERAL_MAP)
#define pDMA2_10_CONFIG		((volatile unsigned short *)DMA2_10_CONFIG)
#define pDMA2_10_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_10_NEXT_DESC_PTR)
#define pDMA2_10_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_10_START_ADDR)
#define pDMA2_10_X_COUNT 	((volatile unsigned short *)DMA2_10_X_COUNT)
#define pDMA2_10_Y_COUNT 	((volatile unsigned short *)DMA2_10_Y_COUNT)
#define pDMA2_10_X_MODIFY 	(volatile signed short *)DMA2_10_X_MODIFY
#define pDMA2_10_Y_MODIFY 	(volatile signed short *)DMA2_10_Y_MODIFY
#define pDMA2_10_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_10_CURR_DESC_PTR)
#define pDMA2_10_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_10_CURR_ADDR)
#define pDMA2_10_CURR_X_COUNT 	((volatile unsigned short *)DMA2_10_CURR_X_COUNT)
#define pDMA2_10_CURR_Y_COUNT 	((volatile unsigned short *)DMA2_10_CURR_Y_COUNT)
#define pDMA2_10_IRQ_STATUS 	((volatile unsigned short *)DMA2_10_IRQ_STATUS)
#define pDMA2_10_PERIPHERAL_MAP ((volatile unsigned short *)DMA2_10_PERIPHERAL_MAP)
#define pDMA2_11_CONFIG 	((volatile unsigned short *)DMA2_11_CONFIG)
#define pDMA2_11_NEXT_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_11_NEXT_DESC_PTR)
#define pDMA2_11_START_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_11_START_ADDR)
#define pDMA2_11_X_COUNT 	((volatile unsigned short *)DMA2_11_X_COUNT)
#define pDMA2_11_Y_COUNT 	((volatile unsigned short *)DMA2_11_Y_COUNT)
#define pDMA2_11_X_MODIFY 	(volatile signed short *)DMA2_11_X_MODIFY
#define pDMA2_11_Y_MODIFY 	(volatile signed short *)DMA2_11_Y_MODIFY
#define pDMA2_11_CURR_DESC_PTR 	(_PTR_TO_VOL_VOID_PTR DMA2_11_CURR_DESC_PTR)
#define pDMA2_11_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR DMA2_11_CURR_ADDR)
#define pDMA2_11_CURR_X_COUNT 	((volatile unsigned short *)DMA2_11_CURR_X_COUNT)
#define pDMA2_11_CURR_Y_COUNT 	((volatile unsigned short *)DMA2_11_CURR_Y_COUNT)
#define pDMA2_11_IRQ_STATUS 	((volatile unsigned short *)DMA2_11_IRQ_STATUS)
#define pDMA2_11_PERIPHERAL_MAP ((volatile unsigned short *)DMA2_11_PERIPHERAL_MAP)
/* Memory DMA2 Controller registers (0xFFC0 0E80-0xFFC0 0FFF) */
#define pMDMA2_D0_CONFIG 	((volatile unsigned short *)MDMA2_D0_CONFIG)
#define pMDMA2_D0_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA2_D0_NEXT_DESC_PTR)
#define pMDMA2_D0_START_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA2_D0_START_ADDR)
#define pMDMA2_D0_X_COUNT 	((volatile unsigned short *)MDMA2_D0_X_COUNT)
#define pMDMA2_D0_Y_COUNT 	((volatile unsigned short *)MDMA2_D0_Y_COUNT)
#define pMDMA2_D0_X_MODIFY 	(volatile signed short *)MDMA2_D0_X_MODIFY
#define pMDMA2_D0_Y_MODIFY 	(volatile signed short *)MDMA2_D0_Y_MODIFY
#define pMDMA2_D0_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA2_D0_CURR_DESC_PTR)
#define pMDMA2_D0_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA2_D0_CURR_ADDR)
#define pMDMA2_D0_CURR_X_COUNT 	((volatile unsigned short *)MDMA2_D0_CURR_X_COUNT)
#define pMDMA2_D0_CURR_Y_COUNT 	((volatile unsigned short *)MDMA2_D0_CURR_Y_COUNT)
#define pMDMA2_D0_IRQ_STATUS 	((volatile unsigned short *)MDMA2_D0_IRQ_STATUS)
#define pMDMA2_D0_PERIPHERAL_MAP ((volatile unsigned short *)MDMA2_D0_PERIPHERAL_MAP)
#define pMDMA2_S0_CONFIG 	((volatile unsigned short *)MDMA2_S0_CONFIG)
#define pMDMA2_S0_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA2_S0_NEXT_DESC_PTR)
#define pMDMA2_S0_START_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA2_S0_START_ADDR)
#define pMDMA2_S0_X_COUNT 	((volatile unsigned short *)MDMA2_S0_X_COUNT)
#define pMDMA2_S0_Y_COUNT 	((volatile unsigned short *)MDMA2_S0_Y_COUNT)
#define pMDMA2_S0_X_MODIFY 	(volatile signed short *)MDMA2_S0_X_MODIFY
#define pMDMA2_S0_Y_MODIFY 	(volatile signed short *)MDMA2_S0_Y_MODIFY
#define pMDMA2_S0_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA2_S0_CURR_DESC_PTR)
#define pMDMA2_S0_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA2_S0_CURR_ADDR)
#define pMDMA2_S0_CURR_X_COUNT 	((volatile unsigned short *)MDMA2_S0_CURR_X_COUNT)
#define pMDMA2_S0_CURR_Y_COUNT 	((volatile unsigned short *)MDMA2_S0_CURR_Y_COUNT)
#define pMDMA2_S0_IRQ_STATUS 	((volatile unsigned short *)MDMA2_S0_IRQ_STATUS)
#define pMDMA2_S0_PERIPHERAL_MAP ((volatile unsigned short *)MDMA2_S0_PERIPHERAL_MAP)
#define pMDMA2_D1_CONFIG 	((volatile unsigned short *)MDMA2_D1_CONFIG)
#define pMDMA2_D1_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA2_D1_NEXT_DESC_PTR)
#define pMDMA2_D1_START_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA2_D1_START_ADDR)
#define pMDMA2_D1_X_COUNT 	((volatile unsigned short *)MDMA2_D1_X_COUNT)
#define pMDMA2_D1_Y_COUNT 	((volatile unsigned short *)MDMA2_D1_Y_COUNT)
#define pMDMA2_D1_X_MODIFY 	(volatile signed short *)MDMA2_D1_X_MODIFY
#define pMDMA2_D1_Y_MODIFY 	(volatile signed short *)MDMA2_D1_Y_MODIFY
#define pMDMA2_D1_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA2_D1_CURR_DESC_PTR)
#define pMDMA2_D1_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA2_D1_CURR_ADDR)
#define pMDMA2_D1_CURR_X_COUNT 	((volatile unsigned short *)MDMA2_D1_CURR_X_COUNT)
#define pMDMA2_D1_CURR_Y_COUNT 	((volatile unsigned short *)MDMA2_D1_CURR_Y_COUNT)
#define pMDMA2_D1_IRQ_STATUS 	((volatile unsigned short *)MDMA2_D1_IRQ_STATUS)
#define pMDMA2_D1_PERIPHERAL_MAP ((volatile unsigned short *)MDMA2_D1_PERIPHERAL_MAP)
#define pMDMA2_S1_CONFIG 	((volatile unsigned short *)MDMA2_S1_CONFIG)
#define pMDMA2_S1_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA2_S1_NEXT_DESC_PTR)
#define pMDMA2_S1_START_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA2_S1_START_ADDR)
#define pMDMA2_S1_X_COUNT 	((volatile unsigned short *)MDMA2_S1_X_COUNT)
#define pMDMA2_S1_Y_COUNT 	((volatile unsigned short *)MDMA2_S1_Y_COUNT)
#define pMDMA2_S1_X_MODIFY 	(volatile signed short *)MDMA2_S1_X_MODIFY
#define pMDMA2_S1_Y_MODIFY 	(volatile signed short *)MDMA2_S1_Y_MODIFY
#define pMDMA2_S1_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA2_S1_CURR_DESC_PTR)
#define pMDMA2_S1_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR MDMA2_S1_CURR_ADDR)
#define pMDMA2_S1_CURR_X_COUNT 	((volatile unsigned short *)MDMA2_S1_CURR_X_COUNT)
#define pMDMA2_S1_CURR_Y_COUNT 	((volatile unsigned short *)MDMA2_S1_CURR_Y_COUNT)
#define pMDMA2_S1_IRQ_STATUS 	((volatile unsigned short *)MDMA2_S1_IRQ_STATUS)
#define pMDMA2_S1_PERIPHERAL_MAP ((volatile unsigned short *)MDMA2_S1_PERIPHERAL_MAP)
/* Internal Memory DMA Registers (0xFFC0_1800 - 0xFFC0_19FF) */
#define pIMDMA_D0_CONFIG 	((volatile unsigned short *)IMDMA_D0_CONFIG)
#define pIMDMA_D0_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR IMDMA_D0_NEXT_DESC_PTR)
#define pIMDMA_D0_START_ADDR 	(_PTR_TO_VOL_VOID_PTR IMDMA_D0_START_ADDR)
#define pIMDMA_D0_X_COUNT 	((volatile unsigned short *)IMDMA_D0_X_COUNT)
#define pIMDMA_D0_Y_COUNT 	((volatile unsigned short *)IMDMA_D0_Y_COUNT)
#define pIMDMA_D0_X_MODIFY 	(volatile signed short *)IMDMA_D0_X_MODIFY
#define pIMDMA_D0_Y_MODIFY 	(volatile signed short *)IMDMA_D0_Y_MODIFY
#define pIMDMA_D0_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR IMDMA_D0_CURR_DESC_PTR)
#define pIMDMA_D0_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR IMDMA_D0_CURR_ADDR)
#define pIMDMA_D0_CURR_X_COUNT 	((volatile unsigned short *)IMDMA_D0_CURR_X_COUNT)
#define pIMDMA_D0_CURR_Y_COUNT 	((volatile unsigned short *)IMDMA_D0_CURR_Y_COUNT)
#define pIMDMA_D0_IRQ_STATUS 	((volatile unsigned short *)IMDMA_D0_IRQ_STATUS)
#define pIMDMA_S0_CONFIG 	((volatile unsigned short *)IMDMA_S0_CONFIG)
#define pIMDMA_S0_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR IMDMA_S0_NEXT_DESC_PTR)
#define pIMDMA_S0_START_ADDR 	(_PTR_TO_VOL_VOID_PTR IMDMA_S0_START_ADDR)
#define pIMDMA_S0_X_COUNT 	((volatile unsigned short *)IMDMA_S0_X_COUNT)
#define pIMDMA_S0_Y_COUNT 	((volatile unsigned short *)IMDMA_S0_Y_COUNT)
#define pIMDMA_S0_X_MODIFY 	(volatile signed short *)IMDMA_S0_X_MODIFY
#define pIMDMA_S0_Y_MODIFY 	(volatile signed short *)IMDMA_S0_Y_MODIFY
#define pIMDMA_S0_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR IMDMA_S0_CURR_DESC_PTR)
#define pIMDMA_S0_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR IMDMA_S0_CURR_ADDR)
#define pIMDMA_S0_CURR_X_COUNT 	((volatile unsigned short *)IMDMA_S0_CURR_X_COUNT)
#define pIMDMA_S0_CURR_Y_COUNT 	((volatile unsigned short *)IMDMA_S0_CURR_Y_COUNT)
#define pIMDMA_S0_IRQ_STATUS 	((volatile unsigned short *)IMDMA_S0_IRQ_STATUS)
#define pIMDMA_D1_CONFIG 	((volatile unsigned short *)IMDMA_D1_CONFIG)
#define pIMDMA_D1_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR IMDMA_D1_NEXT_DESC_PTR)
#define pIMDMA_D1_START_ADDR 	(_PTR_TO_VOL_VOID_PTR IMDMA_D1_START_ADDR)
#define pIMDMA_D1_X_COUNT 	((volatile unsigned short *)IMDMA_D1_X_COUNT)
#define pIMDMA_D1_Y_COUNT 	((volatile unsigned short *)IMDMA_D1_Y_COUNT)
#define pIMDMA_D1_X_MODIFY 	(volatile signed short *)IMDMA_D1_X_MODIFY
#define pIMDMA_D1_Y_MODIFY 	(volatile signed short *)IMDMA_D1_Y_MODIFY
#define pIMDMA_D1_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR IMDMA_D1_CURR_DESC_PTR)
#define pIMDMA_D1_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR IMDMA_D1_CURR_ADDR)
#define pIMDMA_D1_CURR_X_COUNT 	((volatile unsigned short *)IMDMA_D1_CURR_X_COUNT)
#define pIMDMA_D1_CURR_Y_COUNT 	((volatile unsigned short *)IMDMA_D1_CURR_Y_COUNT)
#define pIMDMA_D1_IRQ_STATUS 	((volatile unsigned short *)IMDMA_D1_IRQ_STATUS)
#define pIMDMA_S1_CONFIG 	((volatile unsigned short *)IMDMA_S1_CONFIG)
#define pIMDMA_S1_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR IMDMA_S1_NEXT_DESC_PTR)
#define pIMDMA_S1_START_ADDR 	(_PTR_TO_VOL_VOID_PTR IMDMA_S1_START_ADDR)
#define pIMDMA_S1_X_COUNT 	((volatile unsigned short *)IMDMA_S1_X_COUNT)
#define pIMDMA_S1_Y_COUNT 	((volatile unsigned short *)IMDMA_S1_Y_COUNT)
#define pIMDMA_S1_X_MODIFY 	(volatile signed short *)IMDMA_S1_X_MODIFY
#define pIMDMA_S1_Y_MODIFY 	(volatile signed short *)IMDMA_S1_Y_MODIFY
#define pIMDMA_S1_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR IMDMA_S1_CURR_DESC_PTR)
#define pIMDMA_S1_CURR_ADDR 	(_PTR_TO_VOL_VOID_PTR IMDMA_S1_CURR_ADDR)
#define pIMDMA_S1_CURR_X_COUNT 	((volatile unsigned short *)IMDMA_S1_CURR_X_COUNT)
#define pIMDMA_S1_CURR_Y_COUNT 	((volatile unsigned short *)IMDMA_S1_CURR_Y_COUNT)
#define pIMDMA_S1_IRQ_STATUS 	((volatile unsigned short *)IMDMA_S1_IRQ_STATUS)

#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */

#endif /* _CDEF_BF561_H */
