/*
 * Copyright 2008-2010 Analog Devices Inc.
 *
 * Licensed under the GPL-2 or later.
 */

#ifndef _CDEF_BF538_H
#define _CDEF_BF538_H

#define bfin_writePTR(addr, val) bfin_write32(addr, val)

#define bfin_read_PLL_CTL()            bfin_read16(PLL_CTL)
#define bfin_read_PLL_DIV()            bfin_read16(PLL_DIV)
#define bfin_write_PLL_DIV(val)        bfin_write16(PLL_DIV, val)
#define bfin_read_VR_CTL()             bfin_read16(VR_CTL)
#define bfin_read_PLL_STAT()           bfin_read16(PLL_STAT)
#define bfin_write_PLL_STAT(val)       bfin_write16(PLL_STAT, val)
#define bfin_read_PLL_LOCKCNT()        bfin_read16(PLL_LOCKCNT)
#define bfin_write_PLL_LOCKCNT(val)    bfin_write16(PLL_LOCKCNT, val)
#define bfin_read_CHIPID()             bfin_read32(CHIPID)
#define bfin_write_CHIPID(val)         bfin_write32(CHIPID, val)
#define bfin_read_SWRST()              bfin_read16(SWRST)
#define bfin_write_SWRST(val)          bfin_write16(SWRST, val)
#define bfin_read_SYSCR()              bfin_read16(SYSCR)
#define bfin_write_SYSCR(val)          bfin_write16(SYSCR, val)
#define bfin_read_SIC_RVECT()          bfin_readPTR(SIC_RVECT)
#define bfin_write_SIC_RVECT(val)      bfin_writePTR(SIC_RVECT, val)
#define bfin_read_SIC_IMASK0()         bfin_read32(SIC_IMASK0)
#define bfin_write_SIC_IMASK0(val)     bfin_write32(SIC_IMASK0, val)
#define bfin_read_SIC_IMASK1()         bfin_read32(SIC_IMASK1)
#define bfin_write_SIC_IMASK1(val)     bfin_write32(SIC_IMASK1, val)
#define bfin_read_SIC_IMASK(x)	       bfin_read32(SIC_IMASK0 + x * (SIC_IMASK1 - SIC_IMASK0))
#define bfin_write_SIC_IMASK(x, val)   bfin_write32(SIC_IMASK0 + x * (SIC_IMASK1 - SIC_IMASK0), val)
#define bfin_read_SIC_ISR0()           bfin_read32(SIC_ISR0)
#define bfin_write_SIC_ISR0(val)       bfin_write32(SIC_ISR0, val)
#define bfin_read_SIC_ISR1()           bfin_read32(SIC_ISR1)
#define bfin_write_SIC_ISR1(val)       bfin_write32(SIC_ISR1, val)
#define bfin_read_SIC_ISR(x)           bfin_read32(SIC_ISR0 + x * (SIC_ISR1 - SIC_ISR0))
#define bfin_write_SIC_ISR(x, val)     bfin_write32(SIC_ISR0 + x * (SIC_ISR1 - SIC_ISR0), val)
#define bfin_read_SIC_IWR0()           bfin_read32(SIC_IWR0)
#define bfin_write_SIC_IWR0(val)       bfin_write32(SIC_IWR0, val)
#define bfin_read_SIC_IWR1()           bfin_read32(SIC_IWR1)
#define bfin_write_SIC_IWR1(val)       bfin_write32(SIC_IWR1, val)
#define bfin_read_SIC_IWR(x)           bfin_read32(SIC_IWR0 + x * (SIC_IWR1 - SIC_IWR0))
#define bfin_write_SIC_IWR(x, val)     bfin_write32(SIC_IWR0 + x * (SIC_IWR1 - SIC_IWR0), val)
#define bfin_read_SIC_IAR0()           bfin_read32(SIC_IAR0)
#define bfin_write_SIC_IAR0(val)       bfin_write32(SIC_IAR0, val)
#define bfin_read_SIC_IAR1()           bfin_read32(SIC_IAR1)
#define bfin_write_SIC_IAR1(val)       bfin_write32(SIC_IAR1, val)
#define bfin_read_SIC_IAR2()           bfin_read32(SIC_IAR2)
#define bfin_write_SIC_IAR2(val)       bfin_write32(SIC_IAR2, val)
#define bfin_read_SIC_IAR3()           bfin_read32(SIC_IAR3)
#define bfin_write_SIC_IAR3(val)       bfin_write32(SIC_IAR3, val)
#define bfin_read_SIC_IAR4()           bfin_read32(SIC_IAR4)
#define bfin_write_SIC_IAR4(val)       bfin_write32(SIC_IAR4, val)
#define bfin_read_SIC_IAR5()           bfin_read32(SIC_IAR5)
#define bfin_write_SIC_IAR5(val)       bfin_write32(SIC_IAR5, val)
#define bfin_read_SIC_IAR6()           bfin_read32(SIC_IAR6)
#define bfin_write_SIC_IAR6(val)       bfin_write32(SIC_IAR6, val)
#define bfin_read_WDOG_CTL()           bfin_read16(WDOG_CTL)
#define bfin_write_WDOG_CTL(val)       bfin_write16(WDOG_CTL, val)
#define bfin_read_WDOG_CNT()           bfin_read32(WDOG_CNT)
#define bfin_write_WDOG_CNT(val)       bfin_write32(WDOG_CNT, val)
#define bfin_read_WDOG_STAT()          bfin_read32(WDOG_STAT)
#define bfin_write_WDOG_STAT(val)      bfin_write32(WDOG_STAT, val)
#define bfin_read_RTC_STAT()           bfin_read32(RTC_STAT)
#define bfin_write_RTC_STAT(val)       bfin_write32(RTC_STAT, val)
#define bfin_read_RTC_ICTL()           bfin_read16(RTC_ICTL)
#define bfin_write_RTC_ICTL(val)       bfin_write16(RTC_ICTL, val)
#define bfin_read_RTC_ISTAT()          bfin_read16(RTC_ISTAT)
#define bfin_write_RTC_ISTAT(val)      bfin_write16(RTC_ISTAT, val)
#define bfin_read_RTC_SWCNT()          bfin_read16(RTC_SWCNT)
#define bfin_write_RTC_SWCNT(val)      bfin_write16(RTC_SWCNT, val)
#define bfin_read_RTC_ALARM()          bfin_read32(RTC_ALARM)
#define bfin_write_RTC_ALARM(val)      bfin_write32(RTC_ALARM, val)
#define bfin_read_RTC_PREN()           bfin_read16(RTC_PREN)
#define bfin_write_RTC_PREN(val)       bfin_write16(RTC_PREN, val)
#define bfin_read_UART0_THR()          bfin_read16(UART0_THR)
#define bfin_write_UART0_THR(val)      bfin_write16(UART0_THR, val)
#define bfin_read_UART0_RBR()          bfin_read16(UART0_RBR)
#define bfin_write_UART0_RBR(val)      bfin_write16(UART0_RBR, val)
#define bfin_read_UART0_DLL()          bfin_read16(UART0_DLL)
#define bfin_write_UART0_DLL(val)      bfin_write16(UART0_DLL, val)
#define bfin_read_UART0_DLH()          bfin_read16(UART0_DLH)
#define bfin_write_UART0_DLH(val)      bfin_write16(UART0_DLH, val)
#define bfin_read_UART0_IER()          bfin_read16(UART0_IER)
#define bfin_write_UART0_IER(val)      bfin_write16(UART0_IER, val)
#define bfin_read_UART0_IIR()          bfin_read16(UART0_IIR)
#define bfin_write_UART0_IIR(val)      bfin_write16(UART0_IIR, val)
#define bfin_read_UART0_LCR()          bfin_read16(UART0_LCR)
#define bfin_write_UART0_LCR(val)      bfin_write16(UART0_LCR, val)
#define bfin_read_UART0_MCR()          bfin_read16(UART0_MCR)
#define bfin_write_UART0_MCR(val)      bfin_write16(UART0_MCR, val)
#define bfin_read_UART0_LSR()          bfin_read16(UART0_LSR)
#define bfin_write_UART0_LSR(val)      bfin_write16(UART0_LSR, val)
#define bfin_read_UART0_SCR()          bfin_read16(UART0_SCR)
#define bfin_write_UART0_SCR(val)      bfin_write16(UART0_SCR, val)
#define bfin_read_UART0_GCTL()         bfin_read16(UART0_GCTL)
#define bfin_write_UART0_GCTL(val)     bfin_write16(UART0_GCTL, val)
#define bfin_read_UART1_THR()          bfin_read16(UART1_THR)
#define bfin_write_UART1_THR(val)      bfin_write16(UART1_THR, val)
#define bfin_read_UART1_RBR()          bfin_read16(UART1_RBR)
#define bfin_write_UART1_RBR(val)      bfin_write16(UART1_RBR, val)
#define bfin_read_UART1_DLL()          bfin_read16(UART1_DLL)
#define bfin_write_UART1_DLL(val)      bfin_write16(UART1_DLL, val)
#define bfin_read_UART1_DLH()          bfin_read16(UART1_DLH)
#define bfin_write_UART1_DLH(val)      bfin_write16(UART1_DLH, val)
#define bfin_read_UART1_IER()          bfin_read16(UART1_IER)
#define bfin_write_UART1_IER(val)      bfin_write16(UART1_IER, val)
#define bfin_read_UART1_IIR()          bfin_read16(UART1_IIR)
#define bfin_write_UART1_IIR(val)      bfin_write16(UART1_IIR, val)
#define bfin_read_UART1_LCR()          bfin_read16(UART1_LCR)
#define bfin_write_UART1_LCR(val)      bfin_write16(UART1_LCR, val)
#define bfin_read_UART1_MCR()          bfin_read16(UART1_MCR)
#define bfin_write_UART1_MCR(val)      bfin_write16(UART1_MCR, val)
#define bfin_read_UART1_LSR()          bfin_read16(UART1_LSR)
#define bfin_write_UART1_LSR(val)      bfin_write16(UART1_LSR, val)
#define bfin_read_UART1_SCR()          bfin_read16(UART1_SCR)
#define bfin_write_UART1_SCR(val)      bfin_write16(UART1_SCR, val)
#define bfin_read_UART1_GCTL()         bfin_read16(UART1_GCTL)
#define bfin_write_UART1_GCTL(val)     bfin_write16(UART1_GCTL, val)
#define bfin_read_UART2_THR()          bfin_read16(UART2_THR)
#define bfin_write_UART2_THR(val)      bfin_write16(UART2_THR, val)
#define bfin_read_UART2_RBR()          bfin_read16(UART2_RBR)
#define bfin_write_UART2_RBR(val)      bfin_write16(UART2_RBR, val)
#define bfin_read_UART2_DLL()          bfin_read16(UART2_DLL)
#define bfin_write_UART2_DLL(val)      bfin_write16(UART2_DLL, val)
#define bfin_read_UART2_DLH()          bfin_read16(UART2_DLH)
#define bfin_write_UART2_DLH(val)      bfin_write16(UART2_DLH, val)
#define bfin_read_UART2_IER()          bfin_read16(UART2_IER)
#define bfin_write_UART2_IER(val)      bfin_write16(UART2_IER, val)
#define bfin_read_UART2_IIR()          bfin_read16(UART2_IIR)
#define bfin_write_UART2_IIR(val)      bfin_write16(UART2_IIR, val)
#define bfin_read_UART2_LCR()          bfin_read16(UART2_LCR)
#define bfin_write_UART2_LCR(val)      bfin_write16(UART2_LCR, val)
#define bfin_read_UART2_MCR()          bfin_read16(UART2_MCR)
#define bfin_write_UART2_MCR(val)      bfin_write16(UART2_MCR, val)
#define bfin_read_UART2_LSR()          bfin_read16(UART2_LSR)
#define bfin_write_UART2_LSR(val)      bfin_write16(UART2_LSR, val)
#define bfin_read_UART2_SCR()          bfin_read16(UART2_SCR)
#define bfin_write_UART2_SCR(val)      bfin_write16(UART2_SCR, val)
#define bfin_read_UART2_GCTL()         bfin_read16(UART2_GCTL)
#define bfin_write_UART2_GCTL(val)     bfin_write16(UART2_GCTL, val)
#define bfin_read_SPI0_CTL()           bfin_read16(SPI0_CTL)
#define bfin_write_SPI0_CTL(val)       bfin_write16(SPI0_CTL, val)
#define bfin_read_SPI0_FLG()           bfin_read16(SPI0_FLG)
#define bfin_write_SPI0_FLG(val)       bfin_write16(SPI0_FLG, val)
#define bfin_read_SPI0_STAT()          bfin_read16(SPI0_STAT)
#define bfin_write_SPI0_STAT(val)      bfin_write16(SPI0_STAT, val)
#define bfin_read_SPI0_TDBR()          bfin_read16(SPI0_TDBR)
#define bfin_write_SPI0_TDBR(val)      bfin_write16(SPI0_TDBR, val)
#define bfin_read_SPI0_RDBR()          bfin_read16(SPI0_RDBR)
#define bfin_write_SPI0_RDBR(val)      bfin_write16(SPI0_RDBR, val)
#define bfin_read_SPI0_BAUD()          bfin_read16(SPI0_BAUD)
#define bfin_write_SPI0_BAUD(val)      bfin_write16(SPI0_BAUD, val)
#define bfin_read_SPI0_SHADOW()        bfin_read16(SPI0_SHADOW)
#define bfin_write_SPI0_SHADOW(val)    bfin_write16(SPI0_SHADOW, val)
#define bfin_read_SPI1_CTL()           bfin_read16(SPI1_CTL)
#define bfin_write_SPI1_CTL(val)       bfin_write16(SPI1_CTL, val)
#define bfin_read_SPI1_FLG()           bfin_read16(SPI1_FLG)
#define bfin_write_SPI1_FLG(val)       bfin_write16(SPI1_FLG, val)
#define bfin_read_SPI1_STAT()          bfin_read16(SPI1_STAT)
#define bfin_write_SPI1_STAT(val)      bfin_write16(SPI1_STAT, val)
#define bfin_read_SPI1_TDBR()          bfin_read16(SPI1_TDBR)
#define bfin_write_SPI1_TDBR(val)      bfin_write16(SPI1_TDBR, val)
#define bfin_read_SPI1_RDBR()          bfin_read16(SPI1_RDBR)
#define bfin_write_SPI1_RDBR(val)      bfin_write16(SPI1_RDBR, val)
#define bfin_read_SPI1_BAUD()          bfin_read16(SPI1_BAUD)
#define bfin_write_SPI1_BAUD(val)      bfin_write16(SPI1_BAUD, val)
#define bfin_read_SPI1_SHADOW()        bfin_read16(SPI1_SHADOW)
#define bfin_write_SPI1_SHADOW(val)    bfin_write16(SPI1_SHADOW, val)
#define bfin_read_SPI2_CTL()           bfin_read16(SPI2_CTL)
#define bfin_write_SPI2_CTL(val)       bfin_write16(SPI2_CTL, val)
#define bfin_read_SPI2_FLG()           bfin_read16(SPI2_FLG)
#define bfin_write_SPI2_FLG(val)       bfin_write16(SPI2_FLG, val)
#define bfin_read_SPI2_STAT()          bfin_read16(SPI2_STAT)
#define bfin_write_SPI2_STAT(val)      bfin_write16(SPI2_STAT, val)
#define bfin_read_SPI2_TDBR()          bfin_read16(SPI2_TDBR)
#define bfin_write_SPI2_TDBR(val)      bfin_write16(SPI2_TDBR, val)
#define bfin_read_SPI2_RDBR()          bfin_read16(SPI2_RDBR)
#define bfin_write_SPI2_RDBR(val)      bfin_write16(SPI2_RDBR, val)
#define bfin_read_SPI2_BAUD()          bfin_read16(SPI2_BAUD)
#define bfin_write_SPI2_BAUD(val)      bfin_write16(SPI2_BAUD, val)
#define bfin_read_SPI2_SHADOW()        bfin_read16(SPI2_SHADOW)
#define bfin_write_SPI2_SHADOW(val)    bfin_write16(SPI2_SHADOW, val)
#define bfin_read_TIMER0_CONFIG()      bfin_read16(TIMER0_CONFIG)
#define bfin_write_TIMER0_CONFIG(val)  bfin_write16(TIMER0_CONFIG, val)
#define bfin_read_TIMER0_COUNTER()     bfin_read32(TIMER0_COUNTER)
#define bfin_write_TIMER0_COUNTER(val) bfin_write32(TIMER0_COUNTER, val)
#define bfin_read_TIMER0_PERIOD()      bfin_read32(TIMER0_PERIOD)
#define bfin_write_TIMER0_PERIOD(val)  bfin_write32(TIMER0_PERIOD, val)
#define bfin_read_TIMER0_WIDTH()       bfin_read32(TIMER0_WIDTH)
#define bfin_write_TIMER0_WIDTH(val)   bfin_write32(TIMER0_WIDTH, val)
#define bfin_read_TIMER1_CONFIG()      bfin_read16(TIMER1_CONFIG)
#define bfin_write_TIMER1_CONFIG(val)  bfin_write16(TIMER1_CONFIG, val)
#define bfin_read_TIMER1_COUNTER()     bfin_read32(TIMER1_COUNTER)
#define bfin_write_TIMER1_COUNTER(val) bfin_write32(TIMER1_COUNTER, val)
#define bfin_read_TIMER1_PERIOD()      bfin_read32(TIMER1_PERIOD)
#define bfin_write_TIMER1_PERIOD(val)  bfin_write32(TIMER1_PERIOD, val)
#define bfin_read_TIMER1_WIDTH()       bfin_read32(TIMER1_WIDTH)
#define bfin_write_TIMER1_WIDTH(val)   bfin_write32(TIMER1_WIDTH, val)
#define bfin_read_TIMER2_CONFIG()      bfin_read16(TIMER2_CONFIG)
#define bfin_write_TIMER2_CONFIG(val)  bfin_write16(TIMER2_CONFIG, val)
#define bfin_read_TIMER2_COUNTER()     bfin_read32(TIMER2_COUNTER)
#define bfin_write_TIMER2_COUNTER(val) bfin_write32(TIMER2_COUNTER, val)
#define bfin_read_TIMER2_PERIOD()      bfin_read32(TIMER2_PERIOD)
#define bfin_write_TIMER2_PERIOD(val)  bfin_write32(TIMER2_PERIOD, val)
#define bfin_read_TIMER2_WIDTH()       bfin_read32(TIMER2_WIDTH)
#define bfin_write_TIMER2_WIDTH(val)   bfin_write32(TIMER2_WIDTH, val)
#define bfin_read_TIMER_ENABLE()       bfin_read16(TIMER_ENABLE)
#define bfin_write_TIMER_ENABLE(val)   bfin_write16(TIMER_ENABLE, val)
#define bfin_read_TIMER_DISABLE()      bfin_read16(TIMER_DISABLE)
#define bfin_write_TIMER_DISABLE(val)  bfin_write16(TIMER_DISABLE, val)
#define bfin_read_TIMER_STATUS()       bfin_read16(TIMER_STATUS)
#define bfin_write_TIMER_STATUS(val)   bfin_write16(TIMER_STATUS, val)
#define bfin_read_SPORT0_TCR1()        bfin_read16(SPORT0_TCR1)
#define bfin_write_SPORT0_TCR1(val)    bfin_write16(SPORT0_TCR1, val)
#define bfin_read_SPORT0_TCR2()        bfin_read16(SPORT0_TCR2)
#define bfin_write_SPORT0_TCR2(val)    bfin_write16(SPORT0_TCR2, val)
#define bfin_read_SPORT0_TCLKDIV()     bfin_read16(SPORT0_TCLKDIV)
#define bfin_write_SPORT0_TCLKDIV(val) bfin_write16(SPORT0_TCLKDIV, val)
#define bfin_read_SPORT0_TFSDIV()      bfin_read16(SPORT0_TFSDIV)
#define bfin_write_SPORT0_TFSDIV(val)  bfin_write16(SPORT0_TFSDIV, val)
#define bfin_read_SPORT0_TX()          bfin_read32(SPORT0_TX)
#define bfin_write_SPORT0_TX(val)      bfin_write32(SPORT0_TX, val)
#define bfin_read_SPORT0_RX()          bfin_read32(SPORT0_RX)
#define bfin_write_SPORT0_RX(val)      bfin_write32(SPORT0_RX, val)
#define bfin_read_SPORT0_RCR1()        bfin_read16(SPORT0_RCR1)
#define bfin_write_SPORT0_RCR1(val)    bfin_write16(SPORT0_RCR1, val)
#define bfin_read_SPORT0_RCR2()        bfin_read16(SPORT0_RCR2)
#define bfin_write_SPORT0_RCR2(val)    bfin_write16(SPORT0_RCR2, val)
#define bfin_read_SPORT0_RCLKDIV()     bfin_read16(SPORT0_RCLKDIV)
#define bfin_write_SPORT0_RCLKDIV(val) bfin_write16(SPORT0_RCLKDIV, val)
#define bfin_read_SPORT0_RFSDIV()      bfin_read16(SPORT0_RFSDIV)
#define bfin_write_SPORT0_RFSDIV(val)  bfin_write16(SPORT0_RFSDIV, val)
#define bfin_read_SPORT0_STAT()        bfin_read16(SPORT0_STAT)
#define bfin_write_SPORT0_STAT(val)    bfin_write16(SPORT0_STAT, val)
#define bfin_read_SPORT0_CHNL()        bfin_read16(SPORT0_CHNL)
#define bfin_write_SPORT0_CHNL(val)    bfin_write16(SPORT0_CHNL, val)
#define bfin_read_SPORT0_MCMC1()       bfin_read16(SPORT0_MCMC1)
#define bfin_write_SPORT0_MCMC1(val)   bfin_write16(SPORT0_MCMC1, val)
#define bfin_read_SPORT0_MCMC2()       bfin_read16(SPORT0_MCMC2)
#define bfin_write_SPORT0_MCMC2(val)   bfin_write16(SPORT0_MCMC2, val)
#define bfin_read_SPORT0_MTCS0()       bfin_read32(SPORT0_MTCS0)
#define bfin_write_SPORT0_MTCS0(val)   bfin_write32(SPORT0_MTCS0, val)
#define bfin_read_SPORT0_MTCS1()       bfin_read32(SPORT0_MTCS1)
#define bfin_write_SPORT0_MTCS1(val)   bfin_write32(SPORT0_MTCS1, val)
#define bfin_read_SPORT0_MTCS2()       bfin_read32(SPORT0_MTCS2)
#define bfin_write_SPORT0_MTCS2(val)   bfin_write32(SPORT0_MTCS2, val)
#define bfin_read_SPORT0_MTCS3()       bfin_read32(SPORT0_MTCS3)
#define bfin_write_SPORT0_MTCS3(val)   bfin_write32(SPORT0_MTCS3, val)
#define bfin_read_SPORT0_MRCS0()       bfin_read32(SPORT0_MRCS0)
#define bfin_write_SPORT0_MRCS0(val)   bfin_write32(SPORT0_MRCS0, val)
#define bfin_read_SPORT0_MRCS1()       bfin_read32(SPORT0_MRCS1)
#define bfin_write_SPORT0_MRCS1(val)   bfin_write32(SPORT0_MRCS1, val)
#define bfin_read_SPORT0_MRCS2()       bfin_read32(SPORT0_MRCS2)
#define bfin_write_SPORT0_MRCS2(val)   bfin_write32(SPORT0_MRCS2, val)
#define bfin_read_SPORT0_MRCS3()       bfin_read32(SPORT0_MRCS3)
#define bfin_write_SPORT0_MRCS3(val)   bfin_write32(SPORT0_MRCS3, val)
#define bfin_read_SPORT1_TCR1()        bfin_read16(SPORT1_TCR1)
#define bfin_write_SPORT1_TCR1(val)    bfin_write16(SPORT1_TCR1, val)
#define bfin_read_SPORT1_TCR2()        bfin_read16(SPORT1_TCR2)
#define bfin_write_SPORT1_TCR2(val)    bfin_write16(SPORT1_TCR2, val)
#define bfin_read_SPORT1_TCLKDIV()     bfin_read16(SPORT1_TCLKDIV)
#define bfin_write_SPORT1_TCLKDIV(val) bfin_write16(SPORT1_TCLKDIV, val)
#define bfin_read_SPORT1_TFSDIV()      bfin_read16(SPORT1_TFSDIV)
#define bfin_write_SPORT1_TFSDIV(val)  bfin_write16(SPORT1_TFSDIV, val)
#define bfin_read_SPORT1_TX()          bfin_read32(SPORT1_TX)
#define bfin_write_SPORT1_TX(val)      bfin_write32(SPORT1_TX, val)
#define bfin_read_SPORT1_RX()          bfin_read32(SPORT1_RX)
#define bfin_write_SPORT1_RX(val)      bfin_write32(SPORT1_RX, val)
#define bfin_read_SPORT1_RCR1()        bfin_read16(SPORT1_RCR1)
#define bfin_write_SPORT1_RCR1(val)    bfin_write16(SPORT1_RCR1, val)
#define bfin_read_SPORT1_RCR2()        bfin_read16(SPORT1_RCR2)
#define bfin_write_SPORT1_RCR2(val)    bfin_write16(SPORT1_RCR2, val)
#define bfin_read_SPORT1_RCLKDIV()     bfin_read16(SPORT1_RCLKDIV)
#define bfin_write_SPORT1_RCLKDIV(val) bfin_write16(SPORT1_RCLKDIV, val)
#define bfin_read_SPORT1_RFSDIV()      bfin_read16(SPORT1_RFSDIV)
#define bfin_write_SPORT1_RFSDIV(val)  bfin_write16(SPORT1_RFSDIV, val)
#define bfin_read_SPORT1_STAT()        bfin_read16(SPORT1_STAT)
#define bfin_write_SPORT1_STAT(val)    bfin_write16(SPORT1_STAT, val)
#define bfin_read_SPORT1_CHNL()        bfin_read16(SPORT1_CHNL)
#define bfin_write_SPORT1_CHNL(val)    bfin_write16(SPORT1_CHNL, val)
#define bfin_read_SPORT1_MCMC1()       bfin_read16(SPORT1_MCMC1)
#define bfin_write_SPORT1_MCMC1(val)   bfin_write16(SPORT1_MCMC1, val)
#define bfin_read_SPORT1_MCMC2()       bfin_read16(SPORT1_MCMC2)
#define bfin_write_SPORT1_MCMC2(val)   bfin_write16(SPORT1_MCMC2, val)
#define bfin_read_SPORT1_MTCS0()       bfin_read32(SPORT1_MTCS0)
#define bfin_write_SPORT1_MTCS0(val)   bfin_write32(SPORT1_MTCS0, val)
#define bfin_read_SPORT1_MTCS1()       bfin_read32(SPORT1_MTCS1)
#define bfin_write_SPORT1_MTCS1(val)   bfin_write32(SPORT1_MTCS1, val)
#define bfin_read_SPORT1_MTCS2()       bfin_read32(SPORT1_MTCS2)
#define bfin_write_SPORT1_MTCS2(val)   bfin_write32(SPORT1_MTCS2, val)
#define bfin_read_SPORT1_MTCS3()       bfin_read32(SPORT1_MTCS3)
#define bfin_write_SPORT1_MTCS3(val)   bfin_write32(SPORT1_MTCS3, val)
#define bfin_read_SPORT1_MRCS0()       bfin_read32(SPORT1_MRCS0)
#define bfin_write_SPORT1_MRCS0(val)   bfin_write32(SPORT1_MRCS0, val)
#define bfin_read_SPORT1_MRCS1()       bfin_read32(SPORT1_MRCS1)
#define bfin_write_SPORT1_MRCS1(val)   bfin_write32(SPORT1_MRCS1, val)
#define bfin_read_SPORT1_MRCS2()       bfin_read32(SPORT1_MRCS2)
#define bfin_write_SPORT1_MRCS2(val)   bfin_write32(SPORT1_MRCS2, val)
#define bfin_read_SPORT1_MRCS3()       bfin_read32(SPORT1_MRCS3)
#define bfin_write_SPORT1_MRCS3(val)   bfin_write32(SPORT1_MRCS3, val)
#define bfin_read_SPORT2_TCR1()        bfin_read16(SPORT2_TCR1)
#define bfin_write_SPORT2_TCR1(val)    bfin_write16(SPORT2_TCR1, val)
#define bfin_read_SPORT2_TCR2()        bfin_read16(SPORT2_TCR2)
#define bfin_write_SPORT2_TCR2(val)    bfin_write16(SPORT2_TCR2, val)
#define bfin_read_SPORT2_TCLKDIV()     bfin_read16(SPORT2_TCLKDIV)
#define bfin_write_SPORT2_TCLKDIV(val) bfin_write16(SPORT2_TCLKDIV, val)
#define bfin_read_SPORT2_TFSDIV()      bfin_read16(SPORT2_TFSDIV)
#define bfin_write_SPORT2_TFSDIV(val)  bfin_write16(SPORT2_TFSDIV, val)
#define bfin_read_SPORT2_TX()          bfin_read32(SPORT2_TX)
#define bfin_write_SPORT2_TX(val)      bfin_write32(SPORT2_TX, val)
#define bfin_read_SPORT2_RX()          bfin_read32(SPORT2_RX)
#define bfin_write_SPORT2_RX(val)      bfin_write32(SPORT2_RX, val)
#define bfin_read_SPORT2_RCR1()        bfin_read16(SPORT2_RCR1)
#define bfin_write_SPORT2_RCR1(val)    bfin_write16(SPORT2_RCR1, val)
#define bfin_read_SPORT2_RCR2()        bfin_read16(SPORT2_RCR2)
#define bfin_write_SPORT2_RCR2(val)    bfin_write16(SPORT2_RCR2, val)
#define bfin_read_SPORT2_RCLKDIV()     bfin_read16(SPORT2_RCLKDIV)
#define bfin_write_SPORT2_RCLKDIV(val) bfin_write16(SPORT2_RCLKDIV, val)
#define bfin_read_SPORT2_RFSDIV()      bfin_read16(SPORT2_RFSDIV)
#define bfin_write_SPORT2_RFSDIV(val)  bfin_write16(SPORT2_RFSDIV, val)
#define bfin_read_SPORT2_STAT()        bfin_read16(SPORT2_STAT)
#define bfin_write_SPORT2_STAT(val)    bfin_write16(SPORT2_STAT, val)
#define bfin_read_SPORT2_CHNL()        bfin_read16(SPORT2_CHNL)
#define bfin_write_SPORT2_CHNL(val)    bfin_write16(SPORT2_CHNL, val)
#define bfin_read_SPORT2_MCMC1()       bfin_read16(SPORT2_MCMC1)
#define bfin_write_SPORT2_MCMC1(val)   bfin_write16(SPORT2_MCMC1, val)
#define bfin_read_SPORT2_MCMC2()       bfin_read16(SPORT2_MCMC2)
#define bfin_write_SPORT2_MCMC2(val)   bfin_write16(SPORT2_MCMC2, val)
#define bfin_read_SPORT2_MTCS0()       bfin_read32(SPORT2_MTCS0)
#define bfin_write_SPORT2_MTCS0(val)   bfin_write32(SPORT2_MTCS0, val)
#define bfin_read_SPORT2_MTCS1()       bfin_read32(SPORT2_MTCS1)
#define bfin_write_SPORT2_MTCS1(val)   bfin_write32(SPORT2_MTCS1, val)
#define bfin_read_SPORT2_MTCS2()       bfin_read32(SPORT2_MTCS2)
#define bfin_write_SPORT2_MTCS2(val)   bfin_write32(SPORT2_MTCS2, val)
#define bfin_read_SPORT2_MTCS3()       bfin_read32(SPORT2_MTCS3)
#define bfin_write_SPORT2_MTCS3(val)   bfin_write32(SPORT2_MTCS3, val)
#define bfin_read_SPORT2_MRCS0()       bfin_read32(SPORT2_MRCS0)
#define bfin_write_SPORT2_MRCS0(val)   bfin_write32(SPORT2_MRCS0, val)
#define bfin_read_SPORT2_MRCS1()       bfin_read32(SPORT2_MRCS1)
#define bfin_write_SPORT2_MRCS1(val)   bfin_write32(SPORT2_MRCS1, val)
#define bfin_read_SPORT2_MRCS2()       bfin_read32(SPORT2_MRCS2)
#define bfin_write_SPORT2_MRCS2(val)   bfin_write32(SPORT2_MRCS2, val)
#define bfin_read_SPORT2_MRCS3()       bfin_read32(SPORT2_MRCS3)
#define bfin_write_SPORT2_MRCS3(val)   bfin_write32(SPORT2_MRCS3, val)
#define bfin_read_SPORT3_TCR1()        bfin_read16(SPORT3_TCR1)
#define bfin_write_SPORT3_TCR1(val)    bfin_write16(SPORT3_TCR1, val)
#define bfin_read_SPORT3_TCR2()        bfin_read16(SPORT3_TCR2)
#define bfin_write_SPORT3_TCR2(val)    bfin_write16(SPORT3_TCR2, val)
#define bfin_read_SPORT3_TCLKDIV()     bfin_read16(SPORT3_TCLKDIV)
#define bfin_write_SPORT3_TCLKDIV(val) bfin_write16(SPORT3_TCLKDIV, val)
#define bfin_read_SPORT3_TFSDIV()      bfin_read16(SPORT3_TFSDIV)
#define bfin_write_SPORT3_TFSDIV(val)  bfin_write16(SPORT3_TFSDIV, val)
#define bfin_read_SPORT3_TX()          bfin_read32(SPORT3_TX)
#define bfin_write_SPORT3_TX(val)      bfin_write32(SPORT3_TX, val)
#define bfin_read_SPORT3_RX()          bfin_read32(SPORT3_RX)
#define bfin_write_SPORT3_RX(val)      bfin_write32(SPORT3_RX, val)
#define bfin_read_SPORT3_RCR1()        bfin_read16(SPORT3_RCR1)
#define bfin_write_SPORT3_RCR1(val)    bfin_write16(SPORT3_RCR1, val)
#define bfin_read_SPORT3_RCR2()        bfin_read16(SPORT3_RCR2)
#define bfin_write_SPORT3_RCR2(val)    bfin_write16(SPORT3_RCR2, val)
#define bfin_read_SPORT3_RCLKDIV()     bfin_read16(SPORT3_RCLKDIV)
#define bfin_write_SPORT3_RCLKDIV(val) bfin_write16(SPORT3_RCLKDIV, val)
#define bfin_read_SPORT3_RFSDIV()      bfin_read16(SPORT3_RFSDIV)
#define bfin_write_SPORT3_RFSDIV(val)  bfin_write16(SPORT3_RFSDIV, val)
#define bfin_read_SPORT3_STAT()        bfin_read16(SPORT3_STAT)
#define bfin_write_SPORT3_STAT(val)    bfin_write16(SPORT3_STAT, val)
#define bfin_read_SPORT3_CHNL()        bfin_read16(SPORT3_CHNL)
#define bfin_write_SPORT3_CHNL(val)    bfin_write16(SPORT3_CHNL, val)
#define bfin_read_SPORT3_MCMC1()       bfin_read16(SPORT3_MCMC1)
#define bfin_write_SPORT3_MCMC1(val)   bfin_write16(SPORT3_MCMC1, val)
#define bfin_read_SPORT3_MCMC2()       bfin_read16(SPORT3_MCMC2)
#define bfin_write_SPORT3_MCMC2(val)   bfin_write16(SPORT3_MCMC2, val)
#define bfin_read_SPORT3_MTCS0()       bfin_read32(SPORT3_MTCS0)
#define bfin_write_SPORT3_MTCS0(val)   bfin_write32(SPORT3_MTCS0, val)
#define bfin_read_SPORT3_MTCS1()       bfin_read32(SPORT3_MTCS1)
#define bfin_write_SPORT3_MTCS1(val)   bfin_write32(SPORT3_MTCS1, val)
#define bfin_read_SPORT3_MTCS2()       bfin_read32(SPORT3_MTCS2)
#define bfin_write_SPORT3_MTCS2(val)   bfin_write32(SPORT3_MTCS2, val)
#define bfin_read_SPORT3_MTCS3()       bfin_read32(SPORT3_MTCS3)
#define bfin_write_SPORT3_MTCS3(val)   bfin_write32(SPORT3_MTCS3, val)
#define bfin_read_SPORT3_MRCS0()       bfin_read32(SPORT3_MRCS0)
#define bfin_write_SPORT3_MRCS0(val)   bfin_write32(SPORT3_MRCS0, val)
#define bfin_read_SPORT3_MRCS1()       bfin_read32(SPORT3_MRCS1)
#define bfin_write_SPORT3_MRCS1(val)   bfin_write32(SPORT3_MRCS1, val)
#define bfin_read_SPORT3_MRCS2()       bfin_read32(SPORT3_MRCS2)
#define bfin_write_SPORT3_MRCS2(val)   bfin_write32(SPORT3_MRCS2, val)
#define bfin_read_SPORT3_MRCS3()       bfin_read32(SPORT3_MRCS3)
#define bfin_write_SPORT3_MRCS3(val)   bfin_write32(SPORT3_MRCS3, val)
#define bfin_read_PORTFIO()            bfin_read16(PORTFIO)
#define bfin_write_PORTFIO(val)        bfin_write16(PORTFIO, val)
#define bfin_read_PORTFIO_CLEAR()      bfin_read16(PORTFIO_CLEAR)
#define bfin_write_PORTFIO_CLEAR(val)  bfin_write16(PORTFIO_CLEAR, val)
#define bfin_read_PORTFIO_SET()        bfin_read16(PORTFIO_SET)
#define bfin_write_PORTFIO_SET(val)    bfin_write16(PORTFIO_SET, val)
#define bfin_read_PORTFIO_TOGGLE()     bfin_read16(PORTFIO_TOGGLE)
#define bfin_write_PORTFIO_TOGGLE(val) bfin_write16(PORTFIO_TOGGLE, val)
#define bfin_read_PORTFIO_MASKA()      bfin_read16(PORTFIO_MASKA)
#define bfin_write_PORTFIO_MASKA(val)  bfin_write16(PORTFIO_MASKA, val)
#define bfin_read_PORTFIO_MASKA_CLEAR() bfin_read16(PORTFIO_MASKA_CLEAR)
#define bfin_write_PORTFIO_MASKA_CLEAR(val) bfin_write16(PORTFIO_MASKA_CLEAR, val)
#define bfin_read_PORTFIO_MASKA_SET()  bfin_read16(PORTFIO_MASKA_SET)
#define bfin_write_PORTFIO_MASKA_SET(val) bfin_write16(PORTFIO_MASKA_SET, val)
#define bfin_read_PORTFIO_MASKA_TOGGLE() bfin_read16(PORTFIO_MASKA_TOGGLE)
#define bfin_write_PORTFIO_MASKA_TOGGLE(val) bfin_write16(PORTFIO_MASKA_TOGGLE, val)
#define bfin_read_PORTFIO_MASKB()      bfin_read16(PORTFIO_MASKB)
#define bfin_write_PORTFIO_MASKB(val)  bfin_write16(PORTFIO_MASKB, val)
#define bfin_read_PORTFIO_MASKB_CLEAR() bfin_read16(PORTFIO_MASKB_CLEAR)
#define bfin_write_PORTFIO_MASKB_CLEAR(val) bfin_write16(PORTFIO_MASKB_CLEAR, val)
#define bfin_read_PORTFIO_MASKB_SET()  bfin_read16(PORTFIO_MASKB_SET)
#define bfin_write_PORTFIO_MASKB_SET(val) bfin_write16(PORTFIO_MASKB_SET, val)
#define bfin_read_PORTFIO_MASKB_TOGGLE() bfin_read16(PORTFIO_MASKB_TOGGLE)
#define bfin_write_PORTFIO_MASKB_TOGGLE(val) bfin_write16(PORTFIO_MASKB_TOGGLE, val)
#define bfin_read_PORTFIO_DIR()        bfin_read16(PORTFIO_DIR)
#define bfin_write_PORTFIO_DIR(val)    bfin_write16(PORTFIO_DIR, val)
#define bfin_read_PORTFIO_POLAR()      bfin_read16(PORTFIO_POLAR)
#define bfin_write_PORTFIO_POLAR(val)  bfin_write16(PORTFIO_POLAR, val)
#define bfin_read_PORTFIO_EDGE()       bfin_read16(PORTFIO_EDGE)
#define bfin_write_PORTFIO_EDGE(val)   bfin_write16(PORTFIO_EDGE, val)
#define bfin_read_PORTFIO_BOTH()       bfin_read16(PORTFIO_BOTH)
#define bfin_write_PORTFIO_BOTH(val)   bfin_write16(PORTFIO_BOTH, val)
#define bfin_read_PORTFIO_INEN()       bfin_read16(PORTFIO_INEN)
#define bfin_write_PORTFIO_INEN(val)   bfin_write16(PORTFIO_INEN, val)
#define bfin_read_PORTCIO_FER()        bfin_read16(PORTCIO_FER)
#define bfin_write_PORTCIO_FER(val)    bfin_write16(PORTCIO_FER, val)
#define bfin_read_PORTCIO()            bfin_read16(PORTCIO)
#define bfin_write_PORTCIO(val)        bfin_write16(PORTCIO, val)
#define bfin_read_PORTCIO_CLEAR()      bfin_read16(PORTCIO_CLEAR)
#define bfin_write_PORTCIO_CLEAR(val)  bfin_write16(PORTCIO_CLEAR, val)
#define bfin_read_PORTCIO_SET()        bfin_read16(PORTCIO_SET)
#define bfin_write_PORTCIO_SET(val)    bfin_write16(PORTCIO_SET, val)
#define bfin_read_PORTCIO_TOGGLE()     bfin_read16(PORTCIO_TOGGLE)
#define bfin_write_PORTCIO_TOGGLE(val) bfin_write16(PORTCIO_TOGGLE, val)
#define bfin_read_PORTCIO_DIR()        bfin_read16(PORTCIO_DIR)
#define bfin_write_PORTCIO_DIR(val)    bfin_write16(PORTCIO_DIR, val)
#define bfin_read_PORTCIO_INEN()       bfin_read16(PORTCIO_INEN)
#define bfin_write_PORTCIO_INEN(val)   bfin_write16(PORTCIO_INEN, val)
#define bfin_read_PORTDIO_FER()        bfin_read16(PORTDIO_FER)
#define bfin_write_PORTDIO_FER(val)    bfin_write16(PORTDIO_FER, val)
#define bfin_read_PORTDIO()            bfin_read16(PORTDIO)
#define bfin_write_PORTDIO(val)        bfin_write16(PORTDIO, val)
#define bfin_read_PORTDIO_CLEAR()      bfin_read16(PORTDIO_CLEAR)
#define bfin_write_PORTDIO_CLEAR(val)  bfin_write16(PORTDIO_CLEAR, val)
#define bfin_read_PORTDIO_SET()        bfin_read16(PORTDIO_SET)
#define bfin_write_PORTDIO_SET(val)    bfin_write16(PORTDIO_SET, val)
#define bfin_read_PORTDIO_TOGGLE()     bfin_read16(PORTDIO_TOGGLE)
#define bfin_write_PORTDIO_TOGGLE(val) bfin_write16(PORTDIO_TOGGLE, val)
#define bfin_read_PORTDIO_DIR()        bfin_read16(PORTDIO_DIR)
#define bfin_write_PORTDIO_DIR(val)    bfin_write16(PORTDIO_DIR, val)
#define bfin_read_PORTDIO_INEN()       bfin_read16(PORTDIO_INEN)
#define bfin_write_PORTDIO_INEN(val)   bfin_write16(PORTDIO_INEN, val)
#define bfin_read_PORTEIO_FER()        bfin_read16(PORTEIO_FER)
#define bfin_write_PORTEIO_FER(val)    bfin_write16(PORTEIO_FER, val)
#define bfin_read_PORTEIO()            bfin_read16(PORTEIO)
#define bfin_write_PORTEIO(val)        bfin_write16(PORTEIO, val)
#define bfin_read_PORTEIO_CLEAR()      bfin_read16(PORTEIO_CLEAR)
#define bfin_write_PORTEIO_CLEAR(val)  bfin_write16(PORTEIO_CLEAR, val)
#define bfin_read_PORTEIO_SET()        bfin_read16(PORTEIO_SET)
#define bfin_write_PORTEIO_SET(val)    bfin_write16(PORTEIO_SET, val)
#define bfin_read_PORTEIO_TOGGLE()     bfin_read16(PORTEIO_TOGGLE)
#define bfin_write_PORTEIO_TOGGLE(val) bfin_write16(PORTEIO_TOGGLE, val)
#define bfin_read_PORTEIO_DIR()        bfin_read16(PORTEIO_DIR)
#define bfin_write_PORTEIO_DIR(val)    bfin_write16(PORTEIO_DIR, val)
#define bfin_read_PORTEIO_INEN()       bfin_read16(PORTEIO_INEN)
#define bfin_write_PORTEIO_INEN(val)   bfin_write16(PORTEIO_INEN, val)
#define bfin_read_EBIU_AMGCTL()        bfin_read16(EBIU_AMGCTL)
#define bfin_write_EBIU_AMGCTL(val)    bfin_write16(EBIU_AMGCTL, val)
#define bfin_read_EBIU_AMBCTL0()       bfin_read32(EBIU_AMBCTL0)
#define bfin_write_EBIU_AMBCTL0(val)   bfin_write32(EBIU_AMBCTL0, val)
#define bfin_read_EBIU_AMBCTL1()       bfin_read32(EBIU_AMBCTL1)
#define bfin_write_EBIU_AMBCTL1(val)   bfin_write32(EBIU_AMBCTL1, val)
#define bfin_read_EBIU_SDGCTL()        bfin_read32(EBIU_SDGCTL)
#define bfin_write_EBIU_SDGCTL(val)    bfin_write32(EBIU_SDGCTL, val)
#define bfin_read_EBIU_SDBCTL()        bfin_read16(EBIU_SDBCTL)
#define bfin_write_EBIU_SDBCTL(val)    bfin_write16(EBIU_SDBCTL, val)
#define bfin_read_EBIU_SDRRC()         bfin_read16(EBIU_SDRRC)
#define bfin_write_EBIU_SDRRC(val)     bfin_write16(EBIU_SDRRC, val)
#define bfin_read_EBIU_SDSTAT()        bfin_read16(EBIU_SDSTAT)
#define bfin_write_EBIU_SDSTAT(val)    bfin_write16(EBIU_SDSTAT, val)
#define bfin_read_DMAC0_TC_PER()       bfin_read16(DMAC0_TC_PER)
#define bfin_write_DMAC0_TC_PER(val)   bfin_write16(DMAC0_TC_PER, val)
#define bfin_read_DMAC0_TC_CNT()       bfin_read16(DMAC0_TC_CNT)
#define bfin_write_DMAC0_TC_CNT(val)   bfin_write16(DMAC0_TC_CNT, val)
#define bfin_read_DMA0_NEXT_DESC_PTR() bfin_readPTR(DMA0_NEXT_DESC_PTR)
#define bfin_write_DMA0_NEXT_DESC_PTR(val) bfin_writePTR(DMA0_NEXT_DESC_PTR, val)
#define bfin_read_DMA0_START_ADDR()    bfin_readPTR(DMA0_START_ADDR)
#define bfin_write_DMA0_START_ADDR(val) bfin_writePTR(DMA0_START_ADDR, val)
#define bfin_read_DMA0_CONFIG()        bfin_read16(DMA0_CONFIG)
#define bfin_write_DMA0_CONFIG(val)    bfin_write16(DMA0_CONFIG, val)
#define bfin_read_DMA0_X_COUNT()       bfin_read16(DMA0_X_COUNT)
#define bfin_write_DMA0_X_COUNT(val)   bfin_write16(DMA0_X_COUNT, val)
#define bfin_read_DMA0_X_MODIFY()      bfin_read16(DMA0_X_MODIFY)
#define bfin_write_DMA0_X_MODIFY(val)  bfin_write16(DMA0_X_MODIFY, val)
#define bfin_read_DMA0_Y_COUNT()       bfin_read16(DMA0_Y_COUNT)
#define bfin_write_DMA0_Y_COUNT(val)   bfin_write16(DMA0_Y_COUNT, val)
#define bfin_read_DMA0_Y_MODIFY()      bfin_read16(DMA0_Y_MODIFY)
#define bfin_write_DMA0_Y_MODIFY(val)  bfin_write16(DMA0_Y_MODIFY, val)
#define bfin_read_DMA0_CURR_DESC_PTR() bfin_readPTR(DMA0_CURR_DESC_PTR)
#define bfin_write_DMA0_CURR_DESC_PTR(val) bfin_writePTR(DMA0_CURR_DESC_PTR, val)
#define bfin_read_DMA0_CURR_ADDR()     bfin_readPTR(DMA0_CURR_ADDR)
#define bfin_write_DMA0_CURR_ADDR(val) bfin_writePTR(DMA0_CURR_ADDR, val)
#define bfin_read_DMA0_IRQ_STATUS()    bfin_read16(DMA0_IRQ_STATUS)
#define bfin_write_DMA0_IRQ_STATUS(val) bfin_write16(DMA0_IRQ_STATUS, val)
#define bfin_read_DMA0_PERIPHERAL_MAP() bfin_read16(DMA0_PERIPHERAL_MAP)
#define bfin_write_DMA0_PERIPHERAL_MAP(val) bfin_write16(DMA0_PERIPHERAL_MAP, val)
#define bfin_read_DMA0_CURR_X_COUNT()  bfin_read16(DMA0_CURR_X_COUNT)
#define bfin_write_DMA0_CURR_X_COUNT(val) bfin_write16(DMA0_CURR_X_COUNT, val)
#define bfin_read_DMA0_CURR_Y_COUNT()  bfin_read16(DMA0_CURR_Y_COUNT)
#define bfin_write_DMA0_CURR_Y_COUNT(val) bfin_write16(DMA0_CURR_Y_COUNT, val)
#define bfin_read_DMA1_NEXT_DESC_PTR() bfin_readPTR(DMA1_NEXT_DESC_PTR)
#define bfin_write_DMA1_NEXT_DESC_PTR(val) bfin_writePTR(DMA1_NEXT_DESC_PTR, val)
#define bfin_read_DMA1_START_ADDR()    bfin_readPTR(DMA1_START_ADDR)
#define bfin_write_DMA1_START_ADDR(val) bfin_writePTR(DMA1_START_ADDR, val)
#define bfin_read_DMA1_CONFIG()        bfin_read16(DMA1_CONFIG)
#define bfin_write_DMA1_CONFIG(val)    bfin_write16(DMA1_CONFIG, val)
#define bfin_read_DMA1_X_COUNT()       bfin_read16(DMA1_X_COUNT)
#define bfin_write_DMA1_X_COUNT(val)   bfin_write16(DMA1_X_COUNT, val)
#define bfin_read_DMA1_X_MODIFY()      bfin_read16(DMA1_X_MODIFY)
#define bfin_write_DMA1_X_MODIFY(val)  bfin_write16(DMA1_X_MODIFY, val)
#define bfin_read_DMA1_Y_COUNT()       bfin_read16(DMA1_Y_COUNT)
#define bfin_write_DMA1_Y_COUNT(val)   bfin_write16(DMA1_Y_COUNT, val)
#define bfin_read_DMA1_Y_MODIFY()      bfin_read16(DMA1_Y_MODIFY)
#define bfin_write_DMA1_Y_MODIFY(val)  bfin_write16(DMA1_Y_MODIFY, val)
#define bfin_read_DMA1_CURR_DESC_PTR() bfin_readPTR(DMA1_CURR_DESC_PTR)
#define bfin_write_DMA1_CURR_DESC_PTR(val) bfin_writePTR(DMA1_CURR_DESC_PTR, val)
#define bfin_read_DMA1_CURR_ADDR()     bfin_readPTR(DMA1_CURR_ADDR)
#define bfin_write_DMA1_CURR_ADDR(val) bfin_writePTR(DMA1_CURR_ADDR, val)
#define bfin_read_DMA1_IRQ_STATUS()    bfin_read16(DMA1_IRQ_STATUS)
#define bfin_write_DMA1_IRQ_STATUS(val) bfin_write16(DMA1_IRQ_STATUS, val)
#define bfin_read_DMA1_PERIPHERAL_MAP() bfin_read16(DMA1_PERIPHERAL_MAP)
#define bfin_write_DMA1_PERIPHERAL_MAP(val) bfin_write16(DMA1_PERIPHERAL_MAP, val)
#define bfin_read_DMA1_CURR_X_COUNT()  bfin_read16(DMA1_CURR_X_COUNT)
#define bfin_write_DMA1_CURR_X_COUNT(val) bfin_write16(DMA1_CURR_X_COUNT, val)
#define bfin_read_DMA1_CURR_Y_COUNT()  bfin_read16(DMA1_CURR_Y_COUNT)
#define bfin_write_DMA1_CURR_Y_COUNT(val) bfin_write16(DMA1_CURR_Y_COUNT, val)
#define bfin_read_DMA2_NEXT_DESC_PTR() bfin_readPTR(DMA2_NEXT_DESC_PTR)
#define bfin_write_DMA2_NEXT_DESC_PTR(val) bfin_writePTR(DMA2_NEXT_DESC_PTR, val)
#define bfin_read_DMA2_START_ADDR()    bfin_readPTR(DMA2_START_ADDR)
#define bfin_write_DMA2_START_ADDR(val) bfin_writePTR(DMA2_START_ADDR, val)
#define bfin_read_DMA2_CONFIG()        bfin_read16(DMA2_CONFIG)
#define bfin_write_DMA2_CONFIG(val)    bfin_write16(DMA2_CONFIG, val)
#define bfin_read_DMA2_X_COUNT()       bfin_read16(DMA2_X_COUNT)
#define bfin_write_DMA2_X_COUNT(val)   bfin_write16(DMA2_X_COUNT, val)
#define bfin_read_DMA2_X_MODIFY()      bfin_read16(DMA2_X_MODIFY)
#define bfin_write_DMA2_X_MODIFY(val)  bfin_write16(DMA2_X_MODIFY, val)
#define bfin_read_DMA2_Y_COUNT()       bfin_read16(DMA2_Y_COUNT)
#define bfin_write_DMA2_Y_COUNT(val)   bfin_write16(DMA2_Y_COUNT, val)
#define bfin_read_DMA2_Y_MODIFY()      bfin_read16(DMA2_Y_MODIFY)
#define bfin_write_DMA2_Y_MODIFY(val)  bfin_write16(DMA2_Y_MODIFY, val)
#define bfin_read_DMA2_CURR_DESC_PTR() bfin_readPTR(DMA2_CURR_DESC_PTR)
#define bfin_write_DMA2_CURR_DESC_PTR(val) bfin_writePTR(DMA2_CURR_DESC_PTR, val)
#define bfin_read_DMA2_CURR_ADDR()     bfin_readPTR(DMA2_CURR_ADDR)
#define bfin_write_DMA2_CURR_ADDR(val) bfin_writePTR(DMA2_CURR_ADDR, val)
#define bfin_read_DMA2_IRQ_STATUS()    bfin_read16(DMA2_IRQ_STATUS)
#define bfin_write_DMA2_IRQ_STATUS(val) bfin_write16(DMA2_IRQ_STATUS, val)
#define bfin_read_DMA2_PERIPHERAL_MAP() bfin_read16(DMA2_PERIPHERAL_MAP)
#define bfin_write_DMA2_PERIPHERAL_MAP(val) bfin_write16(DMA2_PERIPHERAL_MAP, val)
#define bfin_read_DMA2_CURR_X_COUNT()  bfin_read16(DMA2_CURR_X_COUNT)
#define bfin_write_DMA2_CURR_X_COUNT(val) bfin_write16(DMA2_CURR_X_COUNT, val)
#define bfin_read_DMA2_CURR_Y_COUNT()  bfin_read16(DMA2_CURR_Y_COUNT)
#define bfin_write_DMA2_CURR_Y_COUNT(val) bfin_write16(DMA2_CURR_Y_COUNT, val)
#define bfin_read_DMA3_NEXT_DESC_PTR() bfin_readPTR(DMA3_NEXT_DESC_PTR)
#define bfin_write_DMA3_NEXT_DESC_PTR(val) bfin_writePTR(DMA3_NEXT_DESC_PTR, val)
#define bfin_read_DMA3_START_ADDR()    bfin_readPTR(DMA3_START_ADDR)
#define bfin_write_DMA3_START_ADDR(val) bfin_writePTR(DMA3_START_ADDR, val)
#define bfin_read_DMA3_CONFIG()        bfin_read16(DMA3_CONFIG)
#define bfin_write_DMA3_CONFIG(val)    bfin_write16(DMA3_CONFIG, val)
#define bfin_read_DMA3_X_COUNT()       bfin_read16(DMA3_X_COUNT)
#define bfin_write_DMA3_X_COUNT(val)   bfin_write16(DMA3_X_COUNT, val)
#define bfin_read_DMA3_X_MODIFY()      bfin_read16(DMA3_X_MODIFY)
#define bfin_write_DMA3_X_MODIFY(val)  bfin_write16(DMA3_X_MODIFY, val)
#define bfin_read_DMA3_Y_COUNT()       bfin_read16(DMA3_Y_COUNT)
#define bfin_write_DMA3_Y_COUNT(val)   bfin_write16(DMA3_Y_COUNT, val)
#define bfin_read_DMA3_Y_MODIFY()      bfin_read16(DMA3_Y_MODIFY)
#define bfin_write_DMA3_Y_MODIFY(val)  bfin_write16(DMA3_Y_MODIFY, val)
#define bfin_read_DMA3_CURR_DESC_PTR() bfin_readPTR(DMA3_CURR_DESC_PTR)
#define bfin_write_DMA3_CURR_DESC_PTR(val) bfin_writePTR(DMA3_CURR_DESC_PTR, val)
#define bfin_read_DMA3_CURR_ADDR()     bfin_readPTR(DMA3_CURR_ADDR)
#define bfin_write_DMA3_CURR_ADDR(val) bfin_writePTR(DMA3_CURR_ADDR, val)
#define bfin_read_DMA3_IRQ_STATUS()    bfin_read16(DMA3_IRQ_STATUS)
#define bfin_write_DMA3_IRQ_STATUS(val) bfin_write16(DMA3_IRQ_STATUS, val)
#define bfin_read_DMA3_PERIPHERAL_MAP() bfin_read16(DMA3_PERIPHERAL_MAP)
#define bfin_write_DMA3_PERIPHERAL_MAP(val) bfin_write16(DMA3_PERIPHERAL_MAP, val)
#define bfin_read_DMA3_CURR_X_COUNT()  bfin_read16(DMA3_CURR_X_COUNT)
#define bfin_write_DMA3_CURR_X_COUNT(val) bfin_write16(DMA3_CURR_X_COUNT, val)
#define bfin_read_DMA3_CURR_Y_COUNT()  bfin_read16(DMA3_CURR_Y_COUNT)
#define bfin_write_DMA3_CURR_Y_COUNT(val) bfin_write16(DMA3_CURR_Y_COUNT, val)
#define bfin_read_DMA4_NEXT_DESC_PTR() bfin_readPTR(DMA4_NEXT_DESC_PTR)
#define bfin_write_DMA4_NEXT_DESC_PTR(val) bfin_writePTR(DMA4_NEXT_DESC_PTR, val)
#define bfin_read_DMA4_START_ADDR()    bfin_readPTR(DMA4_START_ADDR)
#define bfin_write_DMA4_START_ADDR(val) bfin_writePTR(DMA4_START_ADDR, val)
#define bfin_read_DMA4_CONFIG()        bfin_read16(DMA4_CONFIG)
#define bfin_write_DMA4_CONFIG(val)    bfin_write16(DMA4_CONFIG, val)
#define bfin_read_DMA4_X_COUNT()       bfin_read16(DMA4_X_COUNT)
#define bfin_write_DMA4_X_COUNT(val)   bfin_write16(DMA4_X_COUNT, val)
#define bfin_read_DMA4_X_MODIFY()      bfin_read16(DMA4_X_MODIFY)
#define bfin_write_DMA4_X_MODIFY(val)  bfin_write16(DMA4_X_MODIFY, val)
#define bfin_read_DMA4_Y_COUNT()       bfin_read16(DMA4_Y_COUNT)
#define bfin_write_DMA4_Y_COUNT(val)   bfin_write16(DMA4_Y_COUNT, val)
#define bfin_read_DMA4_Y_MODIFY()      bfin_read16(DMA4_Y_MODIFY)
#define bfin_write_DMA4_Y_MODIFY(val)  bfin_write16(DMA4_Y_MODIFY, val)
#define bfin_read_DMA4_CURR_DESC_PTR() bfin_readPTR(DMA4_CURR_DESC_PTR)
#define bfin_write_DMA4_CURR_DESC_PTR(val) bfin_writePTR(DMA4_CURR_DESC_PTR, val)
#define bfin_read_DMA4_CURR_ADDR()     bfin_readPTR(DMA4_CURR_ADDR)
#define bfin_write_DMA4_CURR_ADDR(val) bfin_writePTR(DMA4_CURR_ADDR, val)
#define bfin_read_DMA4_IRQ_STATUS()    bfin_read16(DMA4_IRQ_STATUS)
#define bfin_write_DMA4_IRQ_STATUS(val) bfin_write16(DMA4_IRQ_STATUS, val)
#define bfin_read_DMA4_PERIPHERAL_MAP() bfin_read16(DMA4_PERIPHERAL_MAP)
#define bfin_write_DMA4_PERIPHERAL_MAP(val) bfin_write16(DMA4_PERIPHERAL_MAP, val)
#define bfin_read_DMA4_CURR_X_COUNT()  bfin_read16(DMA4_CURR_X_COUNT)
#define bfin_write_DMA4_CURR_X_COUNT(val) bfin_write16(DMA4_CURR_X_COUNT, val)
#define bfin_read_DMA4_CURR_Y_COUNT()  bfin_read16(DMA4_CURR_Y_COUNT)
#define bfin_write_DMA4_CURR_Y_COUNT(val) bfin_write16(DMA4_CURR_Y_COUNT, val)
#define bfin_read_DMA5_NEXT_DESC_PTR() bfin_readPTR(DMA5_NEXT_DESC_PTR)
#define bfin_write_DMA5_NEXT_DESC_PTR(val) bfin_writePTR(DMA5_NEXT_DESC_PTR, val)
#define bfin_read_DMA5_START_ADDR()    bfin_readPTR(DMA5_START_ADDR)
#define bfin_write_DMA5_START_ADDR(val) bfin_writePTR(DMA5_START_ADDR, val)
#define bfin_read_DMA5_CONFIG()        bfin_read16(DMA5_CONFIG)
#define bfin_write_DMA5_CONFIG(val)    bfin_write16(DMA5_CONFIG, val)
#define bfin_read_DMA5_X_COUNT()       bfin_read16(DMA5_X_COUNT)
#define bfin_write_DMA5_X_COUNT(val)   bfin_write16(DMA5_X_COUNT, val)
#define bfin_read_DMA5_X_MODIFY()      bfin_read16(DMA5_X_MODIFY)
#define bfin_write_DMA5_X_MODIFY(val)  bfin_write16(DMA5_X_MODIFY, val)
#define bfin_read_DMA5_Y_COUNT()       bfin_read16(DMA5_Y_COUNT)
#define bfin_write_DMA5_Y_COUNT(val)   bfin_write16(DMA5_Y_COUNT, val)
#define bfin_read_DMA5_Y_MODIFY()      bfin_read16(DMA5_Y_MODIFY)
#define bfin_write_DMA5_Y_MODIFY(val)  bfin_write16(DMA5_Y_MODIFY, val)
#define bfin_read_DMA5_CURR_DESC_PTR() bfin_readPTR(DMA5_CURR_DESC_PTR)
#define bfin_write_DMA5_CURR_DESC_PTR(val) bfin_writePTR(DMA5_CURR_DESC_PTR, val)
#define bfin_read_DMA5_CURR_ADDR()     bfin_readPTR(DMA5_CURR_ADDR)
#define bfin_write_DMA5_CURR_ADDR(val) bfin_writePTR(DMA5_CURR_ADDR, val)
#define bfin_read_DMA5_IRQ_STATUS()    bfin_read16(DMA5_IRQ_STATUS)
#define bfin_write_DMA5_IRQ_STATUS(val) bfin_write16(DMA5_IRQ_STATUS, val)
#define bfin_read_DMA5_PERIPHERAL_MAP() bfin_read16(DMA5_PERIPHERAL_MAP)
#define bfin_write_DMA5_PERIPHERAL_MAP(val) bfin_write16(DMA5_PERIPHERAL_MAP, val)
#define bfin_read_DMA5_CURR_X_COUNT()  bfin_read16(DMA5_CURR_X_COUNT)
#define bfin_write_DMA5_CURR_X_COUNT(val) bfin_write16(DMA5_CURR_X_COUNT, val)
#define bfin_read_DMA5_CURR_Y_COUNT()  bfin_read16(DMA5_CURR_Y_COUNT)
#define bfin_write_DMA5_CURR_Y_COUNT(val) bfin_write16(DMA5_CURR_Y_COUNT, val)
#define bfin_read_DMA6_NEXT_DESC_PTR() bfin_readPTR(DMA6_NEXT_DESC_PTR)
#define bfin_write_DMA6_NEXT_DESC_PTR(val) bfin_writePTR(DMA6_NEXT_DESC_PTR, val)
#define bfin_read_DMA6_START_ADDR()    bfin_readPTR(DMA6_START_ADDR)
#define bfin_write_DMA6_START_ADDR(val) bfin_writePTR(DMA6_START_ADDR, val)
#define bfin_read_DMA6_CONFIG()        bfin_read16(DMA6_CONFIG)
#define bfin_write_DMA6_CONFIG(val)    bfin_write16(DMA6_CONFIG, val)
#define bfin_read_DMA6_X_COUNT()       bfin_read16(DMA6_X_COUNT)
#define bfin_write_DMA6_X_COUNT(val)   bfin_write16(DMA6_X_COUNT, val)
#define bfin_read_DMA6_X_MODIFY()      bfin_read16(DMA6_X_MODIFY)
#define bfin_write_DMA6_X_MODIFY(val)  bfin_write16(DMA6_X_MODIFY, val)
#define bfin_read_DMA6_Y_COUNT()       bfin_read16(DMA6_Y_COUNT)
#define bfin_write_DMA6_Y_COUNT(val)   bfin_write16(DMA6_Y_COUNT, val)
#define bfin_read_DMA6_Y_MODIFY()      bfin_read16(DMA6_Y_MODIFY)
#define bfin_write_DMA6_Y_MODIFY(val)  bfin_write16(DMA6_Y_MODIFY, val)
#define bfin_read_DMA6_CURR_DESC_PTR() bfin_readPTR(DMA6_CURR_DESC_PTR)
#define bfin_write_DMA6_CURR_DESC_PTR(val) bfin_writePTR(DMA6_CURR_DESC_PTR, val)
#define bfin_read_DMA6_CURR_ADDR()     bfin_readPTR(DMA6_CURR_ADDR)
#define bfin_write_DMA6_CURR_ADDR(val) bfin_writePTR(DMA6_CURR_ADDR, val)
#define bfin_read_DMA6_IRQ_STATUS()    bfin_read16(DMA6_IRQ_STATUS)
#define bfin_write_DMA6_IRQ_STATUS(val) bfin_write16(DMA6_IRQ_STATUS, val)
#define bfin_read_DMA6_PERIPHERAL_MAP() bfin_read16(DMA6_PERIPHERAL_MAP)
#define bfin_write_DMA6_PERIPHERAL_MAP(val) bfin_write16(DMA6_PERIPHERAL_MAP, val)
#define bfin_read_DMA6_CURR_X_COUNT()  bfin_read16(DMA6_CURR_X_COUNT)
#define bfin_write_DMA6_CURR_X_COUNT(val) bfin_write16(DMA6_CURR_X_COUNT, val)
#define bfin_read_DMA6_CURR_Y_COUNT()  bfin_read16(DMA6_CURR_Y_COUNT)
#define bfin_write_DMA6_CURR_Y_COUNT(val) bfin_write16(DMA6_CURR_Y_COUNT, val)
#define bfin_read_DMA7_NEXT_DESC_PTR() bfin_readPTR(DMA7_NEXT_DESC_PTR)
#define bfin_write_DMA7_NEXT_DESC_PTR(val) bfin_writePTR(DMA7_NEXT_DESC_PTR, val)
#define bfin_read_DMA7_START_ADDR()    bfin_readPTR(DMA7_START_ADDR)
#define bfin_write_DMA7_START_ADDR(val) bfin_writePTR(DMA7_START_ADDR, val)
#define bfin_read_DMA7_CONFIG()        bfin_read16(DMA7_CONFIG)
#define bfin_write_DMA7_CONFIG(val)    bfin_write16(DMA7_CONFIG, val)
#define bfin_read_DMA7_X_COUNT()       bfin_read16(DMA7_X_COUNT)
#define bfin_write_DMA7_X_COUNT(val)   bfin_write16(DMA7_X_COUNT, val)
#define bfin_read_DMA7_X_MODIFY()      bfin_read16(DMA7_X_MODIFY)
