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

#ifndef _CDEF_BF548_H
#define _CDEF_BF548_H

/* include cdefBF54x_base.h for the set of #defines that are common to all ADSP-BF54x bfin_read_()rocessors */
#include "cdefBF54x_base.h"

/* The BF548 is like the BF547, but has additional CANs */
#include "cdefBF547.h"

/* CAN Controller 1 Config 1 Registers */

#define bfin_read_CAN1_MC1()		bfin_read16(CAN1_MC1)
#define bfin_write_CAN1_MC1(val)	bfin_write16(CAN1_MC1, val)
#define bfin_read_CAN1_MD1()		bfin_read16(CAN1_MD1)
#define bfin_write_CAN1_MD1(val)	bfin_write16(CAN1_MD1, val)
#define bfin_read_CAN1_TRS1()		bfin_read16(CAN1_TRS1)
#define bfin_write_CAN1_TRS1(val)	bfin_write16(CAN1_TRS1, val)
#define bfin_read_CAN1_TRR1()		bfin_read16(CAN1_TRR1)
#define bfin_write_CAN1_TRR1(val)	bfin_write16(CAN1_TRR1, val)
#define bfin_read_CAN1_TA1()		bfin_read16(CAN1_TA1)
#define bfin_write_CAN1_TA1(val)	bfin_write16(CAN1_TA1, val)
#define bfin_read_CAN1_AA1()		bfin_read16(CAN1_AA1)
#define bfin_write_CAN1_AA1(val)	bfin_write16(CAN1_AA1, val)
#define bfin_read_CAN1_RMP1()		bfin_read16(CAN1_RMP1)
#define bfin_write_CAN1_RMP1(val)	bfin_write16(CAN1_RMP1, val)
#define bfin_read_CAN1_RML1()		bfin_read16(CAN1_RML1)
#define bfin_write_CAN1_RML1(val)	bfin_write16(CAN1_RML1, val)
#define bfin_read_CAN1_MBTIF1()		bfin_read16(CAN1_MBTIF1)
#define bfin_write_CAN1_MBTIF1(val)	bfin_write16(CAN1_MBTIF1, val)
#define bfin_read_CAN1_MBRIF1()		bfin_read16(CAN1_MBRIF1)
#define bfin_write_CAN1_MBRIF1(val)	bfin_write16(CAN1_MBRIF1, val)
#define bfin_read_CAN1_MBIM1()		bfin_read16(CAN1_MBIM1)
#define bfin_write_CAN1_MBIM1(val)	bfin_write16(CAN1_MBIM1, val)
#define bfin_read_CAN1_RFH1()		bfin_read16(CAN1_RFH1)
#define bfin_write_CAN1_RFH1(val)	bfin_write16(CAN1_RFH1, val)
#define bfin_read_CAN1_OPSS1()		bfin_read16(CAN1_OPSS1)
#define bfin_write_CAN1_OPSS1(val)	bfin_write16(CAN1_OPSS1, val)

/* CAN Controller 1 Config 2 Registers */

#define bfin_read_CAN1_MC2()		bfin_read16(CAN1_MC2)
#define bfin_write_CAN1_MC2(val)	bfin_write16(CAN1_MC2, val)
#define bfin_read_CAN1_MD2()		bfin_read16(CAN1_MD2)
#define bfin_write_CAN1_MD2(val)	bfin_write16(CAN1_MD2, val)
#define bfin_read_CAN1_TRS2()		bfin_read16(CAN1_TRS2)
#define bfin_write_CAN1_TRS2(val)	bfin_write16(CAN1_TRS2, val)
#define bfin_read_CAN1_TRR2()		bfin_read16(CAN1_TRR2)
#define bfin_write_CAN1_TRR2(val)	bfin_write16(CAN1_TRR2, val)
#define bfin_read_CAN1_TA2()		bfin_read16(CAN1_TA2)
#define bfin_write_CAN1_TA2(val)	bfin_write16(CAN1_TA2, val)
#define bfin_read_CAN1_AA2()		bfin_read16(CAN1_AA2)
#define bfin_write_CAN1_AA2(val)	bfin_write16(CAN1_AA2, val)
#define bfin_read_CAN1_RMP2()		bfin_read16(CAN1_RMP2)
#define bfin_write_CAN1_RMP2(val)	bfin_write16(CAN1_RMP2, val)
#define bfin_read_CAN1_RML2()		bfin_read16(CAN1_RML2)
#define bfin_write_CAN1_RML2(val)	bfin_write16(CAN1_RML2, val)
#define bfin_read_CAN1_MBTIF2()		bfin_read16(CAN1_MBTIF2)
#define bfin_write_CAN1_MBTIF2(val)	bfin_write16(CAN1_MBTIF2, val)
#define bfin_read_CAN1_MBRIF2()		bfin_read16(CAN1_MBRIF2)
#define bfin_write_CAN1_MBRIF2(val)	bfin_write16(CAN1_MBRIF2, val)
#define bfin_read_CAN1_MBIM2()		bfin_read16(CAN1_MBIM2)
#define bfin_write_CAN1_MBIM2(val)	bfin_write16(CAN1_MBIM2, val)
#define bfin_read_CAN1_RFH2()		bfin_read16(CAN1_RFH2)
#define bfin_write_CAN1_RFH2(val)	bfin_write16(CAN1_RFH2, val)
#define bfin_read_CAN1_OPSS2()		bfin_read16(CAN1_OPSS2)
#define bfin_write_CAN1_OPSS2(val)	bfin_write16(CAN1_OPSS2, val)

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

#define bfin_read_CAN1_CLOCK()		bfin_read16(CAN1_CLOCK)
#define bfin_write_CAN1_CLOCK(val)	bfin_write16(CAN1_CLOCK, val)
#define bfin_read_CAN1_TIMING()		bfin_read16(CAN1_TIMING)
#define bfin_write_CAN1_TIMING(val)	bfin_write16(CAN1_TIMING, val)
#define bfin_read_CAN1_DEBUG()		bfin_read16(CAN1_DEBUG)
#define bfin_write_CAN1_DEBUG(val)	bfin_write16(CAN1_DEBUG, val)
#define bfin_read_CAN1_STATUS()		bfin_read16(CAN1_STATUS)
#define bfin_write_CAN1_STATUS(val)	bfin_write16(CAN1_STATUS, val)
#define bfin_read_CAN1_CEC()		bfin_read16(CAN1_CEC)
#define bfin_write_CAN1_CEC(val)	bfin_write16(CAN1_CEC, val)
#define bfin_read_CAN1_GIS()		bfin_read16(CAN1_GIS)
#define bfin_write_CAN1_GIS(val)	bfin_write16(CAN1_GIS, val)
#define bfin_read_CAN1_GIM()		bfin_read16(CAN1_GIM)
#define bfin_write_CAN1_GIM(val)	bfin_write16(CAN1_GIM, val)
#define bfin_read_CAN1_GIF()		bfin_read16(CAN1_GIF)
#define bfin_write_CAN1_GIF(val)	bfin_write16(CAN1_GIF, val)
#define bfin_read_CAN1_CONTROL()	bfin_read16(CAN1_CONTROL)
#define bfin_write_CAN1_CONTROL(val)	bfin_write16(CAN1_CONTROL, val)
#define bfin_read_CAN1_INTR()		bfin_read16(CAN1_INTR)
#define bfin_write_CAN1_INTR(val)	bfin_write16(CAN1_INTR, val)
#define bfin_read_CAN1_MBTD()		bfin_read16(CAN1_MBTD)
#define bfin_write_CAN1_MBTD(val)	bfin_write16(CAN1_MBTD, val)
#define bfin_read_CAN1_EWR()		bfin_read16(CAN1_EWR)
#define bfin_write_CAN1_EWR(val)	bfin_write16(CAN1_EWR, val)
#define bfin_read_CAN1_ESR()		bfin_read16(CAN1_ESR)
#define bfin_write_CAN1_ESR(val)	bfin_write16(CAN1_ESR, val)
#define bfin_read_CAN1_UCCNT()		bfin_read16(CAN1_UCCNT)
#define bfin_write_CAN1_UCCNT(val)	bfin_write16(CAN1_UCCNT, val)
#define bfin_read_CAN1_UCRC()		bfin_read16(CAN1_UCRC)
#define bfin_write_CAN1_UCRC(val)	bfin_write16(CAN1_UCRC, val)
#define bfin_read_CAN1_UCCNF()		bfin_read16(CAN1_UCCNF)
#define bfin_write_CAN1_UCCNF(val)	bfin_write16(CAN1_UCCNF, val)

/* CAN Controller 1 Mailbox Accebfin_read_()tance Registers */

#define bfin_read_CAN1_AM00L()		bfin_read16(CAN1_AM00L)
#define bfin_write_CAN1_AM00L(val)	bfin_write16(CAN1_AM00L, val)
#define bfin_read_CAN1_AM00H()		bfin_read16(CAN1_AM00H)
#define bfin_write_CAN1_AM00H(val)	bfin_write16(CAN1_AM00H, val)
#define bfin_read_CAN1_AM01L()		bfin_read16(CAN1_AM01L)
#define bfin_write_CAN1_AM01L(val)	bfin_write16(CAN1_AM01L, val)
#define bfin_read_CAN1_AM01H()		bfin_read16(CAN1_AM01H)
#define bfin_write_CAN1_AM01H(val)	bfin_write16(CAN1_AM01H, val)
#define bfin_read_CAN1_AM02L()		bfin_read16(CAN1_AM02L)
#define bfin_write_CAN1_AM02L(val)	bfin_write16(CAN1_AM02L, val)
#define bfin_read_CAN1_AM02H()		bfin_read16(CAN1_AM02H)
#define bfin_write_CAN1_AM02H(val)	bfin_write16(CAN1_AM02H, val)
#define bfin_read_CAN1_AM03L()		bfin_read16(CAN1_AM03L)
#define bfin_write_CAN1_AM03L(val)	bfin_write16(CAN1_AM03L, val)
#define bfin_read_CAN1_AM03H()		bfin_read16(CAN1_AM03H)
#define bfin_write_CAN1_AM03H(val)	bfin_write16(CAN1_AM03H, val)
#define bfin_read_CAN1_AM04L()		bfin_read16(CAN1_AM04L)
#define bfin_write_CAN1_AM04L(val)	bfin_write16(CAN1_AM04L, val)
#define bfin_read_CAN1_AM04H()		bfin_read16(CAN1_AM04H)
#define bfin_write_CAN1_AM04H(val)	bfin_write16(CAN1_AM04H, val)
#define bfin_read_CAN1_AM05L()		bfin_read16(CAN1_AM05L)
#define bfin_write_CAN1_AM05L(val)	bfin_write16(CAN1_AM05L, val)
#define bfin_read_CAN1_AM05H()		bfin_read16(CAN1_AM05H)
#define bfin_write_CAN1_AM05H(val)	bfin_write16(CAN1_AM05H, val)
#define bfin_read_CAN1_AM06L()		bfin_read16(CAN1_AM06L)
#define bfin_write_CAN1_AM06L(val)	bfin_write16(CAN1_AM06L, val)
#define bfin_read_CAN1_AM06H()		bfin_read16(CAN1_AM06H)
#define bfin_write_CAN1_AM06H(val)	bfin_write16(CAN1_AM06H, val)
#define bfin_read_CAN1_AM07L()		bfin_read16(CAN1_AM07L)
#define bfin_write_CAN1_AM07L(val)	bfin_write16(CAN1_AM07L, val)
#define bfin_read_CAN1_AM07H()		bfin_read16(CAN1_AM07H)
#define bfin_write_CAN1_AM07H(val)	bfin_write16(CAN1_AM07H, val)
#define bfin_read_CAN1_AM08L()		bfin_read16(CAN1_AM08L)
#define bfin_write_CAN1_AM08L(val)	bfin_write16(CAN1_AM08L, val)
#define bfin_read_CAN1_AM08H()		bfin_read16(CAN1_AM08H)
#define bfin_write_CAN1_AM08H(val)	bfin_write16(CAN1_AM08H, val)
#define bfin_read_CAN1_AM09L()		bfin_read16(CAN1_AM09L)
#define bfin_write_CAN1_AM09L(val)	bfin_write16(CAN1_AM09L, val)
#define bfin_read_CAN1_AM09H()		bfin_read16(CAN1_AM09H)
#define bfin_write_CAN1_AM09H(val)	bfin_write16(CAN1_AM09H, val)
#define bfin_read_CAN1_AM10L()		bfin_read16(CAN1_AM10L)
#define bfin_write_CAN1_AM10L(val)	bfin_write16(CAN1_AM10L, val)
#define bfin_read_CAN1_AM10H()		bfin_read16(CAN1_AM10H)
#define bfin_write_CAN1_AM10H(val)	bfin_write16(CAN1_AM10H, val)
#define bfin_read_CAN1_AM11L()		bfin_read16(CAN1_AM11L)
#define bfin_write_CAN1_AM11L(val)	bfin_write16(CAN1_AM11L, val)
#define bfin_read_CAN1_AM11H()		bfin_read16(CAN1_AM11H)
#define bfin_write_CAN1_AM11H(val)	bfin_write16(CAN1_AM11H, val)
#define bfin_read_CAN1_AM12L()		bfin_read16(CAN1_AM12L)
#define bfin_write_CAN1_AM12L(val)	bfin_write16(CAN1_AM12L, val)
#define bfin_read_CAN1_AM12H()		bfin_read16(CAN1_AM12H)
#define bfin_write_CAN1_AM12H(val)	bfin_write16(CAN1_AM12H, val)
#define bfin_read_CAN1_AM13L()		bfin_read16(CAN1_AM13L)
#define bfin_write_CAN1_AM13L(val)	bfin_write16(CAN1_AM13L, val)
#define bfin_read_CAN1_AM13H()		bfin_read16(CAN1_AM13H)
#define bfin_write_CAN1_AM13H(val)	bfin_write16(CAN1_AM13H, val)
#define bfin_read_CAN1_AM14L()		bfin_read16(CAN1_AM14L)
#define bfin_write_CAN1_AM14L(val)	bfin_write16(CAN1_AM14L, val)
#define bfin_read_CAN1_AM14H()		bfin_read16(CAN1_AM14H)
#define bfin_write_CAN1_AM14H(val)	bfin_write16(CAN1_AM14H, val)
#define bfin_read_CAN1_AM15L()		bfin_read16(CAN1_AM15L)
#define bfin_write_CAN1_AM15L(val)	bfin_write16(CAN1_AM15L, val)
#define bfin_read_CAN1_AM15H()		bfin_read16(CAN1_AM15H)
#define bfin_write_CAN1_AM15H(val)	bfin_write16(CAN1_AM15H, val)

/* CAN Controller 1 Mailbox Accebfin_read_()tance Registers */

#define bfin_read_CAN1_AM16L()		bfin_read16(CAN1_AM16L)
#define bfin_write_CAN1_AM16L(val)	bfin_write16(CAN1_AM16L, val)
#define bfin_read_CAN1_AM16H()		bfin_read16(CAN1_AM16H)
#define bfin_write_CAN1_AM16H(val)	bfin_write16(CAN1_AM16H, val)
#define bfin_read_CAN1_AM17L()		bfin_read16(CAN1_AM17L)
#define bfin_write_CAN1_AM17L(val)	bfin_write16(CAN1_AM17L, val)
#define bfin_read_CAN1_AM17H()		bfin_read16(CAN1_AM17H)
