/*
 * File:         include/asm-blackfin/mach-bf548/cdefBF54x_base.h
 * Based on:
 * Author:
 *
 * Created:
 * Description:
 *
 * Rev:
 *
 * Modified:
 *
 * Bugs:         Enter bugs at http://blackfin.uclinux.org/
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; see the file COPYING.
 * If not, write to the Free Software Foundation,
 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */

#ifndef _CDEF_BF54X_H
#define _CDEF_BF54X_H

#include "defBF54x_base.h"
#include <asm/system.h>

/* ************************************************************** */
/* SYSTEM & MMR ADDRESS DEFINITIONS COMMON TO ALL ADSP-BF54x    */
/* ************************************************************** */

/* PLL Registers */

#define bfin_read_PLL_CTL()		bfin_read16(PLL_CTL)
#define bfin_write_PLL_CTL(val)		bfin_write16(PLL_CTL, val)
#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)
/* Writing to VR_CTL initiates a PLL relock sequence. */
static __inline__ void bfin_write_VR_CTL(unsigned int val)
{
	unsigned long flags, iwr0, iwr1, iwr2;

	/* Enable the PLL Wakeup bit in SIC IWR */
	iwr0 = bfin_read32(SIC_IWR0);
	iwr1 = bfin_read32(SIC_IWR1);
	iwr2 = bfin_read32(SIC_IWR2);
	/* Only allow PPL Wakeup) */
	bfin_write32(SIC_IWR0, IWR_ENABLE(0));
	bfin_write32(SIC_IWR1, 0);
	bfin_write32(SIC_IWR2, 0);

	bfin_write16(VR_CTL, val);
	__builtin_bfin_ssync();

	local_irq_save(flags);
	asm("IDLE;");
	local_irq_restore(flags);
	bfin_write32(SIC_IWR0, iwr0);
	bfin_write32(SIC_IWR1, iwr1);
	bfin_write32(SIC_IWR2, iwr2);
}
#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)

/* Debug/MP/Emulation Registers (0xFFC00014 - 0xFFC00014) */

#define bfin_read_CHIPID()		bfin_read32(CHIPID)
#define bfin_write_CHIPID(val)		bfin_write32(CHIPID, val)

/* System Reset and Interrubfin_read_()t Controller (0xFFC00100 - 0xFFC00104) */

#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)

/* SIC Registers */

#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_IMASK2()		bfin_read32(SIC_IMASK2)
#define bfin_write_SIC_IMASK2(val)	bfin_write32(SIC_IMASK2, val)
#define bfin_read_SIC_IMASK(x)		bfin_read32(SIC_IMASK0 + (x << 2))
#define bfin_write_SIC_IMASK(x, val)	bfin_write32((SIC_IMASK0 + (x << 2)), 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_ISR2()		bfin_read32(SIC_ISR2)
#define bfin_write_SIC_ISR2(val)	bfin_write32(SIC_ISR2, val)
#define bfin_read_SIC_ISR(x)		bfin_read32(SIC_ISR0 + (x << 2))
#define bfin_write_SIC_ISR(x, val)	bfin_write32((SIC_ISR0 + (x << 2)), 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_IWR2()		bfin_read32(SIC_IWR2)
#define bfin_write_SIC_IWR2(val)	bfin_write32(SIC_IWR2, 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_SIC_IAR7()		bfin_read32(SIC_IAR7)
#define bfin_write_SIC_IAR7(val)	bfin_write32(SIC_IAR7, val)
#define bfin_read_SIC_IAR8()		bfin_read32(SIC_IAR8)
#define bfin_write_SIC_IAR8(val)	bfin_write32(SIC_IAR8, val)
#define bfin_read_SIC_IAR9()		bfin_read32(SIC_IAR9)
#define bfin_write_SIC_IAR9(val)	bfin_write32(SIC_IAR9, val)
#define bfin_read_SIC_IAR10()		bfin_read32(SIC_IAR10)
#define bfin_write_SIC_IAR10(val)	bfin_write32(SIC_IAR10, val)
#define bfin_read_SIC_IAR11()		bfin_read32(SIC_IAR11)
#define bfin_write_SIC_IAR11(val)	bfin_write32(SIC_IAR11, val)

/* Watchdog Timer Registers */

#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)

/* RTC Registers */

#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)

/* UART0 Registers */

#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_GCTL()		bfin_read16(UART0_GCTL)
#define bfin_write_UART0_GCTL(val)	bfin_write16(UART0_GCTL, 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_MSR()		bfin_read16(UART0_MSR)
#define bfin_write_UART0_MSR(val)	bfin_write16(UART0_MSR, 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_IER_SET()	bfin_read16(UART0_IER_SET)
#define bfin_write_UART0_IER_SET(val)	bfin_write16(UART0_IER_SET, val)
#define bfin_read_UART0_IER_CLEAR()	bfin_read16(UART0_IER_CLEAR)
#define bfin_write_UART0_IER_CLEAR(val)	bfin_write16(UART0_IER_CLEAR, 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)

/* SPI0 Registers */

#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)

/* Timer Groubfin_read_() of 3 registers are not defined in the shared file because they are not available on the ADSP-BF542 processor */

/* Two Wire Interface Registers (TWI0) */

#define bfin_read_TWI0_CLKDIV()			bfin_read16(TWI0_CLKDIV)
#define bfin_write_TWI0_CLKDIV(val)		bfin_write16(TWI0_CLKDIV, val)
#define bfin_read_TWI0_CONTROL()		bfin_read16(TWI0_CONTROL)
#define bfin_write_TWI0_CONTROL(val)		bfin_write16(TWI0_CONTROL, val)
#define bfin_read_TWI0_SLAVE_CTRL()		bfin_read16(TWI0_SLAVE_CTRL)
#define bfin_write_TWI0_SLAVE_CTRL(val)		bfin_write16(TWI0_SLAVE_CTRL, val)
#define bfin_read_TWI0_SLAVE_STAT()		bfin_read16(TWI0_SLAVE_STAT)
#define bfin_write_TWI0_SLAVE_STAT(val)		bfin_write16(TWI0_SLAVE_STAT, val)
#define bfin_read_TWI0_SLAVE_ADDR()		bfin_read16(TWI0_SLAVE_ADDR)
#define bfin_write_TWI0_SLAVE_ADDR(val)		bfin_write16(TWI0_SLAVE_ADDR, val)
#define bfin_read_TWI0_MASTER_CTRL()		bfin_read16(TWI0_MASTER_CTRL)
#define bfin_write_TWI0_MASTER_CTRL(val)	bfin_write16(TWI0_MASTER_CTRL, val)
#define bfin_read_TWI0_MASTER_STAT()		bfin_read16(TWI0_MASTER_STAT)
#define bfin_write_TWI0_MASTER_STAT(val)	bfin_write16(TWI0_MASTER_STAT, val)
#define bfin_read_TWI0_MASTER_ADDR()		bfin_read16(TWI0_MASTER_ADDR)
#define bfin_write_TWI0_MASTER_ADDR(val)	bfin_write16(TWI0_MASTER_ADDR, val)
#define bfin_read_TWI0_INT_STAT()		bfin_read16(TWI0_INT_STAT)
#define bfin_write_TWI0_INT_STAT(val)		bfin_write16(TWI0_INT_STAT, val)
#define bfin_read_TWI0_INT_MASK()		bfin_read16(TWI0_INT_MASK)
#define bfin_write_TWI0_INT_MASK(val)		bfin_write16(TWI0_INT_MASK, val)
#define bfin_read_TWI0_FIFO_CTRL()		bfin_read16(TWI0_FIFO_CTRL)
#define bfin_write_TWI0_FIFO_CTRL(val)		bfin_write16(TWI0_FIFO_CTRL, val)
#define bfin_read_TWI0_FIFO_STAT()		bfin_read16(TWI0_FIFO_STAT)
#define bfin_write_TWI0_FIFO_STAT(val)		bfin_write16(TWI0_FIFO_STAT, val)
#define bfin_read_TWI0_XMT_DATA8()		bfin_read16(TWI0_XMT_DATA8)
#define bfin_write_TWI0_XMT_DATA8(val)		bfin_write16(TWI0_XMT_DATA8, val)
#define bfin_read_TWI0_XMT_DATA16()		bfin_read16(TWI0_XMT_DATA16)
#define bfin_write_TWI0_XMT_DATA16(val)		bfin_write16(TWI0_XMT_DATA16, val)
#define bfin_read_TWI0_RCV_DATA8()		bfin_read16(TWI0_RCV_DATA8)
#define bfin_write_TWI0_RCV_DATA8(val)		bfin_write16(TWI0_RCV_DATA8, val)
#define bfin_read_TWI0_RCV_DATA16()		bfin_read16(TWI0_RCV_DATA16)
#define bfin_write_TWI0_RCV_DATA16(val)		bfin_write16(TWI0_RCV_DATA16, val)

/* SPORT0 is not defined in the shared file because it is not available on the ADSP-BF542 and ADSP-BF544 bfin_read_()rocessors */

/* SPORT1 Registers */

#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)

/* Asynchronous Memory Control Registers */

#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_MBSCTL()		bfin_read16(EBIU_MBSCTL)
#define bfin_write_EBIU_MBSCTL(val)	bfin_write16(EBIU_MBSCTL, val)
#define bfin_read_EBIU_ARBSTAT()	bfin_read32(EBIU_ARBSTAT)
#define bfin_write_EBIU_ARBSTAT(val)	bfin_write32(EBIU_ARBSTAT, val)
#define bfin_read_EBIU_MODE()		bfin_read32(EBIU_MODE)
#define bfin_write_EBIU_MODE(val)	bfin_write32(EBIU_MODE, val)
#define bfin_read_EBIU_FCTL()		bfin_read16(EBIU_FCTL)
#define bfin_write_EBIU_FCTL(val)	bfin_write16(EBIU_FCTL, val)

/* DDR Memory Control Registers */

#define bfin_read_EBIU_DDRCTL0()	bfin_read32(EBIU_DDRCTL0)
#define bfin_write_EBIU_DDRCTL0(val)	bfin_write32(EBIU_DDRCTL0, val)
#define bfin_read_EBIU_DDRCTL1()	bfin_read32(EBIU_DDRCTL1)
#define bfin_write_EBIU_DDRCTL1(val)	bfin_write32(EBIU_DDRCTL1, val)
#define bfin_read_EBIU_DDRCTL2()	bfin_read32(EBIU_DDRCTL2)
#define bfin_write_EBIU_DDRCTL2(val)	bfin_write32(EBIU_DDRCTL2, val)
#define bfin_read_EBIU_DDRCTL3()	bfin_read32(EBIU_DDRCTL3)
#define bfin_write_EBIU_DDRCTL3(val)	bfin_write32(EBIU_DDRCTL3, val)
#define bfin_read_EBIU_DDRQUE()		bfin_read32(EBIU_DDRQUE)
#define bfin_write_EBIU_DDRQUE(val)	bfin_write32(EBIU_DDRQUE, val)
#define bfin_read_EBIU_ERRADD() 	bfin_read32(EBIU_ERRADD)
#define bfin_write_EBIU_ERRADD(val) 	bfin_write32(EBIU_ERRADD)
#define bfin_read_EBIU_ERRMST()		bfin_read16(EBIU_ERRMST)
#define bfin_write_EBIU_ERRMST(val)	bfin_write16(EBIU_ERRMST, val)
#define bfin_read_EBIU_RSTCTL()		bfin_read16(EBIU_RSTCTL)
#define bfin_write_EBIU_RSTCTL(val)	bfin_write16(EBIU_RSTCTL, val)

/* DDR BankRead and Write Count Registers */

#define bfin_read_EBIU_DDRBRC0()	bfin_read32(EBIU_DDRBRC0)
#define bfin_write_EBIU_DDRBRC0(val)	bfin_write32(EBIU_DDRBRC0, val)
#define bfin_read_EBIU_DDRBRC1()	bfin_read32(EBIU_DDRBRC1)
#define bfin_write_EBIU_DDRBRC1(val)	bfin_write32(EBIU_DDRBRC1, val)
#define bfin_read_EBIU_DDRBRC2()	bfin_read32(EBIU_DDRBRC2)
#define bfin_write_EBIU_DDRBRC2(val)	bfin_write32(EBIU_DDRBRC2, val)
#define bfin_read_EBIU_DDRBRC3()	bfin_read32(EBIU_DDRBRC3)
#define bfin_write_EBIU_DDRBRC3(val)	bfin_write32(EBIU_DDRBRC3, val)
#define bfin_read_EBIU_DDRBRC4()	bfin_read32(EBIU_DDRBRC4)
#define bfin_write_EBIU_DDRBRC4(val)	bfin_write32(EBIU_DDRBRC4, val)
#define bfin_read_EBIU_DDRBRC5()	bfin_read32(EBIU_DDRBRC5)
#define bfin_write_EBIU_DDRBRC5(val)	bfin_write32(EBIU_DDRBRC5, val)
#define bfin_read_EBIU_DDRBRC6()	bfin_read32(EBIU_DDRBRC6)
#define bfin_write_EBIU_DDRBRC6(val)	bfin_write32(EBIU_DDRBRC6, val)
#define bfin_read_EBIU_DDRBRC7()	bfin_read32(EBIU_DDRBRC7)
#define bfin_write_EBIU_DDRBRC7(val)	bfin_write32(EBIU_DDRBRC7, val)
#define bfin_read_EBIU_DDRBWC0()	bfin_read32(EBIU_DDRBWC0)
#define bfin_write_EBIU_DDRBWC0(val)	bfin_write32(EBIU_DDRBWC0, val)
#define bfin_read_EBIU_DDRBWC1()	bfin_read32(EBIU_DDRBWC1)
#define bfin_write_EBIU_DDRBWC1(val)	bfin_write32(EBIU_DDRBWC1, val)
#define bfin_read_EBIU_DDRBWC2()	bfin_read32(EBIU_DDRBWC2)
#define bfin_write_EBIU_DDRBWC2(val)	bfin_write32(EBIU_DDRBWC2, val)
#define bfin_read_EBIU_DDRBWC3()	bfin_read32(EBIU_DDRBWC3)
#define bfin_write_EBIU_DDRBWC3(val)	bfin_write32(EBIU_DDRBWC3, val)
#define bfin_read_EBIU_DDRBWC4()	bfin_read32(EBIU_DDRBWC4)
#define bfin_write_EBIU_DDRBWC4(val)	bfin_write32(EBIU_DDRBWC4, val)
#define bfin_read_EBIU_DDRBWC5()	bfin_read32(EBIU_DDRBWC5)
#define bfin_write_EBIU_DDRBWC5(val)	bfin_write32(EBIU_DDRBWC5, val)
#define bfin_read_EBIU_DDRBWC6()	bfin_read32(EBIU_DDRBWC6)
#define bfin_write_EBIU_DDRBWC6(val)	bfin_write32(EBIU_DDRBWC6, val)
#define bfin_read_EBIU_DDRBWC7()	bfin_read32(EBIU_DDRBWC7)
#define bfin_write_EBIU_DDRBWC7(val)	bfin_write32(EBIU_DDRBWC7, val)
#define bfin_read_EBIU_DDRACCT()	bfin_read32(EBIU_DDRACCT)
#define bfin_write_EBIU_DDRACCT(val)	bfin_write32(EBIU_DDRACCT, val)
#define bfin_read_EBIU_DDRTACT()	bfin_read32(EBIU_DDRTACT)
#define bfin_write_EBIU_DDRTACT(val)	bfin_write32(EBIU_DDRTACT, val)
#define bfin_read_EBIU_DDRARCT()	bfin_read32(EBIU_DDRARCT)
#define bfin_write_EBIU_DDRARCT(val)	bfin_write32(EBIU_DDRARCT, val)
#define bfin_read_EBIU_DDRGC0()		bfin_read32(EBIU_DDRGC0)
#define bfin_write_EBIU_DDRGC0(val)	bfin_write32(EBIU_DDRGC0, val)
#define bfin_read_EBIU_DDRGC1()		bfin_read32(EBIU_DDRGC1)
#define bfin_write_EBIU_DDRGC1(val)	bfin_write32(EBIU_DDRGC1, val)
#define bfin_read_EBIU_DDRGC2()		bfin_read32(EBIU_DDRGC2)
#define bfin_write_EBIU_DDRGC2(val)	bfin_write32(EBIU_DDRGC2, val)
#define bfin_read_EBIU_DDRGC3()		bfin_read32(EBIU_DDRGC3)
#define bfin_write_EBIU_DDRGC3(val)	bfin_write32(EBIU_DDRGC3, val)
#define bfin_read_EBIU_DDRMCEN()	bfin_read32(EBIU_DDRMCEN)
#define bfin_write_EBIU_DDRMCEN(val)	bfin_write32(EBIU_DDRMCEN, val)
#define bfin_read_EBIU_DDRMCCL()	bfin_read32(EBIU_DDRMCCL)
#define bfin_write_EBIU_DDRMCCL(val)	bfin_write32(EBIU_DDRMCCL, val)

/* DMAC0 Registers */

#define bfin_read_DMAC0_TCPER()		bfin_read16(DMAC0_TCPER)
#define bfin_write_DMAC0_TCPER(val)	bfin_write16(DMAC0_TCPER, val)
#define bfin_read_DMAC0_TCCNT()		bfin_read16(DMAC0_TCCNT)
#define bfin_write_DMAC0_TCCNT(val)	bfin_write16(DMAC0_TCCNT, val)

/* DMA Channel 0 Registers */

#define bfin_read_DMA0_NEXT_DESC_PTR() 		bfin_read32(DMA0_NEXT_DESC_PTR)
#define bfin_write_DMA0_NEXT_DESC_PTR(val) 	bfin_write32(DMA0_NEXT_DESC_PTR)
#define bfin_read_DMA0_START_ADDR() 		bfin_read32(DMA0_START_ADDR)
#define bfin_write_DMA0_START_ADDR(val) 	bfin_write32(DMA0_START_ADDR)
#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)
#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)
#define bfin_read_DMA0_CURR_DESC_PTR() 		bfin_read32(DMA0_CURR_DESC_PTR)
#define bfin_write_DMA0_CURR_DESC_PTR(val) 	bfin_write32(DMA0_CURR_DESC_PTR)
#define bfin_read_DMA0_CURR_ADDR() 		bfin_read32(DMA0_CURR_ADDR)
#define bfin_write_DMA0_CURR_ADDR(val) 		bfin_write32(DMA0_CURR_ADDR)
#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)

/* DMA Channel 1 Registers */

#define bfin_read_DMA1_NEXT_DESC_PTR() 		bfin_read32(DMA1_NEXT_DESC_PTR)
#define bfin_write_DMA1_NEXT_DESC_PTR(val) 	bfin_write32(DMA1_NEXT_DESC_PTR)
#define bfin_read_DMA1_START_ADDR() 		bfin_read32(DMA1_START_ADDR)
#define bfin_write_DMA1_START_ADDR(val) 	bfin_write32(DMA1_START_ADDR)
#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)
#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)
#define bfin_read_DMA1_CURR_DESC_PTR() 		bfin_read32(DMA1_CURR_DESC_PTR)
#define bfin_write_DMA1_CURR_DESC_PTR(val) 	bfin_write32(DMA1_CURR_DESC_PTR)
#define bfin_read_DMA1_CURR_ADDR() 		bfin_read32(DMA1_CURR_ADDR)
#define bfin_write_DMA1_CURR_ADDR(val) 		bfin_write32(DMA1_CURR_ADDR)
#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)

/* DMA Channel 2 Registers */

#define bfin_read_DMA2_NEXT_DESC_PTR() 		bfin_read32(DMA2_NEXT_DESC_PTR)
#define bfin_write_DMA2_NEXT_DESC_PTR(val) 	bfin_write32(DMA2_NEXT_DESC_PTR)
#define bfin_read_DMA2_START_ADDR() 		bfin_read32(DMA2_START_ADDR)
#define bfin_write_DMA2_START_ADDR(val) 	bfin_write32(DMA2_START_ADDR)
#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)
#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)
#define bfin_read_DMA2_CURR_DESC_PTR() 		bfin_read32(DMA2_CURR_DESC_PTR)
#define bfin_write_DMA2_CURR_DESC_PTR(val) 	bfin_write32(DMA2_CURR_DESC_PTR)
#define bfin_read_DMA2_CURR_ADDR() 		bfin_read32(DMA2_CURR_ADDR)
#define bfin_write_DMA2_CURR_ADDR(val) 		bfin_write32(DMA2_CURR_ADDR)
#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)

/* DMA Channel 3 Registers */

#define bfin_read_DMA3_NEXT_DESC_PTR() 		bfin_read32(DMA3_NEXT_DESC_PTR)
#define bfin_write_DMA3_NEXT_DESC_PTR(val) 	bfin_write32(DMA3_NEXT_DESC_PTR)
#define bfin_read_DMA3_START_ADDR() 		bfin_read32(DMA3_START_ADDR)
#define bfin_write_DMA3_START_ADDR(val) 	bfin_write32(DMA3_START_ADDR)
#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)
#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)
#define bfin_read_DMA3_CURR_DESC_PTR() 		bfin_read32(DMA3_CURR_DESC_PTR)
#define bfin_write_DMA3_CURR_DESC_PTR(val) 	bfin_write32(DMA3_CURR_DESC_PTR)
#define bfin_read_DMA3_CURR_ADDR() 		bfin_read32(DMA3_CURR_ADDR)
#define bfin_write_DMA3_CURR_ADDR(val) 		bfin_write32(DMA3_CURR_ADDR)
#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)

/* DMA Channel 4 Registers */

#define bfin_read_DMA4_NEXT_DESC_PTR() 		bfin_read32(DMA4_NEXT_DESC_PTR)
#define bfin_write_DMA4_NEXT_DESC_PTR(val) 	bfin_write32(DMA4_NEXT_DESC_PTR)
#define bfin_read_DMA4_START_ADDR() 		bfin_read32(DMA4_START_ADDR)
#define bfin_write_DMA4_START_ADDR(val) 	bfin_write32(DMA4_START_ADDR)
#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)
#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)
#define bfin_read_DMA4_CURR_DESC_PTR() 		bfin_read32(DMA4_CURR_DESC_PTR)
#define bfin_write_DMA4_CURR_DESC_PTR(val) 	bfin_write32(DMA4_CURR_DESC_PTR)
#define bfin_read_DMA4_CURR_ADDR() 		bfin_read32(DMA4_CURR_ADDR)
#define bfin_write_DMA4_CURR_ADDR(val) 		bfin_write32(DMA4_CURR_ADDR)
#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)

/* DMA Channel 5 Registers */

#define bfin_read_DMA5_NEXT_DESC_PTR() 		bfin_read32(DMA5_NEXT_DESC_PTR)
#define bfin_write_DMA5_NEXT_DESC_PTR(val) 	bfin_write32(DMA5_NEXT_DESC_PTR)
#define bfin_read_DMA5_START_ADDR() 		bfin_read32(DMA5_START_ADDR)
#define bfin_write_DMA5_START_ADDR(val) 	bfin_write32(DMA5_START_ADDR)
#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)
#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)
#define bfin_read_DMA5_CURR_DESC_PTR() 		bfin_read32(DMA5_CURR_DESC_PTR)
#define bfin_write_DMA5_CURR_DESC_PTR(val) 	bfin_write32(DMA5_CURR_DESC_PTR)
#define bfin_read_DMA5_CURR_ADDR() 		bfin_read32(DMA5_CURR_ADDR)
#define bfin_write_DMA5_CURR_ADDR(val) 		bfin_write32(DMA5_CURR_ADDR)
#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)

/* DMA Channel 6 Registers */

#define bfin_read_DMA6_NEXT_DESC_PTR() 		bfin_read32(DMA6_NEXT_DESC_PTR)
#define bfin_write_DMA6_NEXT_DESC_PTR(val) 	bfin_write32(DMA6_NEXT_DESC_PTR)
#define bfin_read_DMA6_START_ADDR() 		bfin_read32(DMA6_START_ADDR)
#define bfin_write_DMA6_START_ADDR(val) 	bfin_write32(DMA6_START_ADDR)
#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)
#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)
#define bfin_read_DMA6_CURR_DESC_PTR() 		bfin_read32(DMA6_CURR_DESC_PTR)
#define bfin_write_DMA6_CURR_DESC_PTR(val) 	bfin_write32(DMA6_CURR_DESC_PTR)
#define bfin_read_DMA6_CURR_ADDR() 		bfin_read32(DMA6_CURR_ADDR)
#define bfin_write_DMA6_CURR_ADDR(val) 		bfin_write32(DMA6_CURR_ADDR)
#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)

/* DMA Channel 7 Registers */

#define bfin_read_DMA7_NEXT_DESC_PTR() 		bfin_read32(DMA7_NEXT_DESC_PTR)
#define bfin_write_DMA7_NEXT_DESC_PTR(val) 	bfin_write32(DMA7_NEXT_DESC_PTR)
#define bfin_read_DMA7_START_ADDR() 		bfin_read32(DMA7_START_ADDR)
#define bfin_write_DMA7_START_ADDR(val) 	bfin_write32(DMA7_START_ADDR)
#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)
#define bfin_write_DMA7_X_MODIFY(val) 		bfin_write16(DMA7_X_MODIFY)
#define bfin_read_DMA7_Y_COUNT()		bfin_read16(DMA7_Y_COUNT)
#define bfin_write_DMA7_Y_COUNT(val)		bfin_write16(DMA7_Y_COUNT, val)
#define bfin_read_DMA7_Y_MODIFY()		bfin_read16(DMA7_Y_MODIFY)
#define bfin_write_DMA7_Y_MODIFY(val) 		bfin_write16(DMA7_Y_MODIFY)
#define bfin_read_DMA7_CURR_DESC_PTR() 		bfin_read32(DMA7_CURR_DESC_PTR)
#define bfin_write_DMA7_CURR_DESC_PTR(val) 	bfin_write32(DMA7_CURR_DESC_PTR)
#define bfin_read_DMA7_CURR_ADDR() 		bfin_read32(DMA7_CURR_ADDR)
#define bfin_write_DMA7_CURR_ADDR(val) 		bfin_write32(DMA7_CURR_ADDR)
#define bfin_read_DMA7_IRQ_STATUS()		bfin_read16(DMA7_IRQ_STATUS)
#define bfin_write_DMA7_IRQ_STATUS(val)		bfin_write16(DMA7_IRQ_STATUS, val)
#define bfin_read_DMA7_PERIPHERAL_MAP()		bfin_read16(DMA7_PERIPHERAL_MAP)
#define bfin_write_DMA7_PERIPHERAL_MAP(val)	bfin_write16(DMA7_PERIPHERAL_MAP, val)
#define bfin_read_DMA7_CURR_X_COUNT()		bfin_read16(DMA7_CURR_X_COUNT)
#define bfin_write_DMA7_CURR_X_COUNT(val)	bfin_write16(DMA7_CURR_X_COUNT, val)
#define bfin_read_DMA7_CURR_Y_COUNT()		bfin_read16(DMA7_CURR_Y_COUNT)
#define bfin_write_DMA7_CURR_Y_COUNT(val)	bfin_write16(DMA7_CURR_Y_COUNT, val)

/* DMA Channel 8 Registers */

#define bfin_read_DMA8_NEXT_DESC_PTR() 		bfin_read32(DMA8_NEXT_DESC_PTR)
#define bfin_write_DMA8_NEXT_DESC_PTR(val) 	bfin_write32(DMA8_NEXT_DESC_PTR)
#define bfin_read_DMA8_START_ADDR() 		bfin_read32(DMA8_START_ADDR)
#define bfin_write_DMA8_START_ADDR(val) 	bfin_write32(DMA8_START_ADDR)
#define bfin_read_DMA8_CONFIG()			bfin_read16(DMA8_CONFIG)
#define bfin_write_DMA8_CONFIG(val)		bfin_write16(DMA8_CONFIG, val)
#define bfin_read_DMA8_X_COUNT()		bfin_read16(DMA8_X_COUNT)
#define bfin_write_DMA8_X_COUNT(val)		bfin_write16(DMA8_X_COUNT, val)
#define bfin_read_DMA8_X_MODIFY()		bfin_read16(DMA8_X_MODIFY)
#define bfin_write_DMA8_X_MODIFY(val) 		bfin_write16(DMA8_X_MODIFY)
#define bfin_read_DMA8_Y_COUNT()		bfin_read16(DMA8_Y_COUNT)
#define bfin_write_DMA8_Y_COUNT(val)		bfin_write16(DMA8_Y_COUNT, val)
#define bfin_read_DMA8_Y_MODIFY()		bfin_read16(DMA8_Y_MODIFY)
#define bfin_write_DMA8_Y_MODIFY(val) 		bfin_write16(DMA8_Y_MODIFY)
#define bfin_read_DMA8_CURR_DESC_PTR() 		bfin_read32(DMA8_CURR_DESC_PTR)
#define bfin_write_DMA8_CURR_DESC_PTR(val) 	bfin_write32(DMA8_CURR_DESC_PTR)
#define bfin_read_DMA8_CURR_ADDR() 		bfin_read32(DMA8_CURR_ADDR)
#define bfin_write_DMA8_CURR_ADDR(val) 		bfin_write32(DMA8_CURR_ADDR)
#define bfin_read_DMA8_IRQ_STATUS()		bfin_read16(DMA8_IRQ_STATUS)
#define bfin_write_DMA8_IRQ_STATUS(val)		bfin_write16(DMA8_IRQ_STATUS, val)
#define bfin_read_DMA8_PERIPHERAL_MAP()		bfin_read16(DMA8_PERIPHERAL_MAP)
#define bfin_write_DMA8_PERIPHERAL_MAP(val)	bfin_write16(DMA8_PERIPHERAL_MAP, val)
#define bfin_read_DMA8_CURR_X_COUNT()		bfin_read16(DMA8_CURR_X_COUNT)
#define bfin_write_DMA8_CURR_X_COUNT(val)	bfin_write16(DMA8_CURR_X_COUNT, val)
#define bfin_read_DMA8_CURR_Y_COUNT()		bfin_read16(DMA8_CURR_Y_COUNT)
#define bfin_write_DMA8_CURR_Y_COUNT(val)	bfin_write16(DMA8_CURR_Y_COUNT, val)

/* DMA Channel 9 Registers */

#define bfin_read_DMA9_NEXT_DESC_PTR() 		bfin_read32(DMA9_NEXT_DESC_PTR)
#define bfin_write_DMA9_NEXT_DESC_PTR(val) 	bfin_write32(DMA9_NEXT_DESC_PTR)
#define bfin_read_DMA9_START_ADDR() 		bfin_read32(DMA9_START_ADDR)
#define bfin_write_DMA9_START_ADDR(val) 	bfin_write32(DMA9_START_ADDR)
#define bfin_read_DMA9_CONFIG()			bfin_read16(DMA9_CONFIG)
#define bfin_write_DMA9_CONFIG(val)		bfin_write16(DMA9_CONFIG, val)
#define bfin_read_DMA9_X_COUNT()		bfin_read16(DMA9_X_COUNT)
#define bfin_write_DMA9_X_COUNT(val)		bfin_write16(DMA9_X_COUNT, val)
#define bfin_read_DMA9_X_MODIFY()		bfin_read16(DMA9_X_MODIFY)
#define bfin_write_DMA9_X_MODIFY(val) 		bfin_write16(DMA9_X_MODIFY)
#define bfin_read_DMA9_Y_COUNT()		bfin_read16(DMA9_Y_COUNT)
#define bfin_write_DMA9_Y_COUNT(val)		bfin_write16(DMA9_Y_COUNT, val)
#define bfin_read_DMA9_Y_MODIFY()		bfin_read16(DMA9_Y_MODIFY)
#define bfin_write_DMA9_Y_MODIFY(val) 		bfin_write16(DMA9_Y_MODIFY)
#define bfin_read_DMA9_CURR_DESC_PTR() 		bfin_read32(DMA9_CURR_DESC_PTR)
#define bfin_write_DMA9_CURR_DESC_PTR(val) 	bfin_write32(DMA9_CURR_DESC_PTR)
#define bfin_read_DMA9_CURR_ADDR() 		bfin_read32(DMA9_CURR_ADDR)
#define bfin_write_DMA9_CURR_ADDR(val) 		bfin_write32(DMA9_CURR_ADDR)
#define bfin_read_DMA9_IRQ_STATUS()		bfin_read16(DMA9_IRQ_STATUS)
#define bfin_write_DMA9_IRQ_STATUS(val)		bfin_write16(DMA9_IRQ_STATUS, val)
#define bfin_read_DMA9_PERIPHERAL_MAP()		bfin_read16(DMA9_PERIPHERAL_MAP)
#define bfin_write_DMA9_PERIPHERAL_MAP(val)	bfin_write16(DMA9_PERIPHERAL_MAP, val)
#define bfin_read_DMA9_CURR_X_COUNT()		bfin_read16(DMA9_CURR_X_COUNT)
#define bfin_write_DMA9_CURR_X_COUNT(val)	bfin_write16(DMA9_CURR_X_COUNT, val)
#define bfin_read_DMA9_CURR_Y_COUNT()		bfin_read16(DMA9_CURR_Y_COUNT)
#define bfin_write_DMA9_CURR_Y_COUNT(val)	bfin_write16(DMA9_CURR_Y_COUNT, val)

/* DMA Channel 10 Registers */

#define bfin_read_DMA10_NEXT_DESC_PTR() 	bfin_read32(DMA10_NEXT_DESC_PTR)
#define bfin_write_DMA10_NEXT_DESC_PTR(val) 	bfin_write32(DMA10_NEXT_DESC_PTR)
#define bfin_read_DMA10_START_ADDR() 		bfin_read32(DMA10_START_ADDR)
#define bfin_write_DMA10_START_ADDR(val) 	bfin_write32(DMA10_START_ADDR)
#define bfin_read_DMA10_CONFIG()		bfin_read16(DMA10_CONFIG)
#define bfin_write_DMA10_CONFIG(val)		bfin_write16(DMA10_CONFIG, val)
#define bfin_read_DMA10_X_COUNT()		bfin_read16(DMA10_X_COUNT)
#define bfin_write_DMA10_X_COUNT(val)		bfin_write16(DMA10_X_COUNT, val)
#define bfin_read_DMA10_X_MODIFY()		bfin_read16(DMA10_X_MODIFY)
#define bfin_write_DMA10_X_MODIFY(val) 		bfin_write16(DMA10_X_MODIFY)
#define bfin_read_DMA10_Y_COUNT()		bfin_read16(DMA10_Y_COUNT)
#define bfin_write_DMA10_Y_COUNT(val)		bfin_write16(DMA10_Y_COUNT, val)
#define bfin_read_DMA10_Y_MODIFY()		bfin_read16(DMA10_Y_MODIFY)
#define bfin_write_DMA10_Y_MODIFY(val) 		bfin_write16(DMA10_Y_MODIFY)
#define bfin_read_DMA10_CURR_DESC_PTR() 	bfin_read32(DMA10_CURR_DESC_PTR)
#define bfin_write_DMA10_CURR_DESC_PTR(val) 	bfin_write32(DMA10_CURR_DESC_PTR)
#define bfin_read_DMA10_CURR_ADDR() 		bfin_read32(DMA10_CURR_ADDR)
#define bfin_write_DMA10_CURR_ADDR(val) 	bfin_write32(DMA10_CURR_ADDR)
#define bfin_read_DMA10_IRQ_STATUS()		bfin_read16(DMA10_IRQ_STATUS)
#define bfin_write_DMA10_IRQ_STATUS(val)	bfin_write16(DMA10_IRQ_STATUS, val)
#define bfin_read_DMA10_PERIPHERAL_MAP()	bfin_read16(DMA10_PERIPHERAL_MAP)
#define bfin_write_DMA10_PERIPHERAL_MAP(val)	bfin_write16(DMA10_PERIPHERAL_MAP, val)
#define bfin_read_DMA10_CURR_X_COUNT()		bfin_read16(DMA10_CURR_X_COUNT)
#define bfin_write_DMA10_CURR_X_COUNT(val)	bfin_write16(DMA10_CURR_X_COUNT, val)
#define bfin_read_DMA10_CURR_Y_COUNT()		bfin_read16(DMA10_CURR_Y_COUNT)
#define bfin_write_DMA10_CURR_Y_COUNT(val)	bfin_write16(DMA10_CURR_Y_COUNT, val)

/* DMA Channel 11 Registers */

#define bfin_read_DMA11_NEXT_DESC_PTR() 	bfin_read32(DMA11_NEXT_DESC_PTR)
#define bfin_write_DMA11_NEXT_DESC_PTR(val) 	bfin_write32(DMA11_NEXT_DESC_PTR)
#define bfin_read_DMA11_START_ADDR() 		bfin_read32(DMA11_START_ADDR)
#define bfin_write_DMA11_START_ADDR(val) 	bfin_write32(DMA11_START_ADDR)
#define bfin_read_DMA11_CONFIG()		bfin_read16(DMA11_CONFIG)
#define bfin_write_DMA11_CONFIG(val)		bfin_write16(DMA11_CONFIG, val)
#define bfin_read_DMA11_X_COUNT()		bfin_read16(DMA11_X_COUNT)
#define bfin_write_DMA11_X_COUNT(val)		bfin_write16(DMA11_X_COUNT, val)
#define bfin_read_DMA11_X_MODIFY()		bfin_read16(DMA11_X_MODIFY)
#define bfin_write_DMA11_X_MODIFY(val) 		bfin_write16(DMA11_X_MODIFY)
#define bfin_read_DMA11_Y_COUNT()		bfin_read16(DMA11_Y_COUNT)
#define bfin_write_DMA11_Y_COUNT(val)		bfin_write16(DMA11_Y_COUNT, val)
#define bfin_read_DMA11_Y_MODIFY()		bfin_read16(DMA11_Y_MODIFY)
#define bfin_write_DMA11_Y_MODIFY(val) 		bfin_write16(DMA11_Y_MODIFY)
#define bfin_read_DMA11_CURR_DESC_PTR() 	bfin_read32(DMA11_CURR_DESC_PTR)
#define bfin_write_DMA11_CURR_DESC_PTR(val) 	bfin_write32(DMA11_CURR_DESC_PTR)
#define bfin_read_DMA11_CURR_ADDR() 		bfin_read32(DMA11_CURR_ADDR)
#define bfin_write_DMA11_CURR_ADDR(val) 	bfin_write32(DMA11_CURR_ADDR)
#define bfin_read_DMA11_IRQ_STATUS()		bfin_read16(DMA11_IRQ_STATUS)
#define bfin_write_DMA11_IRQ_STATUS(val)	bfin_write16(DMA11_IRQ_STATUS, val)
#define bfin_read_DMA11_PERIPHERAL_MAP()	bfin_read16(DMA11_PERIPHERAL_MAP)
#define bfin_write_DMA11_PERIPHERAL_MAP(val)	bfin_write16(DMA11_PERIPHERAL_MAP, val)
#define bfin_read_DMA11_CURR_X_COUNT()		bfin_read16(DMA11_CURR_X_COUNT)
#define bfin_write_DMA11_CURR_X_COUNT(val)	bfin_write16(DMA11_CURR_X_COUNT, val)
#define bfin_read_DMA11_CURR_Y_COUNT()		bfin_read16(DMA11_CURR_Y_COUNT)
#define bfin_write_DMA11_CURR_Y_COUNT(val)	bfin_write16(DMA11_CURR_Y_COUNT, val)

/* MDMA Stream 0 Registers */

#define bfin_read_MDMA_D0_NEXT_DESC_PTR() 	bfin_read32(MDMA_D0_NEXT_DESC_PTR)
#define bfin_write_MDMA_D0_NEXT_DESC_PTR(val) 	bfin_write32(MDMA_D0_NEXT_DESC_PTR)
#define bfin_read_MDMA_D0_START_ADDR() 		bfin_read32(MDMA_D0_START_ADDR)
#define bfin_write_MDMA_D0_START_ADDR(val) 	bfin_write32(MDMA_D0_START_ADDR, val)
#define bfin_read_MDMA_D0_CONFIG()		bfin_read16(MDMA_D0_CONFIG)
#define bfin_write_MDMA_D0_CONFIG(val)		bfin_write16(MDMA_D0_CONFIG, val)
#define bfin_read_MDMA_D0_X_COUNT()		bfin_read16(MDMA_D0_X_COUNT)
#define bfin_write_MDMA_D0_X_COUNT(val)		bfin_write16(MDMA_D0_X_COUNT, val)
#define bfin_read_MDMA_D0_X_MODIFY()		bfin_read16(MDMA_D0_X_MODIFY)
#define bfin_write_MDMA_D0_X_MODIFY(val) 	bfin_write16(MDMA_D0_X_MODIFY, val)
#define bfin_read_MDMA_D0_Y_COUNT()		bfin_read16(MDMA_D0_Y_COUNT)
#define bfin_write_MDMA_D0_Y_COUNT(val)		bfin_write16(MDMA_D0_Y_COUNT, val)
#define bfin_read_MDMA_D0_Y_MODIFY()		bfin_read16(MDMA_D0_Y_MODIFY)
#define bfin_write_MDMA_D0_Y_MODIFY(val) 	bfin_write16(MDMA_D0_Y_MODIFY, val)
#define bfin_read_MDMA_D0_CURR_DESC_PTR() 	bfin_read32(MDMA_D0_CURR_DESC_PTR)
#define bfin_write_MDMA_D0_CURR_DESC_PTR(val) 	bfin_write32(MDMA_D0_CURR_DESC_PTR, val)
#define bfin_read_MDMA_D0_CURR_ADDR() 		bfin_read32(MDMA_D0_CURR_ADDR)
#define bfin_write_MDMA_D0_CURR_ADDR(val) 	bfin_write32(MDMA_D0_CURR_ADDR, val)
#define bfin_read_MDMA_D0_IRQ_STATUS()		bfin_read16(MDMA_D0_IRQ_STATUS)
#define bfin_write_MDMA_D0_IRQ_STATUS(val)	bfin_write16(MDMA_D0_IRQ_STATUS, val)
#define bfin_read_MDMA_D0_PERIPHERAL_MAP()	bfin_read16(MDMA_D0_PERIPHERAL_MAP)
#define bfin_write_MDMA_D0_PERIPHERAL_MAP(val)	bfin_write16(MDMA_D0_PERIPHERAL_MAP, val)
#define bfin_read_MDMA_D0_CURR_X_COUNT()	bfin_read16(MDMA_D0_CURR_X_COUNT)
#define bfin_write_MDMA_D0_CURR_X_COUNT(val)	bfin_write16(MDMA_D0_CURR_X_COUNT, val)
#define bfin_read_MDMA_D0_CURR_Y_COUNT()	bfin_read16(MDMA_D0_CURR_Y_COUNT)
#define bfin_write_MDMA_D0_CURR_Y_COUNT(val)	bfin_write16(MDMA_D0_CURR_Y_COUNT, val)
#define bfin_read_MDMA_S0_NEXT_DESC_PTR() 	bfin_read32(MDMA_S0_NEXT_DESC_PTR)
#define bfin_write_MDMA_S0_NEXT_DESC_PTR(val) 	bfin_write32(MDMA_S0_NEXT_DESC_PTR, val)
#define bfin_read_MDMA_S0_START_ADDR() 		bfin_read32(MDMA_S0_START_ADDR)
#define bfin_write_MDMA_S0_START_ADDR(val) 	bfin_write32(MDMA_S0_START_ADDR, val)
#define bfin_read_MDMA_S0_CONFIG()		bfin_read16(MDMA_S0_CONFIG)
#define bfin_write_MDMA_S0_CONFIG(val)		bfin_write16(MDMA_S0_CONFIG, val)
#define bfin_read_MDMA_S0_X_COUNT()		bfin_read16(MDMA_S0_X_COUNT)
#define bfin_write_MDMA_S0_X_COUNT(val)		bfin_write16(MDMA_S0_X_COUNT, val)
#define bfin_read_MDMA_S0_X_MODIFY()		bfin_read16(MDMA_S0_X_MODIFY)
#define bfin_write_MDMA_S0_X_MODIFY(val) 	bfin_write16(MDMA_S0_X_MODIFY, val)
#define bfin_read_MDMA_S0_Y_COUNT()		bfin_read16(MDMA_S0_Y_COUNT)
#define bfin_write_MDMA_S0_Y_COUNT(val)		bfin_write16(MDMA_S0_Y_COUNT, val)
#define bfin_read_MDMA_S0_Y_MODIFY()		bfin_read16(MDMA_S0_Y_MODIFY)
#define bfin_write_MDMA_S0_Y_MODIFY(val) 	bfin_write16(MDMA_S0_Y_MODIFY, val)
#define bfin_read_MDMA_S0_CURR_DESC_PTR() 	bfin_read32(MDMA_S0_CURR_DESC_PTR)
#define bfin_write_MDMA_S0_CURR_DESC_PTR(val) 	bfin_write32(MDMA_S0_CURR_DESC_PTR, val)
#define bfin_read_MDMA_S0_CURR_ADDR() 		bfin_read32(MDMA_S0_CURR_ADDR)
#define bfin_write_MDMA_S0_CURR_ADDR(val) 	bfin_write32(MDMA_S0_CURR_ADDR, val)
#define bfin_read_MDMA_S0_IRQ_STATUS()		bfin_read16(MDMA_S0_IRQ_STATUS)
#define bfin_write_MDMA_S0_IRQ_STATUS(val)	bfin_write16(MDMA_S0_IRQ_STATUS, val)
#define bfin_read_MDMA_S0_PERIPHERAL_MAP()	bfin_read16(MDMA_S0_PERIPHERAL_MAP)
#define bfin_write_MDMA_S0_PERIPHERAL_MAP(val)	bfin_write16(MDMA_S0_PERIPHERAL_MAP, val)
#define bfin_read_MDMA_S0_CURR_X_COUNT()	bfin_read16(MDMA_S0_CURR_X_COUNT)
#define bfin_write_MDMA_S0_CURR_X_COUNT(val)	bfin_write16(MDMA_S0_CURR_X_COUNT, val)
#define bfin_read_MDMA_S0_CURR_Y_COUNT()	bfin_read16(MDMA_S0_CURR_Y_COUNT)
#define bfin_write_MDMA_S0_CURR_Y_COUNT(val)	bfin_write16(MDMA_S0_CURR_Y_COUNT, val)

/* MDMA Stream 1 Registers */

#define bfin_read_MDMA_D1_NEXT_DESC_PTR() 	bfin_read32(MDMA_D1_NEXT_DESC_PTR)
#define bfin_write_MDMA_D1_NEXT_DESC_PTR(val) 	bfin_write32(MDMA_D1_NEXT_DESC_PTR, val)
#define bfin_read_MDMA_D1_START_ADDR() 		bfin_read32(MDMA_D1_START_ADDR)
#define bfin_write_MDMA_D1_START_ADDR(val) 	bfin_write32(MDMA_D1_START_ADDR, val)
#define bfin_read_MDMA_D1_CONFIG()		bfin_read16(MDMA_D1_CONFIG)
#define bfin_write_MDMA_D1_CONFIG(val)		bfin_write16(MDMA_D1_CONFIG, val)
#define bfin_read_MDMA_D1_X_COUNT()		bfin_read16(MDMA_D1_X_COUNT)
#define bfin_write_MDMA_D1_X_COUNT(val)		bfin_write16(MDMA_D1_X_COUNT, val)
#define bfin_read_MDMA_D1_X_MODIFY()		bfin_read16(MDMA_D1_X_MODIFY)
#define bfin_write_MDMA_D1_X_MODIFY(val) 	bfin_write16(MDMA_D1_X_MODIFY)
#define bfin_read_MDMA_D1_Y_COUNT()		bfin_read16(MDMA_D1_Y_COUNT)
#define bfin_write_MDMA_D1_Y_COUNT(val)		bfin_write16(MDMA_D1_Y_COUNT, val)
#define bfin_read_MDMA_D1_Y_MODIFY()		bfin_read16(MDMA_D1_Y_MODIFY)
#define bfin_write_MDMA_D1_Y_MODIFY(val) 	bfin_write16(MDMA_D1_Y_MODIFY)
#define bfin_read_MDMA_D1_CURR_DESC_PTR() 	bfin_read32(MDMA_D1_CURR_DESC_PTR)
#define bfin_write_MDMA_D1_CURR_DESC_PTR(val) 	bfin_write32(MDMA_D1_CURR_DESC_PTR, val)
#define bfin_read_MDMA_D1_CURR_ADDR() 		bfin_read32(MDMA_D1_CURR_ADDR)
#define bfin_write_MDMA_D1_CURR_ADDR(val) 	bfin_write32(MDMA_D1_CURR_ADDR, val)
#define bfin_read_MDMA_D1_IRQ_STATUS()		bfin_read16(MDMA_D1_IRQ_STATUS)
#define bfin_write_MDMA_D1_IRQ_STATUS(val)	bfin_write16(MDMA_D1_IRQ_STATUS, val)
#define bfin_read_MDMA_D1_PERIPHERAL_MAP()	bfin_read16(MDMA_D1_PERIPHERAL_MAP)
#define bfin_write_MDMA_D1_PERIPHERAL_MAP(val)	bfin_write16(MDMA_D1_PERIPHERAL_MAP, val)
#define bfin_read_MDMA_D1_CURR_X_COUNT()	bfin_read16(MDMA_D1_CURR_X_COUNT)
#define bfin_write_MDMA_D1_CURR_X_COUNT(val)	bfin_write16(MDMA_D1_CURR_X_COUNT, val)
#define bfin_read_MDMA_D1_CURR_Y_COUNT()	bfin_read16(MDMA_D1_CURR_Y_COUNT)
#define bfin_write_MDMA_D1_CURR_Y_COUNT(val)	bfin_write16(MDMA_D1_CURR_Y_COUNT, val)
#define bfin_read_MDMA_S1_NEXT_DESC_PTR() 	bfin_read32(MDMA_S1_NEXT_DESC_PTR)
#define bfin_write_MDMA_S1_NEXT_DESC_PTR(val) 	bfin_write32(MDMA_S1_NEXT_DESC_PTR, val)
#define bfin_read_MDMA_S1_START_ADDR() 		bfin_read32(MDMA_S1_START_ADDR)
#define bfin_write_MDMA_S1_START_ADDR(val) 	bfin_write32(MDMA_S1_START_ADDR, val)
#define bfin_read_MDMA_S1_CONFIG()		bfin_read16(MDMA_S1_CONFIG)
#define bfin_write_MDMA_S1_CONFIG(val)		bfin_write16(MDMA_S1_CONFIG, val)
#define bfin_read_MDMA_S1_X_COUNT()		bfin_read16(MDMA_S1_X_COUNT)
#define bfin_write_MDMA_S1_X_COUNT(val)		bfin_write16(MDMA_S1_X_COUNT, val)
#define bfin_read_MDMA_S1_X_MODIFY()		bfin_read16(MDMA_S1_X_MODIFY)
#define bfin_write_MDMA_S1_X_MODIFY(val) 	bfin_write16(MDMA_S1_X_MODIFY)
#define bfin_read_MDMA_S1_Y_COUNT()		bfin_read16(MDMA_S1_Y_COUNT)
#define bfin_write_MDMA_S1_Y_COUNT(val)		bfin_write16(MDMA_S1_Y_COUNT, val)
#define bfin_read_MDMA_S1_Y_MODIFY()		bfin_read16(MDMA_S1_Y_MODIFY)
#define bfin_write_MDMA_S1_Y_MODIFY(val) 	bfin_write16(MDMA_S1_Y_MODIFY)
#define bfin_read_MDMA_S1_CURR_DESC_PTR() 	bfin_read32(MDMA_S1_CURR_DESC_PTR)
#define bfin_write_MDMA_S1_CURR_DESC_PTR(val) 	bfin_write32(MDMA_S1_CURR_DESC_PTR, val)
#define bfin_read_MDMA_S1_CURR_ADDR() 		bfin_read32(MDMA_S1_CURR_ADDR)
#define bfin_write_MDMA_S1_CURR_ADDR(val) 	bfin_write32(MDMA_S1_CURR_ADDR, val)
#define bfin_read_MDMA_S1_IRQ_STATUS()		bfin_read16(MDMA_S1_IRQ_STATUS)
#define bfin_write_MDMA_S1_IRQ_STATUS(val)	bfin_write16(MDMA_S1_IRQ_STATUS, val)
#define bfin_read_MDMA_S1_PERIPHERAL_MAP()	bfin_read16(MDMA_S1_PERIPHERAL_MAP)
#define bfin_write_MDMA_S1_PERIPHERAL_MAP(val)	bfin_write16(MDMA_S1_PERIPHERAL_MAP, val)
#define bfin_read_MDMA_S1_CURR_X_COUNT()	bfin_read16(MDMA_S1_CURR_X_COUNT)
#define bfin_write_MDMA_S1_CURR_X_COUNT(val)	bfin_write16(MDMA_S1_CURR_X_COUNT, val)
#define bfin_read_MDMA_S1_CURR_Y_COUNT()	bfin_read16(MDMA_S1_CURR_Y_COUNT)
#define bfin_write_MDMA_S1_CURR_Y_COUNT(val)	bfin_write16(MDMA_S1_CURR_Y_COUNT, val)

/* EPPI1 Registers */

#define bfin_read_EPPI1_STATUS()		bfin_read16(EPPI1_STATUS)
#define bfin_write_EPPI1_STATUS(val)		bfin_write16(EPPI1_STATUS, val)
#define bfin_read_EPPI1_HCOUNT()		bfin_read16(EPPI1_HCOUNT)
#define bfin_write_EPPI1_HCOUNT(val)		bfin_write16(EPPI1_HCOUNT, val)
#define bfin_read_EPPI1_HDELAY()		bfin_read16(EPPI1_HDELAY)
#define bfin_write_EPPI1_HDELAY(val)		bfin_write16(EPPI1_HDELAY, val)
#define bfin_read_EPPI1_VCOUNT()		bfin_read16(EPPI1_VCOUNT)
#define bfin_write_EPPI1_VCOUNT(val)		bfin_write16(EPPI1_VCOUNT, val)
#define bfin_read_EPPI1_VDELAY()		bfin_read16(EPPI1_VDELAY)
#define bfin_write_EPPI1_VDELAY(val)		bfin_write16(EPPI1_VDELAY, val)
#define bfin_read_EPPI1_FRAME()			bfin_read16(EPPI1_FRAME)
#define bfin_write_EPPI1_FRAME(val)		bfin_write16(EPPI1_FRAME, val)
#define bfin_read_EPPI1_LINE()			bfin_read16(EPPI1_LINE)
#define bfin_write_EPPI1_LINE(val)		bfin_write16(EPPI1_LINE, val)
#define bfin_read_EPPI1_CLKDIV()		bfin_read16(EPPI1_CLKDIV)
#define bfin_write_EPPI1_CLKDIV(val)		bfin_write16(EPPI1_CLKDIV, val)
#define bfin_read_EPPI1_CONTROL()		bfin_read32(EPPI1_CONTROL)
#define bfin_write_EPPI1_CONTROL(val)		bfin_write32(EPPI1_CONTROL, val)
#define bfin_read_EPPI1_FS1W_HBL()		bfin_read32(EPPI1_FS1W_HBL)
#define bfin_write_EPPI1_FS1W_HBL(val)		bfin_write32(EPPI1_FS1W_HBL, val)
#define bfin_read_EPPI1_FS1P_AVPL()		bfin_read32(EPPI1_FS1P_AVPL)
#define bfin_write_EPPI1_FS1P_AVPL(val)		bfin_write32(EPPI1_FS1P_AVPL, val)
#define bfin_read_EPPI1_FS2W_LVB()		bfin_read32(EPPI1_FS2W_LVB)
#define bfin_write_EPPI1_FS2W_LVB(val)		bfin_write32(EPPI1_FS2W_LVB, val)
#define bfin_read_EPPI1_FS2P_LAVF()		bfin_read32(EPPI1_FS2P_LAVF)
#define bfin_write_EPPI1_FS2P_LAVF(val)		bfin_write32(EPPI1_FS2P_LAVF, val)
#define bfin_read_EPPI1_CLIP()			bfin_read32(EPPI1_CLIP)
#define bfin_write_EPPI1_CLIP(val)		bfin_write32(EPPI1_CLIP, val)

/* Port Interrubfin_read_()t 0 Registers (32-bit) */

#define bfin_read_PINT0_MASK_SET()		bfin_read32(PINT0_MASK_SET)
#define bfin_write_PINT0_MASK_SET(val)		bfin_write32(PINT0_MASK_SET, val)
#define bfin_read_PINT0_MASK_CLEAR()		bfin_read32(PINT0_MASK_CLEAR)
#define bfin_write_PINT0_MASK_CLEAR(val)	bfin_write32(PINT0_MASK_CLEAR, val)
#define bfin_read_PINT0_REQUEST()		bfin_read32(PINT0_REQUEST)
#define bfin_write_PINT0_REQUEST(val)		bfin_write32(PINT0_REQUEST, val)
#define bfin_read_PINT0_ASSIGN()		bfin_read32(PINT0_ASSIGN)
#define bfin_write_PINT0_ASSIGN(val)		bfin_write32(PINT0_ASSIGN, val)
#define bfin_read_PINT0_EDGE_SET()		bfin_read32(PINT0_EDGE_SET)
#define bfin_write_PINT0_EDGE_SET(val)		bfin_write32(PINT0_EDGE_SET, val)
#define bfin_read_PINT0_EDGE_CLEAR()		bfin_read32(PINT0_EDGE_CLEAR)
#define bfin_write_PINT0_EDGE_CLEAR(val)	bfin_write32(PINT0_EDGE_CLEAR, val)
#define bfin_read_PINT0_INVERT_SET()		bfin_read32(PINT0_INVERT_SET)
#define bfin_write_PINT0_INVERT_SET(val)	bfin_write32(PINT0_INVERT_SET, val)
#define bfin_read_PINT0_INVERT_CLEAR()		bfin_read32(PINT0_INVERT_CLEAR)
#define bfin_write_PINT0_INVERT_CLEAR(val)	bfin_write32(PINT0_INVERT_CLEAR, val)
#define bfin_read_PINT0_PINSTATE()		bfin_read32(PINT0_PINSTATE)
#define bfin_write_PINT0_PINSTATE(val)		bfin_write32(PINT0_PINSTATE, val)
#define bfin_read_PINT0_LATCH()			bfin_read32(PINT0_LATCH)
#define bfin_write_PINT0_LATCH(val)		bfin_write32(PINT0_LATCH, val)

/* Port Interrubfin_read_()t 1 Registers (32-bit) */

#define bfin_read_PINT1_MASK_SET()		bfin_read32(PINT1_MASK_SET)
#define bfin_write_PINT1_MASK_SET(val)		bfin_write32(PINT1_MASK_SET, val)
#define bfin_read_PINT1_MASK_CLEAR()		bfin_read32(PINT1_MASK_CLEAR)
#define bfin_write_PINT1_MASK_CLEAR(val)	bfin_write32(PINT1_MASK_CLEAR, val)
#define bfin_read_PINT1_REQUEST()		bfin_read32(PINT1_REQUEST)
#define bfin_write_PINT1_REQUEST(val)		bfin_write32(PINT1_REQUEST, val)
#define bfin_read_PINT1_ASSIGN()		bfin_read32(PINT1_ASSIGN)
#define bfin_write_PINT1_ASSIGN(val)		bfin_write32(PINT1_ASSIGN, val)
#define bfin_read_PINT1_EDGE_SET()		bfin_read32(PINT1_EDGE_SET)
#define bfin_write_PINT1_EDGE_SET(val)		bfin_write32(PINT1_EDGE_SET, val)
#define bfin_read_PINT1_EDGE_CLEAR()		bfin_read32(PINT1_EDGE_CLEAR)
#define bfin_write_PINT1_EDGE_CLEAR(val)	bfin_write32(PINT1_EDGE_CLEAR, val)
#define bfin_read_PINT1_INVERT_SET()		bfin_read32(PINT1_INVERT_SET)
#define bfin_write_PINT1_INVERT_SET(val)	bfin_write32(PINT1_INVERT_SET, val)
#define bfin_read_PINT1_INVERT_CLEAR()		bfin_read32(PINT1_INVERT_CLEAR)
#define bfin_write_PINT1_INVERT_CLEAR(val)	bfin_write32(PINT1_INVERT_CLEAR, val)
#define bfin_read_PINT1_PINSTATE()		bfin_read32(PINT1_PINSTATE)
#define bfin_write_PINT1_PINSTATE(val)		bfin_write32(PINT1_PINSTATE, val)
#define bfin_read_PINT1_LATCH()			bfin_read32(PINT1_LATCH)
#define bfin_write_PINT1_LATCH(val)		bfin_write32(PINT1_LATCH, val)

/* Port Interrubfin_read_()t 2 Registers (32-bit) */

#define bfin_read_PINT2_MASK_SET()		bfin_read32(PINT2_MASK_SET)
#define bfin_write_PINT2_MASK_SET(val)		bfin_write32(PINT2_MASK_SET, val)
#define bfin_read_PINT2_MASK_CLEAR()		bfin_read32(PINT2_MASK_CLEAR)
#define bfin_write_PINT2_MASK_CLEAR(val)	bfin_write32(PINT2_MASK_CLEAR, val)
#define bfin_read_PINT2_REQUEST()		bfin_read32(PINT2_REQUEST)
#define bfin_write_PINT2_REQUEST(val)		bfin_write32(PINT2_REQUEST, val)
#define bfin_read_PINT2_ASSIGN()		bfin_read32(PINT2_ASSIGN)
#define bfin_write_PINT2_ASSIGN(val)		bfin_write32(PINT2_ASSIGN, val)
#define bfin_read_PINT2_EDGE_SET()		bfin_read32(PINT2_EDGE_SET)
#define bfin_write_PINT2_EDGE_SET(val)		bfin_write32(PINT2_EDGE_SET, val)
#define bfin_read_PINT2_EDGE_CLEAR()		bfin_read32(PINT2_EDGE_CLEAR)
#define bfin_write_PINT2_EDGE_CLEAR(val)	bfin_write32(PINT2_EDGE_CLEAR, val)
#define bfin_read_PINT2_INVERT_SET()		bfin_read32(PINT2_INVERT_SET)
#define bfin_write_PINT2_INVERT_SET(val)	bfin_write32(PINT2_INVERT_SET, val)
#define bfin_read_PINT2_INVERT_CLEAR()		bfin_read32(PINT2_INVERT_CLEAR)
#define bfin_write_PINT2_INVERT_CLEAR(val)	bfin_write32(PINT2_INVERT_CLEAR, val)
#define bfin_read_PINT2_PINSTATE()		bfin_read32(PINT2_PINSTATE)
#define bfin_write_PINT2_PINSTATE(val)		bfin_write32(PINT2_PINSTATE, val)
#define bfin_read_PINT2_LATCH()			bfin_read32(PINT2_LATCH)
#define bfin_write_PINT2_LATCH(val)		bfin_write32(PINT2_LATCH, val)

/* Port Interrubfin_read_()t 3 Registers (32-bit) */

#define bfin_read_PINT3_MASK_SET()		bfin_read32(PINT3_MASK_SET)
#define bfin_write_PINT3_MASK_SET(val)		bfin_write32(PINT3_MASK_SET, val)
#define bfin_read_PINT3_MASK_CLEAR()		bfin_read32(PINT3_MASK_CLEAR)
#define bfin_write_PINT3_MASK_CLEAR(val)	bfin_write32(PINT3_MASK_CLEAR, val)
#define bfin_read_PINT3_REQUEST()		bfin_read32(PINT3_REQUEST)
#define bfin_write_PINT3_REQUEST(val)		bfin_write32(PINT3_REQUEST, val)
#define bfin_read_PINT3_ASSIGN()		bfin_read32(PINT3_ASSIGN)
#define bfin_write_PINT3_ASSIGN(val)		bfin_write32(PINT3_ASSIGN, val)
#define bfin_read_PINT3_EDGE_SET()		bfin_read32(PINT3_EDGE_SET)
#define bfin_write_PINT3_EDGE_SET(val)		bfin_write32(PINT3_EDGE_SET, val)
#define bfin_read_PINT3_EDGE_CLEAR()		bfin_read32(PINT3_EDGE_CLEAR)
#define bfin_write_PINT3_EDGE_CLEAR(val)	bfin_write32(PINT3_EDGE_CLEAR, val)
#define bfin_read_PINT3_INVERT_SET()		bfin_read32(PINT3_INVERT_SET)
#define bfin_write_PINT3_INVERT_SET(val)	bfin_write32(PINT3_INVERT_SET, val)
#define bfin_read_PINT3_INVERT_CLEAR()		bfin_read32(PINT3_INVERT_CLEAR)
#define bfin_write_PINT3_INVERT_CLEAR(val)	bfin_write32(PINT3_INVERT_CLEAR, val)
#define bfin_read_PINT3_PINSTATE()		bfin_read32(PINT3_PINSTATE)
#define bfin_write_PINT3_PINSTATE(val)		bfin_write32(PINT3_PINSTATE, val)
#define bfin_read_PINT3_LATCH()			bfin_read32(PINT3_LATCH)
#define bfin_write_PINT3_LATCH(val)		bfin_write32(PINT3_LATCH, val)

/* Port A Registers */

#define bfin_read_PORTA_FER()		bfin_read16(PORTA_FER)
#define bfin_write_PORTA_FER(val)	bfin_write16(PORTA_FER, val)
#define bfin_read_PORTA()		bfin_read16(PORTA)
#define bfin_write_PORTA(val)		bfin_write16(PORTA, val)
#define bfin_read_PORTA_SET()		bfin_read16(PORTA_SET)
#define bfin_write_PORTA_SET(val)	bfin_write16(PORTA_SET, val)
#define bfin_read_PORTA_CLEAR()		bfin_read16(PORTA_CLEAR)
#define bfin_write_PORTA_CLEAR(val)	bfin_write16(PORTA_CLEAR, val)
#define bfin_read_PORTA_DIR_SET()	bfin_read16(PORTA_DIR_SET)
#define bfin_write_PORTA_DIR_SET(val)	bfin_write16(PORTA_DIR_SET, val)
#define bfin_read_PORTA_DIR_CLEAR()	bfin_read16(PORTA_DIR_CLEAR)
#define bfin_write_PORTA_DIR_CLEAR(val)	bfin_write16(PORTA_DIR_CLEAR, val)
#define bfin_read_PORTA_INEN()		bfin_read16(PORTA_INEN)
#define bfin_write_PORTA_INEN(val)	bfin_write16(PORTA_INEN, val)
#define bfin_read_PORTA_MUX()		bfin_read32(PORTA_MUX)
#define bfin_write_PORTA_MUX(val)	bfin_write32(PORTA_MUX, val)

/* Port B Registers */

#define bfin_read_PORTB_FER()		bfin_read16(PORTB_FER)
#define bfin_write_PORTB_FER(val)	bfin_write16(PORTB_FER, val)
#define bfin_read_PORTB()		bfin_read16(PORTB)
#define bfin_write_PORTB(val)		bfin_write16(PORTB, val)
#define bfin_read_PORTB_SET()		bfin_read16(PORTB_SET)
#define bfin_write_PORTB_SET(val)	bfin_write16(PORTB_SET, val)
#define bfin_read_PORTB_CLEAR()		bfin_read16(PORTB_CLEAR)
#define bfin_write_PORTB_CLEAR(val)	bfin_write16(PORTB_CLEAR, val)
#define bfin_read_PORTB_DIR_SET()	bfin_read16(PORTB_DIR_SET)
#define bfin_write_PORTB_DIR_SET(val)	bfin_write16(PORTB_DIR_SET, val)
#define bfin_read_PORTB_DIR_CLEAR()	bfin_read16(PORTB_DIR_CLEAR)
#define bfin_write_PORTB_DIR_CLEAR(val)	bfin_write16(PORTB_DIR_CLEAR, val)
#define bfin_read_PORTB_INEN()		bfin_read16(PORTB_INEN)
#define bfin_write_PORTB_INEN(val)	bfin_write16(PORTB_INEN, val)
#define bfin_read_PORTB_MUX()		bfin_read32(PORTB_MUX)
#define bfin_write_PORTB_MUX(val)	bfin_write32(PORTB_MUX, val)

/* Port C Registers */

#define bfin_read_PORTC_FER()		bfin_read16(PORTC_FER)
#define bfin_write_PORTC_FER(val)	bfin_write16(PORTC_FER, val)
#define bfin_read_PORTC()		bfin_read16(PORTC)
#define bfin_write_PORTC(val)		bfin_write16(PORTC, val)
#define bfin_read_PORTC_SET()		bfin_read16(PORTC_SET)
#define bfin_write_PORTC_SET(val)	bfin_write16(PORTC_SET, val)
#define bfin_read_PORTC_CLEAR()		bfin_read16(PORTC_CLEAR)
#define bfin_write_PORTC_CLEAR(val)	bfin_write16(PORTC_CLEAR, val)
#define bfin_read_PORTC_DIR_SET()	bfin_read16(PORTC_DIR_SET)
#define bfin_write_PORTC_DIR_SET(val)	bfin_write16(PORTC_DIR_SET, val)
#define bfin_read_PORTC_DIR_CLEAR()	bfin_read16(PORTC_DIR_CLEAR)
#define bfin_write_PORTC_DIR_CLEAR(val)	bfin_write16(PORTC_DIR_CLEAR, val)
#define bfin_read_PORTC_INEN()		bfin_read16(PORTC_INEN)
#define bfin_write_PORTC_INEN(val)	bfin_write16(PORTC_INEN, val)
#define bfin_read_PORTC_MUX()		bfin_read32(PORTC_MUX)
#define bfin_write_PORTC_MUX(val)	bfin_write32(PORTC_MUX, val)

/* Port D Registers */

#define bfin_read_PORTD_FER()		bfin_read16(PORTD_FER)
#define bfin_write_PORTD_FER(val)	bfin_write16(PORTD_FER, val)
#define bfin_read_PORTD()		bfin_read16(PORTD)
#define bfin_write_PORTD(val)		bfin_write16(PORTD, val)
#define bfin_read_PORTD_SET()		bfin_read16(PORTD_SET)
#define bfin_write_PORTD_SET(val)	bfin_write16(PORTD_SET, val)
#define bfin_read_PORTD_CLEAR()		bfin_read16(PORTD_CLEAR)
#define bfin_write_PORTD_CLEAR(val)	bfin_write16(PORTD_CLEAR, val)
#define bfin_read_PORTD_DIR_SET()	bfin_read16(PORTD_DIR_SET)
#define bfin_write_PORTD_DIR_SET(val)	bfin_write16(PORTD_DIR_SET, val)
#define bfin_read_PORTD_DIR_CLEAR()	bfin_read16(PORTD_DIR_CLEAR)
#define bfin_write_PORTD_DIR_CLEAR(val)	bfin_write16(PORTD_DIR_CLEAR, val)
#define bfin_read_PORTD_INEN()		bfin_read16(PORTD_INEN)
#define bfin_write_PORTD_INEN(val)	bfin_write16(PORTD_INEN, val)
#define bfin_read_PORTD_MUX()		bfin_read32(PORTD_MUX)
#define bfin_write_PORTD_MUX(val)	bfin_write32(PORTD_MUX, val)

/* Port E Registers */

#define bfin_read_PORTE_FER()		bfin_read16(PORTE_FER)
#define bfin_write_PORTE_FER(val)	bfin_write16(PORTE_FER, val)
#define bfin_read_PORTE()		bfin_read16(PORTE)
#define bfin_write_PORTE(val)		bfin_write16(PORTE, val)
#define bfin_read_PORTE_SET()		bfin_read16(PORTE_SET)
#define bfin_write_PORTE_SET(val)	bfin_write16(PORTE_SET, val)
#define bfin_read_PORTE_CLEAR()		bfin_read16(PORTE_CLEAR)
#define bfin_write_PORTE_CLEAR(val)	bfin_write16(PORTE_CLEAR, val)
#define bfin_read_PORTE_DIR_SET()	bfin_read16(PORTE_DIR_SET)
#define bfin_write_PORTE_DIR_SET(val)	bfin_write16(PORTE_DIR_SET, val)
#define bfin_read_PORTE_DIR_CLEAR()	bfin_read16(PORTE_DIR_CLEAR)
#define bfin_write_PORTE_DIR_CLEAR(val)	bfin_write16(PORTE_DIR_CLEAR, val)
#define bfin_read_PORTE_INEN()		bfin_read16(PORTE_INEN)
#define bfin_write_PORTE_INEN(val)	bfin_write16(PORTE_INEN, val)
#define bfin_read_PORTE_MUX()		bfin_read32(PORTE_MUX)
#define bfin_write_PORTE_MUX(val)	bfin_write32(PORTE_MUX, val)

/* Port F Registers */

#define bfin_read_PORTF_FER()		bfin_read16(PORTF_FER)
#define bfin_write_PORTF_FER(val)	bfin_write16(PORTF_FER, val)
#define bfin_read_PORTF()		bfin_read16(PORTF)
#define bfin_write_PORTF(val)		bfin_write16(PORTF, val)
#define bfin_read_PORTF_SET()		bfin_read16(PORTF_SET)
#define bfin_write_PORTF_SET(val)	bfin_write16(PORTF_SET, val)
#define bfin_read_PORTF_CLEAR()		bfin_read16(PORTF_CLEAR)
#define bfin_write_PORTF_CLEAR(val)	bfin_write16(PORTF_CLEAR, val)
#define bfin_read_PORTF_DIR_SET()	bfin_read16(PORTF_DIR_SET)
#define bfin_write_PORTF_DIR_SET(val)	bfin_write16(PORTF_DIR_SET, val)
#define bfin_read_PORTF_DIR_CLEAR()	bfin_read16(PORTF_DIR_CLEAR)
#define bfin_write_PORTF_DIR_CLEAR(val)	bfin_write16(PORTF_DIR_CLEAR, val)
#define bfin_read_PORTF_INEN()		bfin_read16(PORTF_INEN)
#define bfin_write_PORTF_INEN(val)	bfin_write16(PORTF_INEN, val)
#define bfin_read_PORTF_MUX()		bfin_read32(PORTF_MUX)
#define bfin_write_PORTF_MUX(val)	bfin_write32(PORTF_MUX, val)

/* Port G Registers */

#define bfin_read_PORTG_FER()		bfin_read16(PORTG_FER)
#define bfin_write_PORTG_FER(val)	bfin_write16(PORTG_FER, val)
#define bfin_read_PORTG()		bfin_read16(PORTG)
#define bfin_write_PORTG(val)		bfin_write16(PORTG, val)
#define bfin_read_PORTG_SET()		bfin_read16(PORTG_SET)
#define bfin_write_PORTG_SET(val)	bfin_write16(PORTG_SET, val)
#define bfin_read_PORTG_CLEAR()		bfin_read16(PORTG_CLEAR)
#define bfin_write_PORTG_CLEAR(val)	bfin_write16(PORTG_CLEAR, val)
#define bfin_read_PORTG_DIR_SET()	bfin_read16(PORTG_DIR_SET)
#define bfin_write_PORTG_DIR_SET(val)	bfin_write16(PORTG_DIR_SET, val)
#define bfin_read_PORTG_DIR_CLEAR()	bfin_read16(PORTG_DIR_CLEAR)
#define bfin_write_PORTG_DIR_CLEAR(val)	bfin_write16(PORTG_DIR_CLEAR, val)
#define bfin_read_PORTG_INEN()		bfin_read16(PORTG_INEN)
#define bfin_write_PORTG_INEN(val)	bfin_write16(PORTG_INEN, val)
#define bfin_read_PORTG_MUX()		bfin_read32(PORTG_MUX)
#define bfin_write_PORTG_MUX(val)	bfin_write32(PORTG_MUX, val)

/* Port H Registers */

#define bfin_read_PORTH_FER()		bfin_read16(PORTH_FER)
#define bfin_write_PORTH_FER(val)	bfin_write16(PORTH_FER, val)
#define bfin_read_PORTH()		bfin_read16(PORTH)
#define bfin_write_PORTH(val)		bfin_write16(PORTH, val)
#define bfin_read_PORTH_SET()		bfin_read16(PORTH_SET)
#define bfin_write_PORTH_SET(val)	bfin_write16(PORTH_SET, val)
#define bfin_read_PORTH_CLEAR()		bfin_read16(PORTH_CLEAR)
#define bfin_write_PORTH_CLEAR(val)	bfin_write16(PORTH_CLEAR, val)
#define bfin_read_PORTH_DIR_SET()	bfin_read16(PORTH_DIR_SET)
#define bfin_write_PORTH_DIR_SET(val)	bfin_write16(PORTH_DIR_SET, val)
#define bfin_read_PORTH_DIR_CLEAR()	bfin_read16(PORTH_DIR_CLEAR)
#define bfin_write_PORTH_DIR_CLEAR(val)	bfin_write16(PORTH_DIR_CLEAR, val)
#define bfin_read_PORTH_INEN()		bfin_read16(PORTH_INEN)
#define bfin_write_PORTH_INEN(val)	bfin_write16(PORTH_INEN, val)
#define bfin_read_PORTH_MUX()		bfin_read32(PORTH_MUX)
#define bfin_write_PORTH_MUX(val)	bfin_write32(PORTH_MUX, val)

/* Port I Registers */

#define bfin_read_PORTI_FER()		bfin_read16(PORTI_FER)
#define bfin_write_PORTI_FER(val)	bfin_write16(PORTI_FER, val)
#define bfin_read_PORTI()		bfin_read16(PORTI)
#define bfin_write_PORTI(val)		bfin_write16(PORTI, val)
#define bfin_read_PORTI_SET()		bfin_read16(PORTI_SET)
#define bfin_write_PORTI_SET(val)	bfin_write16(PORTI_SET, val)
#define bfin_read_PORTI_CLEAR()		bfin_read16(PORTI_CLEAR)
#define bfin_write_PORTI_CLEAR(val)	bfin_write16(PORTI_CLEAR, val)
#define bfin_read_PORTI_DIR_SET()	bfin_read16(PORTI_DIR_SET)
#define bfin_write_PORTI_DIR_SET(val)	bfin_write16(PORTI_DIR_SET, val)
#define bfin_read_PORTI_DIR_CLEAR()	bfin_read16(PORTI_DIR_CLEAR)
#define bfin_write_PORTI_DIR_CLEAR(val)	bfin_write16(PORTI_DIR_CLEAR, val)
#define bfin_read_PORTI_INEN()		bfin_read16(PORTI_INEN)
#define bfin_write_PORTI_INEN(val)	bfin_write16(PORTI_INEN, val)
#define bfin_read_PORTI_MUX()		bfin_read32(PORTI_MUX)
#define bfin_write_PORTI_MUX(val)	bfin_write32(PORTI_MUX, val)

/* Port J Registers */

#define bfin_read_PORTJ_FER()		bfin_read16(PORTJ_FER)
#define bfin_write_PORTJ_FER(val)	bfin_write16(PORTJ_FER, val)
#define bfin_read_PORTJ()		bfin_read16(PORTJ)
#define bfin_write_PORTJ(val)		bfin_write16(PORTJ, val)
#define bfin_read_PORTJ_SET()		bfin_read16(PORTJ_SET)
#define bfin_write_PORTJ_SET(val)	bfin_write16(PORTJ_SET, val)
#define bfin_read_PORTJ_CLEAR()		bfin_read16(PORTJ_CLEAR)
#define bfin_write_PORTJ_CLEAR(val)	bfin_write16(PORTJ_CLEAR, val)
#define bfin_read_PORTJ_DIR_SET()	bfin_read16(PORTJ_DIR_SET)
#define bfin_write_PORTJ_DIR_SET(val)	bfin_write16(PORTJ_DIR_SET, val)
#define bfin_read_PORTJ_DIR_CLEAR()	bfin_read16(PORTJ_DIR_CLEAR)
#define bfin_write_PORTJ_DIR_CLEAR(val)	bfin_write16(PORTJ_DIR_CLEAR, val)
#define bfin_read_PORTJ_INEN()		bfin_read16(PORTJ_INEN)
#define bfin_write_PORTJ_INEN(val)	bfin_write16(PORTJ_INEN, val)
#define bfin_read_PORTJ_MUX()		bfin_read32(PORTJ_MUX)
#define bfin_write_PORTJ_MUX(val)	bfin_write32(PORTJ_MUX, val)

/* PWM Timer Registers */

#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_TIMER3_CONFIG()		bfin_read16(TIMER3_CONFIG)
#define bfin_write_TIMER3_CONFIG(val)		bfin_write16(TIMER3_CONFIG, val)
#define bfin_read_TIMER3_COUNTER()		bfin_read32(TIMER3_COUNTER)
#define bfin_write_TIMER3_COUNTER(val)		bfin_write32(TIMER3_COUNTER, val)
#define bfin_read_TIMER3_PERIOD()		bfin_read32(TIMER3_PERIOD)
#define bfin_write_TIMER3_PERIOD(val)		bfin_write32(TIMER3_PERIOD, val)
#define bfin_read_TIMER3_WIDTH()		bfin_read32(TIMER3_WIDTH)
#define bfin_write_TIMER3_WIDTH(val)		bfin_write32(TIMER3_WIDTH, val)
#define bfin_read_TIMER4_CONFIG()		bfin_read16(TIMER4_CONFIG)
#define bfin_write_TIMER4_CONFIG(val)		bfin_write16(TIMER4_CONFIG, val)
#define bfin_read_TIMER4_COUNTER()		bfin_read32(TIMER4_COUNTER)
#define bfin_write_TIMER4_COUNTER(val)		bfin_write32(TIMER4_COUNTER, val)
#define bfin_read_TIMER4_PERIOD()		bfin_read32(TIMER4_PERIOD)
#define bfin_write_TIMER4_PERIOD(val)		bfin_write32(TIMER4_PERIOD, val)
#define bfin_read_TIMER4_WIDTH()		bfin_read32(TIMER4_WIDTH)
#define bfin_write_TIMER4_WIDTH(val)		bfin_write32(TIMER4_WIDTH, val)
#define bfin_read_TIMER5_CONFIG()		bfin_read16(TIMER5_CONFIG)
#define bfin_write_TIMER5_CONFIG(val)		bfin_write16(TIMER5_CONFIG, val)
#define bfin_read_TIMER5_COUNTER()		bfin_read32(TIMER5_COUNTER)
#define bfin_write_TIMER5_COUNTER(val)		bfin_write32(TIMER5_COUNTER, val)
#define bfin_read_TIMER5_PERIOD()		bfin_read32(TIMER5_PERIOD)
#define bfin_write_TIMER5_PERIOD(val)		bfin_write32(TIMER5_PERIOD, val)
#define bfin_read_TIMER5_WIDTH()		bfin_read32(TIMER5_WIDTH)
#define bfin_write_TIMER5_WIDTH(val)		bfin_write32(TIMER5_WIDTH, val)
#define bfin_read_TIMER6_CONFIG()		bfin_read16(TIMER6_CONFIG)
#define bfin_write_TIMER6_CONFIG(val)		bfin_write16(TIMER6_CONFIG, val)
#define bfin_read_TIMER6_COUNTER()		bfin_read32(TIMER6_COUNTER)
#define bfin_write_TIMER6_COUNTER(val)		bfin_write32(TIMER6_COUNTER, val)
#define bfin_read_TIMER6_PERIOD()		bfin_read32(TIMER6_PERIOD)
#define bfin_write_TIMER6_PERIOD(val)		bfin_write32(TIMER6_PERIOD, val)
#define bfin_read_TIMER6_WIDTH()		bfin_read32(TIMER6_WIDTH)
#define bfin_write_TIMER6_WIDTH(val)		bfin_write32(TIMER6_WIDTH, val)
#define bfin_read_TIMER7_CONFIG()		bfin_read16(TIMER7_CONFIG)
#define bfin_write_TIMER7_CONFIG(val)		bfin_write16(TIMER7_CONFIG, val)
#define bfin_read_TIMER7_COUNTER()		bfin_read32(TIMER7_COUNTER)
#define bfin_write_TIMER7_COUNTER(val)		bfin_write32(TIMER7_COUNTER, val)
#define bfin_read_TIMER7_PERIOD()		bfin_read32(TIMER7_PERIOD)
#define bfin_write_TIMER7_PERIOD(val)		bfin_write32(TIMER7_PERIOD, val)
#define bfin_read_TIMER7_WIDTH()		bfin_read32(TIMER7_WIDTH)
#define bfin_write_TIMER7_WIDTH(val)		bfin_write32(TIMER7_WIDTH, val)

/* Timer Groubfin_read_() of 8 */

#define bfin_read_TIMER_ENABLE0()		bfin_read16(TIMER_ENABLE0)
#define bfin_write_TIMER_ENABLE0(val)		bfin_write16(TIMER_ENABLE0, val)
#define bfin_read_TIMER_DISABLE0()		bfin_read16(TIMER_DISABLE0)
#define bfin_write_TIMER_DISABLE0(val)		bfin_write16(TIMER_DISABLE0, val)
#define bfin_read_TIMER_STATUS0()		bfin_read32(TIMER_STATUS0)
#define bfin_write_TIMER_STATUS0(val)		bfin_write32(TIMER_STATUS0, val)

/* DMAC1 Registers */

#define bfin_read_DMAC1_TCPER()			bfin_read16(DMAC1_TCPER)
#define bfin_write_DMAC1_TCPER(val)		bfin_write16(DMAC1_TCPER, val)
#define bfin_read_DMAC1_TCCNT()			bfin_read16(DMAC1_TCCNT)
#define bfin_write_DMAC1_TCCNT(val)		bfin_write16(DMAC1_TCCNT, val)

/* DMA Channel 12 Registers */

#define bfin_read_DMA12_NEXT_DESC_PTR() 	bfin_read32(DMA12_NEXT_DESC_PTR)
#define bfin_write_DMA12_NEXT_DESC_PTR(val) 	bfin_write32(DMA12_NEXT_DESC_PTR)
#define bfin_read_DMA12_START_ADDR() 		bfin_read32(DMA12_START_ADDR)
#define bfin_write_DMA12_START_ADDR(val) 	bfin_write32(DMA12_START_ADDR)
#define bfin_read_DMA12_CONFIG()		bfin_read16(DMA12_CONFIG)
#define bfin_write_DMA12_CONFIG(val)		bfin_write16(DMA12_CONFIG, val)
#define bfin_read_DMA12_X_COUNT()		bfin_read16(DMA12_X_COUNT)
#define bfin_write_DMA12_X_COUNT(val)		bfin_write16(DMA12_X_COUNT, val)
#define bfin_read_DMA12_X_MODIFY()		bfin_read16(DMA12_X_MODIFY)
#define bfin_write_DMA12_X_MODIFY(val) 		bfin_write16(DMA12_X_MODIFY)
#define bfin_read_DMA12_Y_COUNT()		bfin_read16(DMA12_Y_COUNT)
#define bfin_write_DMA12_Y_COUNT(val)		bfin_write16(DMA12_Y_COUNT, val)
#define bfin_read_DMA12_Y_MODIFY()		bfin_read16(DMA12_Y_MODIFY)
#define bfin_write_DMA12_Y_MODIFY(val) 		bfin_write16(DMA12_Y_MODIFY)
#define bfin_read_DMA12_CURR_DESC_PTR() 	bfin_read32(DMA12_CURR_DESC_PTR)
#define bfin_write_DMA12_CURR_DESC_PTR(val) 	bfin_write32(DMA12_CURR_DESC_PTR)
#define bfin_read_DMA12_CURR_ADDR() 		bfin_read32(DMA12_CURR_ADDR)
#define bfin_write_DMA12_CURR_ADDR(val) 	bfin_write32(DMA12_CURR_ADDR)
#define bfin_read_DMA12_IRQ_STATUS()		bfin_read16(DMA12_IRQ_STATUS)
#define bfin_write_DMA12_IRQ_STATUS(val)	bfin_write16(DMA12_IRQ_STATUS, val)
#define bfin_read_DMA12_PERIPHERAL_MAP()	bfin_read16(DMA12_PERIPHERAL_MAP)
#define bfin_write_DMA12_PERIPHERAL_MAP(val)	bfin_write16(DMA12_PERIPHERAL_MAP, val)
#define bfin_read_DMA12_CURR_X_COUNT()		bfin_read16(DMA12_CURR_X_COUNT)
#define bfin_write_DMA12_CURR_X_COUNT(val)	bfin_write16(DMA12_CURR_X_COUNT, val)
#define bfin_read_DMA12_CURR_Y_COUNT()		bfin_read16(DMA12_CURR_Y_COUNT)
#define bfin_write_DMA12_CURR_Y_COUNT(val)	bfin_write16(DMA12_CURR_Y_COUNT, val)

/* DMA Channel 13 Registers */

#define bfin_read_DMA13_NEXT_DESC_PTR() 	bfin_read32(DMA13_NEXT_DESC_PTR)
#define bfin_write_DMA13_NEXT_DESC_PTR(val) 	bfin_write32(DMA13_NEXT_DESC_PTR)
#define bfin_read_DMA13_START_ADDR() 		bfin_read32(DMA13_START_ADDR)
#define bfin_write_DMA13_START_ADDR(val) 	bfin_write32(DMA13_START_ADDR)
#define bfin_read_DMA13_CONFIG()		bfin_read16(DMA13_CONFIG)
#define bfin_write_DMA13_CONFIG(val)		bfin_write16(DMA13_CONFIG, val)
#define bfin_read_DMA13_X_COUNT()		bfin_read16(DMA13_X_COUNT)
#define bfin_write_DMA13_X_COUNT(val)		bfin_write16(DMA13_X_COUNT, val)
#define bfin_read_DMA13_X_MODIFY()		bfin_read16(DMA13_X_MODIFY)
#define bfin_write_DMA13_X_MODIFY(val) 		bfin_write16(DMA13_X_MODIFY)
#define bfin_read_DMA13_Y_COUNT()		bfin_read16(DMA13_Y_COUNT)
#define bfin_write_DMA13_Y_COUNT(val)		bfin_write16(DMA13_Y_COUNT, val)
#define bfin_read_DMA13_Y_MODIFY()		bfin_read16(DMA13_Y_MODIFY)
#define bfin_write_DMA13_Y_MODIFY(val) 		bfin_write16(DMA13_Y_MODIFY)
#define bfin_read_DMA13_CURR_DESC_PTR() 	bfin_read32(DMA13_CURR_DESC_PTR)
#define bfin_write_DMA13_CURR_DESC_PTR(val) 	bfin_write32(DMA13_CURR_DESC_PTR)
#define bfin_read_DMA13_CURR_ADDR() 		bfin_read32(DMA13_CURR_ADDR)
#define bfin_write_DMA13_CURR_ADDR(val) 	bfin_write32(DMA13_CURR_ADDR)
#define bfin_read_DMA13_IRQ_STATUS()		bfin_read16(DMA13_IRQ_STATUS)
#define bfin_write_DMA13_IRQ_STATUS(val)	bfin_write16(DMA13_IRQ_STATUS, val)
#define bfin_read_DMA13_PERIPHERAL_MAP()	bfin_read16(DMA13_PERIPHERAL_MAP)
#define bfin_write_DMA13_PERIPHERAL_MAP(val)	bfin_write16(DMA13_PERIPHERAL_MAP, val)
#define bfin_read_DMA13_CURR_X_COUNT()		bfin_read16(DMA13_CURR_X_COUNT)
#define bfin_write_DMA13_CURR_X_COUNT(val)	bfin_write16(DMA13_CURR_X_COUNT, val)
#define bfin_read_DMA13_CURR_Y_COUNT()		bfin_read16(DMA13_CURR_Y_COUNT)
#define bfin_write_DMA13_CURR_Y_COUNT(val)	bfin_write16(DMA13_CURR_Y_COUNT, val)

/* DMA Channel 14 Registers */

#define bfin_read_DMA14_NEXT_DESC_PTR() 	bfin_read32(DMA14_NEXT_DESC_PTR)
#define bfin_write_DMA14_NEXT_DESC_PTR(val) 	bfin_write32(DMA14_NEXT_DESC_PTR)
#define bfin_read_DMA14_START_ADDR() 		bfin_read32(DMA14_START_ADDR)
#define bfin_write_DMA14_START_ADDR(val) 	bfin_write32(DMA14_START_ADDR)
#define bfin_read_DMA14_CONFIG()		bfin_read16(DMA14_CONFIG)
#define bfin_write_DMA14_CONFIG(val)		bfin_write16(DMA14_CONFIG, val)
#define bfin_read_DMA14_X_COUNT()		bfin_read16(DMA14_X_COUNT)
#define bfin_write_DMA14_X_COUNT(val)		bfin_write16(DMA14_X_COUNT, val)
#define bfin_read_DMA14_X_MODIFY()		bfin_read16(DMA14_X_MODIFY)
#define bfin_write_DMA14_X_MODIFY(val) 		bfin_write16(DMA14_X_MODIFY)
#define bfin_read_DMA14_Y_COUNT()		bfin_read16(DMA14_Y_COUNT)
#define bfin_write_DMA14_Y_COUNT(val)		bfin_write16(DMA14_Y_COUNT, val)
#define bfin_read_DMA14_Y_MODIFY()		bfin_read16(DMA14_Y_MODIFY)
#define bfin_write_DMA14_Y_MODIFY(val) 		bfin_write16(DMA14_Y_MODIFY)
#define bfin_read_DMA14_CURR_DESC_PTR() 	bfin_read32(DMA14_CURR_DESC_PTR)
#define bfin_write_DMA14_CURR_DESC_PTR(val) 	bfin_write32(DMA14_CURR_DESC_PTR)
#define bfin_read_DMA14_CURR_ADDR() 		bfin_read32(DMA14_CURR_ADDR)
#define bfin_write_DMA14_CURR_ADDR(val) 	bfin_write32(DMA14_CURR_ADDR)
#define bfin_read_DMA14_IRQ_STATUS()		bfin_read16(DMA14_IRQ_STATUS)
#define bfin_write_DMA14_IRQ_STATUS(val)	bfin_write16(DMA14_IRQ_STATUS, val)
#define bfin_read_DMA14_PERIPHERAL_MAP()	bfin_read16(DMA14_PERIPHERAL_MAP)
#define bfin_write_DMA14_PERIPHERAL_MAP(val)	bfin_write16(DMA14_PERIPHERAL_MAP, val)
#define bfin_read_DMA14_CURR_X_COUNT()		bfin_read16(DMA14_CURR_X_COUNT)
#define bfin_write_DMA14_CURR_X_COUNT(val)	bfin_write16(DMA14_CURR_X_COUNT, val)
#define bfin_read_DMA14_CURR_Y_COUNT()		bfin_read16(DMA14_CURR_Y_COUNT)
#define bfin_write_DMA14_CURR_Y_COUNT(val)	bfin_write16(DMA14_CURR_Y_COUNT, val)

/* DMA Channel 15 Registers */

#define bfin_read_DMA15_NEXT_DESC_PTR() 	bfin_read32(DMA15_NEXT_DESC_PTR)
#define bfin_write_DMA15_NEXT_DESC_PTR(val) 	bfin_write32(DMA15_NEXT_DESC_PTR)
#define bfin_read_DMA15_START_ADDR() 		bfin_read32(DMA15_START_ADDR)
#define bfin_write_DMA15_START_ADDR(val) 	bfin_write32(DMA15_START_ADDR)
#define bfin_read_DMA15_CONFIG()		bfin_read16(DMA15_CONFIG)
#define bfin_write_DMA15_CONFIG(val)		bfin_write16(DMA15_CONFIG, val)
#define bfin_read_DMA15_X_COUNT()		bfin_read16(DMA15_X_COUNT)
#define bfin_write_DMA15_X_COUNT(val)		bfin_write16(DMA15_X_COUNT, val)
#define bfin_read_DMA15_X_MODIFY()		bfin_read16(DMA15_X_MODIFY)
#define bfin_write_DMA15_X_MODIFY(val) 		bfin_write16(DMA15_X_MODIFY)
#define bfin_read_DMA15_Y_COUNT()		bfin_read16(DMA15_Y_COUNT)
#define bfin_write_DMA15_Y_COUNT(val)		bfin_write16(DMA15_Y_COUNT, val)
#define bfin_read_DMA15_Y_MODIFY()		bfin_read16(DMA15_Y_MODIFY)
#define bfin_write_DMA15_Y_MODIFY(val) 		bfin_write16(DMA15_Y_MODIFY)
#define bfin_read_DMA15_CURR_DESC_PTR() 	bfin_read32(DMA15_CURR_DESC_PTR)
#define bfin_write_DMA15_CURR_DESC_PTR(val) 	bfin_write32(DMA15_CURR_DESC_PTR)
#define bfin_read_DMA15_CURR_ADDR() 		bfin_read32(DMA15_CURR_ADDR)
#define bfin_write_DMA15_CURR_ADDR(val) 	bfin_write32(DMA15_CURR_ADDR)
#define bfin_read_DMA15_IRQ_STATUS()		bfin_read16(DMA15_IRQ_STATUS)
#define bfin_write_DMA15_IRQ_STATUS(val)	bfin_write16(DMA15_IRQ_STATUS, val)
#define bfin_read_DMA15_PERIPHERAL_MAP()	bfin_read16(DMA15_PERIPHERAL_MAP)
#define bfin_write_DMA15_PERIPHERAL_MAP(val)	bfin_write16(DMA15_PERIPHERAL_MAP, val)
#define bfin_read_DMA15_CURR_X_COUNT()		bfin_read16(DMA15_CURR_X_COUNT)
#define bfin_write_DMA15_CURR_X_COUNT(val)	bfin_write16(DMA15_CURR_X_COUNT, val)
#define bfin_read_DMA15_CURR_Y_COUNT()		bfin_read16(DMA15_CURR_Y_COUNT)
#define bfin_write_DMA15_CURR_Y_COUNT(val)	bfin_write16(DMA15_CURR_Y_COUNT, val)

/* DMA Channel 16 Registers */

#define bfin_read_DMA16_NEXT_DESC_PTR() 	bfin_read32(DMA16_NEXT_DESC_PTR)
#define bfin_write_DMA16_NEXT_DESC_PTR(val) 	bfin_write32(DMA16_NEXT_DESC_PTR)
#define bfin_read_DMA16_START_ADDR() 		bfin_read32(DMA16_START_ADDR)
#define bfin_write_DMA16_START_ADDR(val) 	bfin_write32(DMA16_START_ADDR)
#define bfin_read_DMA16_CONFIG()		bfin_read16(DMA16_CONFIG)
#define bfin_write_DMA16_CONFIG(val)		bfin_write16(DMA16_CONFIG, val)
#define bfin_read_DMA16_X_COUNT()		bfin_read16(DMA16_X_COUNT)
#define bfin_write_DMA16_X_COUNT(val)		bfin_write16(DMA16_X_COUNT, val)
#define bfin_read_DMA16_X_MODIFY()		bfin_read16(DMA16_X_MODIFY)
#define bfin_write_DMA16_X_MODIFY(val) 		bfin_write16(DMA16_X_MODIFY)
#define bfin_read_DMA16_Y_COUNT()		bfin_read16(DMA16_Y_COUNT)
#define bfin_write_DMA16_Y_COUNT(val)		bfin_write16(DMA16_Y_COUNT, val)
#define bfin_read_DMA16_Y_MODIFY()		bfin_read16(DMA16_Y_MODIFY)
#define bfin_write_DMA16_Y_MODIFY(val) 		bfin_write16(DMA16_Y_MODIFY)
#define bfin_read_DMA16_CURR_DESC_PTR() 	bfin_read32(DMA16_CURR_DESC_PTR)
#define bfin_write_DMA16_CURR_DESC_PTR(val) 	bfin_write32(DMA16_CURR_DESC_PTR)
#define bfin_read_DMA16_CURR_ADDR() 		bfin_read32(DMA16_CURR_ADDR)
#define bfin_write_DMA16_CURR_ADDR(val) 	bfin_write32(DMA16_CURR_ADDR)
#define bfin_read_DMA16_IRQ_STATUS()		bfin_read16(DMA16_IRQ_STATUS)
#define bfin_write_DMA16_IRQ_STATUS(val)	bfin_write16(DMA16_IRQ_STATUS, val)
#define bfin_read_DMA16_PERIPHERAL_MAP()	bfin_read16(DMA16_PERIPHERAL_MAP)
#define bfin_write_DMA16_PERIPHERAL_MAP(val)	bfin_write16(DMA16_PERIPHERAL_MAP, val)
#define bfin_read_DMA16_CURR_X_COUNT()		bfin_read16(DMA16_CURR_X_COUNT)
#define bfin_write_DMA16_CURR_X_COUNT(val)	bfin_write16(DMA16_CURR_X_COUNT, val)
#define bfin_read_DMA16_CURR_Y_COUNT()		bfin_read16(DMA16_CURR_Y_COUNT)
#define bfin_write_DMA16_CURR_Y_COUNT(val)	bfin_write16(DMA16_CURR_Y_COUNT, val)

/* DMA Channel 17 Registers */

#define bfin_read_DMA17_NEXT_DESC_PTR() 	bfin_read32(DMA17_NEXT_DESC_PTR)
#define bfin_write_DMA17_NEXT_DESC_PTR(val) 	bfin_write32(DMA17_NEXT_DESC_PTR)
#define bfin_read_DMA17_START_ADDR() 		bfin_read32(DMA17_START_ADDR)
#define bfin_write_DMA17_START_ADDR(val) 	bfin_write32(DMA17_START_ADDR)
#define bfin_read_DMA17_CONFIG()		bfin_read16(DMA17_CONFIG)
#define bfin_write_DMA17_CONFIG(val)		bfin_write16(DMA17_CONFIG, val)
#define bfin_read_DMA17_X_COUNT()		bfin_read16(DMA17_X_COUNT)
#define bfin_write_DMA17_X_COUNT(val)		bfin_write16(DMA17_X_COUNT, val)
#define bfin_read_DMA17_X_MODIFY()		bfin_read16(DMA17_X_MODIFY)
#define bfin_write_DMA17_X_MODIFY(val) 		bfin_write16(DMA17_X_MODIFY)
#define bfin_read_DMA17_Y_COUNT()		bfin_read16(DMA17_Y_COUNT)
#define bfin_write_DMA17_Y_COUNT(val)		bfin_write16(DMA17_Y_COUNT, val)
#define bfin_read_DMA17_Y_MODIFY()		bfin_read16(DMA17_Y_MODIFY)
#define bfin_write_DMA17_Y_MODIFY(val) 		bfin_write16(DMA17_Y_MODIFY)
#define bfin_read_DMA17_CURR_DESC_PTR() 	bfin_read32(DMA17_CURR_DESC_PTR)
#define bfin_write_DMA17_CURR_DESC_PTR(val) 	bfin_write32(DMA17_CURR_DESC_PTR)
#define bfin_read_DMA17_CURR_ADDR() 		bfin_read32(DMA17_CURR_ADDR)
#define bfin_write_DMA17_CURR_ADDR(val) 	bfin_write32(DMA17_CURR_ADDR)
#define bfin_read_DMA17_IRQ_STATUS()		bfin_read16(DMA17_IRQ_STATUS)
#define bfin_write_DMA17_IRQ_STATUS(val)	bfin_write16(DMA17_IRQ_STATUS, val)
#define bfin_read_DMA17_PERIPHERAL_MAP()	bfin_read16(DMA17_PERIPHERAL_MAP)
#define bfin_write_DMA17_PERIPHERAL_MAP(val)	bfin_write16(DMA17_PERIPHERAL_MAP, val)
#define bfin_read_DMA17_CURR_X_COUNT()		bfin_read16(DMA17_CURR_X_COUNT)
#define bfin_write_DMA17_CURR_X_COUNT(val)	bfin_write16(DMA17_CURR_X_COUNT, val)
#define bfin_read_DMA17_CURR_Y_COUNT()		bfin_read16(DMA17_CURR_Y_COUNT)
#define bfin_write_DMA17_CURR_Y_COUNT(val)	bfin_write16(DMA17_CURR_Y_COUNT, val)

/* DMA Channel 18 Registers */

#define bfin_read_DMA18_NEXT_DESC_PTR() 	bfin_read32(DMA18_NEXT_DESC_PTR)
#define bfin_write_DMA18_NEXT_DESC_PTR(val) 	bfin_write32(DMA18_NEXT_DESC_PTR)
#define bfin_read_DMA18_START_ADDR() 		bfin_read32(DMA18_START_ADDR)
#define bfin_write_DMA18_START_ADDR(val) 	bfin_write32(DMA18_START_ADDR)
#define bfin_read_DMA18_CONFIG()		bfin_read16(DMA18_CONFIG)
#define bfin_write_DMA18_CONFIG(val)		bfin_write16(DMA18_CONFIG, val)
#define bfin_read_DMA18_X_COUNT()		bfin_read16(DMA18_X_COUNT)
#define bfin_write_DMA18_X_COUNT(val)		bfin_write16(DMA18_X_COUNT, val)
#define bfin_read_DMA18_X_MODIFY()		bfin_read16(DMA18_X_MODIFY)
#define bfin_write_DMA18_X_MODIFY(val) 		bfin_write16(DMA18_X_MODIFY)
#define bfin_read_DMA18_Y_COUNT()		bfin_read16(DMA18_Y_COUNT)
#define bfin_write_DMA18_Y_COUNT(val)		bfin_write16(DMA18_Y_COUNT, val)
#define bfin_read_DMA18_Y_MODIFY()		bfin_read16(DMA18_Y_MODIFY)
#define bfin_write_DMA18_Y_MODIFY(val) 		bfin_write16(DMA18_Y_MODIFY)
#define bfin_read_DMA18_CURR_DESC_PTR() 	bfin_read32(DMA18_CURR_DESC_PTR)
#define bfin_write_DMA18_CURR_DESC_PTR(val) 	bfin_write32(DMA18_CURR_DESC_PTR)
#define bfin_read_DMA18_CURR_ADDR() 		bfin_read32(DMA18_CURR_ADDR)
#define bfin_write_DMA18_CURR_ADDR(val) 	bfin_write32(DMA18_CURR_ADDR)
#define bfin_read_DMA18_IRQ_STATUS()		bfin_read16(DMA18_IRQ_STATUS)
#define bfin_write_DMA18_IRQ_STATUS(val)	bfin_write16(DMA18_IRQ_STATUS, val)
#define bfin_read_DMA18_PERIPHERAL_MAP()	bfin_read16(DMA18_PERIPHERAL_MAP)
#define bfin_write_DMA18_PERIPHERAL_MAP(val)	bfin_write16(DMA18_PERIPHERAL_MAP, val)
#define bfin_read_DMA18_CURR_X_COUNT()		bfin_read16(DMA18_CURR_X_COUNT)
#define bfin_write_DMA18_CURR_X_COUNT(val)	bfin_write16(DMA18_CURR_X_COUNT, val)
#define bfin_read_DMA18_CURR_Y_COUNT()		bfin_read16(DMA18_CURR_Y_COUNT)
#define bfin_write_DMA18_CURR_Y_COUNT(val)	bfin_write16(DMA18_CURR_Y_COUNT, val)

/* DMA Channel 19 Registers */

#define bfin_read_DMA19_NEXT_DESC_PTR() 	bfin_read32(DMA19_NEXT_DESC_PTR)
#define bfin_write_DMA19_NEXT_DESC_PTR(val) 	bfin_write32(DMA19_NEXT_DESC_PTR)
#define bfin_read_DMA19_START_ADDR() 		bfin_read32(DMA19_START_ADDR)
#define bfin_write_DMA19_START_ADDR(val) 	bfin_write32(DMA19_START_ADDR)
#define bfin_read_DMA19_CONFIG()		bfin_read16(DMA19_CONFIG)
#define bfin_write_DMA19_CONFIG(val)		bfin_write16(DMA19_CONFIG, val)
#define bfin_read_DMA19_X_COUNT()		bfin_read16(DMA19_X_COUNT)
#define bfin_write_DMA19_X_COUNT(val)		bfin_write16(DMA19_X_COUNT, val)
#define bfin_read_DMA19_X_MODIFY()		bfin_read16(DMA19_X_MODIFY)
#define bfin_write_DMA19_X_MODIFY(val) 		bfin_write16(DMA19_X_MODIFY)
#define bfin_read_DMA19_Y_COUNT()		bfin_read16(DMA19_Y_COUNT)
#define bfin_write_DMA19_Y_COUNT(val)		bfin_write16(DMA19_Y_COUNT, val)
#define bfin_read_DMA19_Y_MODIFY()		bfin_read16(DMA19_Y_MODIFY)
#define bfin_write_DMA19_Y_MODIFY(val) 		bfin_write16(DMA19_Y_MODIFY)
#define bfin_read_DMA19_CURR_DESC_PTR() 	bfin_read32(DMA19_CURR_DESC_PTR)
#define bfin_write_DMA19_CURR_DESC_PTR(val) 	bfin_write32(DMA19_CURR_DESC_PTR)
#define bfin_read_DMA19_CURR_ADDR() 		bfin_read32(DMA19_CURR_ADDR)
#define bfin_write_DMA19_CURR_ADDR(val) 	bfin_write32(DMA19_CURR_ADDR)
#define bfin_read_DMA19_IRQ_STATUS()		bfin_read16(DMA19_IRQ_STATUS)
#define bfin_write_DMA19_IRQ_STATUS(val)	bfin_write16(DMA19_IRQ_STATUS, val)
#define bfin_read_DMA19_PERIPHERAL_MAP()	bfin_read16(DMA19_PERIPHERAL_MAP)
#define bfin_write_DMA19_PERIPHERAL_MAP(val)	bfin_write16(DMA19_PERIPHERAL_MAP, val)
#define bfin_read_DMA19_CURR_X_COUNT()		bfin_read16(DMA19_CURR_X_COUNT)
#define bfin_write_DMA19_CURR_X_COUNT(val)	bfin_write16(DMA19_CURR_X_COUNT, val)
#define bfin_read_DMA19_CURR_Y_COUNT()		bfin_read16(DMA19_CURR_Y_COUNT)
#define bfin_write_DMA19_CURR_Y_COUNT(val)	bfin_write16(DMA19_CURR_Y_COUNT, val)

/* DMA Channel 20 Registers */

#define bfin_read_DMA20_NEXT_DESC_PTR() 	bfin_read32(DMA20_NEXT_DESC_PTR)
#define bfin_write_DMA20_NEXT_DESC_PTR(val) 	bfin_write32(DMA20_NEXT_DESC_PTR)
#define bfin_read_DMA20_START_ADDR() 		bfin_read32(DMA20_START_ADDR)
#define bfin_write_DMA20_START_ADDR(val) 	bfin_write32(DMA20_START_ADDR)
#define bfin_read_DMA20_CONFIG()		bfin_read16(DMA20_CONFIG)
#define bfin_write_DMA20_CONFIG(val)		bfin_write16(DMA20_CONFIG, val)
#define bfin_read_DMA20_X_COUNT()		bfin_read16(DMA20_X_COUNT)
#define bfin_write_DMA20_X_COUNT(val)		bfin_write16(DMA20_X_COUNT, val)
#define bfin_read_DMA20_X_MODIFY()		bfin_read16(DMA20_X_MODIFY)
#define bfin_write_DMA20_X_MODIFY(val) 		bfin_write16(DMA20_X_MODIFY)
#define bfin_read_DMA20_Y_COUNT()		bfin_read16(DMA20_Y_COUNT)
#define bfin_write_DMA20_Y_COUNT(val)		bfin_write16(DMA20_Y_COUNT, val)
#define bfin_read_DMA20_Y_MODIFY()		bfin_read16(DMA20_Y_MODIFY)
#define bfin_write_DMA20_Y_MODIFY(val) 		bfin_write16(DMA20_Y_MODIFY)
#define bfin_read_DMA20_CURR_DESC_PTR() 	bfin_read32(DMA20_CURR_DESC_PTR)
#define bfin_write_DMA20_CURR_DESC_PTR(val) 	bfin_write32(DMA20_CURR_DESC_PTR)
#define bfin_read_DMA20_CURR_ADDR() 		bfin_read32(DMA20_CURR_ADDR)
#define bfin_write_DMA20_CURR_ADDR(val) 	bfin_write32(DMA20_CURR_ADDR)
#define bfin_read_DMA20_IRQ_STATUS()		bfin_read16(DMA20_IRQ_STATUS)
#define bfin_write_DMA20_IRQ_STATUS(val)	bfin_write16(DMA20_IRQ_STATUS, val)
#define bfin_read_DMA20_PERIPHERAL_MAP()	bfin_read16(DMA20_PERIPHERAL_MAP)
#define bfin_write_DMA20_PERIPHERAL_MAP(val)	bfin_write16(DMA20_PERIPHERAL_MAP, val)
#define bfin_read_DMA20_CURR_X_COUNT()		bfin_read16(DMA20_CURR_X_COUNT)
#define bfin_write_DMA20_CURR_X_COUNT(val)	bfin_write16(DMA20_CURR_X_COUNT, val)
#define bfin_read_DMA20_CURR_Y_COUNT()		bfin_read16(DMA20_CURR_Y_COUNT)
#define bfin_write_DMA20_CURR_Y_COUNT(val)	bfin_write16(DMA20_CURR_Y_COUNT, val)

/* DMA Channel 21 Registers */

#define bfin_read_DMA21_NEXT_DESC_PTR() 	bfin_read32(DMA21_NEXT_DESC_PTR)
#define bfin_write_DMA21_NEXT_DESC_PTR(val) 	bfin_write32(DMA21_NEXT_DESC_PTR)
#define bfin_read_DMA21_START_ADDR() 		bfin_read32(DMA21_START_ADDR)
#define bfin_write_DMA21_START_ADDR(val) 	bfin_write32(DMA21_START_ADDR)
#define bfin_read_DMA21_CONFIG()		bfin_read16(DMA21_CONFIG)
#define bfin_write_DMA21_CONFIG(val)		bfin_write16(DMA21_CONFIG, val)
#define bfin_read_DMA21_X_COUNT()		bfin_read16(DMA21_X_COUNT)
#define bfin_write_DMA21_X_COUNT(val)		bfin_write16(DMA21_X_COUNT, val)
#define bfin_read_DMA21_X_MODIFY()		bfin_read16(DMA21_X_MODIFY)
#define bfin_write_DMA21_X_MODIFY(val) 		bfin_write16(DMA21_X_MODIFY)
#define bfin_read_DMA21_Y_COUNT()		bfin_read16(DMA21_Y_COUNT)
#define bfin_write_DMA21_Y_COUNT(val)		bfin_write16(DMA21_Y_COUNT, val)
#define bfin_read_DMA21_Y_MODIFY()		bfin_read16(DMA21_Y_MODIFY)
#define bfin_write_DMA21_Y_MODIFY(val) 		bfin_write16(DMA21_Y_MODIFY)
#define bfin_read_DMA21_CURR_DESC_PTR() 	bfin_read32(DMA21_CURR_DESC_PTR)
#define bfin_write_DMA21_CURR_DESC_PTR(val) 	bfin_write32(DMA21_CURR_DESC_PTR)
#define bfin_read_DMA21_CURR_ADDR() 		bfin_read32(DMA21_CURR_ADDR)
#define bfin_write_DMA21_CURR_ADDR(val) 	bfin_write32(DMA21_CURR_ADDR)
#define bfin_read_DMA21_IRQ_STATUS()		bfin_read16(DMA21_IRQ_STATUS)
#define bfin_write_DMA21_IRQ_STATUS(val)	bfin_write16(DMA21_IRQ_STATUS, val)
#define bfin_read_DMA21_PERIPHERAL_MAP()	bfin_read16(DMA21_PERIPHERAL_MAP)
#define bfin_write_DMA21_PERIPHERAL_MAP(val)	bfin_write16(DMA21_PERIPHERAL_MAP, val)
#define bfin_read_DMA21_CURR_X_COUNT()		bfin_read16(DMA21_CURR_X_COUNT)
#define bfin_write_DMA21_CURR_X_COUNT(val)	bfin_write16(DMA21_CURR_X_COUNT, val)
#define bfin_read_DMA21_CURR_Y_COUNT()		bfin_read16(DMA21_CURR_Y_COUNT)
#define bfin_write_DMA21_CURR_Y_COUNT(val)	bfin_write16(DMA21_CURR_Y_COUNT, val)

/* DMA Channel 22 Registers */

#define bfin_read_DMA22_NEXT_DESC_PTR() 	bfin_read32(DMA22_NEXT_DESC_PTR)
#define bfin_write_DMA22_NEXT_DESC_PTR(val) 	bfin_write32(DMA22_NEXT_DESC_PTR)
#define bfin_read_DMA22_START_ADDR() 		bfin_read32(DMA22_START_ADDR)
#define bfin_write_DMA22_START_ADDR(val) 	bfin_write32(DMA22_START_ADDR)
#define bfin_read_DMA22_CONFIG()		bfin_read16(DMA22_CONFIG)
#define bfin_write_DMA22_CONFIG(val)		bfin_write16(DMA22_CONFIG, val)
#define bfin_read_DMA22_X_COUNT()		bfin_read16(DMA22_X_COUNT)
#define bfin_write_DMA22_X_COUNT(val)		bfin_write16(DMA22_X_COUNT, val)
#define bfin_read_DMA22_X_MODIFY()		bfin_read16(DMA22_X_MODIFY)
#define bfin_write_DMA22_X_MODIFY(val) 		bfin_write16(DMA22_X_MODIFY)
#define bfin_read_DMA22_Y_COUNT()		bfin_read16(DMA22_Y_COUNT)
#define bfin_write_DMA22_Y_COUNT(val)		bfin_write16(DMA22_Y_COUNT, val)
#define bfin_read_DMA22_Y_MODIFY()		bfin_read16(DMA22_Y_MODIFY)
#define bfin_write_DMA22_Y_MODIFY(val) 		bfin_write16(DMA22_Y_MODIFY)
#define bfin_read_DMA22_CURR_DESC_PTR() 	bfin_read32(DMA22_CURR_DESC_PTR)
#define bfin_write_DMA22_CURR_DESC_PTR(val) 	bfin_write32(DMA22_CURR_DESC_PTR)
#define bfin_read_DMA22_CURR_ADDR() 		bfin_read32(DMA22_CURR_ADDR)
#define bfin_write_DMA22_CURR_ADDR(val) 	bfin_write32(DMA22_CURR_ADDR)
#define bfin_read_DMA22_IRQ_STATUS()		bfin_read16(DMA22_IRQ_STATUS)
#define bfin_write_DMA22_IRQ_STATUS(val)	bfin_write16(DMA22_IRQ_STATUS, val)
#define bfin_read_DMA22_PERIPHERAL_MAP()	bfin_read16(DMA22_PERIPHERAL_MAP)
#define bfin_write_DMA22_PERIPHERAL_MAP(val)	bfin_write16(DMA22_PERIPHERAL_MAP, val)
#define bfin_read_DMA22_CURR_X_COUNT()		bfin_read16(DMA22_CURR_X_COUNT)
#define bfin_write_DMA22_CURR_X_COUNT(val)	bfin_write16(DMA22_CURR_X_COUNT, val)
#define bfin_read_DMA22_CURR_Y_COUNT()		bfin_read16(DMA22_CURR_Y_COUNT)
#define bfin_write_DMA22_CURR_Y_COUNT(val)	bfin_write16(DMA22_CURR_Y_COUNT, val)

/* DMA Channel 23 Registers */

#define bfin_read_DMA23_NEXT_DESC_PTR() 		bfin_read32(DMA23_NEXT_DESC_PTR)
#define bfin_write_DMA23_NEXT_DESC_PTR(val) 		bfin_write32(DMA23_NEXT_DESC_PTR)
#define bfin_read_DMA23_START_ADDR() 			bfin_read32(DMA23_START_ADDR)
#define bfin_write_DMA23_START_ADDR(val) 		bfin_write32(DMA23_START_ADDR)
#define bfin_read_DMA23_CONFIG()			bfin_read16(DMA23_CONFIG)
#define bfin_write_DMA23_CONFIG(val)			bfin_write16(DMA23_CONFIG, val)
#define bfin_read_DMA23_X_COUNT()			bfin_read16(DMA23_X_COUNT)
#define bfin_write_DMA23_X_COUNT(val)			bfin_write16(DMA23_X_COUNT, val)
#define bfin_read_DMA23_X_MODIFY()			bfin_read16(DMA23_X_MODIFY)
#define bfin_write_DMA23_X_MODIFY(val) 			bfin_write16(DMA23_X_MODIFY)
#define bfin_read_DMA23_Y_COUNT()			bfin_read16(DMA23_Y_COUNT)
#define bfin_write_DMA23_Y_COUNT(val)			bfin_write16(DMA23_Y_COUNT, val)
#define bfin_read_DMA23_Y_MODIFY()			bfin_read16(DMA23_Y_MODIFY)
#define bfin_write_DMA23_Y_MODIFY(val) 			bfin_write16(DMA23_Y_MODIFY)
#define bfin_read_DMA23_CURR_DESC_PTR() 		bfin_read32(DMA23_CURR_DESC_PTR)
#define bfin_write_DMA23_CURR_DESC_PTR(val) 		bfin_write32(DMA23_CURR_DESC_PTR)
#define bfin_read_DMA23_CURR_ADDR() 			bfin_read32(DMA23_CURR_ADDR)
#define bfin_write_DMA23_CURR_ADDR(val) 		bfin_write32(DMA23_CURR_ADDR)
#define bfin_read_DMA23_IRQ_STATUS()			bfin_read16(DMA23_IRQ_STATUS)
#define bfin_write_DMA23_IRQ_STATUS(val)		bfin_write16(DMA23_IRQ_STATUS, val)
#define bfin_read_DMA23_PERIPHERAL_MAP()		bfin_read16(DMA23_PERIPHERAL_MAP)
#define bfin_write_DMA23_PERIPHERAL_MAP(val)		bfin_write16(DMA23_PERIPHERAL_MAP, val)
#define bfin_read_DMA23_CURR_X_COUNT()			bfin_read16(DMA23_CURR_X_COUNT)
#define bfin_write_DMA23_CURR_X_COUNT(val)		bfin_write16(DMA23_CURR_X_COUNT, val)
#define bfin_read_DMA23_CURR_Y_COUNT()			bfin_read16(DMA23_CURR_Y_COUNT)
#define bfin_write_DMA23_CURR_Y_COUNT(val)		bfin_write16(DMA23_CURR_Y_COUNT, val)

/* MDMA Stream 2 Registers */

#define bfin_read_MDMA_D2_NEXT_DESC_PTR() 		bfin_read32(MDMA_D2_NEXT_DESC_PTR)
#define bfin_write_MDMA_D2_NEXT_DESC_PTR(val) 		bfin_write32(MDMA_D2_NEXT_DESC_PTR)
#define bfin_read_MDMA_D2_START_ADDR() 			bfin_read32(MDMA_D2_START_ADDR)
#define bfin_write_MDMA_D2_START_ADDR(val) 		bfin_write32(MDMA_D2_START_ADDR)
#define bfin_read_MDMA_D2_CONFIG()			bfin_read16(MDMA_D2_CONFIG)
#define bfin_write_MDMA_D2_CONFIG(val)			bfin_write16(MDMA_D2_CONFIG, val)
#define bfin_read_MDMA_D2_X_COUNT()			bfin_read16(MDMA_D2_X_COUNT)
#define bfin_write_MDMA_D2_X_COUNT(val)			bfin_write16(MDMA_D2_X_COUNT, val)
#define bfin_read_MDMA_D2_X_MODIFY()			bfin_read16(MDMA_D2_X_MODIFY)
#define bfin_write_MDMA_D2_X_MODIFY(val) 		bfin_write16(MDMA_D2_X_MODIFY)
#define bfin_read_MDMA_D2_Y_COUNT()			bfin_read16(MDMA_D2_Y_COUNT)
#define bfin_write_MDMA_D2_Y_COUNT(val)			bfin_write16(MDMA_D2_Y_COUNT, val)
#define bfin_read_MDMA_D2_Y_MODIFY()			bfin_read16(MDMA_D2_Y_MODIFY)
#define bfin_write_MDMA_D2_Y_MODIFY(val) 		bfin_write16(MDMA_D2_Y_MODIFY)
#define bfin_read_MDMA_D2_CURR_DESC_PTR() 		bfin_read32(MDMA_D2_CURR_DESC_PTR)
#define bfin_write_MDMA_D2_CURR_DESC_PTR(val) 		bfin_write32(MDMA_D2_CURR_DESC_PTR)
#define bfin_read_MDMA_D2_CURR_ADDR() 			bfin_read32(MDMA_D2_CURR_ADDR)
#define bfin_write_MDMA_D2_CURR_ADDR(val) 		bfin_write32(MDMA_D2_CURR_ADDR)
#define bfin_read_MDMA_D2_IRQ_STATUS()			bfin_read16(MDMA_D2_IRQ_STATUS)
#define bfin_write_MDMA_D2_IRQ_STATUS(val)		bfin_write16(MDMA_D2_IRQ_STATUS, val)
#define bfin_read_MDMA_D2_PERIPHERAL_MAP()		bfin_read16(MDMA_D2_PERIPHERAL_MAP)
#define bfin_write_MDMA_D2_PERIPHERAL_MAP(val)		bfin_write16(MDMA_D2_PERIPHERAL_MAP, val)
#define bfin_read_MDMA_D2_CURR_X_COUNT()		bfin_read16(MDMA_D2_CURR_X_COUNT)
#define bfin_write_MDMA_D2_CURR_X_COUNT(val)		bfin_write16(MDMA_D2_CURR_X_COUNT, val)
#define bfin_read_MDMA_D2_CURR_Y_COUNT()		bfin_read16(MDMA_D2_CURR_Y_COUNT)
#define bfin_write_MDMA_D2_CURR_Y_COUNT(val)		bfin_write16(MDMA_D2_CURR_Y_COUNT, val)
#define bfin_read_MDMA_S2_NEXT_DESC_PTR() 		bfin_read32(MDMA_S2_NEXT_DESC_PTR)
#define bfin_write_MDMA_S2_NEXT_DESC_PTR(val) 		bfin_write32(MDMA_S2_NEXT_DESC_PTR)
#define bfin_read_MDMA_S2_START_ADDR() 			bfin_read32(MDMA_S2_START_ADDR)
#define bfin_write_MDMA_S2_START_ADDR(val) 		bfin_write32(MDMA_S2_START_ADDR)
#define bfin_read_MDMA_S2_CONFIG()			bfin_read16(MDMA_S2_CONFIG)
#define bfin_write_MDMA_S2_CONFIG(val)			bfin_write16(MDMA_S2_CONFIG, val)
#define bfin_read_MDMA_S2_X_COUNT()			bfin_read16(MDMA_S2_X_COUNT)
#define bfin_write_MDMA_S2_X_COUNT(val)			bfin_write16(MDMA_S2_X_COUNT, val)
#define bfin_read_MDMA_S2_X_MODIFY()			bfin_read16(MDMA_S2_X_MODIFY)
#define bfin_write_MDMA_S2_X_MODIFY(val) 		bfin_write16(MDMA_S2_X_MODIFY)
#define bfin_read_MDMA_S2_Y_COUNT()			bfin_read16(MDMA_S2_Y_COUNT)
#define bfin_write_MDMA_S2_Y_COUNT(val)			bfin_write16(MDMA_S2_Y_COUNT, val)
#define bfin_read_MDMA_S2_Y_MODIFY()			bfin_read16(MDMA_S2_Y_MODIFY)
#define bfin_write_MDMA_S2_Y_MODIFY(val) 		bfin_write16(MDMA_S2_Y_MODIFY)
#define bfin_read_MDMA_S2_CURR_DESC_PTR() 		bfin_read32(MDMA_S2_CURR_DESC_PTR)
#define bfin_write_MDMA_S2_CURR_DESC_PTR(val) 		bfin_write32(MDMA_S2_CURR_DESC_PTR)
#define bfin_read_MDMA_S2_CURR_ADDR() 			bfin_read32(MDMA_S2_CURR_ADDR)
#define bfin_write_MDMA_S2_CURR_ADDR(val) 		bfin_write32(MDMA_S2_CURR_ADDR)
#define bfin_read_MDMA_S2_IRQ_STATUS()			bfin_read16(MDMA_S2_IRQ_STATUS)
#define bfin_write_MDMA_S2_IRQ_STATUS(val)		bfin_write16(MDMA_S2_IRQ_STATUS, val)
#define bfin_read_MDMA_S2_PERIPHERAL_MAP()		bfin_read16(MDMA_S2_PERIPHERAL_MAP)
#define bfin_write_MDMA_S2_PERIPHERAL_MAP(val)		bfin_write16(MDMA_S2_PERIPHERAL_MAP, val)
#define bfin_read_MDMA_S2_CURR_X_COUNT()		bfin_read16(MDMA_S2_CURR_X_COUNT)
#define bfin_write_MDMA_S2_CURR_X_COUNT(val)		bfin_write16(MDMA_S2_CURR_X_COUNT, val)
#define bfin_read_MDMA_S2_CURR_Y_COUNT()		bfin_read16(MDMA_S2_CURR_Y_COUNT)
#define bfin_write_MDMA_S2_CURR_Y_COUNT(val)		bfin_write16(MDMA_S2_CURR_Y_COUNT, val)

/* MDMA Stream 3 Registers */

#define bfin_read_MDMA_D3_NEXT_DESC_PTR() 		bfin_read32(MDMA_D3_NEXT_DESC_PTR)
#define bfin_write_MDMA_D3_NEXT_DESC_PTR(val) 		bfin_write32(MDMA_D3_NEXT_DESC_PTR)
#define bfin_read_MDMA_D3_START_ADDR() 			bfin_read32(MDMA_D3_START_ADDR)
#define bfin_write_MDMA_D3_START_ADDR(val) 		bfin_write32(MDMA_D3_START_ADDR)
#define bfin_read_MDMA_D3_CONFIG()			bfin_read16(MDMA_D3_CONFIG)
#define bfin_write_MDMA_D3_CONFIG(val)			bfin_write16(MDMA_D3_CONFIG, val)
#define bfin_read_MDMA_D3_X_COUNT()			bfin_read16(MDMA_D3_X_COUNT)
#define bfin_write_MDMA_D3_X_COUNT(val)			bfin_write16(MDMA_D3_X_COUNT, val)
#define bfin_read_MDMA_D3_X_MODIFY()			bfin_read16(MDMA_D3_X_MODIFY)
#define bfin_write_MDMA_D3_X_MODIFY(val) 		bfin_write16(MDMA_D3_X_MODIFY)
#define bfin_read_MDMA_D3_Y_COUNT()			bfin_read16(MDMA_D3_Y_COUNT)
#define bfin_write_MDMA_D3_Y_COUNT(val)			bfin_write16(MDMA_D3_Y_COUNT, val)
#define bfin_read_MDMA_D3_Y_MODIFY()			bfin_read16(MDMA_D3_Y_MODIFY)
#define bfin_write_MDMA_D3_Y_MODIFY(val) 		bfin_write16(MDMA_D3_Y_MODIFY)
#define bfin_read_MDMA_D3_CURR_DESC_PTR() 		bfin_read32(MDMA_D3_CURR_DESC_PTR)
#define bfin_write_MDMA_D3_CURR_DESC_PTR(val) 		bfin_write32(MDMA_D3_CURR_DESC_PTR)
#define bfin_read_MDMA_D3_CURR_ADDR() 			bfin_read32(MDMA_D3_CURR_ADDR)
#define bfin_write_MDMA_D3_CURR_ADDR(val) 		bfin_write32(MDMA_D3_CURR_ADDR)
#define bfin_read_MDMA_D3_IRQ_STATUS()			bfin_read16(MDMA_D3_IRQ_STATUS)
#define bfin_write_MDMA_D3_IRQ_STATUS(val)		bfin_write16(MDMA_D3_IRQ_STATUS, val)
#define bfin_read_MDMA_D3_PERIPHERAL_MAP()		bfin_read16(MDMA_D3_PERIPHERAL_MAP)
#define bfin_write_MDMA_D3_PERIPHERAL_MAP(val)		bfin_write16(MDMA_D3_PERIPHERAL_MAP, val)
#define bfin_read_MDMA_D3_CURR_X_COUNT()		bfin_read16(MDMA_D3_CURR_X_COUNT)
#define bfin_write_MDMA_D3_CURR_X_COUNT(val)		bfin_write16(MDMA_D3_CURR_X_COUNT, val)
#define bfin_read_MDMA_D3_CURR_Y_COUNT()		bfin_read16(MDMA_D3_CURR_Y_COUNT)
#define bfin_write_MDMA_D3_CURR_Y_COUNT(val)		bfin_write16(MDMA_D3_CURR_Y_COUNT, val)
#define bfin_read_MDMA_S3_NEXT_DESC_PTR() 		bfin_read32(MDMA_S3_NEXT_DESC_PTR)
#define bfin_write_MDMA_S3_NEXT_DESC_PTR(val) 		bfin_write32(MDMA_S3_NEXT_DESC_PTR)
#define bfin_read_MDMA_S3_START_ADDR() 			bfin_read32(MDMA_S3_START_ADDR)
#define bfin_write_MDMA_S3_START_ADDR(val) 		bfin_write32(MDMA_S3_START_ADDR)
#define bfin_read_MDMA_S3_CONFIG()			bfin_read16(MDMA_S3_CONFIG)
#define bfin_write_MDMA_S3_CONFIG(val)			bfin_write16(MDMA_S3_CONFIG, val)
#define bfin_read_MDMA_S3_X_COUNT()			bfin_read16(MDMA_S3_X_COUNT)
#define bfin_write_MDMA_S3_X_COUNT(val)			bfin_write16(MDMA_S3_X_COUNT, val)
#define bfin_read_MDMA_S3_X_MODIFY()			bfin_read16(MDMA_S3_X_MODIFY)
#define bfin_write_MDMA_S3_X_MODIFY(val) 		bfin_write16(MDMA_S3_X_MODIFY)
#define bfin_read_MDMA_S3_Y_COUNT()			bfin_read16(MDMA_S3_Y_COUNT)
#define bfin_write_MDMA_S3_Y_COUNT(val)			bfin_write16(MDMA_S3_Y_COUNT, val)
#define bfin_read_MDMA_S3_Y_MODIFY()			bfin_read16(MDMA_S3_Y_MODIFY)
#define bfin_write_MDMA_S3_Y_MODIFY(val) 		bfin_write16(MDMA_S3_Y_MODIFY)
#define bfin_read_MDMA_S3_CURR_DESC_PTR() 		bfin_read32(MDMA_S3_CURR_DESC_PTR)
#define bfin_write_MDMA_S3_CURR_DESC_PTR(val) 		bfin_write32(MDMA_S3_CURR_DESC_PTR)
#define bfin_read_MDMA_S3_CURR_ADDR() 			bfin_read32(MDMA_S3_CURR_ADDR)
#define bfin_write_MDMA_S3_CURR_ADDR(val) 		bfin_write32(MDMA_S3_CURR_ADDR)
#define bfin_read_MDMA_S3_IRQ_STATUS()			bfin_read16(MDMA_S3_IRQ_STATUS)
#define bfin_write_MDMA_S3_IRQ_STATUS(val)		bfin_write16(MDMA_S3_IRQ_STATUS, val)
#define bfin_read_MDMA_S3_PERIPHERAL_MAP()		bfin_read16(MDMA_S3_PERIPHERAL_MAP)
#define bfin_write_MDMA_S3_PERIPHERAL_MAP(val)		bfin_write16(MDMA_S3_PERIPHERAL_MAP, val)
#define bfin_read_MDMA_S3_CURR_X_COUNT()		bfin_read16(MDMA_S3_CURR_X_COUNT)
#define bfin_write_MDMA_S3_CURR_X_COUNT(val)		bfin_write16(MDMA_S3_CURR_X_COUNT, val)
#define bfin_read_MDMA_S3_CURR_Y_COUNT()		bfin_read16(MDMA_S3_CURR_Y_COUNT)
#define bfin_write_MDMA_S3_CURR_Y_COUNT(val)		bfin_write16(MDMA_S3_CURR_Y_COUNT, val)

/* UART1 Registers */

#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_GCTL()			bfin_read16(UART1_GCTL)
#define bfin_write_UART1_GCTL(val)		bfin_write16(UART1_GCTL, 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_MSR()			bfin_read16(UART1_MSR)
#define bfin_write_UART1_MSR(val)		bfin_write16(UART1_MSR, 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_IER_SET()		bfin_read16(UART1_IER_SET)
#define bfin_write_UART1_IER_SET(val)		bfin_write16(UART1_IER_SET, val)
#define bfin_read_UART1_IER_CLEAR()		bfin_read16(UART1_IER_CLEAR)
#define bfin_write_UART1_IER_CLEAR(val)		bfin_write16(UART1_IER_CLEAR, 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)

/* UART2 is not defined in the shared file because it is not available on the ADSP-BF542 and ADSP-BF544 bfin_read_()rocessors */

/* SPI1 Registers */

#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)

/* SPORT2 Registers */

#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)

/* SPORT3 Registers */

#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)

/* EPPI2 Registers */

#define bfin_read_EPPI2_STATUS()		bfin_read16(EPPI2_STATUS)
#define bfin_write_EPPI2_STATUS(val)		bfin_write16(EPPI2_STATUS, val)
#define bfin_read_EPPI2_HCOUNT()		bfin_read16(EPPI2_HCOUNT)
#define bfin_write_EPPI2_HCOUNT(val)		bfin_write16(EPPI2_HCOUNT, val)
#define bfin_read_EPPI2_HDELAY()		bfin_read16(EPPI2_HDELAY)
#define bfin_write_EPPI2_HDELAY(val)		bfin_write16(EPPI2_HDELAY, val)
#define bfin_read_EPPI2_VCOUNT()		bfin_read16(EPPI2_VCOUNT)
#define bfin_write_EPPI2_VCOUNT(val)		bfin_write16(EPPI2_VCOUNT, val)
#define bfin_read_EPPI2_VDELAY()		bfin_read16(EPPI2_VDELAY)
#define bfin_write_EPPI2_VDELAY(val)		bfin_write16(EPPI2_VDELAY, val)
#define bfin_read_EPPI2_FRAME()			bfin_read16(EPPI2_FRAME)
#define bfin_write_EPPI2_FRAME(val)		bfin_write16(EPPI2_FRAME, val)
#define bfin_read_EPPI2_LINE()			bfin_read16(EPPI2_LINE)
#define bfin_write_EPPI2_LINE(val)		bfin_write16(EPPI2_LINE, val)
#define bfin_read_EPPI2_CLKDIV()		bfin_read16(EPPI2_CLKDIV)
#define bfin_write_EPPI2_CLKDIV(val)		bfin_write16(EPPI2_CLKDIV, val)
#define bfin_read_EPPI2_CONTROL()		bfin_read32(EPPI2_CONTROL)
#define bfin_write_EPPI2_CONTROL(val)		bfin_write32(EPPI2_CONTROL, val)
#define bfin_read_EPPI2_FS1W_HBL()		bfin_read32(EPPI2_FS1W_HBL)
#define bfin_write_EPPI2_FS1W_HBL(val)		bfin_write32(EPPI2_FS1W_HBL, val)
#define bfin_read_EPPI2_FS1P_AVPL()		bfin_read32(EPPI2_FS1P_AVPL)
#define bfin_write_EPPI2_FS1P_AVPL(val)		bfin_write32(EPPI2_FS1P_AVPL, val)
#define bfin_read_EPPI2_FS2W_LVB()		bfin_read32(EPPI2_FS2W_LVB)
#define bfin_write_EPPI2_FS2W_LVB(val)		bfin_write32(EPPI2_FS2W_LVB, val)
#define bfin_read_EPPI2_FS2P_LAVF()		bfin_read32(EPPI2_FS2P_LAVF)
#define bfin_write_EPPI2_FS2P_LAVF(val)		bfin_write32(EPPI2_FS2P_LAVF, val)
#define bfin_read_EPPI2_CLIP()			bfin_read32(EPPI2_CLIP)
#define bfin_write_EPPI2_CLIP(val)		bfin_write32(EPPI2_CLIP, val)

/* CAN Controller 0 Config 1 Registers */

#define bfin_read_CAN0_MC1()		bfin_read16(CAN0_MC1)
#define bfin_write_CAN0_MC1(val)	bfin_write16(CAN0_MC1, val)
#define bfin_read_CAN0_MD1()		bfin_read16(CAN0_MD1)
#define bfin_write_CAN0_MD1(val)	bfin_write16(CAN0_MD1, val)
#define bfin_read_CAN0_TRS1()		bfin_read16(CAN0_TRS1)
#define bfin_write_CAN0_TRS1(val)	bfin_write16(CAN0_TRS1, val)
#define bfin_read_CAN0_TRR1()		bfin_read16(CAN0_TRR1)
#define bfin_write_CAN0_TRR1(val)	bfin_write16(CAN0_TRR1, val)
#define bfin_read_CAN0_TA1()		bfin_read16(CAN0_TA1)
#define bfin_write_CAN0_TA1(val)	bfin_write16(CAN0_TA1, val)
#define bfin_read_CAN0_AA1()		bfin_read16(CAN0_AA1)
#define bfin_write_CAN0_AA1(val)	bfin_write16(CAN0_AA1, val)
#define bfin_read_CAN0_RMP1()		bfin_read16(CAN0_RMP1)
#define bfin_write_CAN0_RMP1(val)	bfin_write16(CAN0_RMP1, val)
#define bfin_read_CAN0_RML1()		bfin_read16(CAN0_RML1)
#define bfin_write_CAN0_RML1(val)	bfin_write16(CAN0_RML1, val)
#define bfin_read_CAN0_MBTIF1()		bfin_read16(CAN0_MBTIF1)
#define bfin_write_CAN0_MBTIF1(val)	bfin_write16(CAN0_MBTIF1, val)
#define bfin_read_CAN0_MBRIF1()		bfin_read16(CAN0_MBRIF1)
#define bfin_write_CAN0_MBRIF1(val)	bfin_write16(CAN0_MBRIF1, val)
#define bfin_read_CAN0_MBIM1()		bfin_read16(CAN0_MBIM1)
#define bfin_write_CAN0_MBIM1(val)	bfin_write16(CAN0_MBIM1, val)
#define bfin_read_CAN0_RFH1()		bfin_read16(CAN0_RFH1)
#define bfin_write_CAN0_RFH1(val)	bfin_write16(CAN0_RFH1, val)
#define bfin_read_CAN0_OPSS1()		bfin_read16(CAN0_OPSS1)
#define bfin_write_CAN0_OPSS1(val)	bfin_write16(CAN0_OPSS1, val)

/* CAN Controller 0 Config 2 Registers */

#define bfin_read_CAN0_MC2()		bfin_read16(CAN0_MC2)
#define bfin_write_CAN0_MC2(val)	bfin_write16(CAN0_MC2, val)
#define bfin_read_CAN0_MD2()		bfin_read16(CAN0_MD2)
#define bfin_write_CAN0_MD2(val)	bfin_write16(CAN0_MD2, val)
#define bfin_read_CAN0_TRS2()		bfin_read16(CAN0_TRS2)
#define bfin_write_CAN0_TRS2(val)	bfin_write16(CAN0_TRS2, val)
#define bfin_read_CAN0_TRR2()		bfin_read16(CAN0_TRR2)
#define bfin_write_CAN0_TRR2(val)	bfin_write16(CAN0_TRR2, val)
#define bfin_read_CAN0_TA2()		bfin_read16(CAN0_TA2)
#define bfin_write_CAN0_TA2(val)	bfin_write16(CAN0_TA2, val)
#define bfin_read_CAN0_AA2()		bfin_read16(CAN0_AA2)
#define bfin_write_CAN0_AA2(val)	bfin_write16(CAN0_AA2, val)
#define bfin_read_CAN0_RMP2()		bfin_read16(CAN0_RMP2)
#define bfin_write_CAN0_RMP2(val)	bfin_write16(CAN0_RMP2, val)
#define bfin_read_CAN0_RML2()		bfin_read16(CAN0_RML2)
#define bfin_write_CAN0_RML2(val)	bfin_write16(CAN0_RML2, val)
#define bfin_read_CAN0_MBTIF2()		bfin_read16(CAN0_MBTIF2)
#define bfin_write_CAN0_MBTIF2(val)	bfin_write16(CAN0_MBTIF2, val)
#define bfin_read_CAN0_MBRIF2()		bfin_read16(CAN0_MBRIF2)
#define bfin_write_CAN0_MBRIF2(val)	bfin_write16(CAN0_MBRIF2, val)
#define bfin_read_CAN0_MBIM2()		bfin_read16(CAN0_MBIM2)
#define bfin_write_CAN0_MBIM2(val)	bfin_write16(CAN0_MBIM2, val)
#define bfin_read_CAN0_RFH2()		bfin_read16(CAN0_RFH2)
#define bfin_write_CAN0_RFH2(val)	bfin_write16(CAN0_RFH2, val)
#define bfin_read_CAN0_OPSS2()		bfin_read16(CAN0_OPSS2)
#define bfin_write_CAN0_OPSS2(val)	bfin_write16(CAN0_OPSS2, val)

/* CAN Controller 0 Clock/Interrubfin_read_()t/Counter Registers */

#define bfin_read_CAN0_CLOCK()		bfin_read16(CAN0_CLOCK)
#define bfin_write_CAN0_CLOCK(val)	bfin_write16(CAN0_CLOCK, val)
#define bfin_read_CAN0_TIMING()		bfin_read16(CAN0_TIMING)
#define bfin_write_CAN0_TIMING(val)	bfin_write16(CAN0_TIMING, val)
#define bfin_read_CAN0_DEBUG()		bfin_read16(CAN0_DEBUG)
#define bfin_write_CAN0_DEBUG(val)	bfin_write16(CAN0_DEBUG, val)
#define bfin_read_CAN0_STATUS()		bfin_read16(CAN0_STATUS)
#define bfin_write_CAN0_STATUS(val)	bfin_write16(CAN0_STATUS, val)
#define bfin_read_CAN0_CEC()		bfin_read16(CAN0_CEC)
#define bfin_write_CAN0_CEC(val)	bfin_write16(CAN0_CEC, val)
#define bfin_read_CAN0_GIS()		bfin_read16(CAN0_GIS)
#define bfin_write_CAN0_GIS(val)	bfin_write16(CAN0_GIS, val)
#define bfin_read_CAN0_GIM()		bfin_read16(CAN0_GIM)
#define bfin_write_CAN0_GIM(val)	bfin_write16(CAN0_GIM, val)
#define bfin_read_CAN0_GIF()		bfin_read16(CAN0_GIF)
#define bfin_write_CAN0_GIF(val)	bfin_write16(CAN0_GIF, val)
#define bfin_read_CAN0_CONTROL()	bfin_read16(CAN0_CONTROL)
#define bfin_write_CAN0_CONTROL(val)	bfin_write16(CAN0_CONTROL, val)
#define bfin_read_CAN0_INTR()		bfin_read16(CAN0_INTR)
#define bfin_write_CAN0_INTR(val)	bfin_write16(CAN0_INTR, val)
#define bfin_read_CAN0_MBTD()		bfin_read16(CAN0_MBTD)
#define bfin_write_CAN0_MBTD(val)	bfin_write16(CAN0_MBTD, val)
#define bfin_read_CAN0_EWR()		bfin_read16(CAN0_EWR)
#define bfin_write_CAN0_EWR(val)	bfin_write16(CAN0_EWR, val)
#define bfin_read_CAN0_ESR()		bfin_read16(CAN0_ESR)
#define bfin_write_CAN0_ESR(val)	bfin_write16(CAN0_ESR, val)
#define bfin_read_CAN0_UCCNT()		bfin_read16(CAN0_UCCNT)
#define bfin_write_CAN0_UCCNT(val)	bfin_write16(CAN0_UCCNT, val)
#define bfin_read_CAN0_UCRC()		bfin_read16(CAN0_UCRC)
#define bfin_write_CAN0_UCRC(val)	bfin_write16(CAN0_UCRC, val)
#define bfin_read_CAN0_UCCNF()		bfin_read16(CAN0_UCCNF)
#define bfin_write_CAN0_UCCNF(val)	bfin_write16(CAN0_UCCNF, val)

/* CAN Controller 0 Accebfin_read_()tance Registers */

#define bfin_read_CAN0_AM00L()		bfin_read16(CAN0_AM00L)
#define bfin_write_CAN0_AM00L(val)	bfin_write16(CAN0_AM00L, val)
#define bfin_read_CAN0_AM00H()		bfin_read16(CAN0_AM00H)
#define bfin_write_CAN0_AM00H(val)	bfin_write16(CAN0_AM00H, val)
#define bfin_read_CAN0_AM01L()		bfin_read16(CAN0_AM01L)
#define bfin_write_CAN0_AM01L(val)	bfin_write16(CAN0_AM01L, val)
#define bfin_read_CAN0_AM01H()		bfin_read16(CAN0_AM01H)
#define bfin_write_CAN0_AM01H(val)	bfin_write16(CAN0_AM01H, val)
#define bfin_read_CAN0_AM02L()		bfin_read16(CAN0_AM02L)
#define bfin_write_CAN0_AM02L(val)	bfin_write16(CAN0_AM02L, val)
#define bfin_read_CAN0_AM02H()		bfin_read16(CAN0_AM02H)
#define bfin_write_CAN0_AM02H(val)	bfin_write16(CAN0_AM02H, val)
#define bfin_read_CAN0_AM03L()		bfin_read16(CAN0_AM03L)
#define bfin_write_CAN0_AM03L(val)	bfin_write16(CAN0_AM03L, val)
#define bfin_read_CAN0_AM03H()		bfin_read16(CAN0_AM03H)
#define bfin_write_CAN0_AM03H(val)	bfin_write16(CAN0_AM03H, val)
#define bfin_read_CAN0_AM04L()		bfin_read16(CAN0_AM04L)
#define bfin_write_CAN0_AM04L(val)	bfin_write16(CAN0_AM04L, val)
#define bfin_read_CAN0_AM04H()		bfin_read16(CAN0_AM04H)
#define bfin_write_CAN0_AM04H(val)	bfin_write16(CAN0_AM04H, val)
#define bfin_read_CAN0_AM05L()		bfin_read16(CAN0_AM05L)
#define bfin_write_CAN0_AM05L(val)	bfin_write16(CAN0_AM05L, val)
#define bfin_read_CAN0_AM05H()		bfin_read16(CAN0_AM05H)
#define bfin_write_CAN0_AM05H(val)	bfin_write16(CAN0_AM05H, val)
#define bfin_read_CAN0_AM06L()		bfin_read16(CAN0_AM06L)
#define bfin_write_CAN0_AM06L(val)	bfin_write16(CAN0_AM06L, val)
#define bfin_read_CAN0_AM06H()		bfin_read16(CAN0_AM06H)
#define bfin_write_CAN0_AM06H(val)	bfin_write16(CAN0_AM06H, val)
#define bfin_read_CAN0_AM07L()		bfin_read16(CAN0_AM07L)
#define bfin_write_CAN0_AM07L(val)	bfin_write16(CAN0_AM07L, val)
#define bfin_read_CAN0_AM07H()		bfin_read16(CAN0_AM07H)
#define bfin_write_CAN0_AM07H(val)	bfin_write16(CAN0_AM07H, val)
#define bfin_read_CAN0_AM08L()		bfin_read16(CAN0_AM08L)
#define bfin_write_CAN0_AM08L(val)	bfin_write16(CAN0_AM08L, val)
#define bfin_read_CAN0_AM08H()		bfin_read16(CAN0_AM08H)
#define bfin_write_CAN0_AM08H(val)	bfin_write16(CAN0_AM08H, val)
#define bfin_read_CAN0_AM09L()		bfin_read16(CAN0_AM09L)
#define bfin_write_CAN0_AM09L(val)	bfin_write16(CAN0_AM09L, val)
#define bfin_read_CAN0_AM09H()		bfin_read16(CAN0_AM09H)
#define bfin_write_CAN0_AM09H(val)	bfin_write16(CAN0_AM09H, val)
#define bfin_read_CAN0_AM10L()		bfin_read16(CAN0_AM10L)
#define bfin_write_CAN0_AM10L(val)	bfin_write16(CAN0_AM10L, val)
#define bfin_read_CAN0_AM10H()		bfin_read16(CAN0_AM10H)
#define bfin_write_CAN0_AM10H(val)	bfin_write16(CAN0_AM10H, val)
#define bfin_read_CAN0_AM11L()		bfin_read16(CAN0_AM11L)
#define bfin_write_CAN0_AM11L(val)	bfin_write16(CAN0_AM11L, val)
#define bfin_read_CAN0_AM11H()		bfin_read16(CAN0_AM11H)
#define bfin_write_CAN0_AM11H(val)	bfin_write16(CAN0_AM11H, val)
#define bfin_read_CAN0_AM12L()		bfin_read16(CAN0_AM12L)
#define bfin_write_CAN0_AM12L(val)	bfin_write16(CAN0_AM12L, val)
#define bfin_read_CAN0_AM12H()		bfin_read16(CAN0_AM12H)
#define bfin_write_CAN0_AM12H(val)	bfin_write16(CAN0_AM12H, val)
#define bfin_read_CAN0_AM13L()		bfin_read16(CAN0_AM13L)
#define bfin_write_CAN0_AM13L(val)	bfin_write16(CAN0_AM13L, val)
#define bfin_read_CAN0_AM13H()		bfin_read16(CAN0_AM13H)
#define bfin_write_CAN0_AM13H(val)	bfin_write16(CAN0_AM13H, val)
#define bfin_read_CAN0_AM14L()		bfin_read16(CAN0_AM14L)
#define bfin_write_CAN0_AM14L(val)	bfin_write16(CAN0_AM14L, val)
#define bfin_read_CAN0_AM14H()		bfin_read16(CAN0_AM14H)
#define bfin_write_CAN0_AM14H(val)	bfin_write16(CAN0_AM14H, val)
#define bfin_read_CAN0_AM15L()		bfin_read16(CAN0_AM15L)
#define bfin_write_CAN0_AM15L(val)	bfin_write16(CAN0_AM15L, val)
#define bfin_read_CAN0_AM15H()		bfin_read16(CAN0_AM15H)
#define bfin_write_CAN0_AM15H(val)	bfin_write16(CAN0_AM15H, val)

/* CAN Controller 0 Accebfin_read_()tance Registers */

#define bfin_read_CAN0_AM16L()		bfin_read16(CAN0_AM16L)
#define bfin_write_CAN0_AM16L(val)	bfin_write16(CAN0_AM16L, val)
#define bfin_read_CAN0_AM16H()		bfin_read16(CAN0_AM16H)
#define bfin_write_CAN0_AM16H(val)	bfin_write16(CAN0_AM16H, val)
#define bfin_read_CAN0_AM17L()		bfin_read16(CAN0_AM17L)
#define bfin_write_CAN0_AM17L(val)	bfin_write16(CAN0_AM17L, val)
#define bfin_read_CAN0_AM17H()		bfin_read16(CAN0_AM17H)
#define bfin_write_CAN0_AM17H(val)	bfin_write16(CAN0_AM17H, val)
#define bfin_read_CAN0_AM18L()		bfin_read16(CAN0_AM18L)
#define bfin_write_CAN0_AM18L(val)	bfin_write16(CAN0_AM18L, val)
#define bfin_read_CAN0_AM18H()		bfin_read16(CAN0_AM18H)
#define bfin_write_CAN0_AM18H(val)	bfin_write16(CAN0_AM18H, val)
#define bfin_read_CAN0_AM19L()		bfin_read16(CAN0_AM19L)
#define bfin_write_CAN0_AM19L(val)	bfin_write16(CAN0_AM19L, val)
#define bfin_read_CAN0_AM19H()		bfin_read16(CAN0_AM19H)
#define bfin_write_CAN0_AM19H(val)	bfin_write16(CAN0_AM19H, val)
#define bfin_read_CAN0_AM20L()		bfin_read16(CAN0_AM20L)
#define bfin_write_CAN0_AM20L(val)	bfin_write16(CAN0_AM20L, val)
#define bfin_read_CAN0_AM20H()		bfin_read16(CAN0_AM20H)
#define bfin_write_CAN0_AM20H(val)	bfin_write16(CAN0_AM20H, val)
#define bfin_read_CAN0_AM21L()		bfin_read16(CAN0_AM21L)
#define bfin_write_CAN0_AM21L(val)	bfin_write16(CAN0_AM21L, val)
#define bfin_read_CAN0_AM21H()		bfin_read16(CAN0_AM21H)
#define bfin_write_CAN0_AM21H(val)	bfin_write16(CAN0_AM21H, val)
#define bfin_read_CAN0_AM22L()		bfin_read16(CAN0_AM22L)
#define bfin_write_CAN0_AM22L(val)	bfin_write16(CAN0_AM22L, val)
#define bfin_read_CAN0_AM22H()		bfin_read16(CAN0_AM22H)
#define bfin_write_CAN0_AM22H(val)	bfin_write16(CAN0_AM22H, val)
#define bfin_read_CAN0_AM23L()		bfin_read16(CAN0_AM23L)
#define bfin_write_CAN0_AM23L(val)	bfin_write16(CAN0_AM23L, val)
#define bfin_read_CAN0_AM23H()		bfin_read16(CAN0_AM23H)
#define bfin_write_CAN0_AM23H(val)	bfin_write16(CAN0_AM23H, val)
#define bfin_read_CAN0_AM24L()		bfin_read16(CAN0_AM24L)
#define bfin_write_CAN0_AM24L(val)	bfin_write16(CAN0_AM24L, val)
#define bfin_read_CAN0_AM24H()		bfin_read16(CAN0_AM24H)
#define bfin_write_CAN0_AM24H(val)	bfin_write16(CAN0_AM24H, val)
#define bfin_read_CAN0_AM25L()		bfin_read16(CAN0_AM25L)
#define bfin_write_CAN0_AM25L(val)	bfin_write16(CAN0_AM25L, val)
#define bfin_read_CAN0_AM25H()		bfin_read16(CAN0_AM25H)
#define bfin_write_CAN0_AM25H(val)	bfin_write16(CAN0_AM25H, val)
#define bfin_read_CAN0_AM26L()		bfin_read16(CAN0_AM26L)
#define bfin_write_CAN0_AM26L(val)	bfin_write16(CAN0_AM26L, val)
#define bfin_read_CAN0_AM26H()		bfin_read16(CAN0_AM26H)
#define bfin_write_CAN0_AM26H(val)	bfin_write16(CAN0_AM26H, val)
#define bfin_read_CAN0_AM27L()		bfin_read16(CAN0_AM27L)
#define bfin_write_CAN0_AM27L(val)	bfin_write16(CAN0_AM27L, val)
#define bfin_read_CAN0_AM27H()		bfin_read16(CAN0_AM27H)
#define bfin_write_CAN0_AM27H(val)	bfin_write16(CAN0_AM27H, val)
#define bfin_read_CAN0_AM28L()		bfin_read16(CAN0_AM28L)
#define bfin_write_CAN0_AM28L(val)	bfin_write16(CAN0_AM28L, val)
#define bfin_read_CAN0_AM28H()		bfin_read16(CAN0_AM28H)
#define bfin_write_CAN0_AM28H(val)	bfin_write16(CAN0_AM28H, val)
#define bfin_read_CAN0_AM29L()		bfin_read16(CAN0_AM29L)
#define bfin_write_CAN0_AM29L(val)	bfin_write16(CAN0_AM29L, val)
#define bfin_read_CAN0_AM29H()		bfin_read16(CAN0_AM29H)
#define bfin_write_CAN0_AM29H(val)	bfin_write16(CAN0_AM29H, val)
#define bfin_read_CAN0_AM30L()		bfin_read16(CAN0_AM30L)
#define bfin_write_CAN0_AM30L(val)	bfin_write16(CAN0_AM30L, val)
#define bfin_read_CAN0_AM30H()		bfin_read16(CAN0_AM30H)
#define bfin_write_CAN0_AM30H(val)	bfin_write16(CAN0_AM30H, val)
#define bfin_read_CAN0_AM31L()		bfin_read16(CAN0_AM31L)
#define bfin_write_CAN0_AM31L(val)	bfin_write16(CAN0_AM31L, val)
#define bfin_read_CAN0_AM31H()		bfin_read16(CAN0_AM31H)
#define bfin_write_CAN0_AM31H(val)	bfin_write16(CAN0_AM31H, val)

/* CAN Controller 0 Mailbox Data Registers */

#define bfin_read_CAN0_MB00_DATA0()		bfin_read16(CAN0_MB00_DATA0)
#define bfin_write_CAN0_MB00_DATA0(val)		bfin_write16(CAN0_MB00_DATA0, val)
#define bfin_read_CAN0_MB00_DATA1()		bfin_read16(CAN0_MB00_DATA1)
#define bfin_write_CAN0_MB00_DATA1(val)		bfin_write16(CAN0_MB00_DATA1, val)
#define bfin_read_CAN0_MB00_DATA2()		bfin_read16(CAN0_MB00_DATA2)
#define bfin_write_CAN0_MB00_DATA2(val)		bfin_write16(CAN0_MB00_DATA2, val)
#define bfin_read_CAN0_MB00_DATA3()		bfin_read16(CAN0_MB00_DATA3)
#define bfin_write_CAN0_MB00_DATA3(val)		bfin_write16(CAN0_MB00_DATA3, val)
#define bfin_read_CAN0_MB00_LENGTH()		bfin_read16(CAN0_MB00_LENGTH)
#define bfin_write_CAN0_MB00_LENGTH(val)	bfin_write16(CAN0_MB00_LENGTH, val)
#define bfin_read_CAN0_MB00_TIMESTAMP()		bfin_read16(CAN0_MB00_TIMESTAMP)
#define bfin_write_CAN0_MB00_TIMESTAMP(val)	bfin_write16(CAN0_MB00_TIMESTAMP, val)
#define bfin_read_CAN0_MB00_ID0()		bfin_read16(CAN0_MB00_ID0)
#define bfin_write_CAN0_MB00_ID0(val)		bfin_write16(CAN0_MB00_ID0, val)
#define bfin_read_CAN0_MB00_ID1()		bfin_read16(CAN0_MB00_ID1)
#define bfin_write_CAN0_MB00_ID1(val)		bfin_write16(CAN0_MB00_ID1, val)
#define bfin_read_CAN0_MB01_DATA0()		bfin_read16(CAN0_MB01_DATA0)
#define bfin_write_CAN0_MB01_DATA0(val)		bfin_write16(CAN0_MB01_DATA0, val)
#define bfin_read_CAN0_MB01_DATA1()		bfin_read16(CAN0_MB01_DATA1)
#define bfin_write_CAN0_MB01_DATA1(val)		bfin_write16(CAN0_MB01_DATA1, val)
#define bfin_read_CAN0_MB01_DATA2()		bfin_read16(CAN0_MB01_DATA2)
#define bfin_write_CAN0_MB01_DATA2(val)		bfin_write16(CAN0_MB01_DATA2, val)
#define bfin_read_CAN0_MB01_DATA3()		bfin_read16(CAN0_MB01_DATA3)
#define bfin_write_CAN0_MB01_DATA3(val)		bfin_write16(CAN0_MB01_DATA3, val)
#define bfin_read_CAN0_MB01_LENGTH()		bfin_read16(CAN0_MB01_LENGTH)
#define bfin_write_CAN0_MB01_LENGTH(val)	bfin_write16(CAN0_MB01_LENGTH, val)
#define bfin_read_CAN0_MB01_TIMESTAMP()		bfin_read16(CAN0_MB01_TIMESTAMP)
#define bfin_write_CAN0_MB01_TIMESTAMP(val)	bfin_write16(CAN0_MB01_TIMESTAMP, val)
#define bfin_read_CAN0_MB01_ID0()		bfin_read16(CAN0_MB01_ID0)
#define bfin_write_CAN0_MB01_ID0(val)		bfin_write16(CAN0_MB01_ID0, val)
#define bfin_read_CAN0_MB01_ID1()		bfin_read16(CAN0_MB01_ID1)
#define bfin_write_CAN0_MB01_ID1(val)		bfin_write16(CAN0_MB01_ID1, val)
#define bfin_read_CAN0_MB02_DATA0()		bfin_read16(CAN0_MB02_DATA0)
#define bfin_write_CAN0_MB02_DATA0(val)		bfin_write16(CAN0_MB02_DATA0, val)
#define bfin_read_CAN0_MB02_DATA1()		bfin_read16(CAN0_MB02_DATA1)
#define bfin_write_CAN0_MB02_DATA1(val)		bfin_write16(CAN0_MB02_DATA1, val)
#define bfin_read_CAN0_MB02_DATA2()		bfin_read16(CAN0_MB02_DATA2)
#define bfin_write_CAN0_MB02_DATA2(val)		bfin_write16(CAN0_MB02_DATA2, val)
#define bfin_read_CAN0_MB02_DATA3()		bfin_read16(CAN0_MB02_DATA3)
#define bfin_write_CAN0_MB02_DATA3(val)		bfin_write16(CAN0_MB02_DATA3, val)
#define bfin_read_CAN0_MB02_LENGTH()		bfin_read16(CAN0_MB02_LENGTH)
#define bfin_write_CAN0_MB02_LENGTH(val)	bfin_write16(CAN0_MB02_LENGTH, val)
#define bfin_read_CAN0_MB02_TIMESTAMP()		bfin_read16(CAN0_MB02_TIMESTAMP)
#define bfin_write_CAN0_MB02_TIMESTAMP(val)	bfin_write16(CAN0_MB02_TIMESTAMP, val)
#define bfin_read_CAN0_MB02_ID0()		bfin_read16(CAN0_MB02_ID0)
#define bfin_write_CAN0_MB02_ID0(val)		bfin_write16(CAN0_MB02_ID0, val)
#define bfin_read_CAN0_MB02_ID1()		bfin_read16(CAN0_MB02_ID1)
#define bfin_write_CAN0_MB02_ID1(val)		bfin_write16(CAN0_MB02_ID1, val)
#define bfin_read_CAN0_MB03_DATA0()		bfin_read16(CAN0_MB03_DATA0)
#define bfin_write_CAN0_MB03_DATA0(val)		bfin_write16(CAN0_MB03_DATA0, val)
#define bfin_read_CAN0_MB03_DATA1()		bfin_read16(CAN0_MB03_DATA1)
#define bfin_write_CAN0_MB03_DATA1(val)		bfin_write16(CAN0_MB03_DATA1, val)
#define bfin_read_CAN0_MB03_DATA2()		bfin_read16(CAN0_MB03_DATA2)
#define bfin_write_CAN0_MB03_DATA2(val)		bfin_write16(CAN0_MB03_DATA2, val)
#define bfin_read_CAN0_MB03_DATA3()		bfin_read16(CAN0_MB03_DATA3)
#define bfin_write_CAN0_MB03_DATA3(val)		bfin_write16(CAN0_MB03_DATA3, val)
#define bfin_read_CAN0_MB03_LENGTH()		bfin_read16(CAN0_MB03_LENGTH)
#define bfin_write_CAN0_MB03_LENGTH(val)	bfin_write16(CAN0_MB03_LENGTH, val)
#define bfin_read_CAN0_MB03_TIMESTAMP()		bfin_read16(CAN0_MB03_TIMESTAMP)
#define bfin_write_CAN0_MB03_TIMESTAMP(val)	bfin_write16(CAN0_MB03_TIMESTAMP, val)
#define bfin_read_CAN0_MB03_ID0()		bfin_read16(CAN0_MB03_ID0)
#define bfin_write_CAN0_MB03_ID0(val)		bfin_write16(CAN0_MB03_ID0, val)
#define bfin_read_CAN0_MB03_ID1()		bfin_read16(CAN0_MB03_ID1)
#define bfin_write_CAN0_MB03_ID1(val)		bfin_write16(CAN0_MB03_ID1, val)
#define bfin_read_CAN0_MB04_DATA0()		bfin_read16(CAN0_MB04_DATA0)
#define bfin_write_CAN0_MB04_DATA0(val)		bfin_write16(CAN0_MB04_DATA0, val)
#define bfin_read_CAN0_MB04_DATA1()		bfin_read16(CAN0_MB04_DATA1)
#define bfin_write_CAN0_MB04_DATA1(val)		bfin_write16(CAN0_MB04_DATA1, val)
#define bfin_read_CAN0_MB04_DATA2()		bfin_read16(CAN0_MB04_DATA2)
#define bfin_write_CAN0_MB04_DATA2(val)		bfin_write16(CAN0_MB04_DATA2, val)
#define bfin_read_CAN0_MB04_DATA3()		bfin_read16(CAN0_MB04_DATA3)
#define bfin_write_CAN0_MB04_DATA3(val)		bfin_write16(CAN0_MB04_DATA3, val)
#define bfin_read_CAN0_MB04_LENGTH()		bfin_read16(CAN0_MB04_LENGTH)
#define bfin_write_CAN0_MB04_LENGTH(val)	bfin_write16(CAN0_MB04_LENGTH, val)
#define bfin_read_CAN0_MB04_TIMESTAMP()		bfin_read16(CAN0_MB04_TIMESTAMP)
#define bfin_write_CAN0_MB04_TIMESTAMP(val)	bfin_write16(CAN0_MB04_TIMESTAMP, val)
#define bfin_read_CAN0_MB04_ID0()		bfin_read16(CAN0_MB04_ID0)
#define bfin_write_CAN0_MB04_ID0(val)		bfin_write16(CAN0_MB04_ID0, val)
#define bfin_read_CAN0_MB04_ID1()		bfin_read16(CAN0_MB04_ID1)
#define bfin_write_CAN0_MB04_ID1(val)		bfin_write16(CAN0_MB04_ID1, val)
#define bfin_read_CAN0_MB05_DATA0()		bfin_read16(CAN0_MB05_DATA0)
#define bfin_write_CAN0_MB05_DATA0(val)		bfin_write16(CAN0_MB05_DATA0, val)
#define bfin_read_CAN0_MB05_DATA1()		bfin_read16(CAN0_MB05_DATA1)
#define bfin_write_CAN0_MB05_DATA1(val)		bfin_write16(CAN0_MB05_DATA1, val)
#define bfin_read_CAN0_MB05_DATA2()		bfin_read16(CAN0_MB05_DATA2)
#define bfin_write_CAN0_MB05_DATA2(val)		bfin_write16(CAN0_MB05_DATA2, val)
#define bfin_read_CAN0_MB05_DATA3()		bfin_read16(CAN0_MB05_DATA3)
#define bfin_write_CAN0_MB05_DATA3(val)		bfin_write16(CAN0_MB05_DATA3, val)
#define bfin_read_CAN0_MB05_LENGTH()		bfin_read16(CAN0_MB05_LENGTH)
#define bfin_write_CAN0_MB05_LENGTH(val)	bfin_write16(CAN0_MB05_LENGTH, val)
#define bfin_read_CAN0_MB05_TIMESTAMP()		bfin_read16(CAN0_MB05_TIMESTAMP)
#define bfin_write_CAN0_MB05_TIMESTAMP(val)	bfin_write16(CAN0_MB05_TIMESTAMP, val)
#define bfin_read_CAN0_MB05_ID0()		bfin_read16(CAN0_MB05_ID0)
#define bfin_write_CAN0_MB05_ID0(val)		bfin_write16(CAN0_MB05_ID0, val)
#define bfin_read_CAN0_MB05_ID1()		bfin_read16(CAN0_MB05_ID1)
#define bfin_write_CAN0_MB05_ID1(val)		bfin_write16(CAN0_MB05_ID1, val)
#define bfin_read_CAN0_MB06_DATA0()		bfin_read16(CAN0_MB06_DATA0)
#define bfin_write_CAN0_MB06_DATA0(val)		bfin_write16(CAN0_MB06_DATA0, val)
#define bfin_read_CAN0_MB06_DATA1()		bfin_read16(CAN0_MB06_DATA1)
#define bfin_write_CAN0_MB06_DATA1(val)		bfin_write16(CAN0_MB06_DATA1, val)
#define bfin_read_CAN0_MB06_DATA2()		bfin_read16(CAN0_MB06_DATA2)
#define bfin_write_CAN0_MB06_DATA2(val)		bfin_write16(CAN0_MB06_DATA2, val)
#define bfin_read_CAN0_MB06_DATA3()		bfin_read16(CAN0_MB06_DATA3)
#define bfin_write_CAN0_MB06_DATA3(val)		bfin_write16(CAN0_MB06_DATA3, val)
#define bfin_read_CAN0_MB06_LENGTH()		bfin_read16(CAN0_MB06_LENGTH)
#define bfin_write_CAN0_MB06_LENGTH(val)	bfin_write16(CAN0_MB06_LENGTH, val)
#define bfin_read_CAN0_MB06_TIMESTAMP()		bfin_read16(CAN0_MB06_TIMESTAMP)
#define bfin_write_CAN0_MB06_TIMESTAMP(val)	bfin_write16(CAN0_MB06_TIMESTAMP, val)
#define bfin_read_CAN0_MB06_ID0()		bfin_read16(CAN0_MB06_ID0)
#define bfin_write_CAN0_MB06_ID0(val)		bfin_write16(CAN0_MB06_ID0, val)
#define bfin_read_CAN0_MB06_ID1()		bfin_read16(CAN0_MB06_ID1)
#define bfin_write_CAN0_MB06_ID1(val)		bfin_write16(CAN0_MB06_ID1, val)
#define bfin_read_CAN0_MB07_DATA0()		bfin_read16(CAN0_MB07_DATA0)
#define bfin_write_CAN0_MB07_DATA0(val)		bfin_write16(CAN0_MB07_DATA0, val)
#define bfin_read_CAN0_MB07_DATA1()		bfin_read16(CAN0_MB07_DATA1)
#define bfin_write_CAN0_MB07_DATA1(val)		bfin_write16(CAN0_MB07_DATA1, val)
#define bfin_read_CAN0_MB07_DATA2()		bfin_read16(CAN0_MB07_DATA2)
#define bfin_write_CAN0_MB07_DATA2(val)		bfin_write16(CAN0_MB07_DATA2, val)
#define bfin_read_CAN0_MB07_DATA3()		bfin_read16(CAN0_MB07_DATA3)
#define bfin_write_CAN0_MB07_DATA3(val)		bfin_write16(CAN0_MB07_DATA3, val)
#define bfin_read_CAN0_MB07_LENGTH()		bfin_read16(CAN0_MB07_LENGTH)
#define bfin_write_CAN0_MB07_LENGTH(val)	bfin_write16(CAN0_MB07_LENGTH, val)
#define bfin_read_CAN0_MB07_TIMESTAMP()		bfin_read16(CAN0_MB07_TIMESTAMP)
#define bfin_write_CAN0_MB07_TIMESTAMP(val)	bfin_write16(CAN0_MB07_TIMESTAMP, val)
#define bfin_read_CAN0_MB07_ID0()		bfin_read16(CAN0_MB07_ID0)
#define bfin_write_CAN0_MB07_ID0(val)		bfin_write16(CAN0_MB07_ID0, val)
#define bfin_read_CAN0_MB07_ID1()		bfin_read16(CAN0_MB07_ID1)
#define bfin_write_CAN0_MB07_ID1(val)		bfin_write16(CAN0_MB07_ID1, val)
#define bfin_read_CAN0_MB08_DATA0()		bfin_read16(CAN0_MB08_DATA0)
#define bfin_write_CAN0_MB08_DATA0(val)		bfin_write16(CAN0_MB08_DATA0, val)
#define bfin_read_CAN0_MB08_DATA1()		bfin_read16(CAN0_MB08_DATA1)
#define bfin_write_CAN0_MB08_DATA1(val)		bfin_write16(CAN0_MB08_DATA1, val)
#define bfin_read_CAN0_MB08_DATA2()		bfin_read16(CAN0_MB08_DATA2)
#define bfin_write_CAN0_MB08_DATA2(val)		bfin_write16(CAN0_MB08_DATA2, val)
#define bfin_read_CAN0_MB08_DATA3()		bfin_read16(CAN0_MB08_DATA3)
#define bfin_write_CAN0_MB08_DATA3(val)		bfin_write16(CAN0_MB08_DATA3, val)
#define bfin_read_CAN0_MB08_LENGTH()		bfin_read16(CAN0_MB08_LENGTH)
#define bfin_write_CAN0_MB08_LENGTH(val)	bfin_write16(CAN0_MB08_LENGTH, val)
#define bfin_read_CAN0_MB08_TIMESTAMP()		bfin_read16(CAN0_MB08_TIMESTAMP)
#define bfin_write_CAN0_MB08_TIMESTAMP(val)	bfin_write16(CAN0_MB08_TIMESTAMP, val)
#define bfin_read_CAN0_MB08_ID0()		bfin_read16(CAN0_MB08_ID0)
#define bfin_write_CAN0_MB08_ID0(val)		bfin_write16(CAN0_MB08_ID0, val)
#define bfin_read_CAN0_MB08_ID1()		bfin_read16(CAN0_MB08_ID1)
#define bfin_write_CAN0_MB08_ID1(val)		bfin_write16(CAN0_MB08_ID1, val)
#define bfin_read_CAN0_MB09_DATA0()		bfin_read16(CAN0_MB09_DATA0)
#define bfin_write_CAN0_MB09_DATA0(val)		bfin_write16(CAN0_MB09_DATA0, val)
#define bfin_read_CAN0_MB09_DATA1()		bfin_read16(CAN0_MB09_DATA1)
#define bfin_write_CAN0_MB09_DATA1(val)		bfin_write16(CAN0_MB09_DATA1, val)
#define bfin_read_CAN0_MB09_DATA2()		bfin_read16(CAN0_MB09_DATA2)
#define bfin_write_CAN0_MB09_DATA2(val)		bfin_write16(CAN0_MB09_DATA2, val)
#define bfin_read_CAN0_MB09_DATA3()		bfin_read16(CAN0_MB09_DATA3)
#define bfin_write_CAN0_MB09_DATA3(val)		bfin_write16(CAN0_MB09_DATA3, val)
#define bfin_read_CAN0_MB09_LENGTH()		bfin_read16(CAN0_MB09_LENGTH)
#define bfin_write_CAN0_MB09_LENGTH(val)	bfin_write16(CAN0_MB09_LENGTH, val)
#define bfin_read_CAN0_MB09_TIMESTAMP()		bfin_read16(CAN0_MB09_TIMESTAMP)
#define bfin_write_CAN0_MB09_TIMESTAMP(val)	bfin_write16(CAN0_MB09_TIMESTAMP, val)
#define bfin_read_CAN0_MB09_ID0()		bfin_read16(CAN0_MB09_ID0)
#define bfin_write_CAN0_MB09_ID0(val)		bfin_write16(CAN0_MB09_ID0, val)
#define bfin_read_CAN0_MB09_ID1()		bfin_read16(CAN0_MB09_ID1)
#define bfin_write_CAN0_MB09_ID1(val)		bfin_write16(CAN0_MB09_ID1, val)
#define bfin_read_CAN0_MB10_DATA0()		bfin_read16(CAN0_MB10_DATA0)
#define bfin_write_CAN0_MB10_DATA0(val)		bfin_write16(CAN0_MB10_DATA0, val)
#define bfin_read_CAN0_MB10_DATA1()		bfin_read16(CAN0_MB10_DATA1)
#define bfin_write_CAN0_MB10_DATA1(val)		bfin_write16(CAN0_MB10_DATA1, val)
#define bfin_read_CAN0_MB10_DATA2()		bfin_read16(CAN0_MB10_DATA2)
#define bfin_write_CAN0_MB10_DATA2(val)		bfin_write16(CAN0_MB10_DATA2, val)
#define bfin_read_CAN0_MB10_DATA3()		bfin_read16(CAN0_MB10_DATA3)
#define bfin_write_CAN0_MB10_DATA3(val)		bfin_write16(CAN0_MB10_DATA3, val)
#define bfin_read_CAN0_MB10_LENGTH()		bfin_read16(CAN0_MB10_LENGTH)
#define bfin_write_CAN0_MB10_LENGTH(val)	bfin_write16(CAN0_MB10_LENGTH, val)
#define bfin_read_CAN0_MB10_TIMESTAMP()		bfin_read16(CAN0_MB10_TIMESTAMP)
#define bfin_write_CAN0_MB10_TIMESTAMP(val)	bfin_write16(CAN0_MB10_TIMESTAMP, val)
#define bfin_read_CAN0_MB10_ID0()		bfin_read16(CAN0_MB10_ID0)
#define bfin_write_CAN0_MB10_ID0(val)		bfin_write16(CAN0_MB10_ID0, val)
#define bfin_read_CAN0_MB10_ID1()		bfin_read16(CAN0_MB10_ID1)
#define bfin_write_CAN0_MB10_ID1(val)		bfin_write16(CAN0_MB10_ID1, val)
#define bfin_read_CAN0_MB11_DATA0()		bfin_read16(CAN0_MB11_DATA0)
#define bfin_write_CAN0_MB11_DATA0(val)		bfin_write16(CAN0_MB11_DATA0, val)
#define bfin_read_CAN0_MB11_DATA1()		bfin_read16(CAN0_MB11_DATA1)
#define bfin_write_CAN0_MB11_DATA1(val)		bfin_write16(CAN0_MB11_DATA1, val)
#define bfin_read_CAN0_MB11_DATA2()		bfin_read16(CAN0_MB11_DATA2)
#define bfin_write_CAN0_MB11_DATA2(val)		bfin_write16(CAN0_MB11_DATA2, val)
#define bfin_read_CAN0_MB11_DATA3()		bfin_read16(CAN0_MB11_DATA3)
#define bfin_write_CAN0_MB11_DATA3(val)		bfin_write16(CAN0_MB11_DATA3, val)
#define bfin_read_CAN0_MB11_LENGTH()		bfin_read16(CAN0_MB11_LENGTH)
#define bfin_write_CAN0_MB11_LENGTH(val)	bfin_write16(CAN0_MB11_LENGTH, val)
#define bfin_read_CAN0_MB11_TIMESTAMP()		bfin_read16(CAN0_MB11_TIMESTAMP)
#define bfin_write_CAN0_MB11_TIMESTAMP(val)	bfin_write16(CAN0_MB11_TIMESTAMP, val)
#define bfin_read_CAN0_MB11_ID0()		bfin_read16(CAN0_MB11_ID0)
#define bfin_write_CAN0_MB11_ID0(val)		bfin_write16(CAN0_MB11_ID0, val)
#define bfin_read_CAN0_MB11_ID1()		bfin_read16(CAN0_MB11_ID1)
#define bfin_write_CAN0_MB11_ID1(val)		bfin_write16(CAN0_MB11_ID1, val)
#define bfin_read_CAN0_MB12_DATA0()		bfin_read16(CAN0_MB12_DATA0)
#define bfin_write_CAN0_MB12_DATA0(val)		bfin_write16(CAN0_MB12_DATA0, val)
#define bfin_read_CAN0_MB12_DATA1()		bfin_read16(CAN0_MB12_DATA1)
#define bfin_write_CAN0_MB12_DATA1(val)		bfin_write16(CAN0_MB12_DATA1, val)
#define bfin_read_CAN0_MB12_DATA2()		bfin_read16(CAN0_MB12_DATA2)
#define bfin_write_CAN0_MB12_DATA2(val)		bfin_write16(CAN0_MB12_DATA2, val)
#define bfin_read_CAN0_MB12_DATA3()		bfin_read16(CAN0_MB12_DATA3)
#define bfin_write_CAN0_MB12_DATA3(val)		bfin_write16(CAN0_MB12_DATA3, val)
#define bfin_read_CAN0_MB12_LENGTH()		bfin_read16(CAN0_MB12_LENGTH)
#define bfin_write_CAN0_MB12_LENGTH(val)	bfin_write16(CAN0_MB12_LENGTH, val)
#define bfin_read_CAN0_MB12_TIMESTAMP()		bfin_read16(CAN0_MB12_TIMESTAMP)
#define bfin_write_CAN0_MB12_TIMESTAMP(val)	bfin_write16(CAN0_MB12_TIMESTAMP, val)
#define bfin_read_CAN0_MB12_ID0()		bfin_read16(CAN0_MB12_ID0)
#define bfin_write_CAN0_MB12_ID0(val)		bfin_write16(CAN0_MB12_ID0, val)
#define bfin_read_CAN0_MB12_ID1()		bfin_read16(CAN0_MB12_ID1)
#define bfin_write_CAN0_MB12_ID1(val)		bfin_write16(CAN0_MB12_ID1, val)
#define bfin_read_CAN0_MB13_DATA0()		bfin_read16(CAN0_MB13_DATA0)
#define bfin_write_CAN0_MB13_DATA0(val)		bfin_write16(CAN0_MB13_DATA0, val)
#define bfin_read_CAN0_MB13_DATA1()		bfin_read16(CAN0_MB13_DATA1)
#define bfin_write_CAN0_MB13_DATA1(val)		bfin_write16(CAN0_MB13_DATA1, val)
#define bfin_read_CAN0_MB13_DATA2()		bfin_read16(CAN0_MB13_DATA2)
#define bfin_write_CAN0_MB13_DATA2(val)		bfin_write16(CAN0_MB13_DATA2, val)
#define bfin_read_CAN0_MB13_DATA3()		bfin_read16(CAN0_MB13_DATA3)
#define bfin_write_CAN0_MB13_DATA3(val)		bfin_write16(CAN0_MB13_DATA3, val)
#define bfin_read_CAN0_MB13_LENGTH()		bfin_read16(CAN0_MB13_LENGTH)
#define bfin_write_CAN0_MB13_LENGTH(val)	bfin_write16(CAN0_MB13_LENGTH, val)
#define bfin_read_CAN0_MB13_TIMESTAMP()		bfin_read16(CAN0_MB13_TIMESTAMP)
#define bfin_write_CAN0_MB13_TIMESTAMP(val)	bfin_write16(CAN0_MB13_TIMESTAMP, val)
#define bfin_read_CAN0_MB13_ID0()		bfin_read16(CAN0_MB13_ID0)
#define bfin_write_CAN0_MB13_ID0(val)		bfin_write16(CAN0_MB13_ID0, val)
#define bfin_read_CAN0_MB13_ID1()		bfin_read16(CAN0_MB13_ID1)
#define bfin_write_CAN0_MB13_ID1(val)		bfin_write16(CAN0_MB13_ID1, val)
#define bfin_read_CAN0_MB14_DATA0()		bfin_read16(CAN0_MB14_DATA0)
#define bfin_write_CAN0_MB14_DATA0(val)		bfin_write16(CAN0_MB14_DATA0, val)
#define bfin_read_CAN0_MB14_DATA1()		bfin_read16(CAN0_MB14_DATA1)
#define bfin_write_CAN0_MB14_DATA1(val)		bfin_write16(CAN0_MB14_DATA1, val)
#define bfin_read_CAN0_MB14_DATA2()		bfin_read16(CAN0_MB14_DATA2)
#define bfin_write_CAN0_MB14_DATA2(val)		bfin_write16(CAN0_MB14_DATA2, val)
#define bfin_read_CAN0_MB14_DATA3()		bfin_read16(CAN0_MB14_DATA3)
#define bfin_write_CAN0_MB14_DATA3(val)		bfin_write16(CAN0_MB14_DATA3, val)
#define bfin_read_CAN0_MB14_LENGTH()		bfin_read16(CAN0_MB14_LENGTH)
#define bfin_write_CAN0_MB14_LENGTH(val)	bfin_write16(CAN0_MB14_LENGTH, val)
#define bfin_read_CAN0_MB14_TIMESTAMP()		bfin_read16(CAN0_MB14_TIMESTAMP)
#define bfin_write_CAN0_MB14_TIMESTAMP(val)	bfin_write16(CAN0_MB14_TIMESTAMP, val)
#define bfin_read_CAN0_MB14_ID0()		bfin_read16(CAN0_MB14_ID0)
#define bfin_write_CAN0_MB14_ID0(val)		bfin_write16(CAN0_MB14_ID0, val)
#define bfin_read_CAN0_MB14_ID1()		bfin_read16(CAN0_MB14_ID1)
#define bfin_write_CAN0_MB14_ID1(val)		bfin_write16(CAN0_MB14_ID1, val)
#define bfin_read_CAN0_MB15_DATA0()		bfin_read16(CAN0_MB15_DATA0)
#define bfin_write_CAN0_MB15_DATA0(val)		bfin_write16(CAN0_MB15_DATA0, val)
#define bfin_read_CAN0_MB15_DATA1()		bfin_read16(CAN0_MB15_DATA1)
#define bfin_write_CAN0_MB15_DATA1(val)		bfin_write16(CAN0_MB15_DATA1, val)
#define bfin_read_CAN0_MB15_DATA2()		bfin_read16(CAN0_MB15_DATA2)
#define bfin_write_CAN0_MB15_DATA2(val)		bfin_write16(CAN0_MB15_DATA2, val)
#define bfin_read_CAN0_MB15_DATA3()		bfin_read16(CAN0_MB15_DATA3)
#define bfin_write_CAN0_MB15_DATA3(val)		bfin_write16(CAN0_MB15_DATA3, val)
#define bfin_read_CAN0_MB15_LENGTH()		bfin_read16(CAN0_MB15_LENGTH)
#define bfin_write_CAN0_MB15_LENGTH(val)	bfin_write16(CAN0_MB15_LENGTH, val)
#define bfin_read_CAN0_MB15_TIMESTAMP()		bfin_read16(CAN0_MB15_TIMESTAMP)
#define bfin_write_CAN0_MB15_TIMESTAMP(val)	bfin_write16(CAN0_MB15_TIMESTAMP, val)
#define bfin_read_CAN0_MB15_ID0()		bfin_read16(CAN0_MB15_ID0)
#define bfin_write_CAN0_MB15_ID0(val)		bfin_write16(CAN0_MB15_ID0, val)
#define bfin_read_CAN0_MB15_ID1()		bfin_read16(CAN0_MB15_ID1)
#define bfin_write_CAN0_MB15_ID1(val)		bfin_write16(CAN0_MB15_ID1, val)

/* CAN Controller 0 Mailbox Data Registers */

#define bfin_read_CAN0_MB16_DATA0()		bfin_read16(CAN0_MB16_DATA0)
#define bfin_write_CAN0_MB16_DATA0(val)		bfin_write16(CAN0_MB16_DATA0, val)
#define bfin_read_CAN0_MB16_DATA1()		bfin_read16(CAN0_MB16_DATA1)
#define bfin_write_CAN0_MB16_DATA1(val)		bfin_write16(CAN0_MB16_DATA1, val)
#define bfin_read_CAN0_MB16_DATA2()		bfin_read16(CAN0_MB16_DATA2)
#define bfin_write_CAN0_MB16_DATA2(val)		bfin_write16(CAN0_MB16_DATA2, val)
#define bfin_read_CAN0_MB16_DATA3()		bfin_read16(CAN0_MB16_DATA3)
#define bfin_write_CAN0_MB16_DATA3(val)		bfin_write16(CAN0_MB16_DATA3, val)
#define bfin_read_CAN0_MB16_LENGTH()		bfin_read16(CAN0_MB16_LENGTH)
#define bfin_write_CAN0_MB16_LENGTH(val)	bfin_write16(CAN0_MB16_LENGTH, val)
#define bfin_read_CAN0_MB16_TIMESTAMP()		bfin_read16(CAN0_MB16_TIMESTAMP)
#define bfin_write_CAN0_MB16_TIMESTAMP(val)	bfin_write16(CAN0_MB16_TIMESTAMP, val)
#define bfin_read_CAN0_MB16_ID0()		bfin_read16(CAN0_MB16_ID0)
#define bfin_write_CAN0_MB16_ID0(val)		bfin_write16(CAN0_MB16_ID0, val)
#define bfin_read_CAN0_MB16_ID1()		bfin_read16(CAN0_MB16_ID1)
#define bfin_write_CAN0_MB16_ID1(val)		bfin_write16(CAN0_MB16_ID1, val)
#define bfin_read_CAN0_MB17_DATA0()		bfin_read16(CAN0_MB17_DATA0)
#define bfin_write_CAN0_MB17_DATA0(val)		bfin_write16(CAN0_MB17_DATA0, val)
#define bfin_read_CAN0_MB17_DATA1()		bfin_read16(CAN0_MB17_DATA1)
#define bfin_write_CAN0_MB17_DATA1(val)		bfin_write16(CAN0_MB17_DATA1, val)
#define bfin_read_CAN0_MB17_DATA2()		bfin_read16(CAN0_MB17_DATA2)
#define bfin_write_CAN0_MB17_DATA2(val)		bfin_write16(CAN0_MB17_DATA2, val)
#define bfin_read_CAN0_MB17_DATA3()		bfin_read16(CAN0_MB17_DATA3)
#define bfin_write_CAN0_MB17_DATA3(val)		bfin_write16(CAN0_MB17_DATA3, val)
#define bfin_read_CAN0_MB17_LENGTH()		bfin_read16(CAN0_MB17_LENGTH)
#define bfin_write_CAN0_MB17_LENGTH(val)	bfin_write16(CAN0_MB17_LENGTH, val)
#define bfin_read_CAN0_MB17_TIMESTAMP()		bfin_read16(CAN0_MB17_TIMESTAMP)
#define bfin_write_CAN0_MB17_TIMESTAMP(val)	bfin_write16(CAN0_MB17_TIMESTAMP, val)
#define bfin_read_CAN0_MB17_ID0()		bfin_read16(CAN0_MB17_ID0)
#define bfin_write_CAN0_MB17_ID0(val)		bfin_write16(CAN0_MB17_ID0, val)
#define bfin_read_CAN0_MB17_ID1()		bfin_read16(CAN0_MB17_ID1)
#define bfin_write_CAN0_MB17_ID1(val)		bfin_write16(CAN0_MB17_ID1, val)
#define bfin_read_CAN0_MB18_DATA0()		bfin_read16(CAN0_MB18_DATA0)
#define bfin_write_CAN0_MB18_DATA0(val)		bfin_write16(CAN0_MB18_DATA0, val)
#define bfin_read_CAN0_MB18_DATA1()		bfin_read16(CAN0_MB18_DATA1)
#define bfin_write_CAN0_MB18_DATA1(val)		bfin_write16(CAN0_MB18_DATA1, val)
#define bfin_read_CAN0_MB18_DATA2()		bfin_read16(CAN0_MB18_DATA2)
#define bfin_write_CAN0_MB18_DATA2(val)		bfin_write16(CAN0_MB18_DATA2, val)
#define bfin_read_CAN0_MB18_DATA3()		bfin_read16(CAN0_MB18_DATA3)
#define bfin_write_CAN0_MB18_DATA3(val)		bfin_write16(CAN0_MB18_DATA3, val)
#define bfin_read_CAN0_MB18_LENGTH()		bfin_read16(CAN0_MB18_LENGTH)
#define bfin_write_CAN0_MB18_LENGTH(val)	bfin_write16(CAN0_MB18_LENGTH, val)
#define bfin_read_CAN0_MB18_TIMESTAMP()		bfin_read16(CAN0_MB18_TIMESTAMP)
#define bfin_write_CAN0_MB18_TIMESTAMP(val)	bfin_write16(CAN0_MB18_TIMESTAMP, val)
#define bfin_read_CAN0_MB18_ID0()		bfin_read16(CAN0_MB18_ID0)
#define bfin_write_CAN0_MB18_ID0(val)		bfin_write16(CAN0_MB18_ID0, val)
#define bfin_read_CAN0_MB18_ID1()		bfin_read16(CAN0_MB18_ID1)
#define bfin_write_CAN0_MB18_ID1(val)		bfin_write16(CAN0_MB18_ID1, val)
#define bfin_read_CAN0_MB19_DATA0()		bfin_read16(CAN0_MB19_DATA0)
#define bfin_write_CAN0_MB19_DATA0(val)		bfin_write16(CAN0_MB19_DATA0, val)
#define bfin_read_CAN0_MB19_DATA1()		bfin_read16(CAN0_MB19_DATA1)
#define bfin_write_CAN0_MB19_DATA1(val)		bfin_write16(CAN0_MB19_DATA1, val)
#define bfin_read_CAN0_MB19_DATA2()		bfin_read16(CAN0_MB19_DATA2)
#define bfin_write_CAN0_MB19_DATA2(val)		bfin_write16(CAN0_MB19_DATA2, val)
#define bfin_read_CAN0_MB19_DATA3()		bfin_read16(CAN0_MB19_DATA3)
#define bfin_write_CAN0_MB19_DATA3(val)		bfin_write16(CAN0_MB19_DATA3, val)
#define bfin_read_CAN0_MB19_LENGTH()		bfin_read16(CAN0_MB19_LENGTH)
#define bfin_write_CAN0_MB19_LENGTH(val)	bfin_write16(CAN0_MB19_LENGTH, val)
#define bfin_read_CAN0_MB19_TIMESTAMP()		bfin_read16(CAN0_MB19_TIMESTAMP)
#define bfin_write_CAN0_MB19_TIMESTAMP(val)	bfin_write16(CAN0_MB19_TIMESTAMP, val)
#define bfin_read_CAN0_MB19_ID0()		bfin_read16(CAN0_MB19_ID0)
#define bfin_write_CAN0_MB19_ID0(val)		bfin_write16(CAN0_MB19_ID0, val)
#define bfin_read_CAN0_MB19_ID1()		bfin_read16(CAN0_MB19_ID1)
#define bfin_write_CAN0_MB19_ID1(val)		bfin_write16(CAN0_MB19_ID1, val)
#define bfin_read_CAN0_MB20_DATA0()		bfin_read16(CAN0_MB20_DATA0)
#define bfin_write_CAN0_MB20_DATA0(val)		bfin_write16(CAN0_MB20_DATA0, val)
#define bfin_read_CAN0_MB20_DATA1()		bfin_read16(CAN0_MB20_DATA1)
#define bfin_write_CAN0_MB20_DATA1(val)		bfin_write16(CAN0_MB20_DATA1, val)
#define bfin_read_CAN0_MB20_DATA2()		bfin_read16(CAN0_MB20_DATA2)
#define bfin_write_CAN0_MB20_DATA2(val)		bfin_write16(CAN0_MB20_DATA2, val)
#define bfin_read_CAN0_MB20_DATA3()		bfin_read16(CAN0_MB20_DATA3)
#define bfin_write_CAN0_MB20_DATA3(val)		bfin_write16(CAN0_MB20_DATA3, val)
#define bfin_read_CAN0_MB20_LENGTH()		bfin_read16(CAN0_MB20_LENGTH)
#define bfin_write_CAN0_MB20_LENGTH(val)	bfin_write16(CAN0_MB20_LENGTH, val)
#define bfin_read_CAN0_MB20_TIMESTAMP()		bfin_read16(CAN0_MB20_TIMESTAMP)
#define bfin_write_CAN0_MB20_TIMESTAMP(val)	bfin_write16(CAN0_MB20_TIMESTAMP, val)
#define bfin_read_CAN0_MB20_ID0()		bfin_read16(CAN0_MB20_ID0)
#define bfin_write_CAN0_MB20_ID0(val)		bfin_write16(CAN0_MB20_ID0, val)
#define bfin_read_CAN0_MB20_ID1()		bfin_read16(CAN0_MB20_ID1)
#define bfin_write_CAN0_MB20_ID1(val)		bfin_write16(CAN0_MB20_ID1, val)
#define bfin_read_CAN0_MB21_DATA0()		bfin_read16(CAN0_MB21_DATA0)
#define bfin_write_CAN0_MB21_DATA0(val)		bfin_write16(CAN0_MB21_DATA0, val)
#define bfin_read_CAN0_MB21_DATA1()		bfin_read16(CAN0_MB21_DATA1)
#define bfin_write_CAN0_MB21_DATA1(val)		bfin_write16(CAN0_MB21_DATA1, val)
#define bfin_read_CAN0_MB21_DATA2()		bfin_read16(CAN0_MB21_DATA2)
#define bfin_write_CAN0_MB21_DATA2(val)		bfin_write16(CAN0_MB21_DATA2, val)
#define bfin_read_CAN0_MB21_DATA3()		bfin_read16(CAN0_MB21_DATA3)
#define bfin_write_CAN0_MB21_DATA3(val)		bfin_write16(CAN0_MB21_DATA3, val)
#define bfin_read_CAN0_MB21_LENGTH()		bfin_read16(CAN0_MB21_LENGTH)
#define bfin_write_CAN0_MB21_LENGTH(val)	bfin_write16(CAN0_MB21_LENGTH, val)
#define bfin_read_CAN0_MB21_TIMESTAMP()		bfin_read16(CAN0_MB21_TIMESTAMP)
#define bfin_write_CAN0_MB21_TIMESTAMP(val)	bfin_write16(CAN0_MB21_TIMESTAMP, val)
#define bfin_read_CAN0_MB21_ID0()		bfin_read16(CAN0_MB21_ID0)
#define bfin_write_CAN0_MB21_ID0(val)		bfin_write16(CAN0_MB21_ID0, val)
#define bfin_read_CAN0_MB21_ID1()		bfin_read16(CAN0_MB21_ID1)
#define bfin_write_CAN0_MB21_ID1(val)		bfin_write16(CAN0_MB21_ID1, val)
#define bfin_read_CAN0_MB22_DATA0()		bfin_read16(CAN0_MB22_DATA0)
#define bfin_write_CAN0_MB22_DATA0(val)		bfin_write16(CAN0_MB22_DATA0, val)
#define bfin_read_CAN0_MB22_DATA1()		bfin_read16(CAN0_MB22_DATA1)
#define bfin_write_CAN0_MB22_DATA1(val)		bfin_write16(CAN0_MB22_DATA1, val)
#define bfin_read_CAN0_MB22_DATA2()		bfin_read16(CAN0_MB22_DATA2)
#define bfin_write_CAN0_MB22_DATA2(val)		bfin_write16(CAN0_MB22_DATA2, val)
#define bfin_read_CAN0_MB22_DATA3()		bfin_read16(CAN0_MB22_DATA3)
#define bfin_write_CAN0_MB22_DATA3(val)		bfin_write16(CAN0_MB22_DATA3, val)
#define bfin_read_CAN0_MB22_LENGTH()		bfin_read16(CAN0_MB22_LENGTH)
#define bfin_write_CAN0_MB22_LENGTH(val)	bfin_write16(CAN0_MB22_LENGTH, val)
#define bfin_read_CAN0_MB22_TIMESTAMP()		bfin_read16(CAN0_MB22_TIMESTAMP)
#define bfin_write_CAN0_MB22_TIMESTAMP(val)	bfin_write16(CAN0_MB22_TIMESTAMP, val)
#define bfin_read_CAN0_MB22_ID0()		bfin_read16(CAN0_MB22_ID0)
#define bfin_write_CAN0_MB22_ID0(val)		bfin_write16(CAN0_MB22_ID0, val)
#define bfin_read_CAN0_MB22_ID1()		bfin_read16(CAN0_MB22_ID1)
#define bfin_write_CAN0_MB22_ID1(val)		bfin_write16(CAN0_MB22_ID1, val)
#define bfin_read_CAN0_MB23_DATA0()		bfin_read16(CAN0_MB23_DATA0)
#define bfin_write_CAN0_MB23_DATA0(val)		bfin_write16(CAN0_MB23_DATA0, val)
#define bfin_read_CAN0_MB23_DATA1()		bfin_read16(CAN0_MB23_DATA1)
#define bfin_write_CAN0_MB23_DATA1(val)		bfin_write16(CAN0_MB23_DATA1, val)
#define bfin_read_CAN0_MB23_DATA2()		bfin_read16(CAN0_MB23_DATA2)
#define bfin_write_CAN0_MB23_DATA2(val)		bfin_write16(CAN0_MB23_DATA2, val)
#define bfin_read_CAN0_MB23_DATA3()		bfin_read16(CAN0_MB23_DATA3)
#define bfin_write_CAN0_MB23_DATA3(val)		bfin_write16(CAN0_MB23_DATA3, val)
#define bfin_read_CAN0_MB23_LENGTH()		bfin_read16(CAN0_MB23_LENGTH)
#define bfin_write_CAN0_MB23_LENGTH(val)	bfin_write16(CAN0_MB23_LENGTH, val)
#define bfin_read_CAN0_MB23_TIMESTAMP()		bfin_read16(CAN0_MB23_TIMESTAMP)
#define bfin_write_CAN0_MB23_TIMESTAMP(val)	bfin_write16(CAN0_MB23_TIMESTAMP, val)
#define bfin_read_CAN0_MB23_ID0()		bfin_read16(CAN0_MB23_ID0)
#define bfin_write_CAN0_MB23_ID0(val)		bfin_write16(CAN0_MB23_ID0, val)
#define bfin_read_CAN0_MB23_ID1()		bfin_read16(CAN0_MB23_ID1)
#define bfin_write_CAN0_MB23_ID1(val)		bfin_write16(CAN0_MB23_ID1, val)
#define bfin_read_CAN0_MB24_DATA0()		bfin_read16(CAN0_MB24_DATA0)
#define bfin_write_CAN0_MB24_DATA0(val)		bfin_write16(CAN0_MB24_DATA0, val)
#define bfin_read_CAN0_MB24_DATA1()		bfin_read16(CAN0_MB24_DATA1)
#define bfin_write_CAN0_MB24_DATA1(val)		bfin_write16(CAN0_MB24_DATA1, val)
#define bfin_read_CAN0_MB24_DATA2()		bfin_read16(CAN0_MB24_DATA2)
#define bfin_write_CAN0_MB24_DATA2(val)		bfin_write16(CAN0_MB24_DATA2, val)
#define bfin_read_CAN0_MB24_DATA3()		bfin_read16(CAN0_MB24_DATA3)
#define bfin_write_CAN0_MB24_DATA3(val)		bfin_write16(CAN0_MB24_DATA3, val)
#define bfin_read_CAN0_MB24_LENGTH()		bfin_read16(CAN0_MB24_LENGTH)
#define bfin_write_CAN0_MB24_LENGTH(val)	bfin_write16(CAN0_MB24_LENGTH, val)
#define bfin_read_CAN0_MB24_TIMESTAMP()		bfin_read16(CAN0_MB24_TIMESTAMP)
#define bfin_write_CAN0_MB24_TIMESTAMP(val)	bfin_write16(CAN0_MB24_TIMESTAMP, val)
#define bfin_read_CAN0_MB24_ID0()		bfin_read16(CAN0_MB24_ID0)
#define bfin_write_CAN0_MB24_ID0(val)		bfin_write16(CAN0_MB24_ID0, val)
#define bfin_read_CAN0_MB24_ID1()		bfin_read16(CAN0_MB24_ID1)
#define bfin_write_CAN0_MB24_ID1(val)		bfin_write16(CAN0_MB24_ID1, val)
#define bfin_read_CAN0_MB25_DATA0()		bfin_read16(CAN0_MB25_DATA0)
#define bfin_write_CAN0_MB25_DATA0(val)		bfin_write16(CAN0_MB25_DATA0, val)
#define bfin_read_CAN0_MB25_DATA1()		bfin_read16(CAN0_MB25_DATA1)
#define bfin_write_CAN0_MB25_DATA1(val)		bfin_write16(CAN0_MB25_DATA1, val)
#define bfin_read_CAN0_MB25_DATA2()		bfin_read16(CAN0_MB25_DATA2)
#define bfin_write_CAN0_MB25_DATA2(val)		bfin_write16(CAN0_MB25_DATA2, val)
#define bfin_read_CAN0_MB25_DATA3()		bfin_read16(CAN0_MB25_DATA3)
#define bfin_write_CAN0_MB25_DATA3(val)		bfin_write16(CAN0_MB25_DATA3, val)
#define bfin_read_CAN0_MB25_LENGTH()		bfin_read16(CAN0_MB25_LENGTH)
#define bfin_write_CAN0_MB25_LENGTH(val)	bfin_write16(CAN0_MB25_LENGTH, val)
#define bfin_read_CAN0_MB25_TIMESTAMP()		bfin_read16(CAN0_MB25_TIMESTAMP)
#define bfin_write_CAN0_MB25_TIMESTAMP(val)	bfin_write16(CAN0_MB25_TIMESTAMP, val)
#define bfin_read_CAN0_MB25_ID0()		bfin_read16(CAN0_MB25_ID0)
#define bfin_write_CAN0_MB25_ID0(val)		bfin_write16(CAN0_MB25_ID0, val)
#define bfin_read_CAN0_MB25_ID1()		bfin_read16(CAN0_MB25_ID1)
#define bfin_write_CAN0_MB25_ID1(val)		bfin_write16(CAN0_MB25_ID1, val)
#define bfin_read_CAN0_MB26_DATA0()		bfin_read16(CAN0_MB26_DATA0)
#define bfin_write_CAN0_MB26_DATA0(val)		bfin_write16(CAN0_MB26_DATA0, val)
#define bfin_read_CAN0_MB26_DATA1()		bfin_read16(CAN0_MB26_DATA1)
#define bfin_write_CAN0_MB26_DATA1(val)		bfin_write16(CAN0_MB26_DATA1, val)
#define bfin_read_CAN0_MB26_DATA2()		bfin_read16(CAN0_MB26_DATA2)
#define bfin_write_CAN0_MB26_DATA2(val)		bfin_write16(CAN0_MB26_DATA2, val)
#define bfin_read_CAN0_MB26_DATA3()		bfin_read16(CAN0_MB26_DATA3)
#define bfin_write_CAN0_MB26_DATA3(val)		bfin_write16(CAN0_MB26_DATA3, val)
#define bfin_read_CAN0_MB26_LENGTH()		bfin_read16(CAN0_MB26_LENGTH)
#define bfin_write_CAN0_MB26_LENGTH(val)	bfin_write16(CAN0_MB26_LENGTH, val)
#define bfin_read_CAN0_MB26_TIMESTAMP()		bfin_read16(CAN0_MB26_TIMESTAMP)
#define bfin_write_CAN0_MB26_TIMESTAMP(val)	bfin_write16(CAN0_MB26_TIMESTAMP, val)
#define bfin_read_CAN0_MB26_ID0()		bfin_read16(CAN0_MB26_ID0)
#define bfin_write_CAN0_MB26_ID0(val)		bfin_write16(CAN0_MB26_ID0, val)
#define bfin_read_CAN0_MB26_ID1()		bfin_read16(CAN0_MB26_ID1)
#define bfin_write_CAN0_MB26_ID1(val)		bfin_write16(CAN0_MB26_ID1, val)
#define bfin_read_CAN0_MB27_DATA0()		bfin_read16(CAN0_MB27_DATA0)
#define bfin_write_CAN0_MB27_DATA0(val)		bfin_write16(CAN0_MB27_DATA0, val)
#define bfin_read_CAN0_MB27_DATA1()		bfin_read16(CAN0_MB27_DATA1)
#define bfin_write_CAN0_MB27_DATA1(val)		bfin_write16(CAN0_MB27_DATA1, val)
#define bfin_read_CAN0_MB27_DATA2()		bfin_read16(CAN0_MB27_DATA2)
#define bfin_write_CAN0_MB27_DATA2(val)		bfin_write16(CAN0_MB27_DATA2, val)
#define bfin_read_CAN0_MB27_DATA3()		bfin_read16(CAN0_MB27_DATA3)
#define bfin_write_CAN0_MB27_DATA3(val)		bfin_write16(CAN0_MB27_DATA3, val)
#define bfin_read_CAN0_MB27_LENGTH()		bfin_read16(CAN0_MB27_LENGTH)
#define bfin_write_CAN0_MB27_LENGTH(val)	bfin_write16(CAN0_MB27_LENGTH, val)
#define bfin_read_CAN0_MB27_TIMESTAMP()		bfin_read16(CAN0_MB27_TIMESTAMP)
#define bfin_write_CAN0_MB27_TIMESTAMP(val)	bfin_write16(CAN0_MB27_TIMESTAMP, val)
#define bfin_read_CAN0_MB27_ID0()		bfin_read16(CAN0_MB27_ID0)
#define bfin_write_CAN0_MB27_ID0(val)		bfin_write16(CAN0_MB27_ID0, val)
#define bfin_read_CAN0_MB27_ID1()		bfin_read16(CAN0_MB27_ID1)
#define bfin_write_CAN0_MB27_ID1(val)		bfin_write16(CAN0_MB27_ID1, val)
#define bfin_read_CAN0_MB28_DATA0()		bfin_read16(CAN0_MB28_DATA0)
#define bfin_write_CAN0_MB28_DATA0(val)		bfin_write16(CAN0_MB28_DATA0, val)
#define bfin_read_CAN0_MB28_DATA1()		bfin_read16(CAN0_MB28_DATA1)
#define bfin_write_CAN0_MB28_DATA1(val)		bfin_write16(CAN0_MB28_DATA1, val)
#define bfin_read_CAN0_MB28_DATA2()		bfin_read16(CAN0_MB28_DATA2)
#define bfin_write_CAN0_MB28_DATA2(val)		bfin_write16(CAN0_MB28_DATA2, val)
#define bfin_read_CAN0_MB28_DATA3()		bfin_read16(CAN0_MB28_DATA3)
#define bfin_write_CAN0_MB28_DATA3(val)		bfin_write16(CAN0_MB28_DATA3, val)
#define bfin_read_CAN0_MB28_LENGTH()		bfin_read16(CAN0_MB28_LENGTH)
#define bfin_write_CAN0_MB28_LENGTH(val)	bfin_write16(CAN0_MB28_LENGTH, val)
#define bfin_read_CAN0_MB28_TIMESTAMP()		bfin_read16(CAN0_MB28_TIMESTAMP)
#define bfin_write_CAN0_MB28_TIMESTAMP(val)	bfin_write16(CAN0_MB28_TIMESTAMP, val)
#define bfin_read_CAN0_MB28_ID0()		bfin_read16(CAN0_MB28_ID0)
#define bfin_write_CAN0_MB28_ID0(val)		bfin_write16(CAN0_MB28_ID0, val)
#define bfin_read_CAN0_MB28_ID1()		bfin_read16(CAN0_MB28_ID1)
#define bfin_write_CAN0_MB28_ID1(val)		bfin_write16(CAN0_MB28_ID1, val)
#define bfin_read_CAN0_MB29_DATA0()		bfin_read16(CAN0_MB29_DATA0)
#define bfin_write_CAN0_MB29_DATA0(val)		bfin_write16(CAN0_MB29_DATA0, val)
#define bfin_read_CAN0_MB29_DATA1()		bfin_read16(CAN0_MB29_DATA1)
#define bfin_write_CAN0_MB29_DATA1(val)		bfin_write16(CAN0_MB29_DATA1, val)
#define bfin_read_CAN0_MB29_DATA2()		bfin_read16(CAN0_MB29_DATA2)
#define bfin_write_CAN0_MB29_DATA2(val)		bfin_write16(CAN0_MB29_DATA2, val)
#define bfin_read_CAN0_MB29_DATA3()		bfin_read16(CAN0_MB29_DATA3)
#define bfin_write_CAN0_MB29_DATA3(val)		bfin_write16(CAN0_MB29_DATA3, val)
#define bfin_read_CAN0_MB29_LENGTH()		bfin_read16(CAN0_MB29_LENGTH)
#define bfin_write_CAN0_MB29_LENGTH(val)	bfin_write16(CAN0_MB29_LENGTH, val)
#define bfin_read_CAN0_MB29_TIMESTAMP()		bfin_read16(CAN0_MB29_TIMESTAMP)
#define bfin_write_CAN0_MB29_TIMESTAMP(val)	bfin_write16(CAN0_MB29_TIMESTAMP, val)
#define bfin_read_CAN0_MB29_ID0()		bfin_read16(CAN0_MB29_ID0)
#define bfin_write_CAN0_MB29_ID0(val)		bfin_write16(CAN0_MB29_ID0, val)
#define bfin_read_CAN0_MB29_ID1()		bfin_read16(CAN0_MB29_ID1)
#define bfin_write_CAN0_MB29_ID1(val)		bfin_write16(CAN0_MB29_ID1, val)
#define bfin_read_CAN0_MB30_DATA0()		bfin_read16(CAN0_MB30_DATA0)
#define bfin_write_CAN0_MB30_DATA0(val)		bfin_write16(CAN0_MB30_DATA0, val)
#define bfin_read_CAN0_MB30_DATA1()		bfin_read16(CAN0_MB30_DATA1)
#define bfin_write_CAN0_MB30_DATA1(val)		bfin_write16(CAN0_MB30_DATA1, val)
#define bfin_read_CAN0_MB30_DATA2()		bfin_read16(CAN0_MB30_DATA2)
#define bfin_write_CAN0_MB30_DATA2(val)		bfin_write16(CAN0_MB30_DATA2, val)
#define bfin_read_CAN0_MB30_DATA3()		bfin_read16(CAN0_MB30_DATA3)
#define bfin_write_CAN0_MB30_DATA3(val)		bfin_write16(CAN0_MB30_DATA3, val)
#define bfin_read_CAN0_MB30_LENGTH()		bfin_read16(CAN0_MB30_LENGTH)
#define bfin_write_CAN0_MB30_LENGTH(val)	bfin_write16(CAN0_MB30_LENGTH, val)
#define bfin_read_CAN0_MB30_TIMESTAMP()		bfin_read16(CAN0_MB30_TIMESTAMP)
#define bfin_write_CAN0_MB30_TIMESTAMP(val)	bfin_write16(CAN0_MB30_TIMESTAMP, val)
#define bfin_read_CAN0_MB30_ID0()		bfin_read16(CAN0_MB30_ID0)
#define bfin_write_CAN0_MB30_ID0(val)		bfin_write16(CAN0_MB30_ID0, val)
#define bfin_read_CAN0_MB30_ID1()		bfin_read16(CAN0_MB30_ID1)
#define bfin_write_CAN0_MB30_ID1(val)		bfin_write16(CAN0_MB30_ID1, val)
#define bfin_read_CAN0_MB31_DATA0()		bfin_read16(CAN0_MB31_DATA0)
#define bfin_write_CAN0_MB31_DATA0(val)		bfin_write16(CAN0_MB31_DATA0, val)
#define bfin_read_CAN0_MB31_DATA1()		bfin_read16(CAN0_MB31_DATA1)
#define bfin_write_CAN0_MB31_DATA1(val)		bfin_write16(CAN0_MB31_DATA1, val)
#define bfin_read_CAN0_MB31_DATA2()		bfin_read16(CAN0_MB31_DATA2)
#define bfin_write_CAN0_MB31_DATA2(val)		bfin_write16(CAN0_MB31_DATA2, val)
#define bfin_read_CAN0_MB31_DATA3()		bfin_read16(CAN0_MB31_DATA3)
#define bfin_write_CAN0_MB31_DATA3(val)		bfin_write16(CAN0_MB31_DATA3, val)
#define bfin_read_CAN0_MB31_LENGTH()		bfin_read16(CAN0_MB31_LENGTH)
#define bfin_write_CAN0_MB31_LENGTH(val)	bfin_write16(CAN0_MB31_LENGTH, val)
#define bfin_read_CAN0_MB31_TIMESTAMP()		bfin_read16(CAN0_MB31_TIMESTAMP)
#define bfin_write_CAN0_MB31_TIMESTAMP(val)	bfin_write16(CAN0_MB31_TIMESTAMP, val)
#define bfin_read_CAN0_MB31_ID0()		bfin_read16(CAN0_MB31_ID0)
#define bfin_write_CAN0_MB31_ID0(val)		bfin_write16(CAN0_MB31_ID0, val)
#define bfin_read_CAN0_MB31_ID1()		bfin_read16(CAN0_MB31_ID1)
#define bfin_write_CAN0_MB31_ID1(val)		bfin_write16(CAN0_MB31_ID1, val)

/* UART3 Registers */

#define bfin_read_UART3_DLL()		bfin_read16(UART3_DLL)
#define bfin_write_UART3_DLL(val)	bfin_write16(UART3_DLL, val)
#define bfin_read_UART3_DLH()		bfin_read16(UART3_DLH)
#define bfin_write_UART3_DLH(val)	bfin_write16(UART3_DLH, val)
#define bfin_read_UART3_GCTL()		bfin_read16(UART3_GCTL)
#define bfin_write_UART3_GCTL(val)	bfin_write16(UART3_GCTL, val)
#define bfin_read_UART3_LCR()		bfin_read16(UART3_LCR)
#define bfin_write_UART3_LCR(val)	bfin_write16(UART3_LCR, val)
#define bfin_read_UART3_MCR()		bfin_read16(UART3_MCR)
#define bfin_write_UART3_MCR(val)	bfin_write16(UART3_MCR, val)
#define bfin_read_UART3_LSR()		bfin_read16(UART3_LSR)
#define bfin_write_UART3_LSR(val)	bfin_write16(UART3_LSR, val)
#define bfin_read_UART3_MSR()		bfin_read16(UART3_MSR)
#define bfin_write_UART3_MSR(val)	bfin_write16(UART3_MSR, val)
#define bfin_read_UART3_SCR()		bfin_read16(UART3_SCR)
#define bfin_write_UART3_SCR(val)	bfin_write16(UART3_SCR, val)
#define bfin_read_UART3_IER_SET()	bfin_read16(UART3_IER_SET)
#define bfin_write_UART3_IER_SET(val)	bfin_write16(UART3_IER_SET, val)
#define bfin_read_UART3_IER_CLEAR()	bfin_read16(UART3_IER_CLEAR)
#define bfin_write_UART3_IER_CLEAR(val)	bfin_write16(UART3_IER_CLEAR, val)
#define bfin_read_UART3_THR()		bfin_read16(UART3_THR)
#define bfin_write_UART3_THR(val)	bfin_write16(UART3_THR, val)
#define bfin_read_UART3_RBR()		bfin_read16(UART3_RBR)
#define bfin_write_UART3_RBR(val)	bfin_write16(UART3_RBR, val)

/* NFC Registers */

#define bfin_read_NFC_CTL()		bfin_read16(NFC_CTL)
#define bfin_write_NFC_CTL(val)		bfin_write16(NFC_CTL, val)
#define bfin_read_NFC_STAT()		bfin_read16(NFC_STAT)
#define bfin_write_NFC_STAT(val)	bfin_write16(NFC_STAT, val)
#define bfin_read_NFC_IRQSTAT()		bfin_read16(NFC_IRQSTAT)
#define bfin_write_NFC_IRQSTAT(val)	bfin_write16(NFC_IRQSTAT, val)
#define bfin_read_NFC_IRQMASK()		bfin_read16(NFC_IRQMASK)
#define bfin_write_NFC_IRQMASK(val)	bfin_write16(NFC_IRQMASK, val)
#define bfin_read_NFC_ECC0()		bfin_read16(NFC_ECC0)
#define bfin_write_NFC_ECC0(val)	bfin_write16(NFC_ECC0, val)
#define bfin_read_NFC_ECC1()		bfin_read16(NFC_ECC1)
#define bfin_write_NFC_ECC1(val)	bfin_write16(NFC_ECC1, val)
#define bfin_read_NFC_ECC2()		bfin_read16(NFC_ECC2)
#define bfin_write_NFC_ECC2(val)	bfin_write16(NFC_ECC2, val)
#define bfin_read_NFC_ECC3()		bfin_read16(NFC_ECC3)
#define bfin_write_NFC_ECC3(val)	bfin_write16(NFC_ECC3, val)
#define bfin_read_NFC_COUNT()		bfin_read16(NFC_COUNT)
#define bfin_write_NFC_COUNT(val)	bfin_write16(NFC_COUNT, val)
#define bfin_read_NFC_RST()		bfin_read16(NFC_RST)
#define bfin_write_NFC_RST(val)		bfin_write16(NFC_RST, val)
#define bfin_read_NFC_PGCTL()		bfin_read16(NFC_PGCTL)
#define bfin_write_NFC_PGCTL(val)	bfin_write16(NFC_PGCTL, val)
#define bfin_read_NFC_READ()		bfin_read16(NFC_READ)
#define bfin_write_NFC_READ(val)	bfin_write16(NFC_READ, val)
#define bfin_read_NFC_ADDR()		bfin_read16(NFC_ADDR)
#define bfin_write_NFC_ADDR(val)	bfin_write16(NFC_ADDR, val)
#define bfin_read_NFC_CMD()		bfin_read16(NFC_CMD)
#define bfin_write_NFC_CMD(val)		bfin_write16(NFC_CMD, val)
#define bfin_read_NFC_DATA_WR()		bfin_read16(NFC_DATA_WR)
#define bfin_write_NFC_DATA_WR(val)	bfin_write16(NFC_DATA_WR, val)
#define bfin_read_NFC_DATA_RD()		bfin_read16(NFC_DATA_RD)
#define bfin_write_NFC_DATA_RD(val)	bfin_write16(NFC_DATA_RD, val)

/* Counter Registers */

#define bfin_read_CNT_CONFIG()		bfin_read16(CNT_CONFIG)
#define bfin_write_CNT_CONFIG(val)	bfin_write16(CNT_CONFIG, val)
#define bfin_read_CNT_IMASK()		bfin_read16(CNT_IMASK)
#define bfin_write_CNT_IMASK(val)	bfin_write16(CNT_IMASK, val)
#define bfin_read_CNT_STATUS()		bfin_read16(CNT_STATUS)
#define bfin_write_CNT_STATUS(val)	bfin_write16(CNT_STATUS, val)
#define bfin_read_CNT_COMMAND()		bfin_read16(CNT_COMMAND)
#define bfin_write_CNT_COMMAND(val)	bfin_write16(CNT_COMMAND, val)
#define bfin_read_CNT_DEBOUNCE()	bfin_read16(CNT_DEBOUNCE)
#define bfin_write_CNT_DEBOUNCE(val)	bfin_write16(CNT_DEBOUNCE, val)
#define bfin_read_CNT_COUNTER()		bfin_read32(CNT_COUNTER)
#define bfin_write_CNT_COUNTER(val)	bfin_write32(CNT_COUNTER, val)
#define bfin_read_CNT_MAX()		bfin_read32(CNT_MAX)
#define bfin_write_CNT_MAX(val)		bfin_write32(CNT_MAX, val)
#define bfin_read_CNT_MIN()		bfin_read32(CNT_MIN)
#define bfin_write_CNT_MIN(val)		bfin_write32(CNT_MIN, val)

/* OTP/FUSE Registers */

#define bfin_read_OTP_CONTROL()		bfin_read16(OTP_CONTROL)
#define bfin_write_OTP_CONTROL(val)	bfin_write16(OTP_CONTROL, val)
#define bfin_read_OTP_BEN()		bfin_read16(OTP_BEN)
#define bfin_write_OTP_BEN(val)		bfin_write16(OTP_BEN, val)
#define bfin_read_OTP_STATUS()		bfin_read16(OTP_STATUS)
#define bfin_write_OTP_STATUS(val)	bfin_write16(OTP_STATUS, val)
#define bfin_read_OTP_TIMING()		bfin_read32(OTP_TIMING)
#define bfin_write_OTP_TIMING(val)	bfin_write32(OTP_TIMING, val)

/* Security Registers */

#define bfin_read_SECURE_SYSSWT()	bfin_read32(SECURE_SYSSWT)
#define bfin_write_SECURE_SYSSWT(val)	bfin_write32(SECURE_SYSSWT, val)
#define bfin_read_SECURE_CONTROL()	bfin_read16(SECURE_CONTROL)
#define bfin_write_SECURE_CONTROL(val)	bfin_write16(SECURE_CONTROL, val)
#define bfin_read_SECURE_STATUS()	bfin_read16(SECURE_STATUS)
#define bfin_write_SECURE_STATUS(val)	bfin_write16(SECURE_STATUS, val)

/* DMA Peribfin_read_()heral Mux Register */

#define bfin_read_DMAC1_PERIMUX()	bfin_read16(DMAC1_PERIMUX)
#define bfin_write_DMAC1_PERIMUX(val)	bfin_write16(DMAC1_PERIMUX, val)

/* OTP Read/Write Data Buffer Registers */

#define bfin_read_OTP_DATA0()		bfin_read32(OTP_DATA0)
#define bfin_write_OTP_DATA0(val)	bfin_write32(OTP_DATA0, val)
#define bfin_read_OTP_DATA1()		bfin_read32(OTP_DATA1)
#define bfin_write_OTP_DATA1(val)	bfin_write32(OTP_DATA1, val)
#define bfin_read_OTP_DATA2()		bfin_read32(OTP_DATA2)
#define bfin_write_OTP_DATA2(val)	bfin_write32(OTP_DATA2, val)
#define bfin_read_OTP_DATA3()		bfin_read32(OTP_DATA3)
#define bfin_write_OTP_DATA3(val)	bfin_write32(OTP_DATA3, val)

/* Handshake MDMA is not defined in the shared file because it is not available on the ADSP-BF542 bfin_read_()rocessor */

/* legacy definitions */
#define bfin_read_EBIU_AMCBCTL0		bfin_read_EBIU_AMBCTL0
#define bfin_write_EBIU_AMCBCTL0	bfin_write_EBIU_AMBCTL0
#define bfin_read_EBIU_AMCBCTL1		bfin_read_EBIU_AMBCTL1
#define bfin_write_EBIU_AMCBCTL1	bfin_write_EBIU_AMBCTL1
#define bfin_read_PINT0_IRQ		bfin_read_PINT0_REQUEST
#define bfin_write_PINT0_IRQ		bfin_write_PINT0_REQUEST
#define bfin_read_PINT1_IRQ		bfin_read_PINT1_REQUEST
#define bfin_write_PINT1_IRQ		bfin_write_PINT1_REQUEST
#define bfin_read_PINT2_IRQ		bfin_read_PINT2_REQUEST
#define bfin_write_PINT2_IRQ		bfin_write_PINT2_REQUEST
#define bfin_read_PINT3_IRQ		bfin_read_PINT3_REQUEST
#define bfin_write_PINT3_IRQ		bfin_write_PINT3_REQUEST

#endif /* _CDEF_BF54X_H */

