2009-09-16 Mike Frysinger <michael.frysinger@analog.com>

* bfin/include/cdefBF512.h, bfin/include/cdefBF514.h,
        bfin/include/cdefBF516.h, bfin/include/cdefBF518.h,
        bfin/include/cdefBF51x_base.h, bfin/include/cdefBF523.h,
        bfin/include/cdefBF524.h, bfin/include/cdefBF526.h,
        bfin/include/cdefBF542M.h, bfin/include/cdefBF544M.h,
        bfin/include/cdefBF547M.h, bfin/include/cdefBF548M.h,
        bfin/include/cdefBF549M.h, bfin/include/defBF512.h,
        bfin/include/defBF514.h, bfin/include/defBF516.h,
        bfin/include/defBF518.h, bfin/include/defBF51x_base.h,
        bfin/include/defBF523.h, bfin/include/defBF524.h,
        bfin/include/defBF526.h, bfin/include/defBF542M.h,
        bfin/include/defBF544M.h, bfin/include/defBF547M.h,
        bfin/include/defBF548M.h, bfin/include/defBF549M.h:
        New file.
        * bfin/include/ccblkfn.h, bfin/include/cdefBF525.h,
        bfin/include/cdefBF527.h, bfin/include/cdefBF52x_base.h,
        bfin/include/cdefBF532.h, bfin/include/cdefBF534.h,
        bfin/include/cdefBF535.h, bfin/include/cdefBF538.h,
        bfin/include/cdefBF539.h, bfin/include/cdefBF542.h,
        bfin/include/cdefBF544.h, bfin/include/cdefBF547.h,
        bfin/include/cdefBF548.h, bfin/include/cdefBF549.h,
        bfin/include/cdefBF54x_base.h, bfin/include/cdefBF561.h,
        bfin/include/cdefblackfin.h, bfin/include/cdef_LPBlackfin.h,
        bfin/include/cplb.h, bfin/include/defBF527.h,
        bfin/include/defBF52x_base.h, bfin/include/defBF532.h,
        bfin/include/defBF534.h, bfin/include/defBF535.h,
        bfin/include/defBF537.h, bfin/include/defBF538.h,
        bfin/include/defBF539.h, bfin/include/defBF542.h,
        bfin/include/defBF544.h, bfin/include/defBF547.h,
        bfin/include/defBF548.h, bfin/include/defBF549.h,
        bfin/include/defBF54x_base.h, bfin/include/defBF561.h,
        bfin/include/defblackfin.h, bfin/include/def_LPBlackfin.h,
        bfin/include/sys/_adi_platform.h,
        bfin/include/sys/anomaly_macros_rtl.h,
        bfin/include/sys/exception.h, bfin/include/sysreg.h:
        Update to Visual DSP 5.0 Update 6.
This commit is contained in:
Jeff Johnston 2009-09-16 16:08:27 +00:00
parent 5e0fdf685b
commit 4834826e92
67 changed files with 11089 additions and 1275 deletions

View File

@ -1,3 +1,42 @@
2009-09-16 Mike Frysinger <michael.frysinger@analog.com>
* bfin/include/cdefBF512.h, bfin/include/cdefBF514.h,
bfin/include/cdefBF516.h, bfin/include/cdefBF518.h,
bfin/include/cdefBF51x_base.h, bfin/include/cdefBF523.h,
bfin/include/cdefBF524.h, bfin/include/cdefBF526.h,
bfin/include/cdefBF542M.h, bfin/include/cdefBF544M.h,
bfin/include/cdefBF547M.h, bfin/include/cdefBF548M.h,
bfin/include/cdefBF549M.h, bfin/include/defBF512.h,
bfin/include/defBF514.h, bfin/include/defBF516.h,
bfin/include/defBF518.h, bfin/include/defBF51x_base.h,
bfin/include/defBF523.h, bfin/include/defBF524.h,
bfin/include/defBF526.h, bfin/include/defBF542M.h,
bfin/include/defBF544M.h, bfin/include/defBF547M.h,
bfin/include/defBF548M.h, bfin/include/defBF549M.h:
New file.
* bfin/include/ccblkfn.h, bfin/include/cdefBF525.h,
bfin/include/cdefBF527.h, bfin/include/cdefBF52x_base.h,
bfin/include/cdefBF532.h, bfin/include/cdefBF534.h,
bfin/include/cdefBF535.h, bfin/include/cdefBF538.h,
bfin/include/cdefBF539.h, bfin/include/cdefBF542.h,
bfin/include/cdefBF544.h, bfin/include/cdefBF547.h,
bfin/include/cdefBF548.h, bfin/include/cdefBF549.h,
bfin/include/cdefBF54x_base.h, bfin/include/cdefBF561.h,
bfin/include/cdefblackfin.h, bfin/include/cdef_LPBlackfin.h,
bfin/include/cplb.h, bfin/include/defBF527.h,
bfin/include/defBF52x_base.h, bfin/include/defBF532.h,
bfin/include/defBF534.h, bfin/include/defBF535.h,
bfin/include/defBF537.h, bfin/include/defBF538.h,
bfin/include/defBF539.h, bfin/include/defBF542.h,
bfin/include/defBF544.h, bfin/include/defBF547.h,
bfin/include/defBF548.h, bfin/include/defBF549.h,
bfin/include/defBF54x_base.h, bfin/include/defBF561.h,
bfin/include/defblackfin.h, bfin/include/def_LPBlackfin.h,
bfin/include/sys/_adi_platform.h,
bfin/include/sys/anomaly_macros_rtl.h,
bfin/include/sys/exception.h, bfin/include/sysreg.h:
Update to Visual DSP 5.0 Update 6.
2009-09-16 Mike Frysinger <michael.frysinger@analog.com>
* bfin/Makefile.in (BOARD_SCRIPTS): Add bf512.ld, bf514.ld,

View File

@ -1,2 +1,14 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/* For now, a dummy header file, fill in with gcc-specific items later.
Header files from VisualDSP require that this exists. */

View File

@ -0,0 +1,39 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This include file contains a list of macro "defines" to enable the programmer
** to use symbolic names for the ADSP-BF512 peripherals.
**
************************************************************************************
** System MMR Register Map
************************************************************************************/
#ifndef _CDEF_BF512_H
#define _CDEF_BF512_H
/* include all Core registers and bit definitions */
#include <defBF512.h>
/* include core specific register pointer definitions */
#include <cdef_LPBlackfin.h>
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF512 */
/* include cdefBF51x_base.h for the set of #defines that are common to all ADSP-BF51x processors */
#include <cdefBF51x_base.h>
#endif /* _CDEF_BF512_H */

View File

@ -0,0 +1,114 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This include file contains a list of macro "defines" to enable the programmer
** to use symbolic names for the ADSP-BF514 peripherals.
**
************************************************************************************
** System MMR Register Map
************************************************************************************/
#ifndef _CDEF_BF514_H
#define _CDEF_BF514_H
/* include all Core registers and bit definitions */
#include <defBF514.h>
/* include core specific register pointer definitions */
#include <cdef_LPBlackfin.h>
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF514 */
/* include cdefBF51x_base.h for the set of #defines that are common to all ADSP-BF51x processors */
#include <cdefBF51x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF514 that are not in the common header */
/* SDH Registers (0xFFC03800 - 0xFFC03CFF)*/
#define pSDH_PWR_CTL ((volatile unsigned short *)SDH_PWR_CTL)
#define pSDH_CLK_CTL ((volatile unsigned short *)SDH_CLK_CTL)
#define pSDH_ARGUMENT ((volatile unsigned long *)SDH_ARGUMENT)
#define pSDH_COMMAND ((volatile unsigned short *)SDH_COMMAND)
#define pSDH_RESP_CMD ((volatile unsigned short *)SDH_RESP_CMD)
#define pSDH_RESPONSE0 ((volatile unsigned long *)SDH_RESPONSE0)
#define pSDH_RESPONSE1 ((volatile unsigned long *)SDH_RESPONSE1)
#define pSDH_RESPONSE2 ((volatile unsigned long *)SDH_RESPONSE2)
#define pSDH_RESPONSE3 ((volatile unsigned long *)SDH_RESPONSE3)
#define pSDH_DATA_TIMER ((volatile unsigned long *)SDH_DATA_TIMER)
#define pSDH_DATA_LGTH ((volatile unsigned short *)SDH_DATA_LGTH)
#define pSDH_DATA_CTL ((volatile unsigned short *)SDH_DATA_CTL)
#define pSDH_DATA_CNT ((volatile unsigned short *)SDH_DATA_CNT)
#define pSDH_STATUS ((volatile unsigned long *)SDH_STATUS)
#define pSDH_STATUS_CLR ((volatile unsigned short *)SDH_STATUS_CLR)
#define pSDH_MASK0 ((volatile unsigned long *)SDH_MASK0)
#define pSDH_MASK1 ((volatile unsigned long *)SDH_MASK1)
#define pSDH_FIFO_CNT ((volatile unsigned short *)SDH_FIFO_CNT)
#define pSDH_FIFO ((volatile unsigned long *)SDH_FIFO)
#define pSDH_E_STATUS ((volatile unsigned short *)SDH_E_STATUS)
#define pSDH_E_MASK ((volatile unsigned short *)SDH_E_MASK)
#define pSDH_CFG ((volatile unsigned short *)SDH_CFG)
#define pSDH_RD_WAIT_EN ((volatile unsigned short *)SDH_RD_WAIT_EN)
#define pSDH_PID0 ((volatile unsigned short *)SDH_PID0)
#define pSDH_PID1 ((volatile unsigned short *)SDH_PID1)
#define pSDH_PID2 ((volatile unsigned short *)SDH_PID2)
#define pSDH_PID3 ((volatile unsigned short *)SDH_PID3)
#define pSDH_PID4 ((volatile unsigned short *)SDH_PID4)
#define pSDH_PID5 ((volatile unsigned short *)SDH_PID5)
#define pSDH_PID6 ((volatile unsigned short *)SDH_PID6)
#define pSDH_PID7 ((volatile unsigned short *)SDH_PID7)
/* RSI Registers (0xFFC03800 - 0xFFC03CFF)*/
#define pRSI_PWR_CONTROL ((volatile unsigned short *)RSI_PWR_CONTROL)
#define pRSI_CLK_CONTROL ((volatile unsigned short *)RSI_CLK_CONTROL)
#define pRSI_ARGUMENT ((volatile unsigned long *)RSI_ARGUMENT)
#define pRSI_COMMAND ((volatile unsigned short *)RSI_COMMAND)
#define pRSI_RESP_CMD ((volatile unsigned short *)RSI_RESP_CMD)
#define pRSI_RESPONSE0 ((volatile unsigned long *)RSI_RESPONSE0)
#define pRSI_RESPONSE1 ((volatile unsigned long *)RSI_RESPONSE1)
#define pRSI_RESPONSE2 ((volatile unsigned long *)RSI_RESPONSE2)
#define pRSI_RESPONSE3 ((volatile unsigned long *)RSI_RESPONSE3)
#define pRSI_DATA_TIMER ((volatile unsigned long *)RSI_DATA_TIMER)
#define pRSI_DATA_LGTH ((volatile unsigned short *)RSI_DATA_LGTH)
#define pRSI_DATA_CONTROL ((volatile unsigned short *)RSI_DATA_CONTROL)
#define pRSI_DATA_CNT ((volatile unsigned short *)RSI_DATA_CNT)
#define pRSI_STATUS ((volatile unsigned long *)RSI_STATUS)
#define pRSI_STATUSCL ((volatile unsigned short *)RSI_STATUSCL)
#define pRSI_MASK0 ((volatile unsigned long *)RSI_MASK0)
#define pRSI_MASK1 ((volatile unsigned long *)RSI_MASK1)
#define pRSI_FIFO_CNT ((volatile unsigned short *)RSI_FIFO_CNT)
#define pRSI_CEATA_CONTROL ((volatile unsigned short *)RSI_CEATA_CONTROL)
#define pRSI_FIFO ((volatile unsigned long *)RSI_FIFO)
#define pRSI_ESTAT ((volatile unsigned short *)RSI_ESTAT)
#define pRSI_EMASK ((volatile unsigned short *)RSI_EMASK)
#define pRSI_CONFIG ((volatile unsigned short *)RSI_CONFIG)
#define pRSI_RD_WAIT_EN ((volatile unsigned short *)RSI_RD_WAIT_EN)
#define pRSI_PID0 ((volatile unsigned short *)RSI_PID0)
#define pRSI_PID1 ((volatile unsigned short *)RSI_PID1)
#define pRSI_PID2 ((volatile unsigned short *)RSI_PID2)
#define pRSI_PID3 ((volatile unsigned short *)RSI_PID3)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF514_H */

View File

@ -0,0 +1,200 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This include file contains a list of macro "defines" to enable the programmer
** to use symbolic names for the ADSP-BF516 peripherals.
**
************************************************************************************
** System MMR Register Map
************************************************************************************/
#ifndef _CDEF_BF516_H
#define _CDEF_BF516_H
/* include all Core registers and bit definitions */
#include <defBF516.h>
/* include core specific register pointer definitions */
#include <cdef_LPBlackfin.h>
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF516 */
/* include cdefBF51x_base.h for the set of #defines that are common to all ADSP-BF51x processors */
#include <cdefBF51x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF516 that are not in the common header */
/* 10/100 Ethernet Controller */
#define pEMAC_OPMODE ((volatile unsigned long *)EMAC_OPMODE)
#define pEMAC_ADDRLO ((volatile unsigned long *)EMAC_ADDRLO)
#define pEMAC_ADDRHI ((volatile unsigned long *)EMAC_ADDRHI)
#define pEMAC_HASHLO ((volatile unsigned long *)EMAC_HASHLO)
#define pEMAC_HASHHI ((volatile unsigned long *)EMAC_HASHHI)
#define pEMAC_STAADD ((volatile unsigned long *)EMAC_STAADD)
#define pEMAC_STADAT ((volatile unsigned long *)EMAC_STADAT)
#define pEMAC_FLC ((volatile unsigned long *)EMAC_FLC)
#define pEMAC_VLAN1 ((volatile unsigned long *)EMAC_VLAN1)
#define pEMAC_VLAN2 ((volatile unsigned long *)EMAC_VLAN2)
#define pEMAC_WKUP_CTL ((volatile unsigned long *)EMAC_WKUP_CTL)
#define pEMAC_WKUP_FFMSK0 ((volatile unsigned long *)EMAC_WKUP_FFMSK0)
#define pEMAC_WKUP_FFMSK1 ((volatile unsigned long *)EMAC_WKUP_FFMSK1)
#define pEMAC_WKUP_FFMSK2 ((volatile unsigned long *)EMAC_WKUP_FFMSK2)
#define pEMAC_WKUP_FFMSK3 ((volatile unsigned long *)EMAC_WKUP_FFMSK3)
#define pEMAC_WKUP_FFCMD ((volatile unsigned long *)EMAC_WKUP_FFCMD)
#define pEMAC_WKUP_FFOFF ((volatile unsigned long *)EMAC_WKUP_FFOFF)
#define pEMAC_WKUP_FFCRC0 ((volatile unsigned long *)EMAC_WKUP_FFCRC0)
#define pEMAC_WKUP_FFCRC1 ((volatile unsigned long *)EMAC_WKUP_FFCRC1)
#define pEMAC_SYSCTL ((volatile unsigned long *)EMAC_SYSCTL)
#define pEMAC_SYSTAT ((volatile unsigned long *)EMAC_SYSTAT)
#define pEMAC_RX_STAT ((volatile unsigned long *)EMAC_RX_STAT)
#define pEMAC_RX_STKY ((volatile unsigned long *)EMAC_RX_STKY)
#define pEMAC_RX_IRQE ((volatile unsigned long *)EMAC_RX_IRQE)
#define pEMAC_TX_STAT ((volatile unsigned long *)EMAC_TX_STAT)
#define pEMAC_TX_STKY ((volatile unsigned long *)EMAC_TX_STKY)
#define pEMAC_TX_IRQE ((volatile unsigned long *)EMAC_TX_IRQE)
#define pEMAC_MMC_CTL ((volatile unsigned long *)EMAC_MMC_CTL)
#define pEMAC_MMC_RIRQS ((volatile unsigned long *)EMAC_MMC_RIRQS)
#define pEMAC_MMC_RIRQE ((volatile unsigned long *)EMAC_MMC_RIRQE)
#define pEMAC_MMC_TIRQS ((volatile unsigned long *)EMAC_MMC_TIRQS)
#define pEMAC_MMC_TIRQE ((volatile unsigned long *)EMAC_MMC_TIRQE)
#define pEMAC_RXC_OK ((volatile unsigned long *)EMAC_RXC_OK)
#define pEMAC_RXC_FCS ((volatile unsigned long *)EMAC_RXC_FCS)
#define pEMAC_RXC_ALIGN ((volatile unsigned long *)EMAC_RXC_ALIGN)
#define pEMAC_RXC_OCTET ((volatile unsigned long *)EMAC_RXC_OCTET)
#define pEMAC_RXC_DMAOVF ((volatile unsigned long *)EMAC_RXC_DMAOVF)
#define pEMAC_RXC_UNICST ((volatile unsigned long *)EMAC_RXC_UNICST)
#define pEMAC_RXC_MULTI ((volatile unsigned long *)EMAC_RXC_MULTI)
#define pEMAC_RXC_BROAD ((volatile unsigned long *)EMAC_RXC_BROAD)
#define pEMAC_RXC_LNERRI ((volatile unsigned long *)EMAC_RXC_LNERRI)
#define pEMAC_RXC_LNERRO ((volatile unsigned long *)EMAC_RXC_LNERRO)
#define pEMAC_RXC_LONG ((volatile unsigned long *)EMAC_RXC_LONG)
#define pEMAC_RXC_MACCTL ((volatile unsigned long *)EMAC_RXC_MACCTL)
#define pEMAC_RXC_OPCODE ((volatile unsigned long *)EMAC_RXC_OPCODE)
#define pEMAC_RXC_PAUSE ((volatile unsigned long *)EMAC_RXC_PAUSE)
#define pEMAC_RXC_ALLFRM ((volatile unsigned long *)EMAC_RXC_ALLFRM)
#define pEMAC_RXC_ALLOCT ((volatile unsigned long *)EMAC_RXC_ALLOCT)
#define pEMAC_RXC_TYPED ((volatile unsigned long *)EMAC_RXC_TYPED)
#define pEMAC_RXC_SHORT ((volatile unsigned long *)EMAC_RXC_SHORT)
#define pEMAC_RXC_EQ64 ((volatile unsigned long *)EMAC_RXC_EQ64)
#define pEMAC_RXC_LT128 ((volatile unsigned long *)EMAC_RXC_LT128)
#define pEMAC_RXC_LT256 ((volatile unsigned long *)EMAC_RXC_LT256)
#define pEMAC_RXC_LT512 ((volatile unsigned long *)EMAC_RXC_LT512)
#define pEMAC_RXC_LT1024 ((volatile unsigned long *)EMAC_RXC_LT1024)
#define pEMAC_RXC_GE1024 ((volatile unsigned long *)EMAC_RXC_GE1024)
#define pEMAC_TXC_OK ((volatile unsigned long *)EMAC_TXC_OK)
#define pEMAC_TXC_1COL ((volatile unsigned long *)EMAC_TXC_1COL)
#define pEMAC_TXC_GT1COL ((volatile unsigned long *)EMAC_TXC_GT1COL)
#define pEMAC_TXC_OCTET ((volatile unsigned long *)EMAC_TXC_OCTET)
#define pEMAC_TXC_DEFER ((volatile unsigned long *)EMAC_TXC_DEFER)
#define pEMAC_TXC_LATECL ((volatile unsigned long *)EMAC_TXC_LATECL)
#define pEMAC_TXC_XS_COL ((volatile unsigned long *)EMAC_TXC_XS_COL)
#define pEMAC_TXC_DMAUND ((volatile unsigned long *)EMAC_TXC_DMAUND)
#define pEMAC_TXC_CRSERR ((volatile unsigned long *)EMAC_TXC_CRSERR)
#define pEMAC_TXC_UNICST ((volatile unsigned long *)EMAC_TXC_UNICST)
#define pEMAC_TXC_MULTI ((volatile unsigned long *)EMAC_TXC_MULTI)
#define pEMAC_TXC_BROAD ((volatile unsigned long *)EMAC_TXC_BROAD)
#define pEMAC_TXC_XS_DFR ((volatile unsigned long *)EMAC_TXC_XS_DFR)
#define pEMAC_TXC_MACCTL ((volatile unsigned long *)EMAC_TXC_MACCTL)
#define pEMAC_TXC_ALLFRM ((volatile unsigned long *)EMAC_TXC_ALLFRM)
#define pEMAC_TXC_ALLOCT ((volatile unsigned long *)EMAC_TXC_ALLOCT)
#define pEMAC_TXC_EQ64 ((volatile unsigned long *)EMAC_TXC_EQ64)
#define pEMAC_TXC_LT128 ((volatile unsigned long *)EMAC_TXC_LT128)
#define pEMAC_TXC_LT256 ((volatile unsigned long *)EMAC_TXC_LT256)
#define pEMAC_TXC_LT512 ((volatile unsigned long *)EMAC_TXC_LT512)
#define pEMAC_TXC_LT1024 ((volatile unsigned long *)EMAC_TXC_LT1024)
#define pEMAC_TXC_GE1024 ((volatile unsigned long *)EMAC_TXC_GE1024)
#define pEMAC_TXC_ABORT ((volatile unsigned long *)EMAC_TXC_ABORT)
/* SDH Registers (0xFFC03800 - 0xFFC03CFF)*/
#define pSDH_PWR_CTL ((volatile unsigned short *)SDH_PWR_CTL)
#define pSDH_CLK_CTL ((volatile unsigned short *)SDH_CLK_CTL)
#define pSDH_ARGUMENT ((volatile unsigned long *)SDH_ARGUMENT)
#define pSDH_COMMAND ((volatile unsigned short *)SDH_COMMAND)
#define pSDH_RESP_CMD ((volatile unsigned short *)SDH_RESP_CMD)
#define pSDH_RESPONSE0 ((volatile unsigned long *)SDH_RESPONSE0)
#define pSDH_RESPONSE1 ((volatile unsigned long *)SDH_RESPONSE1)
#define pSDH_RESPONSE2 ((volatile unsigned long *)SDH_RESPONSE2)
#define pSDH_RESPONSE3 ((volatile unsigned long *)SDH_RESPONSE3)
#define pSDH_DATA_TIMER ((volatile unsigned long *)SDH_DATA_TIMER)
#define pSDH_DATA_LGTH ((volatile unsigned short *)SDH_DATA_LGTH)
#define pSDH_DATA_CTL ((volatile unsigned short *)SDH_DATA_CTL)
#define pSDH_DATA_CNT ((volatile unsigned short *)SDH_DATA_CNT)
#define pSDH_STATUS ((volatile unsigned long *)SDH_STATUS)
#define pSDH_STATUS_CLR ((volatile unsigned short *)SDH_STATUS_CLR)
#define pSDH_MASK0 ((volatile unsigned long *)SDH_MASK0)
#define pSDH_MASK1 ((volatile unsigned long *)SDH_MASK1)
#define pSDH_FIFO_CNT ((volatile unsigned short *)SDH_FIFO_CNT)
#define pSDH_FIFO ((volatile unsigned long *)SDH_FIFO)
#define pSDH_E_STATUS ((volatile unsigned short *)SDH_E_STATUS)
#define pSDH_E_MASK ((volatile unsigned short *)SDH_E_MASK)
#define pSDH_CFG ((volatile unsigned short *)SDH_CFG)
#define pSDH_RD_WAIT_EN ((volatile unsigned short *)SDH_RD_WAIT_EN)
#define pSDH_PID0 ((volatile unsigned short *)SDH_PID0)
#define pSDH_PID1 ((volatile unsigned short *)SDH_PID1)
#define pSDH_PID2 ((volatile unsigned short *)SDH_PID2)
#define pSDH_PID3 ((volatile unsigned short *)SDH_PID3)
#define pSDH_PID4 ((volatile unsigned short *)SDH_PID4)
#define pSDH_PID5 ((volatile unsigned short *)SDH_PID5)
#define pSDH_PID6 ((volatile unsigned short *)SDH_PID6)
#define pSDH_PID7 ((volatile unsigned short *)SDH_PID7)
/* RSI Registers (0xFFC03800 - 0xFFC03CFF)*/
#define pRSI_PWR_CONTROL ((volatile unsigned short *)RSI_PWR_CONTROL)
#define pRSI_CLK_CONTROL ((volatile unsigned short *)RSI_CLK_CONTROL)
#define pRSI_ARGUMENT ((volatile unsigned long *)RSI_ARGUMENT)
#define pRSI_COMMAND ((volatile unsigned short *)RSI_COMMAND)
#define pRSI_RESP_CMD ((volatile unsigned short *)RSI_RESP_CMD)
#define pRSI_RESPONSE0 ((volatile unsigned long *)RSI_RESPONSE0)
#define pRSI_RESPONSE1 ((volatile unsigned long *)RSI_RESPONSE1)
#define pRSI_RESPONSE2 ((volatile unsigned long *)RSI_RESPONSE2)
#define pRSI_RESPONSE3 ((volatile unsigned long *)RSI_RESPONSE3)
#define pRSI_DATA_TIMER ((volatile unsigned long *)RSI_DATA_TIMER)
#define pRSI_DATA_LGTH ((volatile unsigned short *)RSI_DATA_LGTH)
#define pRSI_DATA_CONTROL ((volatile unsigned short *)RSI_DATA_CONTROL)
#define pRSI_DATA_CNT ((volatile unsigned short *)RSI_DATA_CNT)
#define pRSI_STATUS ((volatile unsigned long *)RSI_STATUS)
#define pRSI_STATUSCL ((volatile unsigned short *)RSI_STATUSCL)
#define pRSI_MASK0 ((volatile unsigned long *)RSI_MASK0)
#define pRSI_MASK1 ((volatile unsigned long *)RSI_MASK1)
#define pRSI_FIFO_CNT ((volatile unsigned short *)RSI_FIFO_CNT)
#define pRSI_CEATA_CONTROL ((volatile unsigned short *)RSI_CEATA_CONTROL)
#define pRSI_FIFO ((volatile unsigned long *)RSI_FIFO)
#define pRSI_ESTAT ((volatile unsigned short *)RSI_ESTAT)
#define pRSI_EMASK ((volatile unsigned short *)RSI_EMASK)
#define pRSI_CONFIG ((volatile unsigned short *)RSI_CONFIG)
#define pRSI_RD_WAIT_EN ((volatile unsigned short *)RSI_RD_WAIT_EN)
#define pRSI_PID0 ((volatile unsigned short *)RSI_PID0)
#define pRSI_PID1 ((volatile unsigned short *)RSI_PID1)
#define pRSI_PID2 ((volatile unsigned short *)RSI_PID2)
#define pRSI_PID3 ((volatile unsigned short *)RSI_PID3)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF516_H */

View File

@ -0,0 +1,226 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This include file contains a list of macro "defines" to enable the programmer
** to use symbolic names for the ADSP-BF518 peripherals.
**
************************************************************************************
** System MMR Register Map
************************************************************************************/
#ifndef _CDEF_BF518_H
#define _CDEF_BF518_H
/* include all Core registers and bit definitions */
#include <defBF518.h>
/* include core specific register pointer definitions */
#include <cdef_LPBlackfin.h>
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF518 */
/* include cdefBF51x_base.h for the set of #defines that are common to all ADSP-BF51x processors */
#include <cdefBF51x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF518 that are not in the common header */
/* 10/100 Ethernet Controller */
#define pEMAC_OPMODE ((volatile unsigned long *)EMAC_OPMODE)
#define pEMAC_ADDRLO ((volatile unsigned long *)EMAC_ADDRLO)
#define pEMAC_ADDRHI ((volatile unsigned long *)EMAC_ADDRHI)
#define pEMAC_HASHLO ((volatile unsigned long *)EMAC_HASHLO)
#define pEMAC_HASHHI ((volatile unsigned long *)EMAC_HASHHI)
#define pEMAC_STAADD ((volatile unsigned long *)EMAC_STAADD)
#define pEMAC_STADAT ((volatile unsigned long *)EMAC_STADAT)
#define pEMAC_FLC ((volatile unsigned long *)EMAC_FLC)
#define pEMAC_VLAN1 ((volatile unsigned long *)EMAC_VLAN1)
#define pEMAC_VLAN2 ((volatile unsigned long *)EMAC_VLAN2)
#define pEMAC_WKUP_CTL ((volatile unsigned long *)EMAC_WKUP_CTL)
#define pEMAC_WKUP_FFMSK0 ((volatile unsigned long *)EMAC_WKUP_FFMSK0)
#define pEMAC_WKUP_FFMSK1 ((volatile unsigned long *)EMAC_WKUP_FFMSK1)
#define pEMAC_WKUP_FFMSK2 ((volatile unsigned long *)EMAC_WKUP_FFMSK2)
#define pEMAC_WKUP_FFMSK3 ((volatile unsigned long *)EMAC_WKUP_FFMSK3)
#define pEMAC_WKUP_FFCMD ((volatile unsigned long *)EMAC_WKUP_FFCMD)
#define pEMAC_WKUP_FFOFF ((volatile unsigned long *)EMAC_WKUP_FFOFF)
#define pEMAC_WKUP_FFCRC0 ((volatile unsigned long *)EMAC_WKUP_FFCRC0)
#define pEMAC_WKUP_FFCRC1 ((volatile unsigned long *)EMAC_WKUP_FFCRC1)
#define pEMAC_SYSCTL ((volatile unsigned long *)EMAC_SYSCTL)
#define pEMAC_SYSTAT ((volatile unsigned long *)EMAC_SYSTAT)
#define pEMAC_RX_STAT ((volatile unsigned long *)EMAC_RX_STAT)
#define pEMAC_RX_STKY ((volatile unsigned long *)EMAC_RX_STKY)
#define pEMAC_RX_IRQE ((volatile unsigned long *)EMAC_RX_IRQE)
#define pEMAC_TX_STAT ((volatile unsigned long *)EMAC_TX_STAT)
#define pEMAC_TX_STKY ((volatile unsigned long *)EMAC_TX_STKY)
#define pEMAC_TX_IRQE ((volatile unsigned long *)EMAC_TX_IRQE)
#define pEMAC_MMC_CTL ((volatile unsigned long *)EMAC_MMC_CTL)
#define pEMAC_MMC_RIRQS ((volatile unsigned long *)EMAC_MMC_RIRQS)
#define pEMAC_MMC_RIRQE ((volatile unsigned long *)EMAC_MMC_RIRQE)
#define pEMAC_MMC_TIRQS ((volatile unsigned long *)EMAC_MMC_TIRQS)
#define pEMAC_MMC_TIRQE ((volatile unsigned long *)EMAC_MMC_TIRQE)
#define pEMAC_RXC_OK ((volatile unsigned long *)EMAC_RXC_OK)
#define pEMAC_RXC_FCS ((volatile unsigned long *)EMAC_RXC_FCS)
#define pEMAC_RXC_ALIGN ((volatile unsigned long *)EMAC_RXC_ALIGN)
#define pEMAC_RXC_OCTET ((volatile unsigned long *)EMAC_RXC_OCTET)
#define pEMAC_RXC_DMAOVF ((volatile unsigned long *)EMAC_RXC_DMAOVF)
#define pEMAC_RXC_UNICST ((volatile unsigned long *)EMAC_RXC_UNICST)
#define pEMAC_RXC_MULTI ((volatile unsigned long *)EMAC_RXC_MULTI)
#define pEMAC_RXC_BROAD ((volatile unsigned long *)EMAC_RXC_BROAD)
#define pEMAC_RXC_LNERRI ((volatile unsigned long *)EMAC_RXC_LNERRI)
#define pEMAC_RXC_LNERRO ((volatile unsigned long *)EMAC_RXC_LNERRO)
#define pEMAC_RXC_LONG ((volatile unsigned long *)EMAC_RXC_LONG)
#define pEMAC_RXC_MACCTL ((volatile unsigned long *)EMAC_RXC_MACCTL)
#define pEMAC_RXC_OPCODE ((volatile unsigned long *)EMAC_RXC_OPCODE)
#define pEMAC_RXC_PAUSE ((volatile unsigned long *)EMAC_RXC_PAUSE)
#define pEMAC_RXC_ALLFRM ((volatile unsigned long *)EMAC_RXC_ALLFRM)
#define pEMAC_RXC_ALLOCT ((volatile unsigned long *)EMAC_RXC_ALLOCT)
#define pEMAC_RXC_TYPED ((volatile unsigned long *)EMAC_RXC_TYPED)
#define pEMAC_RXC_SHORT ((volatile unsigned long *)EMAC_RXC_SHORT)
#define pEMAC_RXC_EQ64 ((volatile unsigned long *)EMAC_RXC_EQ64)
#define pEMAC_RXC_LT128 ((volatile unsigned long *)EMAC_RXC_LT128)
#define pEMAC_RXC_LT256 ((volatile unsigned long *)EMAC_RXC_LT256)
#define pEMAC_RXC_LT512 ((volatile unsigned long *)EMAC_RXC_LT512)
#define pEMAC_RXC_LT1024 ((volatile unsigned long *)EMAC_RXC_LT1024)
#define pEMAC_RXC_GE1024 ((volatile unsigned long *)EMAC_RXC_GE1024)
#define pEMAC_TXC_OK ((volatile unsigned long *)EMAC_TXC_OK)
#define pEMAC_TXC_1COL ((volatile unsigned long *)EMAC_TXC_1COL)
#define pEMAC_TXC_GT1COL ((volatile unsigned long *)EMAC_TXC_GT1COL)
#define pEMAC_TXC_OCTET ((volatile unsigned long *)EMAC_TXC_OCTET)
#define pEMAC_TXC_DEFER ((volatile unsigned long *)EMAC_TXC_DEFER)
#define pEMAC_TXC_LATECL ((volatile unsigned long *)EMAC_TXC_LATECL)
#define pEMAC_TXC_XS_COL ((volatile unsigned long *)EMAC_TXC_XS_COL)
#define pEMAC_TXC_DMAUND ((volatile unsigned long *)EMAC_TXC_DMAUND)
#define pEMAC_TXC_CRSERR ((volatile unsigned long *)EMAC_TXC_CRSERR)
#define pEMAC_TXC_UNICST ((volatile unsigned long *)EMAC_TXC_UNICST)
#define pEMAC_TXC_MULTI ((volatile unsigned long *)EMAC_TXC_MULTI)
#define pEMAC_TXC_BROAD ((volatile unsigned long *)EMAC_TXC_BROAD)
#define pEMAC_TXC_XS_DFR ((volatile unsigned long *)EMAC_TXC_XS_DFR)
#define pEMAC_TXC_MACCTL ((volatile unsigned long *)EMAC_TXC_MACCTL)
#define pEMAC_TXC_ALLFRM ((volatile unsigned long *)EMAC_TXC_ALLFRM)
#define pEMAC_TXC_ALLOCT ((volatile unsigned long *)EMAC_TXC_ALLOCT)
#define pEMAC_TXC_EQ64 ((volatile unsigned long *)EMAC_TXC_EQ64)
#define pEMAC_TXC_LT128 ((volatile unsigned long *)EMAC_TXC_LT128)
#define pEMAC_TXC_LT256 ((volatile unsigned long *)EMAC_TXC_LT256)
#define pEMAC_TXC_LT512 ((volatile unsigned long *)EMAC_TXC_LT512)
#define pEMAC_TXC_LT1024 ((volatile unsigned long *)EMAC_TXC_LT1024)
#define pEMAC_TXC_GE1024 ((volatile unsigned long *)EMAC_TXC_GE1024)
#define pEMAC_TXC_ABORT ((volatile unsigned long *)EMAC_TXC_ABORT)
/* EMAC PTP (IEEE 1588) (0xFFC030A0 - 0xFFC030EC)*/
#define pEMAC_PTP_CTL ((volatile unsigned short *)EMAC_PTP_CTL)
#define pEMAC_PTP_IE ((volatile unsigned short *)EMAC_PTP_IE)
#define pEMAC_PTP_ISTAT ((volatile unsigned short *)EMAC_PTP_ISTAT)
#define pEMAC_PTP_FOFF ((volatile unsigned long *)EMAC_PTP_FOFF)
#define pEMAC_PTP_FV1 ((volatile unsigned long *)EMAC_PTP_FV1)
#define pEMAC_PTP_FV2 ((volatile unsigned long *)EMAC_PTP_FV2)
#define pEMAC_PTP_FV3 ((volatile unsigned long *)EMAC_PTP_FV3)
#define pEMAC_PTP_ADDEND ((volatile unsigned long *)EMAC_PTP_ADDEND)
#define pEMAC_PTP_ACCR ((volatile unsigned long *)EMAC_PTP_ACCR)
#define pEMAC_PTP_OFFSET ((volatile unsigned long *)EMAC_PTP_OFFSET)
#define pEMAC_PTP_TIMELO ((volatile unsigned long *)EMAC_PTP_TIMELO)
#define pEMAC_PTP_TIMEHI ((volatile unsigned long *)EMAC_PTP_TIMEHI)
#define pEMAC_PTP_RXSNAPLO ((volatile unsigned long *)EMAC_PTP_RXSNAPLO)
#define pEMAC_PTP_RXSNAPHI ((volatile unsigned long *)EMAC_PTP_RXSNAPHI)
#define pEMAC_PTP_TXSNAPLO ((volatile unsigned long *)EMAC_PTP_TXSNAPLO)
#define pEMAC_PTP_TXSNAPHI ((volatile unsigned long *)EMAC_PTP_TXSNAPHI)
#define pEMAC_PTP_ALARMLO ((volatile unsigned long *)EMAC_PTP_ALARMLO)
#define pEMAC_PTP_ALARMHI ((volatile unsigned long *)EMAC_PTP_ALARMHI)
#define pEMAC_PTP_ID_OFF ((volatile unsigned short *)EMAC_PTP_ID_OFF)
#define pEMAC_PTP_ID_SNAP ((volatile unsigned long *)EMAC_PTP_ID_SNAP)
#define pEMAC_PTP_PPS_STARTLO ((volatile unsigned long *)EMAC_PTP_PPS_STARTLO)
#define pEMAC_PTP_PPS_STARTHI ((volatile unsigned long *)EMAC_PTP_PPS_STARTHI)
#define pEMAC_PTP_PPS_PERIOD ((volatile unsigned long *)EMAC_PTP_PPS_PERIOD)
/* SDH Registers (0xFFC03800 - 0xFFC03CFF)*/
#define pSDH_PWR_CTL ((volatile unsigned short *)SDH_PWR_CTL)
#define pSDH_CLK_CTL ((volatile unsigned short *)SDH_CLK_CTL)
#define pSDH_ARGUMENT ((volatile unsigned long *)SDH_ARGUMENT)
#define pSDH_COMMAND ((volatile unsigned short *)SDH_COMMAND)
#define pSDH_RESP_CMD ((volatile unsigned short *)SDH_RESP_CMD)
#define pSDH_RESPONSE0 ((volatile unsigned long *)SDH_RESPONSE0)
#define pSDH_RESPONSE1 ((volatile unsigned long *)SDH_RESPONSE1)
#define pSDH_RESPONSE2 ((volatile unsigned long *)SDH_RESPONSE2)
#define pSDH_RESPONSE3 ((volatile unsigned long *)SDH_RESPONSE3)
#define pSDH_DATA_TIMER ((volatile unsigned long *)SDH_DATA_TIMER)
#define pSDH_DATA_LGTH ((volatile unsigned short *)SDH_DATA_LGTH)
#define pSDH_DATA_CTL ((volatile unsigned short *)SDH_DATA_CTL)
#define pSDH_DATA_CNT ((volatile unsigned short *)SDH_DATA_CNT)
#define pSDH_STATUS ((volatile unsigned long *)SDH_STATUS)
#define pSDH_STATUS_CLR ((volatile unsigned short *)SDH_STATUS_CLR)
#define pSDH_MASK0 ((volatile unsigned long *)SDH_MASK0)
#define pSDH_MASK1 ((volatile unsigned long *)SDH_MASK1)
#define pSDH_FIFO_CNT ((volatile unsigned short *)SDH_FIFO_CNT)
#define pSDH_FIFO ((volatile unsigned long *)SDH_FIFO)
#define pSDH_E_STATUS ((volatile unsigned short *)SDH_E_STATUS)
#define pSDH_E_MASK ((volatile unsigned short *)SDH_E_MASK)
#define pSDH_CFG ((volatile unsigned short *)SDH_CFG)
#define pSDH_RD_WAIT_EN ((volatile unsigned short *)SDH_RD_WAIT_EN)
#define pSDH_PID0 ((volatile unsigned short *)SDH_PID0)
#define pSDH_PID1 ((volatile unsigned short *)SDH_PID1)
#define pSDH_PID2 ((volatile unsigned short *)SDH_PID2)
#define pSDH_PID3 ((volatile unsigned short *)SDH_PID3)
#define pSDH_PID4 ((volatile unsigned short *)SDH_PID4)
#define pSDH_PID5 ((volatile unsigned short *)SDH_PID5)
#define pSDH_PID6 ((volatile unsigned short *)SDH_PID6)
#define pSDH_PID7 ((volatile unsigned short *)SDH_PID7)
/* RSI Registers (0xFFC03800 - 0xFFC03CFF)*/
#define pRSI_PWR_CONTROL ((volatile unsigned short *)RSI_PWR_CONTROL)
#define pRSI_CLK_CONTROL ((volatile unsigned short *)RSI_CLK_CONTROL)
#define pRSI_ARGUMENT ((volatile unsigned long *)RSI_ARGUMENT)
#define pRSI_COMMAND ((volatile unsigned short *)RSI_COMMAND)
#define pRSI_RESP_CMD ((volatile unsigned short *)RSI_RESP_CMD)
#define pRSI_RESPONSE0 ((volatile unsigned long *)RSI_RESPONSE0)
#define pRSI_RESPONSE1 ((volatile unsigned long *)RSI_RESPONSE1)
#define pRSI_RESPONSE2 ((volatile unsigned long *)RSI_RESPONSE2)
#define pRSI_RESPONSE3 ((volatile unsigned long *)RSI_RESPONSE3)
#define pRSI_DATA_TIMER ((volatile unsigned long *)RSI_DATA_TIMER)
#define pRSI_DATA_LGTH ((volatile unsigned short *)RSI_DATA_LGTH)
#define pRSI_DATA_CONTROL ((volatile unsigned short *)RSI_DATA_CONTROL)
#define pRSI_DATA_CNT ((volatile unsigned short *)RSI_DATA_CNT)
#define pRSI_STATUS ((volatile unsigned long *)RSI_STATUS)
#define pRSI_STATUSCL ((volatile unsigned short *)RSI_STATUSCL)
#define pRSI_MASK0 ((volatile unsigned long *)RSI_MASK0)
#define pRSI_MASK1 ((volatile unsigned long *)RSI_MASK1)
#define pRSI_FIFO_CNT ((volatile unsigned short *)RSI_FIFO_CNT)
#define pRSI_CEATA_CONTROL ((volatile unsigned short *)RSI_CEATA_CONTROL)
#define pRSI_FIFO ((volatile unsigned long *)RSI_FIFO)
#define pRSI_ESTAT ((volatile unsigned short *)RSI_ESTAT)
#define pRSI_EMASK ((volatile unsigned short *)RSI_EMASK)
#define pRSI_CONFIG ((volatile unsigned short *)RSI_CONFIG)
#define pRSI_RD_WAIT_EN ((volatile unsigned short *)RSI_RD_WAIT_EN)
#define pRSI_PID0 ((volatile unsigned short *)RSI_PID0)
#define pRSI_PID1 ((volatile unsigned short *)RSI_PID1)
#define pRSI_PID2 ((volatile unsigned short *)RSI_PID2)
#define pRSI_PID3 ((volatile unsigned short *)RSI_PID3)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF518_H */

View File

@ -0,0 +1,676 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** cdefBF51x_base.h
**
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This include file contains a list of macro "defines" to enable the programmer
** to use symbolic names for the registers common to the ADSP-BF51x peripherals.
**
***************************************************************/
#ifndef _CDEF_BF51X_H
#define _CDEF_BF51X_H
#include <defBF51x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
#ifndef _PTR_TO_VOL_VOID_PTR
#ifndef _USE_LEGACY_CDEF_BEHAVIOUR
#define _PTR_TO_VOL_VOID_PTR (void * volatile *)
#else
#define _PTR_TO_VOL_VOID_PTR (volatile void **)
#endif
#endif
/* Clock and System Control (0xFFC00000 - 0xFFC000FF) */
#define pPLL_CTL ((volatile unsigned short *)PLL_CTL)
#define pPLL_DIV ((volatile unsigned short *)PLL_DIV)
#define pVR_CTL ((volatile unsigned short *)VR_CTL)
#define pPLL_STAT ((volatile unsigned short *)PLL_STAT)
#define pPLL_LOCKCNT ((volatile unsigned short *)PLL_LOCKCNT)
#define pCHIPID ((volatile unsigned long *)CHIPID)
/* System Interrupt Controller(0xFFC00100 - 0xFFC001FF) */
#define pSWRST ((volatile unsigned short *)SWRST)
#define pSYSCR ((volatile unsigned short *)SYSCR)
#define pSIC_IMASK0 ((volatile unsigned long *)SIC_IMASK0) /* legacy register name (below) provided for backwards code compatibility */
#define pSIC_IMASK ((volatile unsigned long *)SIC_IMASK0)
#define pSIC_IAR0 ((volatile unsigned long *)SIC_IAR0)
#define pSIC_IAR1 ((volatile unsigned long *)SIC_IAR1)
#define pSIC_IAR2 ((volatile unsigned long *)SIC_IAR2)
#define pSIC_IAR3 ((volatile unsigned long *)SIC_IAR3)
#define pSIC_ISR0 ((volatile unsigned long *)SIC_ISR0) /* legacy register name (below) provided for backwards code compatibility */
#define pSIC_ISR ((volatile unsigned long *)SIC_ISR0)
#define pSIC_IWR0 ((volatile unsigned long *)SIC_IWR0) /* legacy register name (below) provided for backwards code compatibility */
#define pSIC_IWR ((volatile unsigned long *)SIC_IWR0)
/* SIC Additions to ADSP-BF51x(0xFFC0014C - 0xFFC00162) */
#define pSIC_IMASK1 ((volatile unsigned long *)SIC_IMASK1)
#define pSIC_IAR4 ((volatile unsigned long *)SIC_IAR4)
#define pSIC_IAR5 ((volatile unsigned long *)SIC_IAR5)
#define pSIC_IAR6 ((volatile unsigned long *)SIC_IAR6)
#define pSIC_IAR7 ((volatile unsigned long *)SIC_IAR7)
#define pSIC_ISR1 ((volatile unsigned long *)SIC_ISR1)
#define pSIC_IWR1 ((volatile unsigned long *)SIC_IWR1)
/* Watchdog Timer (0xFFC00200 - 0xFFC002FF) */
#define pWDOG_CTL ((volatile unsigned short *)WDOG_CTL)
#define pWDOG_CNT ((volatile unsigned long *)WDOG_CNT)
#define pWDOG_STAT ((volatile unsigned long *)WDOG_STAT)
/* Real Time Clock (0xFFC00300 - 0xFFC003FF) */
#define pRTC_STAT ((volatile unsigned long *)RTC_STAT)
#define pRTC_ICTL ((volatile unsigned short *)RTC_ICTL)
#define pRTC_ISTAT ((volatile unsigned short *)RTC_ISTAT)
#define pRTC_SWCNT ((volatile unsigned short *)RTC_SWCNT)
#define pRTC_ALARM ((volatile unsigned long *)RTC_ALARM)
#define pRTC_FAST ((volatile unsigned short *)RTC_FAST)
#define pRTC_PREN ((volatile unsigned short *)RTC_PREN)
/* UART0 Controller (0xFFC00400 - 0xFFC004FF) */
#define pUART0_THR ((volatile unsigned short *)UART0_THR)
#define pUART0_RBR ((volatile unsigned short *)UART0_RBR)
#define pUART0_DLL ((volatile unsigned short *)UART0_DLL)
#define pUART0_IER ((volatile unsigned short *)UART0_IER)
#define pUART0_DLH ((volatile unsigned short *)UART0_DLH)
#define pUART0_IIR ((volatile unsigned short *)UART0_IIR)
#define pUART0_LCR ((volatile unsigned short *)UART0_LCR)
#define pUART0_MCR ((volatile unsigned short *)UART0_MCR)
#define pUART0_LSR ((volatile unsigned short *)UART0_LSR)
#define pUART0_MSR ((volatile unsigned short *)UART0_LSR)
#define pUART0_SCR ((volatile unsigned short *)UART0_SCR)
#define pUART0_GCTL ((volatile unsigned short *)UART0_GCTL)
/* SPI0 Controller (0xFFC00500 - 0xFFC005FF)*/
#define pSPI0_CTL ((volatile unsigned short *)SPI0_CTL)
/* legacy register name (below) provided for backwards code compatibility */
#define pSPI_CTL pSPI0_CTL
#define pSPI0_FLG ((volatile unsigned short *)SPI0_FLG)
/* legacy register name (below) provided for backwards code compatibility */
#define pSPI_FLG pSPI0_FLG
#define pSPI0_STAT ((volatile unsigned short *)SPI0_STAT)
/* legacy register name (below) provided for backwards code compatibility */
#define pSPI_STAT pSPI0_STAT
#define pSPI0_TDBR ((volatile unsigned short *)SPI0_TDBR)
/* legacy register name (below) provided for backwards code compatibility */
#define pSPI_TDBR pSPI0_TDBR
#define pSPI0_RDBR ((volatile unsigned short *)SPI0_RDBR)
/* legacy register name (below) provided for backwards code compatibility */
#define pSPI_RDBR pSPI0_RDBR
#define pSPI0_BAUD ((volatile unsigned short *)SPI0_BAUD)
/* legacy register name (below) provided for backwards code compatibility */
#define pSPI_BAUD pSPI0_BAUD
#define pSPI0_SHADOW ((volatile unsigned short *)SPI0_SHADOW)
/* legacy register name (below) provided for backwards code compatibility */
#define pSPI_SHADOW pSPI0_SHADOW
/* TIMER0-7 Registers (0xFFC00600 - 0xFFC006FF) */
#define pTIMER0_CONFIG ((volatile unsigned short *)TIMER0_CONFIG)
#define pTIMER0_COUNTER ((volatile unsigned long *)TIMER0_COUNTER)
#define pTIMER0_PERIOD ((volatile unsigned long *)TIMER0_PERIOD)
#define pTIMER0_WIDTH ((volatile unsigned long *)TIMER0_WIDTH)
#define pTIMER1_CONFIG ((volatile unsigned short *)TIMER1_CONFIG)
#define pTIMER1_COUNTER ((volatile unsigned long *)TIMER1_COUNTER)
#define pTIMER1_PERIOD ((volatile unsigned long *)TIMER1_PERIOD)
#define pTIMER1_WIDTH ((volatile unsigned long *)TIMER1_WIDTH)
#define pTIMER2_CONFIG ((volatile unsigned short *)TIMER2_CONFIG)
#define pTIMER2_COUNTER ((volatile unsigned long *)TIMER2_COUNTER)
#define pTIMER2_PERIOD ((volatile unsigned long *)TIMER2_PERIOD)
#define pTIMER2_WIDTH ((volatile unsigned long *)TIMER2_WIDTH)
#define pTIMER3_CONFIG ((volatile unsigned short *)TIMER3_CONFIG)
#define pTIMER3_COUNTER ((volatile unsigned long *)TIMER3_COUNTER)
#define pTIMER3_PERIOD ((volatile unsigned long *)TIMER3_PERIOD)
#define pTIMER3_WIDTH ((volatile unsigned long *)TIMER3_WIDTH)
#define pTIMER4_CONFIG ((volatile unsigned short *)TIMER4_CONFIG)
#define pTIMER4_COUNTER ((volatile unsigned long *)TIMER4_COUNTER)
#define pTIMER4_PERIOD ((volatile unsigned long *)TIMER4_PERIOD)
#define pTIMER4_WIDTH ((volatile unsigned long *)TIMER4_WIDTH)
#define pTIMER5_CONFIG ((volatile unsigned short *)TIMER5_CONFIG)
#define pTIMER5_COUNTER ((volatile unsigned long *)TIMER5_COUNTER)
#define pTIMER5_PERIOD ((volatile unsigned long *)TIMER5_PERIOD)
#define pTIMER5_WIDTH ((volatile unsigned long *)TIMER5_WIDTH)
#define pTIMER6_CONFIG ((volatile unsigned short *)TIMER6_CONFIG)
#define pTIMER6_COUNTER ((volatile unsigned long *)TIMER6_COUNTER)
#define pTIMER6_PERIOD ((volatile unsigned long *)TIMER6_PERIOD)
#define pTIMER6_WIDTH ((volatile unsigned long *)TIMER6_WIDTH)
#define pTIMER7_CONFIG ((volatile unsigned short *)TIMER7_CONFIG)
#define pTIMER7_COUNTER ((volatile unsigned long *)TIMER7_COUNTER)
#define pTIMER7_PERIOD ((volatile unsigned long *)TIMER7_PERIOD)
#define pTIMER7_WIDTH ((volatile unsigned long *)TIMER7_WIDTH)
#define pTIMER_ENABLE ((volatile unsigned short *)TIMER_ENABLE)
#define pTIMER_DISABLE ((volatile unsigned short *)TIMER_DISABLE)
#define pTIMER_STATUS ((volatile unsigned long *)TIMER_STATUS)
/* General Purpose I/O Port F (0xFFC00700 - 0xFFC007FF) */
#define pPORTFIO ((volatile unsigned short *)PORTFIO)
#define pPORTFIO_CLEAR ((volatile unsigned short *)PORTFIO_CLEAR)
#define pPORTFIO_SET ((volatile unsigned short *)PORTFIO_SET)
#define pPORTFIO_TOGGLE ((volatile unsigned short *)PORTFIO_TOGGLE)
#define pPORTFIO_MASKA ((volatile unsigned short *)PORTFIO_MASKA)
#define pPORTFIO_MASKA_CLEAR ((volatile unsigned short *)PORTFIO_MASKA_CLEAR)
#define pPORTFIO_MASKA_SET ((volatile unsigned short *)PORTFIO_MASKA_SET)
#define pPORTFIO_MASKA_TOGGLE ((volatile unsigned short *)PORTFIO_MASKA_TOGGLE)
#define pPORTFIO_MASKB ((volatile unsigned short *)PORTFIO_MASKB)
#define pPORTFIO_MASKB_CLEAR ((volatile unsigned short *)PORTFIO_MASKB_CLEAR)
#define pPORTFIO_MASKB_SET ((volatile unsigned short *)PORTFIO_MASKB_SET)
#define pPORTFIO_MASKB_TOGGLE ((volatile unsigned short *)PORTFIO_MASKB_TOGGLE)
#define pPORTFIO_DIR ((volatile unsigned short *)PORTFIO_DIR)
#define pPORTFIO_POLAR ((volatile unsigned short *)PORTFIO_POLAR)
#define pPORTFIO_EDGE ((volatile unsigned short *)PORTFIO_EDGE)
#define pPORTFIO_BOTH ((volatile unsigned short *)PORTFIO_BOTH)
#define pPORTFIO_INEN ((volatile unsigned short *)PORTFIO_INEN)
/* SPORT0 Controller (0xFFC00800 - 0xFFC008FF) */
#define pSPORT0_TCR1 ((volatile unsigned short *)SPORT0_TCR1)
#define pSPORT0_TCR2 ((volatile unsigned short *)SPORT0_TCR2)
#define pSPORT0_TCLKDIV ((volatile unsigned short *)SPORT0_TCLKDIV)
#define pSPORT0_TFSDIV ((volatile unsigned short *)SPORT0_TFSDIV)
#define pSPORT0_TX ((volatile unsigned long *)SPORT0_TX)
#define pSPORT0_RX ((volatile unsigned long *)SPORT0_RX)
#define pSPORT0_TX32 ((volatile unsigned long *)SPORT0_TX)
#define pSPORT0_RX32 ((volatile unsigned long *)SPORT0_RX)
#define pSPORT0_TX16 ((volatile unsigned short *)SPORT0_TX)
#define pSPORT0_RX16 ((volatile unsigned short *)SPORT0_RX)
#define pSPORT0_RCR1 ((volatile unsigned short *)SPORT0_RCR1)
#define pSPORT0_RCR2 ((volatile unsigned short *)SPORT0_RCR2)
#define pSPORT0_RCLKDIV ((volatile unsigned short *)SPORT0_RCLKDIV)
#define pSPORT0_RFSDIV ((volatile unsigned short *)SPORT0_RFSDIV)
#define pSPORT0_STAT ((volatile unsigned short *)SPORT0_STAT)
#define pSPORT0_CHNL ((volatile unsigned short *)SPORT0_CHNL)
#define pSPORT0_MCMC1 ((volatile unsigned short *)SPORT0_MCMC1)
#define pSPORT0_MCMC2 ((volatile unsigned short *)SPORT0_MCMC2)
#define pSPORT0_MTCS0 ((volatile unsigned long *)SPORT0_MTCS0)
#define pSPORT0_MTCS1 ((volatile unsigned long *)SPORT0_MTCS1)
#define pSPORT0_MTCS2 ((volatile unsigned long *)SPORT0_MTCS2)
#define pSPORT0_MTCS3 ((volatile unsigned long *)SPORT0_MTCS3)
#define pSPORT0_MRCS0 ((volatile unsigned long *)SPORT0_MRCS0)
#define pSPORT0_MRCS1 ((volatile unsigned long *)SPORT0_MRCS1)
#define pSPORT0_MRCS2 ((volatile unsigned long *)SPORT0_MRCS2)
#define pSPORT0_MRCS3 ((volatile unsigned long *)SPORT0_MRCS3)
/* SPORT1 Controller (0xFFC00900 - 0xFFC009FF) */
#define pSPORT1_TCR1 ((volatile unsigned short *)SPORT1_TCR1)
#define pSPORT1_TCR2 ((volatile unsigned short *)SPORT1_TCR2)
#define pSPORT1_TCLKDIV ((volatile unsigned short *)SPORT1_TCLKDIV)
#define pSPORT1_TFSDIV ((volatile unsigned short *)SPORT1_TFSDIV)
#define pSPORT1_TX ((volatile unsigned long *)SPORT1_TX)
#define pSPORT1_RX ((volatile unsigned long *)SPORT1_RX)
#define pSPORT1_TX32 ((volatile unsigned long *)SPORT1_TX)
#define pSPORT1_RX32 ((volatile unsigned long *)SPORT1_RX)
#define pSPORT1_TX16 ((volatile unsigned short *)SPORT1_TX)
#define pSPORT1_RX16 ((volatile unsigned short *)SPORT1_RX)
#define pSPORT1_RCR1 ((volatile unsigned short *)SPORT1_RCR1)
#define pSPORT1_RCR2 ((volatile unsigned short *)SPORT1_RCR2)
#define pSPORT1_RCLKDIV ((volatile unsigned short *)SPORT1_RCLKDIV)
#define pSPORT1_RFSDIV ((volatile unsigned short *)SPORT1_RFSDIV)
#define pSPORT1_STAT ((volatile unsigned short *)SPORT1_STAT)
#define pSPORT1_CHNL ((volatile unsigned short *)SPORT1_CHNL)
#define pSPORT1_MCMC1 ((volatile unsigned short *)SPORT1_MCMC1)
#define pSPORT1_MCMC2 ((volatile unsigned short *)SPORT1_MCMC2)
#define pSPORT1_MTCS0 ((volatile unsigned long *)SPORT1_MTCS0)
#define pSPORT1_MTCS1 ((volatile unsigned long *)SPORT1_MTCS1)
#define pSPORT1_MTCS2 ((volatile unsigned long *)SPORT1_MTCS2)
#define pSPORT1_MTCS3 ((volatile unsigned long *)SPORT1_MTCS3)
#define pSPORT1_MRCS0 ((volatile unsigned long *)SPORT1_MRCS0)
#define pSPORT1_MRCS1 ((volatile unsigned long *)SPORT1_MRCS1)
#define pSPORT1_MRCS2 ((volatile unsigned long *)SPORT1_MRCS2)
#define pSPORT1_MRCS3 ((volatile unsigned long *)SPORT1_MRCS3)
/* External Bus Interface Unit (0xFFC00A00 - 0xFFC00AFF) */
#define pEBIU_AMGCTL ((volatile unsigned short *)EBIU_AMGCTL)
#define pEBIU_AMBCTL0 ((volatile unsigned long *)EBIU_AMBCTL0)
#define pEBIU_AMBCTL1 ((volatile unsigned long *)EBIU_AMBCTL1)
#define pEBIU_SDGCTL ((volatile unsigned long *)EBIU_SDGCTL)
#define pEBIU_SDBCTL ((volatile unsigned short *)EBIU_SDBCTL)
#define pEBIU_SDRRC ((volatile unsigned short *)EBIU_SDRRC)
#define pEBIU_SDSTAT ((volatile unsigned short *)EBIU_SDSTAT)
/* DMA Traffic Control Registers (0xFFC00B00 - 0xFFC00BFF) */
#define pDMA_TC_PER ((volatile unsigned short *)DMA_TC_PER)
#define pDMA_TC_CNT ((volatile unsigned short *)DMA_TC_CNT)
/* Alternate deprecated register names (below) provided for backwards code compatibility */
#define pDMA_TCPER ((volatile unsigned short *)DMA_TCPER)
#define pDMA_TCCNT ((volatile unsigned short *)DMA_TCCNT)
/* DMA Controller (0xFFC00C00 - FFC00FFF)*/
#define pDMA0_CONFIG ((volatile unsigned short *)DMA0_CONFIG)
#define pDMA0_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA0_NEXT_DESC_PTR)
#define pDMA0_START_ADDR (_PTR_TO_VOL_VOID_PTR DMA0_START_ADDR)
#define pDMA0_X_COUNT ((volatile unsigned short *)DMA0_X_COUNT)
#define pDMA0_Y_COUNT ((volatile unsigned short *)DMA0_Y_COUNT)
#define pDMA0_X_MODIFY ((volatile signed short *)DMA0_X_MODIFY)
#define pDMA0_Y_MODIFY ((volatile signed short *)DMA0_Y_MODIFY)
#define pDMA0_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA0_CURR_DESC_PTR)
#define pDMA0_CURR_ADDR (_PTR_TO_VOL_VOID_PTR DMA0_CURR_ADDR)
#define pDMA0_CURR_X_COUNT ((volatile unsigned short *)DMA0_CURR_X_COUNT)
#define pDMA0_CURR_Y_COUNT ((volatile unsigned short *)DMA0_CURR_Y_COUNT)
#define pDMA0_IRQ_STATUS ((volatile unsigned short *)DMA0_IRQ_STATUS)
#define pDMA0_PERIPHERAL_MAP ((volatile unsigned short *)DMA0_PERIPHERAL_MAP)
#define pDMA1_CONFIG ((volatile unsigned short *)DMA1_CONFIG)
#define pDMA1_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA1_NEXT_DESC_PTR)
#define pDMA1_START_ADDR (_PTR_TO_VOL_VOID_PTR DMA1_START_ADDR)
#define pDMA1_X_COUNT ((volatile unsigned short *)DMA1_X_COUNT)
#define pDMA1_Y_COUNT ((volatile unsigned short *)DMA1_Y_COUNT)
#define pDMA1_X_MODIFY ((volatile signed short *)DMA1_X_MODIFY)
#define pDMA1_Y_MODIFY ((volatile signed short *)DMA1_Y_MODIFY)
#define pDMA1_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA1_CURR_DESC_PTR)
#define pDMA1_CURR_ADDR (_PTR_TO_VOL_VOID_PTR DMA1_CURR_ADDR)
#define pDMA1_CURR_X_COUNT ((volatile unsigned short *)DMA1_CURR_X_COUNT)
#define pDMA1_CURR_Y_COUNT ((volatile unsigned short *)DMA1_CURR_Y_COUNT)
#define pDMA1_IRQ_STATUS ((volatile unsigned short *)DMA1_IRQ_STATUS)
#define pDMA1_PERIPHERAL_MAP ((volatile unsigned short *)DMA1_PERIPHERAL_MAP)
#define pDMA2_CONFIG ((volatile unsigned short *)DMA2_CONFIG)
#define pDMA2_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA2_NEXT_DESC_PTR)
#define pDMA2_START_ADDR (_PTR_TO_VOL_VOID_PTR DMA2_START_ADDR)
#define pDMA2_X_COUNT ((volatile unsigned short *)DMA2_X_COUNT)
#define pDMA2_Y_COUNT ((volatile unsigned short *)DMA2_Y_COUNT)
#define pDMA2_X_MODIFY ((volatile signed short *)DMA2_X_MODIFY)
#define pDMA2_Y_MODIFY ((volatile signed short *)DMA2_Y_MODIFY)
#define pDMA2_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA2_CURR_DESC_PTR)
#define pDMA2_CURR_ADDR (_PTR_TO_VOL_VOID_PTR DMA2_CURR_ADDR)
#define pDMA2_CURR_X_COUNT ((volatile unsigned short *)DMA2_CURR_X_COUNT)
#define pDMA2_CURR_Y_COUNT ((volatile unsigned short *)DMA2_CURR_Y_COUNT)
#define pDMA2_IRQ_STATUS ((volatile unsigned short *)DMA2_IRQ_STATUS)
#define pDMA2_PERIPHERAL_MAP ((volatile unsigned short *)DMA2_PERIPHERAL_MAP)
#define pDMA3_CONFIG ((volatile unsigned short *)DMA3_CONFIG)
#define pDMA3_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA3_NEXT_DESC_PTR)
#define pDMA3_START_ADDR (_PTR_TO_VOL_VOID_PTR DMA3_START_ADDR)
#define pDMA3_X_COUNT ((volatile unsigned short *)DMA3_X_COUNT)
#define pDMA3_Y_COUNT ((volatile unsigned short *)DMA3_Y_COUNT)
#define pDMA3_X_MODIFY ((volatile signed short *)DMA3_X_MODIFY)
#define pDMA3_Y_MODIFY ((volatile signed short *)DMA3_Y_MODIFY)
#define pDMA3_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA3_CURR_DESC_PTR)
#define pDMA3_CURR_ADDR (_PTR_TO_VOL_VOID_PTR DMA3_CURR_ADDR)
#define pDMA3_CURR_X_COUNT ((volatile unsigned short *)DMA3_CURR_X_COUNT)
#define pDMA3_CURR_Y_COUNT ((volatile unsigned short *)DMA3_CURR_Y_COUNT)
#define pDMA3_IRQ_STATUS ((volatile unsigned short *)DMA3_IRQ_STATUS)
#define pDMA3_PERIPHERAL_MAP ((volatile unsigned short *)DMA3_PERIPHERAL_MAP)
#define pDMA4_CONFIG ((volatile unsigned short *)DMA4_CONFIG)
#define pDMA4_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA4_NEXT_DESC_PTR)
#define pDMA4_START_ADDR (_PTR_TO_VOL_VOID_PTR DMA4_START_ADDR)
#define pDMA4_X_COUNT ((volatile unsigned short *)DMA4_X_COUNT)
#define pDMA4_Y_COUNT ((volatile unsigned short *)DMA4_Y_COUNT)
#define pDMA4_X_MODIFY ((volatile signed short *)DMA4_X_MODIFY)
#define pDMA4_Y_MODIFY ((volatile signed short *)DMA4_Y_MODIFY)
#define pDMA4_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA4_CURR_DESC_PTR)
#define pDMA4_CURR_ADDR (_PTR_TO_VOL_VOID_PTR DMA4_CURR_ADDR)
#define pDMA4_CURR_X_COUNT ((volatile unsigned short *)DMA4_CURR_X_COUNT)
#define pDMA4_CURR_Y_COUNT ((volatile unsigned short *)DMA4_CURR_Y_COUNT)
#define pDMA4_IRQ_STATUS ((volatile unsigned short *)DMA4_IRQ_STATUS)
#define pDMA4_PERIPHERAL_MAP ((volatile unsigned short *)DMA4_PERIPHERAL_MAP)
#define pDMA5_CONFIG ((volatile unsigned short *)DMA5_CONFIG)
#define pDMA5_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA5_NEXT_DESC_PTR)
#define pDMA5_START_ADDR (_PTR_TO_VOL_VOID_PTR DMA5_START_ADDR)
#define pDMA5_X_COUNT ((volatile unsigned short *)DMA5_X_COUNT)
#define pDMA5_Y_COUNT ((volatile unsigned short *)DMA5_Y_COUNT)
#define pDMA5_X_MODIFY ((volatile signed short *)DMA5_X_MODIFY)
#define pDMA5_Y_MODIFY ((volatile signed short *)DMA5_Y_MODIFY)
#define pDMA5_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA5_CURR_DESC_PTR)
#define pDMA5_CURR_ADDR (_PTR_TO_VOL_VOID_PTR DMA5_CURR_ADDR)
#define pDMA5_CURR_X_COUNT ((volatile unsigned short *)DMA5_CURR_X_COUNT)
#define pDMA5_CURR_Y_COUNT ((volatile unsigned short *)DMA5_CURR_Y_COUNT)
#define pDMA5_IRQ_STATUS ((volatile unsigned short *)DMA5_IRQ_STATUS)
#define pDMA5_PERIPHERAL_MAP ((volatile unsigned short *)DMA5_PERIPHERAL_MAP)
#define pDMA6_CONFIG ((volatile unsigned short *)DMA6_CONFIG)
#define pDMA6_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA6_NEXT_DESC_PTR)
#define pDMA6_START_ADDR (_PTR_TO_VOL_VOID_PTR DMA6_START_ADDR)
#define pDMA6_X_COUNT ((volatile unsigned short *)DMA6_X_COUNT)
#define pDMA6_Y_COUNT ((volatile unsigned short *)DMA6_Y_COUNT)
#define pDMA6_X_MODIFY ((volatile signed short *)DMA6_X_MODIFY)
#define pDMA6_Y_MODIFY ((volatile signed short *)DMA6_Y_MODIFY)
#define pDMA6_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA6_CURR_DESC_PTR)
#define pDMA6_CURR_ADDR (_PTR_TO_VOL_VOID_PTR DMA6_CURR_ADDR)
#define pDMA6_CURR_X_COUNT ((volatile unsigned short *)DMA6_CURR_X_COUNT)
#define pDMA6_CURR_Y_COUNT ((volatile unsigned short *)DMA6_CURR_Y_COUNT)
#define pDMA6_IRQ_STATUS ((volatile unsigned short *)DMA6_IRQ_STATUS)
#define pDMA6_PERIPHERAL_MAP ((volatile unsigned short *)DMA6_PERIPHERAL_MAP)
#define pDMA7_CONFIG ((volatile unsigned short *)DMA7_CONFIG)
#define pDMA7_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA7_NEXT_DESC_PTR)
#define pDMA7_START_ADDR (_PTR_TO_VOL_VOID_PTR DMA7_START_ADDR)
#define pDMA7_X_COUNT ((volatile unsigned short *)DMA7_X_COUNT)
#define pDMA7_Y_COUNT ((volatile unsigned short *)DMA7_Y_COUNT)
#define pDMA7_X_MODIFY ((volatile signed short *)DMA7_X_MODIFY)
#define pDMA7_Y_MODIFY ((volatile signed short *)DMA7_Y_MODIFY)
#define pDMA7_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA7_CURR_DESC_PTR)
#define pDMA7_CURR_ADDR (_PTR_TO_VOL_VOID_PTR DMA7_CURR_ADDR)
#define pDMA7_CURR_X_COUNT ((volatile unsigned short *)DMA7_CURR_X_COUNT)
#define pDMA7_CURR_Y_COUNT ((volatile unsigned short *)DMA7_CURR_Y_COUNT)
#define pDMA7_IRQ_STATUS ((volatile unsigned short *)DMA7_IRQ_STATUS)
#define pDMA7_PERIPHERAL_MAP ((volatile unsigned short *)DMA7_PERIPHERAL_MAP)
#define pDMA8_CONFIG ((volatile unsigned short *)DMA8_CONFIG)
#define pDMA8_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA8_NEXT_DESC_PTR)
#define pDMA8_START_ADDR (_PTR_TO_VOL_VOID_PTR DMA8_START_ADDR)
#define pDMA8_X_COUNT ((volatile unsigned short *)DMA8_X_COUNT)
#define pDMA8_Y_COUNT ((volatile unsigned short *)DMA8_Y_COUNT)
#define pDMA8_X_MODIFY ((volatile signed short *)DMA8_X_MODIFY)
#define pDMA8_Y_MODIFY ((volatile signed short *)DMA8_Y_MODIFY)
#define pDMA8_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA8_CURR_DESC_PTR)
#define pDMA8_CURR_ADDR (_PTR_TO_VOL_VOID_PTR DMA8_CURR_ADDR)
#define pDMA8_CURR_X_COUNT ((volatile unsigned short *)DMA8_CURR_X_COUNT)
#define pDMA8_CURR_Y_COUNT ((volatile unsigned short *)DMA8_CURR_Y_COUNT)
#define pDMA8_IRQ_STATUS ((volatile unsigned short *)DMA8_IRQ_STATUS)
#define pDMA8_PERIPHERAL_MAP ((volatile unsigned short *)DMA8_PERIPHERAL_MAP)
#define pDMA9_CONFIG ((volatile unsigned short *)DMA9_CONFIG)
#define pDMA9_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA9_NEXT_DESC_PTR)
#define pDMA9_START_ADDR (_PTR_TO_VOL_VOID_PTR DMA9_START_ADDR)
#define pDMA9_X_COUNT ((volatile unsigned short *)DMA9_X_COUNT)
#define pDMA9_Y_COUNT ((volatile unsigned short *)DMA9_Y_COUNT)
#define pDMA9_X_MODIFY ((volatile signed short *)DMA9_X_MODIFY)
#define pDMA9_Y_MODIFY ((volatile signed short *)DMA9_Y_MODIFY)
#define pDMA9_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA9_CURR_DESC_PTR)
#define pDMA9_CURR_ADDR (_PTR_TO_VOL_VOID_PTR DMA9_CURR_ADDR)
#define pDMA9_CURR_X_COUNT ((volatile unsigned short *)DMA9_CURR_X_COUNT)
#define pDMA9_CURR_Y_COUNT ((volatile unsigned short *)DMA9_CURR_Y_COUNT)
#define pDMA9_IRQ_STATUS ((volatile unsigned short *)DMA9_IRQ_STATUS)
#define pDMA9_PERIPHERAL_MAP ((volatile unsigned short *)DMA9_PERIPHERAL_MAP)
#define pDMA10_CONFIG ((volatile unsigned short *)DMA10_CONFIG)
#define pDMA10_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA10_NEXT_DESC_PTR)
#define pDMA10_START_ADDR (_PTR_TO_VOL_VOID_PTR DMA10_START_ADDR)
#define pDMA10_X_COUNT ((volatile unsigned short *)DMA10_X_COUNT)
#define pDMA10_Y_COUNT ((volatile unsigned short *)DMA10_Y_COUNT)
#define pDMA10_X_MODIFY ((volatile signed short *)DMA10_X_MODIFY)
#define pDMA10_Y_MODIFY ((volatile signed short *)DMA10_Y_MODIFY)
#define pDMA10_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA10_CURR_DESC_PTR)
#define pDMA10_CURR_ADDR (_PTR_TO_VOL_VOID_PTR DMA10_CURR_ADDR)
#define pDMA10_CURR_X_COUNT ((volatile unsigned short *)DMA10_CURR_X_COUNT)
#define pDMA10_CURR_Y_COUNT ((volatile unsigned short *)DMA10_CURR_Y_COUNT)
#define pDMA10_IRQ_STATUS ((volatile unsigned short *)DMA10_IRQ_STATUS)
#define pDMA10_PERIPHERAL_MAP ((volatile unsigned short *)DMA10_PERIPHERAL_MAP)
#define pDMA11_CONFIG ((volatile unsigned short *)DMA11_CONFIG)
#define pDMA11_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA11_NEXT_DESC_PTR)
#define pDMA11_START_ADDR (_PTR_TO_VOL_VOID_PTR DMA11_START_ADDR)
#define pDMA11_X_COUNT ((volatile unsigned short *)DMA11_X_COUNT)
#define pDMA11_Y_COUNT ((volatile unsigned short *)DMA11_Y_COUNT)
#define pDMA11_X_MODIFY ((volatile signed short *)DMA11_X_MODIFY)
#define pDMA11_Y_MODIFY ((volatile signed short *)DMA11_Y_MODIFY)
#define pDMA11_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR DMA11_CURR_DESC_PTR)
#define pDMA11_CURR_ADDR (_PTR_TO_VOL_VOID_PTR DMA11_CURR_ADDR)
#define pDMA11_CURR_X_COUNT ((volatile unsigned short *)DMA11_CURR_X_COUNT)
#define pDMA11_CURR_Y_COUNT ((volatile unsigned short *)DMA11_CURR_Y_COUNT)
#define pDMA11_IRQ_STATUS ((volatile unsigned short *)DMA11_IRQ_STATUS)
#define pDMA11_PERIPHERAL_MAP ((volatile unsigned short *)DMA11_PERIPHERAL_MAP)
#define pMDMA_D0_CONFIG ((volatile unsigned short *)MDMA_D0_CONFIG)
#define pMDMA_D0_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA_D0_NEXT_DESC_PTR)
#define pMDMA_D0_START_ADDR (_PTR_TO_VOL_VOID_PTR MDMA_D0_START_ADDR)
#define pMDMA_D0_X_COUNT ((volatile unsigned short *)MDMA_D0_X_COUNT)
#define pMDMA_D0_Y_COUNT ((volatile unsigned short *)MDMA_D0_Y_COUNT)
#define pMDMA_D0_X_MODIFY ((volatile signed short *)MDMA_D0_X_MODIFY)
#define pMDMA_D0_Y_MODIFY ((volatile signed short *)MDMA_D0_Y_MODIFY)
#define pMDMA_D0_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA_D0_CURR_DESC_PTR)
#define pMDMA_D0_CURR_ADDR (_PTR_TO_VOL_VOID_PTR MDMA_D0_CURR_ADDR)
#define pMDMA_D0_CURR_X_COUNT ((volatile unsigned short *)MDMA_D0_CURR_X_COUNT)
#define pMDMA_D0_CURR_Y_COUNT ((volatile unsigned short *)MDMA_D0_CURR_Y_COUNT)
#define pMDMA_D0_IRQ_STATUS ((volatile unsigned short *)MDMA_D0_IRQ_STATUS)
#define pMDMA_D0_PERIPHERAL_MAP ((volatile unsigned short *)MDMA_D0_PERIPHERAL_MAP)
#define pMDMA_S0_CONFIG ((volatile unsigned short *)MDMA_S0_CONFIG)
#define pMDMA_S0_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA_S0_NEXT_DESC_PTR)
#define pMDMA_S0_START_ADDR (_PTR_TO_VOL_VOID_PTR MDMA_S0_START_ADDR)
#define pMDMA_S0_X_COUNT ((volatile unsigned short *)MDMA_S0_X_COUNT)
#define pMDMA_S0_Y_COUNT ((volatile unsigned short *)MDMA_S0_Y_COUNT)
#define pMDMA_S0_X_MODIFY ((volatile signed short *)MDMA_S0_X_MODIFY)
#define pMDMA_S0_Y_MODIFY ((volatile signed short *)MDMA_S0_Y_MODIFY)
#define pMDMA_S0_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA_S0_CURR_DESC_PTR)
#define pMDMA_S0_CURR_ADDR (_PTR_TO_VOL_VOID_PTR MDMA_S0_CURR_ADDR)
#define pMDMA_S0_CURR_X_COUNT ((volatile unsigned short *)MDMA_S0_CURR_X_COUNT)
#define pMDMA_S0_CURR_Y_COUNT ((volatile unsigned short *)MDMA_S0_CURR_Y_COUNT)
#define pMDMA_S0_IRQ_STATUS ((volatile unsigned short *)MDMA_S0_IRQ_STATUS)
#define pMDMA_S0_PERIPHERAL_MAP ((volatile unsigned short *)MDMA_S0_PERIPHERAL_MAP)
#define pMDMA_D1_CONFIG ((volatile unsigned short *)MDMA_D1_CONFIG)
#define pMDMA_D1_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA_D1_NEXT_DESC_PTR)
#define pMDMA_D1_START_ADDR (_PTR_TO_VOL_VOID_PTR MDMA_D1_START_ADDR)
#define pMDMA_D1_X_COUNT ((volatile unsigned short *)MDMA_D1_X_COUNT)
#define pMDMA_D1_Y_COUNT ((volatile unsigned short *)MDMA_D1_Y_COUNT)
#define pMDMA_D1_X_MODIFY ((volatile signed short *)MDMA_D1_X_MODIFY)
#define pMDMA_D1_Y_MODIFY ((volatile signed short *)MDMA_D1_Y_MODIFY)
#define pMDMA_D1_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA_D1_CURR_DESC_PTR)
#define pMDMA_D1_CURR_ADDR (_PTR_TO_VOL_VOID_PTR MDMA_D1_CURR_ADDR)
#define pMDMA_D1_CURR_X_COUNT ((volatile unsigned short *)MDMA_D1_CURR_X_COUNT)
#define pMDMA_D1_CURR_Y_COUNT ((volatile unsigned short *)MDMA_D1_CURR_Y_COUNT)
#define pMDMA_D1_IRQ_STATUS ((volatile unsigned short *)MDMA_D1_IRQ_STATUS)
#define pMDMA_D1_PERIPHERAL_MAP ((volatile unsigned short *)MDMA_D1_PERIPHERAL_MAP)
#define pMDMA_S1_CONFIG ((volatile unsigned short *)MDMA_S1_CONFIG)
#define pMDMA_S1_NEXT_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA_S1_NEXT_DESC_PTR)
#define pMDMA_S1_START_ADDR (_PTR_TO_VOL_VOID_PTR MDMA_S1_START_ADDR)
#define pMDMA_S1_X_COUNT ((volatile unsigned short *)MDMA_S1_X_COUNT)
#define pMDMA_S1_Y_COUNT ((volatile unsigned short *)MDMA_S1_Y_COUNT)
#define pMDMA_S1_X_MODIFY ((volatile signed short *)MDMA_S1_X_MODIFY)
#define pMDMA_S1_Y_MODIFY ((volatile signed short *)MDMA_S1_Y_MODIFY)
#define pMDMA_S1_CURR_DESC_PTR (_PTR_TO_VOL_VOID_PTR MDMA_S1_CURR_DESC_PTR)
#define pMDMA_S1_CURR_ADDR (_PTR_TO_VOL_VOID_PTR MDMA_S1_CURR_ADDR)
#define pMDMA_S1_CURR_X_COUNT ((volatile unsigned short *)MDMA_S1_CURR_X_COUNT)
#define pMDMA_S1_CURR_Y_COUNT ((volatile unsigned short *)MDMA_S1_CURR_Y_COUNT)
#define pMDMA_S1_IRQ_STATUS ((volatile unsigned short *)MDMA_S1_IRQ_STATUS)
#define pMDMA_S1_PERIPHERAL_MAP ((volatile unsigned short *)MDMA_S1_PERIPHERAL_MAP)
/* Parallel Peripheral Interface (0xFFC01000 - 0xFFC010FF) */
#define pPPI_CONTROL ((volatile unsigned short *)PPI_CONTROL)
#define pPPI_STATUS ((volatile unsigned short *)PPI_STATUS)
#define pPPI_DELAY ((volatile unsigned short *)PPI_DELAY)
#define pPPI_COUNT ((volatile unsigned short *)PPI_COUNT)
#define pPPI_FRAME ((volatile unsigned short *)PPI_FRAME)
/* Two-Wire Interface (0xFFC01400 - 0xFFC014FF) */
#define pTWI_CLKDIV ((volatile unsigned short *)TWI_CLKDIV)
#define pTWI_CONTROL ((volatile unsigned short *)TWI_CONTROL)
#define pTWI_SLAVE_CTL ((volatile unsigned short *)TWI_SLAVE_CTL)
#define pTWI_SLAVE_STAT ((volatile unsigned short *)TWI_SLAVE_STAT)
#define pTWI_SLAVE_ADDR ((volatile unsigned short *)TWI_SLAVE_ADDR)
#define pTWI_MASTER_CTL ((volatile unsigned short *)TWI_MASTER_CTL)
#define pTWI_MASTER_STAT ((volatile unsigned short *)TWI_MASTER_STAT)
#define pTWI_MASTER_ADDR ((volatile unsigned short *)TWI_MASTER_ADDR)
#define pTWI_INT_STAT ((volatile unsigned short *)TWI_INT_STAT)
#define pTWI_INT_MASK ((volatile unsigned short *)TWI_INT_MASK)
#define pTWI_FIFO_CTL ((volatile unsigned short *)TWI_FIFO_CTL)
#define pTWI_FIFO_STAT ((volatile unsigned short *)TWI_FIFO_STAT)
#define pTWI_XMT_DATA8 ((volatile unsigned short *)TWI_XMT_DATA8)
#define pTWI_XMT_DATA16 ((volatile unsigned short *)TWI_XMT_DATA16)
#define pTWI_RCV_DATA8 ((volatile unsigned short *)TWI_RCV_DATA8)
#define pTWI_RCV_DATA16 ((volatile unsigned short *)TWI_RCV_DATA16)
/* General Purpose I/O Port G (0xFFC01500 - 0xFFC015FF) */
#define pPORTGIO ((volatile unsigned short *)PORTGIO)
#define pPORTGIO_CLEAR ((volatile unsigned short *)PORTGIO_CLEAR)
#define pPORTGIO_SET ((volatile unsigned short *)PORTGIO_SET)
#define pPORTGIO_TOGGLE ((volatile unsigned short *)PORTGIO_TOGGLE)
#define pPORTGIO_MASKA ((volatile unsigned short *)PORTGIO_MASKA)
#define pPORTGIO_MASKA_CLEAR ((volatile unsigned short *)PORTGIO_MASKA_CLEAR)
#define pPORTGIO_MASKA_SET ((volatile unsigned short *)PORTGIO_MASKA_SET)
#define pPORTGIO_MASKA_TOGGLE ((volatile unsigned short *)PORTGIO_MASKA_TOGGLE)
#define pPORTGIO_MASKB ((volatile unsigned short *)PORTGIO_MASKB)
#define pPORTGIO_MASKB_CLEAR ((volatile unsigned short *)PORTGIO_MASKB_CLEAR)
#define pPORTGIO_MASKB_SET ((volatile unsigned short *)PORTGIO_MASKB_SET)
#define pPORTGIO_MASKB_TOGGLE ((volatile unsigned short *)PORTGIO_MASKB_TOGGLE)
#define pPORTGIO_DIR ((volatile unsigned short *)PORTGIO_DIR)
#define pPORTGIO_POLAR ((volatile unsigned short *)PORTGIO_POLAR)
#define pPORTGIO_EDGE ((volatile unsigned short *)PORTGIO_EDGE)
#define pPORTGIO_BOTH ((volatile unsigned short *)PORTGIO_BOTH)
#define pPORTGIO_INEN ((volatile unsigned short *)PORTGIO_INEN)
/* General Purpose I/O Port H (0xFFC01700 - 0xFFC017FF) */
#define pPORTHIO ((volatile unsigned short *)PORTHIO)
#define pPORTHIO_CLEAR ((volatile unsigned short *)PORTHIO_CLEAR)
#define pPORTHIO_SET ((volatile unsigned short *)PORTHIO_SET)
#define pPORTHIO_TOGGLE ((volatile unsigned short *)PORTHIO_TOGGLE)
#define pPORTHIO_MASKA ((volatile unsigned short *)PORTHIO_MASKA)
#define pPORTHIO_MASKA_CLEAR ((volatile unsigned short *)PORTHIO_MASKA_CLEAR)
#define pPORTHIO_MASKA_SET ((volatile unsigned short *)PORTHIO_MASKA_SET)
#define pPORTHIO_MASKA_TOGGLE ((volatile unsigned short *)PORTHIO_MASKA_TOGGLE)
#define pPORTHIO_MASKB ((volatile unsigned short *)PORTHIO_MASKB)
#define pPORTHIO_MASKB_CLEAR ((volatile unsigned short *)PORTHIO_MASKB_CLEAR)
#define pPORTHIO_MASKB_SET ((volatile unsigned short *)PORTHIO_MASKB_SET)
#define pPORTHIO_MASKB_TOGGLE ((volatile unsigned short *)PORTHIO_MASKB_TOGGLE)
#define pPORTHIO_DIR ((volatile unsigned short *)PORTHIO_DIR)
#define pPORTHIO_POLAR ((volatile unsigned short *)PORTHIO_POLAR)
#define pPORTHIO_EDGE ((volatile unsigned short *)PORTHIO_EDGE)
#define pPORTHIO_BOTH ((volatile unsigned short *)PORTHIO_BOTH)
#define pPORTHIO_INEN ((volatile unsigned short *)PORTHIO_INEN)
/* UART1 Controller (0xFFC02000 - 0xFFC020FF) */
#define pUART1_THR ((volatile unsigned short *)UART1_THR)
#define pUART1_RBR ((volatile unsigned short *)UART1_RBR)
#define pUART1_DLL ((volatile unsigned short *)UART1_DLL)
#define pUART1_IER ((volatile unsigned short *)UART1_IER)
#define pUART1_DLH ((volatile unsigned short *)UART1_DLH)
#define pUART1_IIR ((volatile unsigned short *)UART1_IIR)
#define pUART1_LCR ((volatile unsigned short *)UART1_LCR)
#define pUART1_MCR ((volatile unsigned short *)UART1_MCR)
#define pUART1_LSR ((volatile unsigned short *)UART1_LSR)
#define pUART1_MSR ((volatile unsigned short *)UART1_LSR)
#define pUART1_SCR ((volatile unsigned short *)UART1_SCR)
#define pUART1_GCTL ((volatile unsigned short *)UART1_GCTL)
/* Pin Control Registers (0xFFC03200 - 0xFFC032FF) */
#define pPORTF_FER ((volatile unsigned short *)PORTF_FER)
#define pPORTG_FER ((volatile unsigned short *)PORTG_FER)
#define pPORTH_FER ((volatile unsigned short *)PORTH_FER)
/* Handshake MDMA Registers (0xFFC03300 - 0xFFC033FF) */
#define pHMDMA0_CONTROL ((volatile unsigned short *)HMDMA0_CONTROL)
#define pHMDMA0_ECINIT ((volatile unsigned short *)HMDMA0_ECINIT)
#define pHMDMA0_BCINIT ((volatile unsigned short *)HMDMA0_BCINIT)
#define pHMDMA0_ECURGENT ((volatile unsigned short *)HMDMA0_ECURGENT)
#define pHMDMA0_ECOVERFLOW ((volatile unsigned short *)HMDMA0_ECOVERFLOW)
#define pHMDMA0_ECOUNT ((volatile unsigned short *)HMDMA0_ECOUNT)
#define pHMDMA0_BCOUNT ((volatile unsigned short *)HMDMA0_BCOUNT)
#define pHMDMA1_CONTROL ((volatile unsigned short *)HMDMA1_CONTROL)
#define pHMDMA1_ECINIT ((volatile unsigned short *)HMDMA1_ECINIT)
#define pHMDMA1_BCINIT ((volatile unsigned short *)HMDMA1_BCINIT)
#define pHMDMA1_ECURGENT ((volatile unsigned short *)HMDMA1_ECURGENT)
#define pHMDMA1_ECOVERFLOW ((volatile unsigned short *)HMDMA1_ECOVERFLOW)
#define pHMDMA1_ECOUNT ((volatile unsigned short *)HMDMA1_ECOUNT)
#define pHMDMA1_BCOUNT ((volatile unsigned short *)HMDMA1_BCOUNT)
/* GPIO PIN mux (0xFFC03210 - OxFFC03288) */
#define pPORTF_MUX ((volatile unsigned short *)PORTF_MUX)
#define pPORTG_MUX ((volatile unsigned short *)PORTG_MUX)
#define pPORTH_MUX ((volatile unsigned short *)PORTH_MUX)
#define pPORTF_DRIVE ((volatile unsigned short *)PORTF_DRIVE)
#define pPORTG_DRIVE ((volatile unsigned short *)PORTG_DRIVE)
#define pPORTH_DRIVE ((volatile unsigned short *)PORTH_DRIVE)
#define pPORTF_HYSTERESIS ((volatile unsigned short *)PORTF_HYSTERESIS)
#define pPORTG_HYSTERESIS ((volatile unsigned short *)PORTG_HYSTERESIS)
#define pPORTH_HYSTERESIS ((volatile unsigned short *)PORTH_HYSTERESIS)
#define pNONGPIO_DRIVE ((volatile unsigned short *)NONGPIO_DRIVE)
#define pNONGPIO_HYSTERESIS ((volatile unsigned short *)NONGPIO_HYSTERESIS)
/* SPI1 Controller (0xFFC03400 - 0xFFC034FF)*/
#define pSPI1_CTL ((volatile unsigned short *)SPI1_CTL)
#define pSPI1_FLG ((volatile unsigned short *)SPI1_FLG)
#define pSPI1_STAT ((volatile unsigned short *)SPI1_STAT)
#define pSPI1_TDBR ((volatile unsigned short *)SPI1_TDBR)
#define pSPI1_RDBR ((volatile unsigned short *)SPI1_RDBR)
#define pSPI1_BAUD ((volatile unsigned short *)SPI1_BAUD)
#define pSPI1_SHADOW ((volatile unsigned short *)SPI1_SHADOW)
/* Counter Registers (0xFFC03500 - 0xFFC035FF)*/
#define pCNT_CONFIG ((volatile unsigned short *)CNT_CONFIG)
#define pCNT_IMASK ((volatile unsigned short *)CNT_IMASK)
#define pCNT_STATUS ((volatile unsigned short *)CNT_STATUS)
#define pCNT_COMMAND ((volatile unsigned short *)CNT_COMMAND)
#define pCNT_DEBOUNCE ((volatile unsigned short *)CNT_DEBOUNCE)
#define pCNT_COUNTER ((volatile unsigned long *)CNT_COUNTER)
#define pCNT_MAX ((volatile unsigned long *)CNT_MAX)
#define pCNT_MIN ((volatile unsigned long *)CNT_MIN)
/* OTP Registers (0xFFC03600 - 0xFFC036FF) */
/* Security Registers */
#define pSECURE_SYSSWT ((volatile unsigned long *)SECURE_SYSSWT)
#define pSECURE_CONTROL ((volatile unsigned short *)SECURE_CONTROL)
#define pSECURE_STATUS ((volatile unsigned short *)SECURE_STATUS)
/* OTP Read/Write Data Buffer Registers */
#define pOTP_DATA0 ((volatile unsigned long *)OTP_DATA0)
#define pOTP_DATA1 ((volatile unsigned long *)OTP_DATA1)
#define pOTP_DATA2 ((volatile unsigned long *)OTP_DATA2)
#define pOTP_DATA3 ((volatile unsigned long *)OTP_DATA3)
/* PWM 3PHASE (0xFFC03700 - 0xFFC037FF)*/
#define pPWM_CTRL ((volatile unsigned short *)PWM_CTRL)
#define pPWM_STAT ((volatile unsigned short *)PWM_STAT)
#define pPWM_TM ((volatile unsigned short *)PWM_TM)
#define pPWM_DT ((volatile unsigned short *)PWM_DT)
#define pPWM_GATE ((volatile unsigned short *)PWM_GATE)
#define pPWM_CHA ((volatile unsigned short *)PWM_CHA)
#define pPWM_CHB ((volatile unsigned short *)PWM_CHB)
#define pPWM_CHC ((volatile unsigned short *)PWM_CHC)
#define pPWM_SEG ((volatile unsigned short *)PWM_SEG)
#define pPWM_SYNCWT ((volatile unsigned short *)PWM_SYNCWT)
#define pPWM_CHAL ((volatile unsigned short *)PWM_CHAL)
#define pPWM_CHBL ((volatile unsigned short *)PWM_CHBL)
#define pPWM_CHCL ((volatile unsigned short *)PWM_CHCL)
#define pPWM_LSI ((volatile unsigned short *)PWM_LSI)
#define pPWM_STAT2 ((volatile unsigned short *)PWM_STAT2)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /*_CDEF_BF51X_H*/

View File

@ -0,0 +1,39 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This include file contains a list of macro "defines" to enable the programmer
** to use symbolic names for the ADSP-BF523 peripherals.
**
************************************************************************************
** System MMR Register Map
************************************************************************************/
#ifndef _CDEF_BF523_H
#define _CDEF_BF523_H
/* include all Core registers and bit definitions */
#include <defBF523.h>
/* include core specific register pointer definitions */
#include <cdef_LPBlackfin.h>
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF523 */
/* include cdefBF52x_base.h for the set of #defines that are common to all ADSP-BF52x processors */
#include <cdefBF52x_base.h>
#endif /* _CDEF_BF523_H */

View File

@ -0,0 +1,294 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This include file contains a list of macro "defines" to enable the programmer
** to use symbolic names for the ADSP-BF524 peripherals.
**
************************************************************************************
** System MMR Register Map
************************************************************************************/
#ifndef _CDEF_BF524_H
#define _CDEF_BF524_H
/* include all Core registers and bit definitions */
#include <defBF524.h>
/* include core specific register pointer definitions */
#include <cdef_LPBlackfin.h>
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF524 */
/* include cdefBF52x_base.h for the set of #defines that are common to all ADSP-BF52x processors */
#include <cdefBF52x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF524 that are not in the common header */
/* USB Control Registers */
#define pUSB_FADDR ((volatile unsigned short *)USB_FADDR)
#define pUSB_POWER ((volatile unsigned short *)USB_POWER)
#define pUSB_INTRTX ((volatile unsigned short *)USB_INTRTX)
#define pUSB_INTRRX ((volatile unsigned short *)USB_INTRRX)
#define pUSB_INTRTXE ((volatile unsigned short *)USB_INTRTXE)
#define pUSB_INTRRXE ((volatile unsigned short *)USB_INTRRXE)
#define pUSB_INTRUSB ((volatile unsigned short *)USB_INTRUSB)
#define pUSB_INTRUSBE ((volatile unsigned short *)USB_INTRUSBE)
#define pUSB_FRAME ((volatile unsigned short *)USB_FRAME)
#define pUSB_INDEX ((volatile unsigned short *)USB_INDEX)
#define pUSB_TESTMODE ((volatile unsigned short *)USB_TESTMODE)
#define pUSB_GLOBINTR ((volatile unsigned short *)USB_GLOBINTR)
#define pUSB_GLOBAL_CTL ((volatile unsigned short *)USB_GLOBAL_CTL)
/* USB Packet Control Registers */
#define pUSB_TX_MAX_PACKET ((volatile unsigned short *)USB_TX_MAX_PACKET)
#define pUSB_CSR0 ((volatile unsigned short *)USB_CSR0)
#define pUSB_TXCSR ((volatile unsigned short *)USB_TXCSR)
#define pUSB_RX_MAX_PACKET ((volatile unsigned short *)USB_RX_MAX_PACKET)
#define pUSB_RXCSR ((volatile unsigned short *)USB_RXCSR)
#define pUSB_COUNT0 ((volatile unsigned short *)USB_COUNT0)
#define pUSB_RXCOUNT ((volatile unsigned short *)USB_RXCOUNT)
#define pUSB_TXTYPE ((volatile unsigned short *)USB_TXTYPE)
#define pUSB_NAKLIMIT0 ((volatile unsigned short *)USB_NAKLIMIT0)
#define pUSB_TXINTERVAL ((volatile unsigned short *)USB_TXINTERVAL)
#define pUSB_RXTYPE ((volatile unsigned short *)USB_RXTYPE)
#define pUSB_RXINTERVAL ((volatile unsigned short *)USB_RXINTERVAL)
#define pUSB_TXCOUNT ((volatile unsigned short *)USB_TXCOUNT)
/* USB Endpoint FIFO Registers */
#define pUSB_EP0_FIFO ((volatile unsigned short *)USB_EP0_FIFO)
#define pUSB_EP1_FIFO ((volatile unsigned short *)USB_EP1_FIFO)
#define pUSB_EP2_FIFO ((volatile unsigned short *)USB_EP2_FIFO)
#define pUSB_EP3_FIFO ((volatile unsigned short *)USB_EP3_FIFO)
#define pUSB_EP4_FIFO ((volatile unsigned short *)USB_EP4_FIFO)
#define pUSB_EP5_FIFO ((volatile unsigned short *)USB_EP5_FIFO)
#define pUSB_EP6_FIFO ((volatile unsigned short *)USB_EP6_FIFO)
#define pUSB_EP7_FIFO ((volatile unsigned short *)USB_EP7_FIFO)
/* USB OTG Control Registers */
#define pUSB_OTG_DEV_CTL ((volatile unsigned short *)USB_OTG_DEV_CTL)
#define pUSB_OTG_VBUS_IRQ ((volatile unsigned short *)USB_OTG_VBUS_IRQ)
#define pUSB_OTG_VBUS_MASK ((volatile unsigned short *)USB_OTG_VBUS_MASK)
/* USB Phy Control Registers */
#define pUSB_LINKINFO ((volatile unsigned short *)USB_LINKINFO)
#define pUSB_VPLEN ((volatile unsigned short *)USB_VPLEN)
#define pUSB_HS_EOF1 ((volatile unsigned short *)USB_HS_EOF1)
#define pUSB_FS_EOF1 ((volatile unsigned short *)USB_FS_EOF1)
#define pUSB_LS_EOF1 ((volatile unsigned short *)USB_LS_EOF1)
/* (APHY_CNTRL is for ADI usage only) */
#define pUSB_APHY_CNTRL ((volatile unsigned short *)USB_APHY_CNTRL)
/* (APHY_CALIB is for ADI usage only) */
#define pUSB_APHY_CALIB ((volatile unsigned short *)USB_APHY_CALIB)
#define pUSB_APHY_CNTRL2 ((volatile unsigned short *)USB_APHY_CNTRL2)
/* (PHY_TEST is for ADI usage only) */
#define pUSB_PHY_TEST ((volatile unsigned short *)USB_PHY_TEST)
#define pUSB_PLLOSC_CTRL ((volatile unsigned short *)USB_PLLOSC_CTRL)
#define pUSB_SRP_CLKDIV ((volatile unsigned short *)USB_SRP_CLKDIV)
/* USB Endpoint 0 Control Registers */
#define pUSB_EP_NI0_TXMAXP ((volatile unsigned short *)USB_EP_NI0_TXMAXP)
#define pUSB_EP_NI0_TXCSR ((volatile unsigned short *)USB_EP_NI0_TXCSR)
#define pUSB_EP_NI0_RXMAXP ((volatile unsigned short *)USB_EP_NI0_RXMAXP)
#define pUSB_EP_NI0_RXCSR ((volatile unsigned short *)USB_EP_NI0_RXCSR)
#define pUSB_EP_NI0_RXCOUNT ((volatile unsigned short *)USB_EP_NI0_RXCOUNT)
#define pUSB_EP_NI0_TXTYPE ((volatile unsigned short *)USB_EP_NI0_TXTYPE)
#define pUSB_EP_NI0_TXINTERVAL ((volatile unsigned short *)USB_EP_NI0_TXINTERVAL)
#define pUSB_EP_NI0_RXTYPE ((volatile unsigned short *)USB_EP_NI0_RXTYPE)
#define pUSB_EP_NI0_RXINTERVAL ((volatile unsigned short *)USB_EP_NI0_RXINTERVAL)
#define pUSB_EP_NI0_TXCOUNT ((volatile unsigned short *)USB_EP_NI0_TXCOUNT)
/* USB Endpoint 1 Control Registers */
#define pUSB_EP_NI1_TXMAXP ((volatile unsigned short *)USB_EP_NI1_TXMAXP)
#define pUSB_EP_NI1_TXCSR ((volatile unsigned short *)USB_EP_NI1_TXCSR)
#define pUSB_EP_NI1_RXMAXP ((volatile unsigned short *)USB_EP_NI1_RXMAXP)
#define pUSB_EP_NI1_RXCSR ((volatile unsigned short *)USB_EP_NI1_RXCSR)
#define pUSB_EP_NI1_RXCOUNT ((volatile unsigned short *)USB_EP_NI1_RXCOUNT)
#define pUSB_EP_NI1_TXTYPE ((volatile unsigned short *)USB_EP_NI1_TXTYPE)
#define pUSB_EP_NI1_TXINTERVAL ((volatile unsigned short *)USB_EP_NI1_TXINTERVAL)
#define pUSB_EP_NI1_RXTYPE ((volatile unsigned short *)USB_EP_NI1_RXTYPE)
#define pUSB_EP_NI1_RXINTERVAL ((volatile unsigned short *)USB_EP_NI1_RXINTERVAL)
#define pUSB_EP_NI1_TXCOUNT ((volatile unsigned short *)USB_EP_NI1_TXCOUNT)
/* USB Endpoint 2 Control Registers */
#define pUSB_EP_NI2_TXMAXP ((volatile unsigned short *)USB_EP_NI2_TXMAXP)
#define pUSB_EP_NI2_TXCSR ((volatile unsigned short *)USB_EP_NI2_TXCSR)
#define pUSB_EP_NI2_RXMAXP ((volatile unsigned short *)USB_EP_NI2_RXMAXP)
#define pUSB_EP_NI2_RXCSR ((volatile unsigned short *)USB_EP_NI2_RXCSR)
#define pUSB_EP_NI2_RXCOUNT ((volatile unsigned short *)USB_EP_NI2_RXCOUNT)
#define pUSB_EP_NI2_TXTYPE ((volatile unsigned short *)USB_EP_NI2_TXTYPE)
#define pUSB_EP_NI2_TXINTERVAL ((volatile unsigned short *)USB_EP_NI2_TXINTERVAL)
#define pUSB_EP_NI2_RXTYPE ((volatile unsigned short *)USB_EP_NI2_RXTYPE)
#define pUSB_EP_NI2_RXINTERVAL ((volatile unsigned short *)USB_EP_NI2_RXINTERVAL)
#define pUSB_EP_NI2_TXCOUNT ((volatile unsigned short *)USB_EP_NI2_TXCOUNT)
/* USB Endpoint 3 Control Registers */
#define pUSB_EP_NI3_TXMAXP ((volatile unsigned short *)USB_EP_NI3_TXMAXP)
#define pUSB_EP_NI3_TXCSR ((volatile unsigned short *)USB_EP_NI3_TXCSR)
#define pUSB_EP_NI3_RXMAXP ((volatile unsigned short *)USB_EP_NI3_RXMAXP)
#define pUSB_EP_NI3_RXCSR ((volatile unsigned short *)USB_EP_NI3_RXCSR)
#define pUSB_EP_NI3_RXCOUNT ((volatile unsigned short *)USB_EP_NI3_RXCOUNT)
#define pUSB_EP_NI3_TXTYPE ((volatile unsigned short *)USB_EP_NI3_TXTYPE)
#define pUSB_EP_NI3_TXINTERVAL ((volatile unsigned short *)USB_EP_NI3_TXINTERVAL)
#define pUSB_EP_NI3_RXTYPE ((volatile unsigned short *)USB_EP_NI3_RXTYPE)
#define pUSB_EP_NI3_RXINTERVAL ((volatile unsigned short *)USB_EP_NI3_RXINTERVAL)
#define pUSB_EP_NI3_TXCOUNT ((volatile unsigned short *)USB_EP_NI3_TXCOUNT)
/* USB Endpoint 4 Control Registers */
#define pUSB_EP_NI4_TXMAXP ((volatile unsigned short *)USB_EP_NI4_TXMAXP)
#define pUSB_EP_NI4_TXCSR ((volatile unsigned short *)USB_EP_NI4_TXCSR)
#define pUSB_EP_NI4_RXMAXP ((volatile unsigned short *)USB_EP_NI4_RXMAXP)
#define pUSB_EP_NI4_RXCSR ((volatile unsigned short *)USB_EP_NI4_RXCSR)
#define pUSB_EP_NI4_RXCOUNT ((volatile unsigned short *)USB_EP_NI4_RXCOUNT)
#define pUSB_EP_NI4_TXTYPE ((volatile unsigned short *)USB_EP_NI4_TXTYPE)
#define pUSB_EP_NI4_TXINTERVAL ((volatile unsigned short *)USB_EP_NI4_TXINTERVAL)
#define pUSB_EP_NI4_RXTYPE ((volatile unsigned short *)USB_EP_NI4_RXTYPE)
#define pUSB_EP_NI4_RXINTERVAL ((volatile unsigned short *)USB_EP_NI4_RXINTERVAL)
#define pUSB_EP_NI4_TXCOUNT ((volatile unsigned short *)USB_EP_NI4_TXCOUNT)
/* USB Endpoint 5 Control Registers */
#define pUSB_EP_NI5_TXMAXP ((volatile unsigned short *)USB_EP_NI5_TXMAXP)
#define pUSB_EP_NI5_TXCSR ((volatile unsigned short *)USB_EP_NI5_TXCSR)
#define pUSB_EP_NI5_RXMAXP ((volatile unsigned short *)USB_EP_NI5_RXMAXP)
#define pUSB_EP_NI5_RXCSR ((volatile unsigned short *)USB_EP_NI5_RXCSR)
#define pUSB_EP_NI5_RXCOUNT ((volatile unsigned short *)USB_EP_NI5_RXCOUNT)
#define pUSB_EP_NI5_TXTYPE ((volatile unsigned short *)USB_EP_NI5_TXTYPE)
#define pUSB_EP_NI5_TXINTERVAL ((volatile unsigned short *)USB_EP_NI5_TXINTERVAL)
#define pUSB_EP_NI5_RXTYPE ((volatile unsigned short *)USB_EP_NI5_RXTYPE)
#define pUSB_EP_NI5_RXINTERVAL ((volatile unsigned short *)USB_EP_NI5_RXINTERVAL)
#define pUSB_EP_NI5_TXCOUNT ((volatile unsigned short *)USB_EP_NI5_TXCOUNT)
/* USB Endpoint 6 Control Registers */
#define pUSB_EP_NI6_TXMAXP ((volatile unsigned short *)USB_EP_NI6_TXMAXP)
#define pUSB_EP_NI6_TXCSR ((volatile unsigned short *)USB_EP_NI6_TXCSR)
#define pUSB_EP_NI6_RXMAXP ((volatile unsigned short *)USB_EP_NI6_RXMAXP)
#define pUSB_EP_NI6_RXCSR ((volatile unsigned short *)USB_EP_NI6_RXCSR)
#define pUSB_EP_NI6_RXCOUNT ((volatile unsigned short *)USB_EP_NI6_RXCOUNT)
#define pUSB_EP_NI6_TXTYPE ((volatile unsigned short *)USB_EP_NI6_TXTYPE)
#define pUSB_EP_NI6_TXINTERVAL ((volatile unsigned short *)USB_EP_NI6_TXINTERVAL)
#define pUSB_EP_NI6_RXTYPE ((volatile unsigned short *)USB_EP_NI6_RXTYPE)
#define pUSB_EP_NI6_RXINTERVAL ((volatile unsigned short *)USB_EP_NI6_RXINTERVAL)
#define pUSB_EP_NI6_TXCOUNT ((volatile unsigned short *)USB_EP_NI6_TXCOUNT)
/* USB Endpoint 7 Control Registers */
#define pUSB_EP_NI7_TXMAXP ((volatile unsigned short *)USB_EP_NI7_TXMAXP)
#define pUSB_EP_NI7_TXCSR ((volatile unsigned short *)USB_EP_NI7_TXCSR)
#define pUSB_EP_NI7_RXMAXP ((volatile unsigned short *)USB_EP_NI7_RXMAXP)
#define pUSB_EP_NI7_RXCSR ((volatile unsigned short *)USB_EP_NI7_RXCSR)
#define pUSB_EP_NI7_RXCOUNT ((volatile unsigned short *)USB_EP_NI7_RXCOUNT)
#define pUSB_EP_NI7_TXTYPE ((volatile unsigned short *)USB_EP_NI7_TXTYPE)
#define pUSB_EP_NI7_TXINTERVAL ((volatile unsigned short *)USB_EP_NI7_TXINTERVAL)
#define pUSB_EP_NI7_RXTYPE ((volatile unsigned short *)USB_EP_NI7_RXTYPE)
#define pUSB_EP_NI7_RXINTERVAL ((volatile unsigned short *)USB_EP_NI7_RXINTERVAL)
#define pUSB_EP_NI7_TXCOUNT ((volatile unsigned short *)USB_EP_NI7_TXCOUNT)
#define pUSB_DMA_INTERRUPT ((volatile unsigned short *)USB_DMA_INTERRUPT)
/* USB Channel 0 Config Registers */
#define pUSB_DMA0CONTROL ((volatile unsigned short *)USB_DMA0CONTROL)
#define pUSB_DMA0ADDRLOW ((volatile unsigned short *)USB_DMA0ADDRLOW)
#define pUSB_DMA0ADDRHIGH ((volatile unsigned short *)USB_DMA0ADDRHIGH)
#define pUSB_DMA0COUNTLOW ((volatile unsigned short *)USB_DMA0COUNTLOW)
#define pUSB_DMA0COUNTHIGH ((volatile unsigned short *)USB_DMA0COUNTHIGH)
/* USB Channel 1 Config Registers */
#define pUSB_DMA1CONTROL ((volatile unsigned short *)USB_DMA1CONTROL)
#define pUSB_DMA1ADDRLOW ((volatile unsigned short *)USB_DMA1ADDRLOW)
#define pUSB_DMA1ADDRHIGH ((volatile unsigned short *)USB_DMA1ADDRHIGH)
#define pUSB_DMA1COUNTLOW ((volatile unsigned short *)USB_DMA1COUNTLOW)
#define pUSB_DMA1COUNTHIGH ((volatile unsigned short *)USB_DMA1COUNTHIGH)
/* USB Channel 2 Config Registers */
#define pUSB_DMA2CONTROL ((volatile unsigned short *)USB_DMA2CONTROL)
#define pUSB_DMA2ADDRLOW ((volatile unsigned short *)USB_DMA2ADDRLOW)
#define pUSB_DMA2ADDRHIGH ((volatile unsigned short *)USB_DMA2ADDRHIGH)
#define pUSB_DMA2COUNTLOW ((volatile unsigned short *)USB_DMA2COUNTLOW)
#define pUSB_DMA2COUNTHIGH ((volatile unsigned short *)USB_DMA2COUNTHIGH)
/* USB Channel 3 Config Registers */
#define pUSB_DMA3CONTROL ((volatile unsigned short *)USB_DMA3CONTROL)
#define pUSB_DMA3ADDRLOW ((volatile unsigned short *)USB_DMA3ADDRLOW)
#define pUSB_DMA3ADDRHIGH ((volatile unsigned short *)USB_DMA3ADDRHIGH)
#define pUSB_DMA3COUNTLOW ((volatile unsigned short *)USB_DMA3COUNTLOW)
#define pUSB_DMA3COUNTHIGH ((volatile unsigned short *)USB_DMA3COUNTHIGH)
/* USB Channel 4 Config Registers */
#define pUSB_DMA4CONTROL ((volatile unsigned short *)USB_DMA4CONTROL)
#define pUSB_DMA4ADDRLOW ((volatile unsigned short *)USB_DMA4ADDRLOW)
#define pUSB_DMA4ADDRHIGH ((volatile unsigned short *)USB_DMA4ADDRHIGH)
#define pUSB_DMA4COUNTLOW ((volatile unsigned short *)USB_DMA4COUNTLOW)
#define pUSB_DMA4COUNTHIGH ((volatile unsigned short *)USB_DMA4COUNTHIGH)
/* USB Channel 5 Config Registers */
#define pUSB_DMA5CONTROL ((volatile unsigned short *)USB_DMA5CONTROL)
#define pUSB_DMA5ADDRLOW ((volatile unsigned short *)USB_DMA5ADDRLOW)
#define pUSB_DMA5ADDRHIGH ((volatile unsigned short *)USB_DMA5ADDRHIGH)
#define pUSB_DMA5COUNTLOW ((volatile unsigned short *)USB_DMA5COUNTLOW)
#define pUSB_DMA5COUNTHIGH ((volatile unsigned short *)USB_DMA5COUNTHIGH)
/* USB Channel 6 Config Registers */
#define pUSB_DMA6CONTROL ((volatile unsigned short *)USB_DMA6CONTROL)
#define pUSB_DMA6ADDRLOW ((volatile unsigned short *)USB_DMA6ADDRLOW)
#define pUSB_DMA6ADDRHIGH ((volatile unsigned short *)USB_DMA6ADDRHIGH)
#define pUSB_DMA6COUNTLOW ((volatile unsigned short *)USB_DMA6COUNTLOW)
#define pUSB_DMA6COUNTHIGH ((volatile unsigned short *)USB_DMA6COUNTHIGH)
/* USB Channel 7 Config Registers */
#define pUSB_DMA7CONTROL ((volatile unsigned short *)USB_DMA7CONTROL)
#define pUSB_DMA7ADDRLOW ((volatile unsigned short *)USB_DMA7ADDRLOW)
#define pUSB_DMA7ADDRHIGH ((volatile unsigned short *)USB_DMA7ADDRHIGH)
#define pUSB_DMA7COUNTLOW ((volatile unsigned short *)USB_DMA7COUNTLOW)
#define pUSB_DMA7COUNTHIGH ((volatile unsigned short *)USB_DMA7COUNTHIGH)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF524_H */

View File

@ -11,7 +11,7 @@
*/
/*
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -36,6 +36,11 @@
/* include cdefBF52x_base.h for the set of #defines that are common to all ADSP-BF52x processors */
#include <cdefBF52x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF525 that are not in the common header */
/* USB Control Registers */
@ -282,4 +287,8 @@
#define pUSB_DMA7COUNTLOW ((volatile unsigned short *)USB_DMA7COUNTLOW)
#define pUSB_DMA7COUNTHIGH ((volatile unsigned short *)USB_DMA7COUNTHIGH)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF525_H */

View File

@ -0,0 +1,380 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This include file contains a list of macro "defines" to enable the programmer
** to use symbolic names for the ADSP-BF526 peripherals.
**
************************************************************************************
** System MMR Register Map
************************************************************************************/
#ifndef _CDEF_BF526_H
#define _CDEF_BF526_H
/* include all Core registers and bit definitions */
#include <defBF526.h>
/* include core specific register pointer definitions */
#include <cdef_LPBlackfin.h>
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF526 */
/* include cdefBF52x_base.h for the set of #defines that are common to all ADSP-BF52x processors */
#include <cdefBF52x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF526 that are not in the common header */
/* 10/100 Ethernet Controller (0xFFC03000 - 0xFFC031FF) */
#define pEMAC_OPMODE ((volatile unsigned long *)EMAC_OPMODE)
#define pEMAC_ADDRLO ((volatile unsigned long *)EMAC_ADDRLO)
#define pEMAC_ADDRHI ((volatile unsigned long *)EMAC_ADDRHI)
#define pEMAC_HASHLO ((volatile unsigned long *)EMAC_HASHLO)
#define pEMAC_HASHHI ((volatile unsigned long *)EMAC_HASHHI)
#define pEMAC_STAADD ((volatile unsigned long *)EMAC_STAADD)
#define pEMAC_STADAT ((volatile unsigned long *)EMAC_STADAT)
#define pEMAC_FLC ((volatile unsigned long *)EMAC_FLC)
#define pEMAC_VLAN1 ((volatile unsigned long *)EMAC_VLAN1)
#define pEMAC_VLAN2 ((volatile unsigned long *)EMAC_VLAN2)
#define pEMAC_WKUP_CTL ((volatile unsigned long *)EMAC_WKUP_CTL)
#define pEMAC_WKUP_FFMSK0 ((volatile unsigned long *)EMAC_WKUP_FFMSK0)
#define pEMAC_WKUP_FFMSK1 ((volatile unsigned long *)EMAC_WKUP_FFMSK1)
#define pEMAC_WKUP_FFMSK2 ((volatile unsigned long *)EMAC_WKUP_FFMSK2)
#define pEMAC_WKUP_FFMSK3 ((volatile unsigned long *)EMAC_WKUP_FFMSK3)
#define pEMAC_WKUP_FFCMD ((volatile unsigned long *)EMAC_WKUP_FFCMD)
#define pEMAC_WKUP_FFOFF ((volatile unsigned long *)EMAC_WKUP_FFOFF)
#define pEMAC_WKUP_FFCRC0 ((volatile unsigned long *)EMAC_WKUP_FFCRC0)
#define pEMAC_WKUP_FFCRC1 ((volatile unsigned long *)EMAC_WKUP_FFCRC1)
#define pEMAC_SYSCTL ((volatile unsigned long *)EMAC_SYSCTL)
#define pEMAC_SYSTAT ((volatile unsigned long *)EMAC_SYSTAT)
#define pEMAC_RX_STAT ((volatile unsigned long *)EMAC_RX_STAT)
#define pEMAC_RX_STKY ((volatile unsigned long *)EMAC_RX_STKY)
#define pEMAC_RX_IRQE ((volatile unsigned long *)EMAC_RX_IRQE)
#define pEMAC_TX_STAT ((volatile unsigned long *)EMAC_TX_STAT)
#define pEMAC_TX_STKY ((volatile unsigned long *)EMAC_TX_STKY)
#define pEMAC_TX_IRQE ((volatile unsigned long *)EMAC_TX_IRQE)
#define pEMAC_MMC_CTL ((volatile unsigned long *)EMAC_MMC_CTL)
#define pEMAC_MMC_RIRQS ((volatile unsigned long *)EMAC_MMC_RIRQS)
#define pEMAC_MMC_RIRQE ((volatile unsigned long *)EMAC_MMC_RIRQE)
#define pEMAC_MMC_TIRQS ((volatile unsigned long *)EMAC_MMC_TIRQS)
#define pEMAC_MMC_TIRQE ((volatile unsigned long *)EMAC_MMC_TIRQE)
#define pEMAC_RXC_OK ((volatile unsigned long *)EMAC_RXC_OK)
#define pEMAC_RXC_FCS ((volatile unsigned long *)EMAC_RXC_FCS)
#define pEMAC_RXC_ALIGN ((volatile unsigned long *)EMAC_RXC_ALIGN)
#define pEMAC_RXC_OCTET ((volatile unsigned long *)EMAC_RXC_OCTET)
#define pEMAC_RXC_DMAOVF ((volatile unsigned long *)EMAC_RXC_DMAOVF)
#define pEMAC_RXC_UNICST ((volatile unsigned long *)EMAC_RXC_UNICST)
#define pEMAC_RXC_MULTI ((volatile unsigned long *)EMAC_RXC_MULTI)
#define pEMAC_RXC_BROAD ((volatile unsigned long *)EMAC_RXC_BROAD)
#define pEMAC_RXC_LNERRI ((volatile unsigned long *)EMAC_RXC_LNERRI)
#define pEMAC_RXC_LNERRO ((volatile unsigned long *)EMAC_RXC_LNERRO)
#define pEMAC_RXC_LONG ((volatile unsigned long *)EMAC_RXC_LONG)
#define pEMAC_RXC_MACCTL ((volatile unsigned long *)EMAC_RXC_MACCTL)
#define pEMAC_RXC_OPCODE ((volatile unsigned long *)EMAC_RXC_OPCODE)
#define pEMAC_RXC_PAUSE ((volatile unsigned long *)EMAC_RXC_PAUSE)
#define pEMAC_RXC_ALLFRM ((volatile unsigned long *)EMAC_RXC_ALLFRM)
#define pEMAC_RXC_ALLOCT ((volatile unsigned long *)EMAC_RXC_ALLOCT)
#define pEMAC_RXC_TYPED ((volatile unsigned long *)EMAC_RXC_TYPED)
#define pEMAC_RXC_SHORT ((volatile unsigned long *)EMAC_RXC_SHORT)
#define pEMAC_RXC_EQ64 ((volatile unsigned long *)EMAC_RXC_EQ64)
#define pEMAC_RXC_LT128 ((volatile unsigned long *)EMAC_RXC_LT128)
#define pEMAC_RXC_LT256 ((volatile unsigned long *)EMAC_RXC_LT256)
#define pEMAC_RXC_LT512 ((volatile unsigned long *)EMAC_RXC_LT512)
#define pEMAC_RXC_LT1024 ((volatile unsigned long *)EMAC_RXC_LT1024)
#define pEMAC_RXC_GE1024 ((volatile unsigned long *)EMAC_RXC_GE1024)
#define pEMAC_TXC_OK ((volatile unsigned long *)EMAC_TXC_OK)
#define pEMAC_TXC_1COL ((volatile unsigned long *)EMAC_TXC_1COL)
#define pEMAC_TXC_GT1COL ((volatile unsigned long *)EMAC_TXC_GT1COL)
#define pEMAC_TXC_OCTET ((volatile unsigned long *)EMAC_TXC_OCTET)
#define pEMAC_TXC_DEFER ((volatile unsigned long *)EMAC_TXC_DEFER)
#define pEMAC_TXC_LATECL ((volatile unsigned long *)EMAC_TXC_LATECL)
#define pEMAC_TXC_XS_COL ((volatile unsigned long *)EMAC_TXC_XS_COL)
#define pEMAC_TXC_DMAUND ((volatile unsigned long *)EMAC_TXC_DMAUND)
#define pEMAC_TXC_CRSERR ((volatile unsigned long *)EMAC_TXC_CRSERR)
#define pEMAC_TXC_UNICST ((volatile unsigned long *)EMAC_TXC_UNICST)
#define pEMAC_TXC_MULTI ((volatile unsigned long *)EMAC_TXC_MULTI)
#define pEMAC_TXC_BROAD ((volatile unsigned long *)EMAC_TXC_BROAD)
#define pEMAC_TXC_XS_DFR ((volatile unsigned long *)EMAC_TXC_XS_DFR)
#define pEMAC_TXC_MACCTL ((volatile unsigned long *)EMAC_TXC_MACCTL)
#define pEMAC_TXC_ALLFRM ((volatile unsigned long *)EMAC_TXC_ALLFRM)
#define pEMAC_TXC_ALLOCT ((volatile unsigned long *)EMAC_TXC_ALLOCT)
#define pEMAC_TXC_EQ64 ((volatile unsigned long *)EMAC_TXC_EQ64)
#define pEMAC_TXC_LT128 ((volatile unsigned long *)EMAC_TXC_LT128)
#define pEMAC_TXC_LT256 ((volatile unsigned long *)EMAC_TXC_LT256)
#define pEMAC_TXC_LT512 ((volatile unsigned long *)EMAC_TXC_LT512)
#define pEMAC_TXC_LT1024 ((volatile unsigned long *)EMAC_TXC_LT1024)
#define pEMAC_TXC_GE1024 ((volatile unsigned long *)EMAC_TXC_GE1024)
#define pEMAC_TXC_ABORT ((volatile unsigned long *)EMAC_TXC_ABORT)
/* USB Control Registers */
#define pUSB_FADDR ((volatile unsigned short *)USB_FADDR)
#define pUSB_POWER ((volatile unsigned short *)USB_POWER)
#define pUSB_INTRTX ((volatile unsigned short *)USB_INTRTX)
#define pUSB_INTRRX ((volatile unsigned short *)USB_INTRRX)
#define pUSB_INTRTXE ((volatile unsigned short *)USB_INTRTXE)
#define pUSB_INTRRXE ((volatile unsigned short *)USB_INTRRXE)
#define pUSB_INTRUSB ((volatile unsigned short *)USB_INTRUSB)
#define pUSB_INTRUSBE ((volatile unsigned short *)USB_INTRUSBE)
#define pUSB_FRAME ((volatile unsigned short *)USB_FRAME)
#define pUSB_INDEX ((volatile unsigned short *)USB_INDEX)
#define pUSB_TESTMODE ((volatile unsigned short *)USB_TESTMODE)
#define pUSB_GLOBINTR ((volatile unsigned short *)USB_GLOBINTR)
#define pUSB_GLOBAL_CTL ((volatile unsigned short *)USB_GLOBAL_CTL)
/* USB Packet Control Registers */
#define pUSB_TX_MAX_PACKET ((volatile unsigned short *)USB_TX_MAX_PACKET)
#define pUSB_CSR0 ((volatile unsigned short *)USB_CSR0)
#define pUSB_TXCSR ((volatile unsigned short *)USB_TXCSR)
#define pUSB_RX_MAX_PACKET ((volatile unsigned short *)USB_RX_MAX_PACKET)
#define pUSB_RXCSR ((volatile unsigned short *)USB_RXCSR)
#define pUSB_COUNT0 ((volatile unsigned short *)USB_COUNT0)
#define pUSB_RXCOUNT ((volatile unsigned short *)USB_RXCOUNT)
#define pUSB_TXTYPE ((volatile unsigned short *)USB_TXTYPE)
#define pUSB_NAKLIMIT0 ((volatile unsigned short *)USB_NAKLIMIT0)
#define pUSB_TXINTERVAL ((volatile unsigned short *)USB_TXINTERVAL)
#define pUSB_RXTYPE ((volatile unsigned short *)USB_RXTYPE)
#define pUSB_RXINTERVAL ((volatile unsigned short *)USB_RXINTERVAL)
#define pUSB_TXCOUNT ((volatile unsigned short *)USB_TXCOUNT)
/* USB Endpoint FIFO Registers */
#define pUSB_EP0_FIFO ((volatile unsigned short *)USB_EP0_FIFO)
#define pUSB_EP1_FIFO ((volatile unsigned short *)USB_EP1_FIFO)
#define pUSB_EP2_FIFO ((volatile unsigned short *)USB_EP2_FIFO)
#define pUSB_EP3_FIFO ((volatile unsigned short *)USB_EP3_FIFO)
#define pUSB_EP4_FIFO ((volatile unsigned short *)USB_EP4_FIFO)
#define pUSB_EP5_FIFO ((volatile unsigned short *)USB_EP5_FIFO)
#define pUSB_EP6_FIFO ((volatile unsigned short *)USB_EP6_FIFO)
#define pUSB_EP7_FIFO ((volatile unsigned short *)USB_EP7_FIFO)
/* USB OTG Control Registers */
#define pUSB_OTG_DEV_CTL ((volatile unsigned short *)USB_OTG_DEV_CTL)
#define pUSB_OTG_VBUS_IRQ ((volatile unsigned short *)USB_OTG_VBUS_IRQ)
#define pUSB_OTG_VBUS_MASK ((volatile unsigned short *)USB_OTG_VBUS_MASK)
/* USB Phy Control Registers */
#define pUSB_LINKINFO ((volatile unsigned short *)USB_LINKINFO)
#define pUSB_VPLEN ((volatile unsigned short *)USB_VPLEN)
#define pUSB_HS_EOF1 ((volatile unsigned short *)USB_HS_EOF1)
#define pUSB_FS_EOF1 ((volatile unsigned short *)USB_FS_EOF1)
#define pUSB_LS_EOF1 ((volatile unsigned short *)USB_LS_EOF1)
/* (APHY_CNTRL is for ADI usage only) */
#define pUSB_APHY_CNTRL ((volatile unsigned short *)USB_APHY_CNTRL)
/* (APHY_CALIB is for ADI usage only) */
#define pUSB_APHY_CALIB ((volatile unsigned short *)USB_APHY_CALIB)
#define pUSB_APHY_CNTRL2 ((volatile unsigned short *)USB_APHY_CNTRL2)
/* (PHY_TEST is for ADI usage only) */
#define pUSB_PHY_TEST ((volatile unsigned short *)USB_PHY_TEST)
#define pUSB_PLLOSC_CTRL ((volatile unsigned short *)USB_PLLOSC_CTRL)
#define pUSB_SRP_CLKDIV ((volatile unsigned short *)USB_SRP_CLKDIV)
/* USB Endpoint 0 Control Registers */
#define pUSB_EP_NI0_TXMAXP ((volatile unsigned short *)USB_EP_NI0_TXMAXP)
#define pUSB_EP_NI0_TXCSR ((volatile unsigned short *)USB_EP_NI0_TXCSR)
#define pUSB_EP_NI0_RXMAXP ((volatile unsigned short *)USB_EP_NI0_RXMAXP)
#define pUSB_EP_NI0_RXCSR ((volatile unsigned short *)USB_EP_NI0_RXCSR)
#define pUSB_EP_NI0_RXCOUNT ((volatile unsigned short *)USB_EP_NI0_RXCOUNT)
#define pUSB_EP_NI0_TXTYPE ((volatile unsigned short *)USB_EP_NI0_TXTYPE)
#define pUSB_EP_NI0_TXINTERVAL ((volatile unsigned short *)USB_EP_NI0_TXINTERVAL)
#define pUSB_EP_NI0_RXTYPE ((volatile unsigned short *)USB_EP_NI0_RXTYPE)
#define pUSB_EP_NI0_RXINTERVAL ((volatile unsigned short *)USB_EP_NI0_RXINTERVAL)
#define pUSB_EP_NI0_TXCOUNT ((volatile unsigned short *)USB_EP_NI0_TXCOUNT)
/* USB Endpoint 1 Control Registers */
#define pUSB_EP_NI1_TXMAXP ((volatile unsigned short *)USB_EP_NI1_TXMAXP)
#define pUSB_EP_NI1_TXCSR ((volatile unsigned short *)USB_EP_NI1_TXCSR)
#define pUSB_EP_NI1_RXMAXP ((volatile unsigned short *)USB_EP_NI1_RXMAXP)
#define pUSB_EP_NI1_RXCSR ((volatile unsigned short *)USB_EP_NI1_RXCSR)
#define pUSB_EP_NI1_RXCOUNT ((volatile unsigned short *)USB_EP_NI1_RXCOUNT)
#define pUSB_EP_NI1_TXTYPE ((volatile unsigned short *)USB_EP_NI1_TXTYPE)
#define pUSB_EP_NI1_TXINTERVAL ((volatile unsigned short *)USB_EP_NI1_TXINTERVAL)
#define pUSB_EP_NI1_RXTYPE ((volatile unsigned short *)USB_EP_NI1_RXTYPE)
#define pUSB_EP_NI1_RXINTERVAL ((volatile unsigned short *)USB_EP_NI1_RXINTERVAL)
#define pUSB_EP_NI1_TXCOUNT ((volatile unsigned short *)USB_EP_NI1_TXCOUNT)
/* USB Endpoint 2 Control Registers */
#define pUSB_EP_NI2_TXMAXP ((volatile unsigned short *)USB_EP_NI2_TXMAXP)
#define pUSB_EP_NI2_TXCSR ((volatile unsigned short *)USB_EP_NI2_TXCSR)
#define pUSB_EP_NI2_RXMAXP ((volatile unsigned short *)USB_EP_NI2_RXMAXP)
#define pUSB_EP_NI2_RXCSR ((volatile unsigned short *)USB_EP_NI2_RXCSR)
#define pUSB_EP_NI2_RXCOUNT ((volatile unsigned short *)USB_EP_NI2_RXCOUNT)
#define pUSB_EP_NI2_TXTYPE ((volatile unsigned short *)USB_EP_NI2_TXTYPE)
#define pUSB_EP_NI2_TXINTERVAL ((volatile unsigned short *)USB_EP_NI2_TXINTERVAL)
#define pUSB_EP_NI2_RXTYPE ((volatile unsigned short *)USB_EP_NI2_RXTYPE)
#define pUSB_EP_NI2_RXINTERVAL ((volatile unsigned short *)USB_EP_NI2_RXINTERVAL)
#define pUSB_EP_NI2_TXCOUNT ((volatile unsigned short *)USB_EP_NI2_TXCOUNT)
/* USB Endpoint 3 Control Registers */
#define pUSB_EP_NI3_TXMAXP ((volatile unsigned short *)USB_EP_NI3_TXMAXP)
#define pUSB_EP_NI3_TXCSR ((volatile unsigned short *)USB_EP_NI3_TXCSR)
#define pUSB_EP_NI3_RXMAXP ((volatile unsigned short *)USB_EP_NI3_RXMAXP)
#define pUSB_EP_NI3_RXCSR ((volatile unsigned short *)USB_EP_NI3_RXCSR)
#define pUSB_EP_NI3_RXCOUNT ((volatile unsigned short *)USB_EP_NI3_RXCOUNT)
#define pUSB_EP_NI3_TXTYPE ((volatile unsigned short *)USB_EP_NI3_TXTYPE)
#define pUSB_EP_NI3_TXINTERVAL ((volatile unsigned short *)USB_EP_NI3_TXINTERVAL)
#define pUSB_EP_NI3_RXTYPE ((volatile unsigned short *)USB_EP_NI3_RXTYPE)
#define pUSB_EP_NI3_RXINTERVAL ((volatile unsigned short *)USB_EP_NI3_RXINTERVAL)
#define pUSB_EP_NI3_TXCOUNT ((volatile unsigned short *)USB_EP_NI3_TXCOUNT)
/* USB Endpoint 4 Control Registers */
#define pUSB_EP_NI4_TXMAXP ((volatile unsigned short *)USB_EP_NI4_TXMAXP)
#define pUSB_EP_NI4_TXCSR ((volatile unsigned short *)USB_EP_NI4_TXCSR)
#define pUSB_EP_NI4_RXMAXP ((volatile unsigned short *)USB_EP_NI4_RXMAXP)
#define pUSB_EP_NI4_RXCSR ((volatile unsigned short *)USB_EP_NI4_RXCSR)
#define pUSB_EP_NI4_RXCOUNT ((volatile unsigned short *)USB_EP_NI4_RXCOUNT)
#define pUSB_EP_NI4_TXTYPE ((volatile unsigned short *)USB_EP_NI4_TXTYPE)
#define pUSB_EP_NI4_TXINTERVAL ((volatile unsigned short *)USB_EP_NI4_TXINTERVAL)
#define pUSB_EP_NI4_RXTYPE ((volatile unsigned short *)USB_EP_NI4_RXTYPE)
#define pUSB_EP_NI4_RXINTERVAL ((volatile unsigned short *)USB_EP_NI4_RXINTERVAL)
#define pUSB_EP_NI4_TXCOUNT ((volatile unsigned short *)USB_EP_NI4_TXCOUNT)
/* USB Endpoint 5 Control Registers */
#define pUSB_EP_NI5_TXMAXP ((volatile unsigned short *)USB_EP_NI5_TXMAXP)
#define pUSB_EP_NI5_TXCSR ((volatile unsigned short *)USB_EP_NI5_TXCSR)
#define pUSB_EP_NI5_RXMAXP ((volatile unsigned short *)USB_EP_NI5_RXMAXP)
#define pUSB_EP_NI5_RXCSR ((volatile unsigned short *)USB_EP_NI5_RXCSR)
#define pUSB_EP_NI5_RXCOUNT ((volatile unsigned short *)USB_EP_NI5_RXCOUNT)
#define pUSB_EP_NI5_TXTYPE ((volatile unsigned short *)USB_EP_NI5_TXTYPE)
#define pUSB_EP_NI5_TXINTERVAL ((volatile unsigned short *)USB_EP_NI5_TXINTERVAL)
#define pUSB_EP_NI5_RXTYPE ((volatile unsigned short *)USB_EP_NI5_RXTYPE)
#define pUSB_EP_NI5_RXINTERVAL ((volatile unsigned short *)USB_EP_NI5_RXINTERVAL)
#define pUSB_EP_NI5_TXCOUNT ((volatile unsigned short *)USB_EP_NI5_TXCOUNT)
/* USB Endpoint 6 Control Registers */
#define pUSB_EP_NI6_TXMAXP ((volatile unsigned short *)USB_EP_NI6_TXMAXP)
#define pUSB_EP_NI6_TXCSR ((volatile unsigned short *)USB_EP_NI6_TXCSR)
#define pUSB_EP_NI6_RXMAXP ((volatile unsigned short *)USB_EP_NI6_RXMAXP)
#define pUSB_EP_NI6_RXCSR ((volatile unsigned short *)USB_EP_NI6_RXCSR)
#define pUSB_EP_NI6_RXCOUNT ((volatile unsigned short *)USB_EP_NI6_RXCOUNT)
#define pUSB_EP_NI6_TXTYPE ((volatile unsigned short *)USB_EP_NI6_TXTYPE)
#define pUSB_EP_NI6_TXINTERVAL ((volatile unsigned short *)USB_EP_NI6_TXINTERVAL)
#define pUSB_EP_NI6_RXTYPE ((volatile unsigned short *)USB_EP_NI6_RXTYPE)
#define pUSB_EP_NI6_RXINTERVAL ((volatile unsigned short *)USB_EP_NI6_RXINTERVAL)
#define pUSB_EP_NI6_TXCOUNT ((volatile unsigned short *)USB_EP_NI6_TXCOUNT)
/* USB Endpoint 7 Control Registers */
#define pUSB_EP_NI7_TXMAXP ((volatile unsigned short *)USB_EP_NI7_TXMAXP)
#define pUSB_EP_NI7_TXCSR ((volatile unsigned short *)USB_EP_NI7_TXCSR)
#define pUSB_EP_NI7_RXMAXP ((volatile unsigned short *)USB_EP_NI7_RXMAXP)
#define pUSB_EP_NI7_RXCSR ((volatile unsigned short *)USB_EP_NI7_RXCSR)
#define pUSB_EP_NI7_RXCOUNT ((volatile unsigned short *)USB_EP_NI7_RXCOUNT)
#define pUSB_EP_NI7_TXTYPE ((volatile unsigned short *)USB_EP_NI7_TXTYPE)
#define pUSB_EP_NI7_TXINTERVAL ((volatile unsigned short *)USB_EP_NI7_TXINTERVAL)
#define pUSB_EP_NI7_RXTYPE ((volatile unsigned short *)USB_EP_NI7_RXTYPE)
#define pUSB_EP_NI7_RXINTERVAL ((volatile unsigned short *)USB_EP_NI7_RXINTERVAL)
#define pUSB_EP_NI7_TXCOUNT ((volatile unsigned short *)USB_EP_NI7_TXCOUNT)
#define pUSB_DMA_INTERRUPT ((volatile unsigned short *)USB_DMA_INTERRUPT)
/* USB Channel 0 Config Registers */
#define pUSB_DMA0CONTROL ((volatile unsigned short *)USB_DMA0CONTROL)
#define pUSB_DMA0ADDRLOW ((volatile unsigned short *)USB_DMA0ADDRLOW)
#define pUSB_DMA0ADDRHIGH ((volatile unsigned short *)USB_DMA0ADDRHIGH)
#define pUSB_DMA0COUNTLOW ((volatile unsigned short *)USB_DMA0COUNTLOW)
#define pUSB_DMA0COUNTHIGH ((volatile unsigned short *)USB_DMA0COUNTHIGH)
/* USB Channel 1 Config Registers */
#define pUSB_DMA1CONTROL ((volatile unsigned short *)USB_DMA1CONTROL)
#define pUSB_DMA1ADDRLOW ((volatile unsigned short *)USB_DMA1ADDRLOW)
#define pUSB_DMA1ADDRHIGH ((volatile unsigned short *)USB_DMA1ADDRHIGH)
#define pUSB_DMA1COUNTLOW ((volatile unsigned short *)USB_DMA1COUNTLOW)
#define pUSB_DMA1COUNTHIGH ((volatile unsigned short *)USB_DMA1COUNTHIGH)
/* USB Channel 2 Config Registers */
#define pUSB_DMA2CONTROL ((volatile unsigned short *)USB_DMA2CONTROL)
#define pUSB_DMA2ADDRLOW ((volatile unsigned short *)USB_DMA2ADDRLOW)
#define pUSB_DMA2ADDRHIGH ((volatile unsigned short *)USB_DMA2ADDRHIGH)
#define pUSB_DMA2COUNTLOW ((volatile unsigned short *)USB_DMA2COUNTLOW)
#define pUSB_DMA2COUNTHIGH ((volatile unsigned short *)USB_DMA2COUNTHIGH)
/* USB Channel 3 Config Registers */
#define pUSB_DMA3CONTROL ((volatile unsigned short *)USB_DMA3CONTROL)
#define pUSB_DMA3ADDRLOW ((volatile unsigned short *)USB_DMA3ADDRLOW)
#define pUSB_DMA3ADDRHIGH ((volatile unsigned short *)USB_DMA3ADDRHIGH)
#define pUSB_DMA3COUNTLOW ((volatile unsigned short *)USB_DMA3COUNTLOW)
#define pUSB_DMA3COUNTHIGH ((volatile unsigned short *)USB_DMA3COUNTHIGH)
/* USB Channel 4 Config Registers */
#define pUSB_DMA4CONTROL ((volatile unsigned short *)USB_DMA4CONTROL)
#define pUSB_DMA4ADDRLOW ((volatile unsigned short *)USB_DMA4ADDRLOW)
#define pUSB_DMA4ADDRHIGH ((volatile unsigned short *)USB_DMA4ADDRHIGH)
#define pUSB_DMA4COUNTLOW ((volatile unsigned short *)USB_DMA4COUNTLOW)
#define pUSB_DMA4COUNTHIGH ((volatile unsigned short *)USB_DMA4COUNTHIGH)
/* USB Channel 5 Config Registers */
#define pUSB_DMA5CONTROL ((volatile unsigned short *)USB_DMA5CONTROL)
#define pUSB_DMA5ADDRLOW ((volatile unsigned short *)USB_DMA5ADDRLOW)
#define pUSB_DMA5ADDRHIGH ((volatile unsigned short *)USB_DMA5ADDRHIGH)
#define pUSB_DMA5COUNTLOW ((volatile unsigned short *)USB_DMA5COUNTLOW)
#define pUSB_DMA5COUNTHIGH ((volatile unsigned short *)USB_DMA5COUNTHIGH)
/* USB Channel 6 Config Registers */
#define pUSB_DMA6CONTROL ((volatile unsigned short *)USB_DMA6CONTROL)
#define pUSB_DMA6ADDRLOW ((volatile unsigned short *)USB_DMA6ADDRLOW)
#define pUSB_DMA6ADDRHIGH ((volatile unsigned short *)USB_DMA6ADDRHIGH)
#define pUSB_DMA6COUNTLOW ((volatile unsigned short *)USB_DMA6COUNTLOW)
#define pUSB_DMA6COUNTHIGH ((volatile unsigned short *)USB_DMA6COUNTHIGH)
/* USB Channel 7 Config Registers */
#define pUSB_DMA7CONTROL ((volatile unsigned short *)USB_DMA7CONTROL)
#define pUSB_DMA7ADDRLOW ((volatile unsigned short *)USB_DMA7ADDRLOW)
#define pUSB_DMA7ADDRHIGH ((volatile unsigned short *)USB_DMA7ADDRHIGH)
#define pUSB_DMA7COUNTLOW ((volatile unsigned short *)USB_DMA7COUNTLOW)
#define pUSB_DMA7COUNTHIGH ((volatile unsigned short *)USB_DMA7COUNTHIGH)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF526_H */

View File

@ -11,7 +11,7 @@
*/
/*
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -36,6 +36,11 @@
/* include cdefBF52x_base.h for the set of #defines that are common to all ADSP-BF52x processors */
#include <cdefBF52x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF527 that are not in the common header */
/* 10/100 Ethernet Controller (0xFFC03000 - 0xFFC031FF) */
@ -368,4 +373,8 @@
#define pUSB_DMA7COUNTLOW ((volatile unsigned short *)USB_DMA7COUNTLOW)
#define pUSB_DMA7COUNTHIGH ((volatile unsigned short *)USB_DMA7COUNTHIGH)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF527_H */

View File

@ -13,7 +13,7 @@
/*
** cdefBF52x_base.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -27,6 +27,11 @@
#include <defBF52x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/* ==== begin from cdefBF534.h ==== */
#ifndef _PTR_TO_VOL_VOID_PTR
@ -51,7 +56,6 @@
#define pSWRST ((volatile unsigned short *)SWRST)
#define pSYSCR ((volatile unsigned short *)SYSCR)
#define pSIC_RVECT (_PTR_TO_VOL_VOID_PTR SIC_RVECT)
#define pSIC_IMASK0 ((volatile unsigned long *)SIC_IMASK0)
/* legacy register name (below) provided for backwards code compatibility */
#define pSIC_IMASK ((volatile unsigned long *)SIC_IMASK0)
@ -605,14 +609,10 @@
#define pPORTF_DRIVE ((volatile unsigned short *)PORTF_DRIVE)
#define pPORTG_DRIVE ((volatile unsigned short *)PORTG_DRIVE)
#define pPORTH_DRIVE ((volatile unsigned short *)PORTH_DRIVE)
#define pPORTF_SLEW ((volatile unsigned short *)PORTF_SLEW)
#define pPORTG_SLEW ((volatile unsigned short *)PORTG_SLEW)
#define pPORTH_SLEW ((volatile unsigned short *)PORTH_SLEW)
#define pPORTF_HYSTERESIS ((volatile unsigned short *)PORTF_HYSTERESIS)
#define pPORTG_HYSTERESIS ((volatile unsigned short *)PORTG_HYSTERESIS)
#define pPORTH_HYSTERESIS ((volatile unsigned short *)PORTH_HYSTERESIS)
#define pNONGPIO_DRIVE ((volatile unsigned short *)NONGPIO_DRIVE)
#define pNONGPIO_SLEW ((volatile unsigned short *)NONGPIO_SLEW)
#define pNONGPIO_HYSTERESIS ((volatile unsigned short *)NONGPIO_HYSTERESIS)
/* HOST Port Registers */
@ -632,13 +632,6 @@
#define pCNT_MAX ((volatile unsigned long *)CNT_MAX)
#define pCNT_MIN ((volatile unsigned long *)CNT_MIN)
/* OTP/FUSE Registers */
#define pOTP_CONTROL ((volatile unsigned short *)OTP_CONTROL)
#define pOTP_BEN ((volatile unsigned short *)OTP_BEN)
#define pOTP_STATUS ((volatile unsigned short *)OTP_STATUS)
#define pOTP_TIMING ((volatile unsigned long *)OTP_TIMING)
/* Security Registers */
#define pSECURE_SYSSWT ((volatile unsigned long *)SECURE_SYSSWT)
@ -671,4 +664,8 @@
#define pNFC_DATA_WR ((volatile unsigned short *)NFC_DATA_WR)
#define pNFC_DATA_RD ((volatile unsigned short *)NFC_DATA_RD)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF52X_H */

View File

@ -14,7 +14,7 @@
*
* cdefBF532.h
*
* Copyright (C) 2008 Analog Devices, Inc.
* Copyright (C) 2008, 2009 Analog Devices, Inc.
*
************************************************************************/
@ -53,7 +53,6 @@
/* System Interrupt Controller */
#define pSWRST ((volatile unsigned short *)SWRST)
#define pSYSCR ((volatile unsigned short *)SYSCR)
#define pSIC_RVECT ((void * volatile *)SIC_RVECT)
#define pSIC_IMASK ((volatile unsigned long *)SIC_IMASK)
#define pSIC_IAR0 ((volatile unsigned long *)SIC_IAR0)
#define pSIC_IAR1 ((volatile unsigned long *)SIC_IAR1)

View File

@ -11,7 +11,7 @@
*/
/*
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -27,6 +27,11 @@
#ifndef _CDEF_BF534_H
#define _CDEF_BF534_H
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_7:"ADI header allows function macros")
#endif /* _MISRA_RULES */
/* Include all Core registers and bit definitions */
#include <defBF534.h>
@ -54,7 +59,6 @@
/* System Interrupt Controller (0xFFC00100 - 0xFFC001FF) */
#define pSWRST ((volatile unsigned short *)SWRST)
#define pSYSCR ((volatile unsigned short *)SYSCR)
#define pSIC_RVECT (_PTR_TO_VOL_VOID_PTR SIC_RVECT)
#define pSIC_IMASK ((volatile unsigned long *)SIC_IMASK)
#define pSIC_IAR0 ((volatile unsigned long *)SIC_IAR0)
#define pSIC_IAR1 ((volatile unsigned long *)SIC_IAR1)
@ -599,7 +603,6 @@
#define pCAN_MBTD ((volatile unsigned short *)CAN_MBTD)
#define pCAN_EWR ((volatile unsigned short *)CAN_EWR)
#define pCAN_ESR ((volatile unsigned short *)CAN_ESR)
#define pCAN_UCREG ((volatile unsigned short *)CAN_UCREG)
#define pCAN_UCCNT ((volatile unsigned short *)CAN_UCCNT)
#define pCAN_UCRC ((volatile unsigned short *)CAN_UCRC)
#define pCAN_UCCNF ((volatile unsigned short *)CAN_UCCNF)
@ -999,4 +1002,8 @@
#define pHMDMA1_ECOUNT ((volatile unsigned short *)HMDMA1_ECOUNT)
#define pHMDMA1_BCOUNT ((volatile unsigned short *)HMDMA1_BCOUNT)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF534_H */

View File

@ -14,7 +14,7 @@
*
* cdefBF535.h
*
* Copyright (C) 2008 Analog Devices, Inc.
* Copyright (C) 2008, 2009 Analog Devices, Inc.
*
************************************************************************/
@ -30,6 +30,11 @@
/* include core specific register pointer definitions */
#include <cdefblackfin.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
#ifndef _PTR_TO_VOL_VOID_PTR
#ifndef _USE_LEGACY_CDEF_BEHAVIOUR
#define _PTR_TO_VOL_VOID_PTR (void * volatile *)
@ -449,4 +454,8 @@
#define pDB_ACOMP (_PTR_TO_VOL_VOID_PTR DB_ACOMP)
#define pDB_CCOMP ((volatile unsigned long *)DB_CCOMP)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF535_H */

View File

@ -14,7 +14,7 @@
*
* cdefBF538.h
*
* Copyright (C) 2008 Analog Devices, Inc.
* Copyright (C) 2008, 2009 Analog Devices, Inc.
*
************************************************************************/
@ -32,6 +32,11 @@
/* include common system register pointer definitions from ADSP-BF532 */
#include <cdefBF532.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#pragma diag(suppress:misra_rule_19_7:"ADI header allows function macros")
#endif /* _MISRA_RULES */
/* System Interrupt Controller (0xFFC00100 - 0xFFC001FF) */
/* ADSP-BF538 SIC0 is same as SIC on ADSP-BF532 */
@ -616,7 +621,6 @@
#define pCAN_MBTD ((volatile unsigned short *)CAN_MBTD)
#define pCAN_EWR ((volatile unsigned short *)CAN_EWR)
#define pCAN_ESR ((volatile unsigned short *)CAN_ESR)
#define pCAN_UCREG ((volatile unsigned short *)CAN_UCREG)
#define pCAN_UCCNT ((volatile unsigned short *)CAN_UCCNT)
#define pCAN_UCRC ((volatile unsigned short *)CAN_UCRC)
#define pCAN_UCCNF ((volatile unsigned short *)CAN_UCCNF)
@ -1002,5 +1006,9 @@
#define pTWI1_INT_SRC pTWI1_INT_STAT
#define pTWI1_INT_ENABLE pTWI1_INT_MASK
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF538_H */

View File

@ -11,7 +11,7 @@
*/
/*
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -34,6 +34,12 @@
/* include built-in mneumonic macros */
#include <ccblkfn.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#pragma diag(suppress:misra_rule_19_7:"ADI header allows function macros")
#endif /* _MISRA_RULES */
#ifndef _PTR_TO_VOL_VOID_PTR
#ifndef _USE_LEGACY_CDEF_BEHAVIOUR
#define _PTR_TO_VOL_VOID_PTR (void * volatile *)
@ -54,7 +60,6 @@
/* System Interrupt Controllers */
#define pSWRST ((volatile unsigned short *)SWRST)
#define pSYSCR ((volatile unsigned short *)SYSCR)
#define pSIC_RVECT ((void * volatile *)SIC_RVECT)
#define pSIC_IMASK0 ((volatile unsigned long *)SIC_IMASK0)
#define pSIC_IMASK1 ((volatile unsigned long *)SIC_IMASK1)
@ -1023,7 +1028,6 @@
#define pCAN_MBTD ((volatile unsigned short *)CAN_MBTD)
#define pCAN_EWR ((volatile unsigned short *)CAN_EWR)
#define pCAN_ESR ((volatile unsigned short *)CAN_ESR)
#define pCAN_UCREG ((volatile unsigned short *)CAN_UCREG)
#define pCAN_UCCNT ((volatile unsigned short *)CAN_UCCNT)
#define pCAN_UCRC ((volatile unsigned short *)CAN_UCRC)
#define pCAN_UCCNF ((volatile unsigned short *)CAN_UCCNF)
@ -1409,5 +1413,9 @@
#define pTWI1_INT_SRC pTWI1_INT_STAT
#define pTWI1_INT_ENABLE pTWI1_INT_MASK
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF539_H */

View File

@ -13,7 +13,7 @@
/*
** cdefBF542.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -38,6 +38,11 @@
/* include cdefBF54x_base.h for the set of #defines that are common to all ADSP-BF54x processors */
#include <cdefBF54x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF542 that are not in the common header */
/* ATAPI Registers */
@ -352,4 +357,8 @@
#define pKPAD_STAT ((volatile unsigned short *)KPAD_STAT)
#define pKPAD_SOFTEVAL ((volatile unsigned short *)KPAD_SOFTEVAL)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF542_H */

View File

@ -0,0 +1,25 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** cdefBF542M.h
**
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This file just maps to the cdef for BF542 unless anything
** is required to change.
**
************************************************************************************/
#include <cdefBF542.h>

View File

@ -13,7 +13,7 @@
/*
** cdefBF544.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -38,6 +38,11 @@
/* include cdefBF54x_base.h for the set of #defines that are common to all ADSP-BF54x processors */
#include <cdefBF54x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF544 that are not in the common header */
/* Timer Registers */
@ -508,4 +513,8 @@
#define pPIXC_CCBIAS ((volatile unsigned long *)PIXC_CCBIAS)
#define pPIXC_TC ((volatile unsigned long *)PIXC_TC)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF544_H */

View File

@ -0,0 +1,25 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** cdefBF544M.h
**
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This file just maps to the cdef for BF544 unless anything
** is required to change.
**
************************************************************************************/
#include <cdefBF544.h>

View File

@ -13,7 +13,7 @@
/*
** cdefBF547.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -38,6 +38,11 @@
/* include cdefBF54x_base.h for the set of #defines that are common to all ADSP-BF54x processors */
#include <cdefBF54x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF547 that are not in the common header */
/* Timer Registers */
@ -487,4 +492,8 @@
#define pPIXC_CCBIAS ((volatile unsigned long *)PIXC_CCBIAS)
#define pPIXC_TC ((volatile unsigned long *)PIXC_TC)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF547_H */

View File

@ -0,0 +1,25 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** cdefBF547M.h
**
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This file just maps to the cdef for BF547 unless anything
** is required to change.
**
************************************************************************************/
#include <cdefBF547.h>

View File

@ -13,7 +13,7 @@
/*
** cdefBF548.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -38,6 +38,11 @@
/* include cdefBF54x_base.h for the set of #defines that are common to all ADSP-BF54x processors */
#include <cdefBF54x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF548 that are not in the common header */
/* Timer Registers */
@ -870,4 +875,8 @@
#define pPIXC_CCBIAS ((volatile unsigned long *)PIXC_CCBIAS)
#define pPIXC_TC ((volatile unsigned long *)PIXC_TC)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF548_H */

View File

@ -0,0 +1,25 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** cdefBF548M.h
**
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This file just maps to the cdef for BF548 unless anything
** is required to change.
**
************************************************************************************/
#include <cdefBF548.h>

View File

@ -13,7 +13,7 @@
/*
** cdefBF549.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -38,6 +38,11 @@
/* include cdefBF54x_base.h for the set of #defines that are common to all ADSP-BF54x processors */
#include <cdefBF54x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF549 that are not in the common header */
/* Timer Registers */
@ -1040,4 +1045,8 @@
#define pPIXC_CCBIAS ((volatile unsigned long *)PIXC_CCBIAS)
#define pPIXC_TC ((volatile unsigned long *)PIXC_TC)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF549_H */

View File

@ -0,0 +1,25 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** cdefBF549M.h
**
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This file just maps to the cdef for BF549 unless anything
** is required to change.
**
************************************************************************************/
#include <cdefBF549.h>

View File

@ -13,7 +13,7 @@
/*
** cdefBF54x_base.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -27,6 +27,11 @@
#include <defBF54x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/* ************************************************************** */
/* SYSTEM & MMR ADDRESS DEFINITIONS COMMON TO ALL ADSP-BF54x */
/* ************************************************************** */
@ -1461,13 +1466,6 @@
#define pCNT_MAX ((volatile unsigned long *)CNT_MAX)
#define pCNT_MIN ((volatile unsigned long *)CNT_MIN)
/* OTP/FUSE Registers */
#define pOTP_CONTROL ((volatile unsigned short *)OTP_CONTROL)
#define pOTP_BEN ((volatile unsigned short *)OTP_BEN)
#define pOTP_STATUS ((volatile unsigned short *)OTP_STATUS)
#define pOTP_TIMING ((volatile unsigned long *)OTP_TIMING)
/* Security Registers */
#define pSECURE_SYSSWT ((volatile unsigned long *)SECURE_SYSSWT)
@ -1513,5 +1511,9 @@
#define pPINT2_IRQ pPINT2_REQUEST
#define pPINT3_IRQ pPINT3_REQUEST
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BF54X_H */

File diff suppressed because it is too large Load Diff

View File

@ -14,7 +14,7 @@
*
* cdef_LPBlackfin.h
*
* Copyright (C) 2008 Analog Devices, Inc.
* Copyright (C) 2008, 2009 Analog Devices, Inc.
*
************************************************************************/
@ -26,6 +26,11 @@
#endif
#include <def_LPBlackfin.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
#ifndef _PTR_TO_VOL_VOID_PTR
#ifndef _USE_LEGACY_CDEF_BEHAVIOUR
#define _PTR_TO_VOL_VOID_PTR (void * volatile *)
@ -177,4 +182,8 @@
#define pPFCNTR0 ((volatile unsigned long *)PFCNTR0)
#define pPFCNTR1 ((volatile unsigned long *)PFCNTR1)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_LPBLACKFIN_H */

View File

@ -14,7 +14,7 @@
*
* cdefblackfin.h
*
* Copyright (C) 2008 Analog Devices, Inc.
* Copyright (C) 2008, 2009 Analog Devices, Inc.
*
************************************************************************/
@ -26,6 +26,11 @@
#endif
#include <defblackfin.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
#ifndef _PTR_TO_VOL_VOID_PTR
#ifndef _USE_LEGACY_CDEF_BEHAVIOUR
#define _PTR_TO_VOL_VOID_PTR (void * volatile *)
@ -177,4 +182,8 @@
#define pPFCNTR0 ((volatile unsigned long *)PFCNTR0)
#define pPFCNTR1 ((volatile unsigned long *)PFCNTR1)
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _CDEF_BLACKFIN_H */

View File

@ -14,7 +14,7 @@
*
* cplb.h
*
* Copyright (C) 2008 Analog Devices, Inc.
* Copyright (C) 2008, 2009 Analog Devices, Inc.
*
************************************************************************/
@ -84,6 +84,9 @@
#define CPLB_EVT_DCPLB_MISS 1
#define CPLB_EVT_DCPLB_WRITE 2
/* size of cplb tables */
#define __CPLB_TABLE_SIZE 16
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */

View File

@ -0,0 +1,33 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This include file contains a list of macro "defines" to enable the programmer
** to use symbolic names for register-access and bit-manipulation.
**
**/
#ifndef _DEF_BF512_H
#define _DEF_BF512_H
/* Include all Core registers and bit definitions */
#include <def_LPBlackfin.h>
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF512 */
/* Include defBF51x_base.h for the set of #defines that are common to all ADSP-BF51x processors */
#include <defBF51x_base.h>
#endif /* _DEF_BF512_H */

View File

@ -0,0 +1,490 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This include file contains a list of macro "defines" to enable the programmer
** to use symbolic names for register-access and bit-manipulation.
**
**/
#ifndef _DEF_BF514_H
#define _DEF_BF514_H
/* Include all Core registers and bit definitions */
#include <def_LPBlackfin.h>
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF514 */
/* Include defBF51x_base.h for the set of #defines that are common to all ADSP-BF51x processors */
#include <defBF51x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"macros violate rule 19.4")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF514 that are not in the common header */
/* RSI Registers */
#define RSI_PWR_CONTROL 0xFFC03800 /* RSI Power Control Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PWR_CTL RSI_PWR_CONTROL /* SDH Power Control */
#define RSI_CLK_CONTROL 0xFFC03804 /* RSI Clock Control Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_CLK_CTL RSI_CLK_CONTROL /* SDH Clock Control */
#define RSI_ARGUMENT 0xFFC03808 /* RSI Argument Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_ARGUMENT RSI_ARGUMENT /* SDH Argument */
#define RSI_COMMAND 0xFFC0380C /* RSI Command Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_COMMAND RSI_COMMAND /* SDH Command */
#define RSI_RESP_CMD 0xFFC03810 /* RSI Response Command Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESP_CMD RSI_RESP_CMD /* SDH Response Command */
#define RSI_RESPONSE0 0xFFC03814 /* RSI Response Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESPONSE0 RSI_RESPONSE0 /* SDH Response0 */
#define RSI_RESPONSE1 0xFFC03818 /* RSI Response Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESPONSE1 RSI_RESPONSE1 /* SDH Response1 */
#define RSI_RESPONSE2 0xFFC0381C /* RSI Response Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESPONSE2 RSI_RESPONSE2 /* SDH Response2 */
#define RSI_RESPONSE3 0xFFC03820 /* RSI Response Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESPONSE3 RSI_RESPONSE3 /* SDH Response3 */
#define RSI_DATA_TIMER 0xFFC03824 /* RSI Data Timer Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_DATA_TIMER RSI_DATA_TIMER /* SDH Data Timer */
#define RSI_DATA_LGTH 0xFFC03828 /* RSI Data Length Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_DATA_LGTH RSI_DATA_LGTH /* SDH Data Length */
#define RSI_DATA_CONTROL 0xFFC0382C /* RSI Data Control Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_DATA_CTL RSI_DATA_CONTROL /* SDH Data Control */
#define RSI_DATA_CNT 0xFFC03830 /* RSI Data Counter Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_DATA_CNT RSI_DATA_CNT /* SDH Data Counter */
#define RSI_STATUS 0xFFC03834 /* RSI Status Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_STATUS RSI_STATUS /* SDH Status */
#define RSI_STATUSCL 0xFFC03838 /* RSI Status Clear Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_STATUS_CLR RSI_STATUSCL /* SDH Status Clear */
#define RSI_MASK0 0xFFC0383C /* RSI Interrupt 0 Mask Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_MASK0 RSI_MASK0 /* SDH Interrupt0 Mask */
#define RSI_MASK1 0xFFC03840 /* RSI Interrupt 1 Mask Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_MASK1 RSI_MASK1 /* SDH Interrupt1 Mask */
#define RSI_FIFO_CNT 0xFFC03848 /* RSI FIFO Counter Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_FIFO_CNT RSI_FIFO_CNT /* SDH FIFO Counter */
#define RSI_CEATA_CONTROL 0xFFC0384C /* RSI CEATA Register */
#define RSI_FIFO 0xFFC03880 /* RSI Data FIFO Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_FIFO RSI_FIFO /* SDH Data FIFO */
#define RSI_ESTAT 0xFFC038C0 /* RSI Exception Status Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_E_STATUS RSI_ESTAT /* SDH Exception Status */
#define RSI_EMASK 0xFFC038C4 /* RSI Exception Mask Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_E_MASK RSI_EMASK /* SDH Exception Mask */
#define RSI_CONFIG 0xFFC038C8 /* RSI Configuration Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_CFG RSI_CONFIG /* SDH Configuration */
#define RSI_RD_WAIT_EN 0xFFC038CC /* RSI Read Wait Enable Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RD_WAIT_EN RSI_RD_WAIT_EN /* SDH Read Wait Enable */
#define RSI_PID0 0xFFC038D0 /* RSI Peripheral ID Register 0 */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PID0 RSI_PID0 /* SDH Peripheral Identification0 */
#define RSI_PID1 0xFFC038D4 /* RSI Peripheral ID Register 1 */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PID1 RSI_PID1 /* SDH Peripheral Identification1 */
#define RSI_PID2 0xFFC038D8 /* RSI Peripheral ID Register 2 */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PID2 RSI_PID2 /* SDH Peripheral Identification2 */
#define RSI_PID3 0xFFC038DC /* RSI Peripheral ID Register 3 */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PID3 RSI_PID3 /* SDH Peripheral Identification3 */
/* RSI Registers */
/* ********************************************************** */
/* SINGLE BIT MACRO PAIRS (bit mask and negated one) */
/* and MULTI BIT READ MACROS */
/* ********************************************************** */
/* Bit masks for RSI_PWR_CONTROL */
#define PWR_ON 0x3 /* Power On */
#define RSI_CMD_OD 0x40 /* Open Drain Output */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SD_CMD_OD RSI_CMD_OD /* Open Drain Output */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSD_CMD_OD 0x0
/* legacy bit mask (below) provided for backwards code compatibility */
#if 0
#define TBD 0x3c /* TBD */
#endif
/* legacy bit mask (below) provided for backwards code compatibility */
#define ROD_CTL 0x80
/* legacy bit mask (below) provided for backwards code compatibility */
#define nROD_CTL 0x80
/* Bit masks for RSI_CLK_CONTROL */
#define CLKDIV 0xff /* MC_CLK Divisor */
#define CLK_EN 0x100 /* MC_CLK Bus Clock Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CLK_E CLK_EN /* MC_CLK Bus Clock Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCLK_E 0x0
#define PWR_SV_EN 0x200 /* Power Save Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define PWR_SV_E PWR_SV_EN /* Power Save Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nPWR_SV_E 0x0
#define CLKDIV_BYPASS 0x400 /* Bypass Divisor */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCLKDIV_BYPASS 0x0
#define BUS_MODE 0x1800 /* Bus width selection */
/* legacy bit mask (below) provided for backwards code compatibility */
#define WIDE_BUS 0x0800 /* Wide Bus Mode Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nWIDE_BUS 0x0
/* Bit masks for RSI_COMMAND */
#define CMD_IDX 0x3f /* Command Index */
#define CMD_RSP_EN 0x40 /* Response */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_RSP CMD_RSP_EN /* Response */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_RSP 0x0
#define CMD_LRSP_EN 0x80 /* Long Response */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_L_RSP CMD_LRSP_EN /* Long Response */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_L_RSP 0x0
#define CMD_INT_EN 0x100 /* Command Interrupt */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_INT_E CMD_INT_EN /* Command Interrupt */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_INT_E 0x0
#define CMD_PEND_EN 0x200 /* Command Pending */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_PEND_E CMD_PEND_EN /* Command Pending */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_PEND_E 0x0
#define CMD_EN 0x400 /* Command Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_E CMD_EN /* Command Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_E 0x0
/* Bit masks for RSI_RESP_CMD */
#define RESP_CMD 0x3f /* Response Command */
/* Bit masks for RSI_DATA_LGTH */
#define DATA_LENGTH 0xffff /* Data Length */
/* Bit masks for RSI_DATA_CONTROL */
#define DATA_EN 0x1 /* Data Transfer Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_E DATA_EN /* Data Transfer Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDTX_E 0x0
#define DATA_DIR 0x2 /* Data Transfer Direction */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_DIR DATA_DIR /* Data Transfer Direction */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDTX_DIR 0x0
#define DATA_MODE 0x4 /* Data Transfer Mode */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_MODE DATA_MODE /* Data Transfer Mode */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDTX_MODE 0x0
#define DATA_DMA_EN 0x8 /* Data Transfer DMA Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_DMA_E 0x8 /* Data Transfer DMA Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDTX_DMA_E 0x0
#define DATA_BLK_LGTH 0xf0 /* Data Transfer Block Length */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_BLK_LGTH 0xf0 /* Data Transfer Block Length */
#define CEATA_EN 0x100 /* CE-ATA operation mode enable */
#define CEATA_CCS_EN 0x200 /* CE-ATA CCS mode enable */
/* Bit masks for RSI_DATA_CNT */
#define DATA_COUNT 0xffff /* Data Count */
/* Bit masks for RSI_STATUS */
#define CMD_CRC_FAIL 0x1 /* CMD CRC Fail */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_CRC_FAIL 0x0
#define DAT_CRC_FAIL 0x2 /* Data CRC Fail */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_CRC_FAIL 0x0
#define CMD_TIMEOUT 0x4 /* CMD Time Out */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_TIMEOUT 0x0
#define DAT_TIMEOUT 0x8 /* Data Time Out */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_TIMEOUT 0x0
#define TX_UNDERRUN 0x10 /* Transmit Underrun */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_UNDERRUN 0x0
#define RX_OVERRUN 0x20 /* Receive Overrun */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_OVERRUN 0x0
#define CMD_RESP_END 0x40 /* CMD Response End */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_RESP_END 0x0
#define CMD_SENT 0x80 /* CMD Sent */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_SENT 0x0
#define DAT_END 0x100 /* Data End */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_END 0x0
#define START_BIT_ERR 0x200 /* Start Bit Error */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSTART_BIT_ERR 0x0
#define DAT_BLK_END 0x400 /* Data Block End */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_BLK_END 0x0
#define CMD_ACT 0x800 /* CMD Active */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_ACT 0x0
#define TX_ACT 0x1000 /* Transmit Active */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_ACT 0x0
#define RX_ACT 0x2000 /* Receive Active */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_ACT 0x0
#define TX_FIFO_STAT 0x4000 /* Transmit FIFO Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_STAT 0x0
#define RX_FIFO_STAT 0x8000 /* Receive FIFO Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_STAT 0x0
#define TX_FIFO_FULL 0x10000 /* Transmit FIFO Full */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_FULL 0x0
#define RX_FIFO_FULL 0x20000 /* Receive FIFO Full */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_FULL 0x0
#define TX_FIFO_ZERO 0x40000 /* Transmit FIFO Empty */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_ZERO 0x0
#define RX_DAT_ZERO 0x80000 /* Receive FIFO Empty */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_DAT_ZERO 0x0
#define TX_DAT_RDY 0x100000 /* Transmit Data Available */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_DAT_RDY 0x0
#define RX_FIFO_RDY 0x200000 /* Receive Data Available */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_RDY 0x0
/* Bit masks for RSI_STATCL */
#define CMD_CRC_FAIL_STAT 0x1 /* CMD CRC Fail Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_CRC_FAIL_STAT 0x0
#define DAT_CRC_FAIL_STAT 0x2 /* Data CRC Fail Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_CRC_FAIL_STAT 0x0
#define CMD_TIMEOUT_STAT 0x4 /* CMD Time Out Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_TIMEOUT_STAT 0x0
#define DAT_TIMEOUT_STAT 0x8 /* Data Time Out status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_TIMEOUT_STAT 0x0
#define TX_UNDERRUN_STAT 0x10 /* Transmit Underrun Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_UNDERRUN_STAT 0x0
#define RX_OVERRUN_STAT 0x20 /* Receive Overrun Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_OVERRUN_STAT 0x0
#define CMD_RESP_END_STAT 0x40 /* CMD Response End Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_RESP_END_STAT 0x0
#define CMD_SENT_STAT 0x80 /* CMD Sent Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_SENT_STAT 0x0
#define DAT_END_STAT 0x100 /* Data End Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_END_STAT 0x0
#define START_BIT_ERR_STAT 0x200 /* Start Bit Error Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSTART_BIT_ERR_STAT 0x0
#define DAT_BLK_END_STAT 0x400 /* Data Block End Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_BLK_END_STAT 0x0
/* Bit masks for RSI_MASKx */
#define CMD_CRC_FAIL_MASK 0x1 /* CMD CRC Fail Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_CRC_FAIL_MASK 0x0
#define DAT_CRC_FAIL_MASK 0x2 /* Data CRC Fail Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_CRC_FAIL_MASK 0x0
#define CMD_TIMEOUT_MASK 0x4 /* CMD Time Out Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_TIMEOUT_MASK 0x0
#define DAT_TIMEOUT_MASK 0x8 /* Data Time Out Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_TIMEOUT_MASK 0x0
#define TX_UNDERRUN_MASK 0x10 /* Transmit Underrun Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_UNDERRUN_MASK 0x0
#define RX_OVERRUN_MASK 0x20 /* Receive Overrun Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_OVERRUN_MASK 0x0
#define CMD_RESP_END_MASK 0x40 /* CMD Response End Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_RESP_END_MASK 0x0
#define CMD_SENT_MASK 0x80 /* CMD Sent Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_SENT_MASK 0x0
#define DAT_END_MASK 0x100 /* Data End Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_END_MASK 0x0
#define START_BIT_ERR_MASK 0x200 /* Start Bit Error Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSTART_BIT_ERR_MASK 0x0
#define DAT_BLK_END_MASK 0x400 /* Data Block End Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_BLK_END_MASK 0x0
#define CMD_ACT_MASK 0x800 /* CMD Active Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_ACT_MASK 0x0
#define TX_ACT_MASK 0x1000 /* Transmit Active Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_ACT_MASK 0x0
#define RX_ACT_MASK 0x2000 /* Receive Active Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_ACT_MASK 0x0
#define TX_FIFO_STAT_MASK 0x4000 /* Transmit FIFO Status Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_STAT_MASK 0x0
#define RX_FIFO_STAT_MASK 0x8000 /* Receive FIFO Status Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_STAT_MASK 0x0
#define TX_FIFO_FULL_MASK 0x10000 /* Transmit FIFO Full Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_FULL_MASK 0x0
#define RX_FIFO_FULL_MASK 0x20000 /* Receive FIFO Full Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_FULL_MASK 0x0
#define TX_FIFO_ZERO_MASK 0x40000 /* Transmit FIFO Empty Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_ZERO_MASK 0x0
#define RX_DAT_ZERO_MASK 0x80000 /* Receive FIFO Empty Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_DAT_ZERO_MASK 0x0
#define TX_DAT_RDY_MASK 0x100000 /* Transmit Data Available Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_DAT_RDY_MASK 0x0
#define RX_FIFO_RDY_MASK 0x200000 /* Receive Data Available Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_RDY_MASK 0x0
/* Bit masks for RSI_FIFO_CNT */
#define FIFO_COUNT 0x7fff /* FIFO Count */
/* Bit masks for RSI_CEATA_CONTROL */
#define CEATA_TX_CCSD 0x1 /* Send CE-ATA CCSD sequence */
/* Bit masks for RSI_ESTAT */
#define SDIO_INT_DET 0x2 /* SDIO Int Detected */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSDIO_INT_DET 0x0
#define SD_CARD_DET 0x10 /* SD Card Detect */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSD_CARD_DET 0x0
#define CEATA_INT_DET 0x20
/* Bit masks for RSI_EMASK */
#define SDIO_INT_DET_MASK 0x2 /* Mask SDIO Int Detected */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SDIO_MSK SDIO_INT_DET_MASK /* Mask SDIO Int Detected */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSDIO_MSK 0x0
#define SD_CARD_DET_MASK 0x10 /* Mask Card Detect */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SCD_MASK SD_CARD_DET_MASK /* Mask Card Detect */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSCD_MSK 0x0
#define CEATA_INT_DET_MASK 0x20
/* Bit masks for RSI_CFG */
/* Left in for backwards compatibility */
#define RSI_CLK_EN 0x1
/* legacy bit mask (below) provided for backwards code compatibility */
#define CLKS_EN RSI_CLK_EN /* Clocks Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCLKS_EN 0x0
#define SDIO4_EN 0x4 /* SDIO 4-Bit Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SD4E SDIO4_EN /* SDIO 4-Bit Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSD4E 0x0
#define MW_EN 0x8 /* Moving Window Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define MWE MW_EN /* Moving Window Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nMWE 0x0
#define RSI_RST 0x10 /* SDMMC Reset */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SD_RST RSI_RST /* SDMMC Reset */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSD_RST 0x0
#define PU_DAT 0x20 /* Pull-up SD_DAT */
/* legacy bit mask (below) provided for backwards code compatibility */
#define PUP_SDDAT PU_DAT /* Pull-up SD_DAT */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nPUP_SDDAT 0x0
#define PU_DAT3 0x40 /* Pull-up SD_DAT3 */
/* legacy bit mask (below) provided for backwards code compatibility */
#define PUP_SDDAT3 PU_DAT3 /* Pull-up SD_DAT3 */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nPUP_SDDAT3 0x0
#define PD_DAT3 0x80 /* Pull-down SD_DAT3 */
/* legacy bit mask (below) provided for backwards code compatibility */
#define PD_SDDAT3 PD_DAT3 /* Pull-down SD_DAT3 */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nPD_SDDAT3 0x0
/* Bit masks for RSI_RD_WAIT_EN */
#define SDIO_RWR 0x1 /* Read Wait Request */
/* legacy bit mask (below) provided for backwards code compatibility */
#define RWR SDIO_RWR /* Read Wait Request */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRWR 0x0
/* Bit masks for RSI_PIDx */
#define RSI_PID 0xff /* RSI Peripheral ID */
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _DEF_BF514_H */

View File

@ -0,0 +1,936 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This include file contains a list of macro "defines" to enable the programmer
** to use symbolic names for register-access and bit-manipulation.
**
**/
#ifndef _DEF_BF516_H
#define _DEF_BF516_H
/* Include all Core registers and bit definitions */
#include <def_LPBlackfin.h>
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF516 */
/* Include defBF51x_base.h for the set of #defines that are common to all ADSP-BF51x processors */
#include <defBF51x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"macros not strictly following 19.4")
#pragma diag(suppress:misra_rule_19_7:"Allow function-like macros")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF516 that are not in the common header */
/* 10/100 Ethernet Controller (0xFFC03000 - 0xFFC031FF) */
#define EMAC_OPMODE 0xFFC03000 /* Operating Mode Register */
#define EMAC_ADDRLO 0xFFC03004 /* Address Low (32 LSBs) Register */
#define EMAC_ADDRHI 0xFFC03008 /* Address High (16 MSBs) Register */
#define EMAC_HASHLO 0xFFC0300C /* Multicast Hash Table Low (Bins 31-0) Register */
#define EMAC_HASHHI 0xFFC03010 /* Multicast Hash Table High (Bins 63-32) Register */
#define EMAC_STAADD 0xFFC03014 /* Station Management Address Register */
#define EMAC_STADAT 0xFFC03018 /* Station Management Data Register */
#define EMAC_FLC 0xFFC0301C /* Flow Control Register */
#define EMAC_VLAN1 0xFFC03020 /* VLAN1 Tag Register */
#define EMAC_VLAN2 0xFFC03024 /* VLAN2 Tag Register */
#define EMAC_WKUP_CTL 0xFFC0302C /* Wake-Up Control/Status Register */
#define EMAC_WKUP_FFMSK0 0xFFC03030 /* Wake-Up Frame Filter 0 Byte Mask Register */
#define EMAC_WKUP_FFMSK1 0xFFC03034 /* Wake-Up Frame Filter 1 Byte Mask Register */
#define EMAC_WKUP_FFMSK2 0xFFC03038 /* Wake-Up Frame Filter 2 Byte Mask Register */
#define EMAC_WKUP_FFMSK3 0xFFC0303C /* Wake-Up Frame Filter 3 Byte Mask Register */
#define EMAC_WKUP_FFCMD 0xFFC03040 /* Wake-Up Frame Filter Commands Register */
#define EMAC_WKUP_FFOFF 0xFFC03044 /* Wake-Up Frame Filter Offsets Register */
#define EMAC_WKUP_FFCRC0 0xFFC03048 /* Wake-Up Frame Filter 0,1 CRC-16 Register */
#define EMAC_WKUP_FFCRC1 0xFFC0304C /* Wake-Up Frame Filter 2,3 CRC-16 Register */
#define EMAC_SYSCTL 0xFFC03060 /* EMAC System Control Register */
#define EMAC_SYSTAT 0xFFC03064 /* EMAC System Status Register */
#define EMAC_RX_STAT 0xFFC03068 /* RX Current Frame Status Register */
#define EMAC_RX_STKY 0xFFC0306C /* RX Sticky Frame Status Register */
#define EMAC_RX_IRQE 0xFFC03070 /* RX Frame Status Interrupt Enables Register */
#define EMAC_TX_STAT 0xFFC03074 /* TX Current Frame Status Register */
#define EMAC_TX_STKY 0xFFC03078 /* TX Sticky Frame Status Register */
#define EMAC_TX_IRQE 0xFFC0307C /* TX Frame Status Interrupt Enables Register */
#define EMAC_MMC_CTL 0xFFC03080 /* MMC Counter Control Register */
#define EMAC_MMC_RIRQS 0xFFC03084 /* MMC RX Interrupt Status Register */
#define EMAC_MMC_RIRQE 0xFFC03088 /* MMC RX Interrupt Enables Register */
#define EMAC_MMC_TIRQS 0xFFC0308C /* MMC TX Interrupt Status Register */
#define EMAC_MMC_TIRQE 0xFFC03090 /* MMC TX Interrupt Enables Register */
#define EMAC_RXC_OK 0xFFC03100 /* RX Frame Successful Count */
#define EMAC_RXC_FCS 0xFFC03104 /* RX Frame FCS Failure Count */
#define EMAC_RXC_ALIGN 0xFFC03108 /* RX Alignment Error Count */
#define EMAC_RXC_OCTET 0xFFC0310C /* RX Octets Successfully Received Count */
#define EMAC_RXC_DMAOVF 0xFFC03110 /* Internal MAC Sublayer Error RX Frame Count */
#define EMAC_RXC_UNICST 0xFFC03114 /* Unicast RX Frame Count */
#define EMAC_RXC_MULTI 0xFFC03118 /* Multicast RX Frame Count */
#define EMAC_RXC_BROAD 0xFFC0311C /* Broadcast RX Frame Count */
#define EMAC_RXC_LNERRI 0xFFC03120 /* RX Frame In Range Error Count */
#define EMAC_RXC_LNERRO 0xFFC03124 /* RX Frame Out Of Range Error Count */
#define EMAC_RXC_LONG 0xFFC03128 /* RX Frame Too Long Count */
#define EMAC_RXC_MACCTL 0xFFC0312C /* MAC Control RX Frame Count */
#define EMAC_RXC_OPCODE 0xFFC03130 /* Unsupported Op-Code RX Frame Count */
#define EMAC_RXC_PAUSE 0xFFC03134 /* MAC Control Pause RX Frame Count */
#define EMAC_RXC_ALLFRM 0xFFC03138 /* Overall RX Frame Count */
#define EMAC_RXC_ALLOCT 0xFFC0313C /* Overall RX Octet Count */
#define EMAC_RXC_TYPED 0xFFC03140 /* Type/Length Consistent RX Frame Count */
#define EMAC_RXC_SHORT 0xFFC03144 /* RX Frame Fragment Count - Byte Count x < 64 */
#define EMAC_RXC_EQ64 0xFFC03148 /* Good RX Frame Count - Byte Count x = 64 */
#define EMAC_RXC_LT128 0xFFC0314C /* Good RX Frame Count - Byte Count 64 < x < 128 */
#define EMAC_RXC_LT256 0xFFC03150 /* Good RX Frame Count - Byte Count 128 <= x < 256 */
#define EMAC_RXC_LT512 0xFFC03154 /* Good RX Frame Count - Byte Count 256 <= x < 512 */
#define EMAC_RXC_LT1024 0xFFC03158 /* Good RX Frame Count - Byte Count 512 <= x < 1024 */
#define EMAC_RXC_GE1024 0xFFC0315C /* Good RX Frame Count - Byte Count x >= 1024 */
#define EMAC_TXC_OK 0xFFC03180 /* TX Frame Successful Count */
#define EMAC_TXC_1COL 0xFFC03184 /* TX Frames Successful After Single Collision Count */
#define EMAC_TXC_GT1COL 0xFFC03188 /* TX Frames Successful After Multiple Collisions Count */
#define EMAC_TXC_OCTET 0xFFC0318C /* TX Octets Successfully Received Count */
#define EMAC_TXC_DEFER 0xFFC03190 /* TX Frame Delayed Due To Busy Count */
#define EMAC_TXC_LATECL 0xFFC03194 /* Late TX Collisions Count */
#define EMAC_TXC_XS_COL 0xFFC03198 /* TX Frame Failed Due To Excessive Collisions Count */
#define EMAC_TXC_DMAUND 0xFFC0319C /* Internal MAC Sublayer Error TX Frame Count */
#define EMAC_TXC_CRSERR 0xFFC031A0 /* Carrier Sense Deasserted During TX Frame Count */
#define EMAC_TXC_UNICST 0xFFC031A4 /* Unicast TX Frame Count */
#define EMAC_TXC_MULTI 0xFFC031A8 /* Multicast TX Frame Count */
#define EMAC_TXC_BROAD 0xFFC031AC /* Broadcast TX Frame Count */
#define EMAC_TXC_XS_DFR 0xFFC031B0 /* TX Frames With Excessive Deferral Count */
#define EMAC_TXC_MACCTL 0xFFC031B4 /* MAC Control TX Frame Count */
#define EMAC_TXC_ALLFRM 0xFFC031B8 /* Overall TX Frame Count */
#define EMAC_TXC_ALLOCT 0xFFC031BC /* Overall TX Octet Count */
#define EMAC_TXC_EQ64 0xFFC031C0 /* Good TX Frame Count - Byte Count x = 64 */
#define EMAC_TXC_LT128 0xFFC031C4 /* Good TX Frame Count - Byte Count 64 < x < 128 */
#define EMAC_TXC_LT256 0xFFC031C8 /* Good TX Frame Count - Byte Count 128 <= x < 256 */
#define EMAC_TXC_LT512 0xFFC031CC /* Good TX Frame Count - Byte Count 256 <= x < 512 */
#define EMAC_TXC_LT1024 0xFFC031D0 /* Good TX Frame Count - Byte Count 512 <= x < 1024 */
#define EMAC_TXC_GE1024 0xFFC031D4 /* Good TX Frame Count - Byte Count x >= 1024 */
#define EMAC_TXC_ABORT 0xFFC031D8 /* Total TX Frames Aborted Count */
/* Listing for IEEE-Supported Count Registers */
#define FramesReceivedOK EMAC_RXC_OK /* RX Frame Successful Count */
#define FrameCheckSequenceErrors EMAC_RXC_FCS /* RX Frame FCS Failure Count */
#define AlignmentErrors EMAC_RXC_ALIGN /* RX Alignment Error Count */
#define OctetsReceivedOK EMAC_RXC_OCTET /* RX Octets Successfully Received Count */
#define FramesLostDueToIntMACRcvError EMAC_RXC_DMAOVF /* Internal MAC Sublayer Error RX Frame Count */
#define UnicastFramesReceivedOK EMAC_RXC_UNICST /* Unicast RX Frame Count */
#define MulticastFramesReceivedOK EMAC_RXC_MULTI /* Multicast RX Frame Count */
#define BroadcastFramesReceivedOK EMAC_RXC_BROAD /* Broadcast RX Frame Count */
#define InRangeLengthErrors EMAC_RXC_LNERRI /* RX Frame In Range Error Count */
#define OutOfRangeLengthField EMAC_RXC_LNERRO /* RX Frame Out Of Range Error Count */
#define FrameTooLongErrors EMAC_RXC_LONG /* RX Frame Too Long Count */
#define MACControlFramesReceived EMAC_RXC_MACCTL /* MAC Control RX Frame Count */
#define UnsupportedOpcodesReceived EMAC_RXC_OPCODE /* Unsupported Op-Code RX Frame Count */
#define PAUSEMACCtrlFramesReceived EMAC_RXC_PAUSE /* MAC Control Pause RX Frame Count */
#define FramesReceivedAll EMAC_RXC_ALLFRM /* Overall RX Frame Count */
#define OctetsReceivedAll EMAC_RXC_ALLOCT /* Overall RX Octet Count */
#define TypedFramesReceived EMAC_RXC_TYPED /* Type/Length Consistent RX Frame Count */
#define FramesLenLt64Received EMAC_RXC_SHORT /* RX Frame Fragment Count - Byte Count x < 64 */
#define FramesLenEq64Received EMAC_RXC_EQ64 /* Good RX Frame Count - Byte Count x = 64 */
#define FramesLen65_127Received EMAC_RXC_LT128 /* Good RX Frame Count - Byte Count 64 < x < 128 */
#define FramesLen128_255Received EMAC_RXC_LT256 /* Good RX Frame Count - Byte Count 128 <= x < 256 */
#define FramesLen256_511Received EMAC_RXC_LT512 /* Good RX Frame Count - Byte Count 256 <= x < 512 */
#define FramesLen512_1023Received EMAC_RXC_LT1024 /* Good RX Frame Count - Byte Count 512 <= x < 1024 */
#define FramesLen1024_MaxReceived EMAC_RXC_GE1024 /* Good RX Frame Count - Byte Count x >= 1024 */
#define FramesTransmittedOK EMAC_TXC_OK /* TX Frame Successful Count */
#define SingleCollisionFrames EMAC_TXC_1COL /* TX Frames Successful After Single Collision Count */
#define MultipleCollisionFrames EMAC_TXC_GT1COL /* TX Frames Successful After Multiple Collisions Count */
#define OctetsTransmittedOK EMAC_TXC_OCTET /* TX Octets Successfully Received Count */
#define FramesWithDeferredXmissions EMAC_TXC_DEFER /* TX Frame Delayed Due To Busy Count */
#define LateCollisions EMAC_TXC_LATECL /* Late TX Collisions Count */
#define FramesAbortedDueToXSColls EMAC_TXC_XS_COL /* TX Frame Failed Due To Excessive Collisions Count */
#define FramesLostDueToIntMacXmitError EMAC_TXC_DMAUND /* Internal MAC Sublayer Error TX Frame Count */
#define CarrierSenseErrors EMAC_TXC_CRSERR /* Carrier Sense Deasserted During TX Frame Count */
#define UnicastFramesXmittedOK EMAC_TXC_UNICST /* Unicast TX Frame Count */
#define MulticastFramesXmittedOK EMAC_TXC_MULTI /* Multicast TX Frame Count */
#define BroadcastFramesXmittedOK EMAC_TXC_BROAD /* Broadcast TX Frame Count */
#define FramesWithExcessiveDeferral EMAC_TXC_XS_DFR /* TX Frames With Excessive Deferral Count */
#define MACControlFramesTransmitted EMAC_TXC_MACCTL /* MAC Control TX Frame Count */
#define FramesTransmittedAll EMAC_TXC_ALLFRM /* Overall TX Frame Count */
#define OctetsTransmittedAll EMAC_TXC_ALLOCT /* Overall TX Octet Count */
#define FramesLenEq64Transmitted EMAC_TXC_EQ64 /* Good TX Frame Count - Byte Count x = 64 */
#define FramesLen65_127Transmitted EMAC_TXC_LT128 /* Good TX Frame Count - Byte Count 64 < x < 128 */
#define FramesLen128_255Transmitted EMAC_TXC_LT256 /* Good TX Frame Count - Byte Count 128 <= x < 256 */
#define FramesLen256_511Transmitted EMAC_TXC_LT512 /* Good TX Frame Count - Byte Count 256 <= x < 512 */
#define FramesLen512_1023Transmitted EMAC_TXC_LT1024 /* Good TX Frame Count - Byte Count 512 <= x < 1024 */
#define FramesLen1024_MaxTransmitted EMAC_TXC_GE1024 /* Good TX Frame Count - Byte Count x >= 1024 */
#define TxAbortedFrames EMAC_TXC_ABORT /* Total TX Frames Aborted Count */
/* RSI Registers */
#define RSI_PWR_CONTROL 0xFFC03800 /* RSI Power Control Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PWR_CTL RSI_PWR_CONTROL /* SDH Power Control */
#define RSI_CLK_CONTROL 0xFFC03804 /* RSI Clock Control Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_CLK_CTL RSI_CLK_CONTROL /* SDH Clock Control */
#define RSI_ARGUMENT 0xFFC03808 /* RSI Argument Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_ARGUMENT RSI_ARGUMENT /* SDH Argument */
#define RSI_COMMAND 0xFFC0380C /* RSI Command Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_COMMAND RSI_COMMAND /* SDH Command */
#define RSI_RESP_CMD 0xFFC03810 /* RSI Response Command Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESP_CMD RSI_RESP_CMD /* SDH Response Command */
#define RSI_RESPONSE0 0xFFC03814 /* RSI Response Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESPONSE0 RSI_RESPONSE0 /* SDH Response0 */
#define RSI_RESPONSE1 0xFFC03818 /* RSI Response Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESPONSE1 RSI_RESPONSE1 /* SDH Response1 */
#define RSI_RESPONSE2 0xFFC0381C /* RSI Response Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESPONSE2 RSI_RESPONSE2 /* SDH Response2 */
#define RSI_RESPONSE3 0xFFC03820 /* RSI Response Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESPONSE3 RSI_RESPONSE3 /* SDH Response3 */
#define RSI_DATA_TIMER 0xFFC03824 /* RSI Data Timer Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_DATA_TIMER RSI_DATA_TIMER /* SDH Data Timer */
#define RSI_DATA_LGTH 0xFFC03828 /* RSI Data Length Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_DATA_LGTH RSI_DATA_LGTH /* SDH Data Length */
#define RSI_DATA_CONTROL 0xFFC0382C /* RSI Data Control Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_DATA_CTL RSI_DATA_CONTROL /* SDH Data Control */
#define RSI_DATA_CNT 0xFFC03830 /* RSI Data Counter Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_DATA_CNT RSI_DATA_CNT /* SDH Data Counter */
#define RSI_STATUS 0xFFC03834 /* RSI Status Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_STATUS RSI_STATUS /* SDH Status */
#define RSI_STATUSCL 0xFFC03838 /* RSI Status Clear Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_STATUS_CLR RSI_STATUSCL /* SDH Status Clear */
#define RSI_MASK0 0xFFC0383C /* RSI Interrupt 0 Mask Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_MASK0 RSI_MASK0 /* SDH Interrupt0 Mask */
#define RSI_MASK1 0xFFC03840 /* RSI Interrupt 1 Mask Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_MASK1 RSI_MASK1 /* SDH Interrupt1 Mask */
#define RSI_FIFO_CNT 0xFFC03848 /* RSI FIFO Counter Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_FIFO_CNT RSI_FIFO_CNT /* SDH FIFO Counter */
#define RSI_CEATA_CONTROL 0xFFC0384C /* RSI CEATA Register */
#define RSI_FIFO 0xFFC03880 /* RSI Data FIFO Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_FIFO RSI_FIFO /* SDH Data FIFO */
#define RSI_ESTAT 0xFFC038C0 /* RSI Exception Status Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_E_STATUS RSI_ESTAT /* SDH Exception Status */
#define RSI_EMASK 0xFFC038C4 /* RSI Exception Mask Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_E_MASK RSI_EMASK /* SDH Exception Mask */
#define RSI_CONFIG 0xFFC038C8 /* RSI Configuration Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_CFG RSI_CONFIG /* SDH Configuration */
#define RSI_RD_WAIT_EN 0xFFC038CC /* RSI Read Wait Enable Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RD_WAIT_EN RSI_RD_WAIT_EN /* SDH Read Wait Enable */
#define RSI_PID0 0xFFC038D0 /* RSI Peripheral ID Register 0 */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PID0 RSI_PID0 /* SDH Peripheral Identification0 */
#define RSI_PID1 0xFFC038D4 /* RSI Peripheral ID Register 1 */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PID1 RSI_PID1 /* SDH Peripheral Identification1 */
#define RSI_PID2 0xFFC038D8 /* RSI Peripheral ID Register 2 */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PID2 RSI_PID2 /* SDH Peripheral Identification2 */
#define RSI_PID3 0xFFC038DC /* RSI Peripheral ID Register 3 */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PID3 RSI_PID3 /* SDH Peripheral Identification3 */
/* RSI Registers */
/***********************************************************************************
** System MMR Register Bits And Macros
**
** Disclaimer: All macros are intended to make C and Assembly code more readable.
** Use these macros carefully, as any that do left shifts for field
** depositing will result in the lower order bits being destroyed. Any
** macro that shifts left to properly position the bit-field should be
** used as part of an OR to initialize a register and NOT as a dynamic
** modifier UNLESS the lower order bits are saved and ORed back in when
** the macro is used.
*************************************************************************************/
/************************ ETHERNET 10/100 CONTROLLER MASKS ************************/
/* EMAC_OPMODE Masks */
#define RE 0x00000001 /* Receiver Enable */
#define ASTP 0x00000002 /* Enable Automatic Pad Stripping On RX Frames */
#define HU 0x00000010 /* Hash Filter Unicast Address */
#define HM 0x00000020 /* Hash Filter Multicast Address */
#define PAM 0x00000040 /* Pass-All-Multicast Mode Enable */
#define PR 0x00000080 /* Promiscuous Mode Enable */
#define IFE 0x00000100 /* Inverse Filtering Enable */
#define DBF 0x00000200 /* Disable Broadcast Frame Reception */
#define PBF 0x00000400 /* Pass Bad Frames Enable */
#define PSF 0x00000800 /* Pass Short Frames Enable */
#define RAF 0x00001000 /* Receive-All Mode */
#define TE 0x00010000 /* Transmitter Enable */
#define DTXPAD 0x00020000 /* Disable Automatic TX Padding */
#define DTXCRC 0x00040000 /* Disable Automatic TX CRC Generation */
#define DC 0x00080000 /* Deferral Check */
#define BOLMT 0x00300000 /* Back-Off Limit */
#define BOLMT_10 0x00000000 /* 10-bit range */
#define BOLMT_8 0x00100000 /* 8-bit range */
#define BOLMT_4 0x00200000 /* 4-bit range */
#define BOLMT_1 0x00300000 /* 1-bit range */
#define DRTY 0x00400000 /* Disable TX Retry On Collision */
#define LCTRE 0x00800000 /* Enable TX Retry On Late Collision */
#define RMII 0x01000000 /* RMII/MII* Mode */
#define RMII_10 0x02000000 /* Speed Select for RMII Port (10MBit/100MBit*) */
#define FDMODE 0x04000000 /* Duplex Mode Enable (Full/Half*) */
#define LB 0x08000000 /* Internal Loopback Enable */
#define DRO 0x10000000 /* Disable Receive Own Frames (Half-Duplex Mode) */
/* EMAC_STAADD Masks */
#define STABUSY 0x00000001 /* Initiate Station Mgt Reg Access / STA Busy Stat */
#define STAOP 0x00000002 /* Station Management Operation Code (Write/Read*) */
#define STADISPRE 0x00000004 /* Disable Preamble Generation */
#define STAIE 0x00000008 /* Station Mgt. Transfer Done Interrupt Enable */
#define REGAD 0x000007C0 /* STA Register Address */
#define PHYAD 0x0000F800 /* PHY Device Address */
#ifdef _MISRA_RULES
#define SET_REGAD(x) (((x)&0x1Fu)<< 6 ) /* Set STA Register Address */
#define SET_PHYAD(x) (((x)&0x1Fu)<< 11 ) /* Set PHY Device Address */
#else
#define SET_REGAD(x) (((x)&0x1F)<< 6 ) /* Set STA Register Address */
#define SET_PHYAD(x) (((x)&0x1F)<< 11 ) /* Set PHY Device Address */
#endif /* _MISRA_RULES */
/* EMAC_STADAT Mask */
#define STADATA 0x0000FFFF /* Station Management Data */
/* EMAC_FLC Masks */
#define FLCBUSY 0x00000001 /* Send Flow Ctrl Frame / Flow Ctrl Busy Status */
#define FLCE 0x00000002 /* Flow Control Enable */
#define PCF 0x00000004 /* Pass Control Frames */
#define BKPRSEN 0x00000008 /* Enable Backpressure */
#define FLCPAUSE 0xFFFF0000 /* Pause Time */
#ifdef _MISRA_RULES
#define SET_FLCPAUSE(x) (((x)&0xFFFFu)<< 16) /* Set Pause Time */
#else
#define SET_FLCPAUSE(x) (((x)&0xFFFF)<< 16) /* Set Pause Time */
#endif /* _MISRA_RULES */
/* EMAC_WKUP_CTL Masks */
#define CAPWKFRM 0x00000001 /* Capture Wake-Up Frames */
#define MPKE 0x00000002 /* Magic Packet Enable */
#define RWKE 0x00000004 /* Remote Wake-Up Frame Enable */
#define GUWKE 0x00000008 /* Global Unicast Wake Enable */
#define MPKS 0x00000020 /* Magic Packet Received Status */
#define RWKS 0x00000F00 /* Wake-Up Frame Received Status, Filters 3:0 */
/* EMAC_WKUP_FFCMD Masks */
#define WF0_E 0x00000001 /* Enable Wake-Up Filter 0 */
#define WF0_T 0x00000008 /* Wake-Up Filter 0 Addr Type (Multicast/Unicast*) */
#define WF1_E 0x00000100 /* Enable Wake-Up Filter 1 */
#define WF1_T 0x00000800 /* Wake-Up Filter 1 Addr Type (Multicast/Unicast*) */
#define WF2_E 0x00010000 /* Enable Wake-Up Filter 2 */
#define WF2_T 0x00080000 /* Wake-Up Filter 2 Addr Type (Multicast/Unicast*) */
#define WF3_E 0x01000000 /* Enable Wake-Up Filter 3 */
#define WF3_T 0x08000000 /* Wake-Up Filter 3 Addr Type (Multicast/Unicast*) */
/* EMAC_WKUP_FFOFF Masks */
#define WF0_OFF 0x000000FF /* Wake-Up Filter 0 Pattern Offset */
#define WF1_OFF 0x0000FF00 /* Wake-Up Filter 1 Pattern Offset */
#define WF2_OFF 0x00FF0000 /* Wake-Up Filter 2 Pattern Offset */
#define WF3_OFF 0xFF000000 /* Wake-Up Filter 3 Pattern Offset */
#ifdef _MISRA_RULES
#define SET_WF0_OFF(x) (((x)&0xFFu)<< 0 ) /* Set Wake-Up Filter 0 Byte Offset */
#define SET_WF1_OFF(x) (((x)&0xFFu)<< 8 ) /* Set Wake-Up Filter 1 Byte Offset */
#define SET_WF2_OFF(x) (((x)&0xFFu)<< 16 ) /* Set Wake-Up Filter 2 Byte Offset */
#define SET_WF3_OFF(x) (((x)&0xFFu)<< 24 ) /* Set Wake-Up Filter 3 Byte Offset */
#else
#define SET_WF0_OFF(x) (((x)&0xFF)<< 0 ) /* Set Wake-Up Filter 0 Byte Offset */
#define SET_WF1_OFF(x) (((x)&0xFF)<< 8 ) /* Set Wake-Up Filter 1 Byte Offset */
#define SET_WF2_OFF(x) (((x)&0xFF)<< 16 ) /* Set Wake-Up Filter 2 Byte Offset */
#define SET_WF3_OFF(x) (((x)&0xFF)<< 24 ) /* Set Wake-Up Filter 3 Byte Offset */
#endif /* _MISRA_RULES */
/* Set ALL Offsets */
#define SET_WF_OFFS(x0,x1,x2,x3) (SET_WF0_OFF((x0))|SET_WF1_OFF((x1))|SET_WF2_OFF((x2))|SET_WF3_OFF((x3)))
/* EMAC_WKUP_FFCRC0 Masks */
#define WF0_CRC 0x0000FFFF /* Wake-Up Filter 0 Pattern CRC */
#define WF1_CRC 0xFFFF0000 /* Wake-Up Filter 1 Pattern CRC */
#ifdef _MISRA_RULES
#define SET_WF0_CRC(x) (((x)&0xFFFFu)<< 0 ) /* Set Wake-Up Filter 0 Target CRC */
#define SET_WF1_CRC(x) (((x)&0xFFFFu)<< 16 ) /* Set Wake-Up Filter 1 Target CRC */
#else
#define SET_WF0_CRC(x) (((x)&0xFFFF)<< 0 ) /* Set Wake-Up Filter 0 Target CRC */
#define SET_WF1_CRC(x) (((x)&0xFFFF)<< 16 ) /* Set Wake-Up Filter 1 Target CRC */
#endif /* _MISRA_RULES */
/* EMAC_WKUP_FFCRC1 Masks */
#define WF2_CRC 0x0000FFFF /* Wake-Up Filter 2 Pattern CRC */
#define WF3_CRC 0xFFFF0000 /* Wake-Up Filter 3 Pattern CRC */
#ifdef _MISRA_RULES
#define SET_WF2_CRC(x) (((x)&0xFFFFu)<< 0 ) /* Set Wake-Up Filter 2 Target CRC */
#define SET_WF3_CRC(x) (((x)&0xFFFFu)<< 16 ) /* Set Wake-Up Filter 3 Target CRC */
#else
#define SET_WF2_CRC(x) (((x)&0xFFFF)<< 0 ) /* Set Wake-Up Filter 2 Target CRC */
#define SET_WF3_CRC(x) (((x)&0xFFFF)<< 16 ) /* Set Wake-Up Filter 3 Target CRC */
#endif /* _MISRA_RULES */
/* EMAC_SYSCTL Masks */
#define PHYIE 0x00000001 /* PHY_INT Interrupt Enable */
#define RXDWA 0x00000002 /* Receive Frame DMA Word Alignment (Odd/Even*) */
#define RXCKS 0x00000004 /* Enable RX Frame TCP/UDP Checksum Computation */
#define MDCDIV 0x00003F00 /* SCLK:MDC Clock Divisor [MDC=SCLK/(2*(N+1))] */
#ifdef _MISRA_RULES
#define SET_MDCDIV(x) (((x)&0x3Fu)<< 8) /* Set MDC Clock Divisor */
#else
#define SET_MDCDIV(x) (((x)&0x3F)<< 8) /* Set MDC Clock Divisor */
#endif /* _MISRA_RULES */
/* EMAC_SYSTAT Masks */
#define PHYINT 0x00000001 /* PHY_INT Interrupt Status */
#define MMCINT 0x00000002 /* MMC Counter Interrupt Status */
#define RXFSINT 0x00000004 /* RX Frame-Status Interrupt Status */
#define TXFSINT 0x00000008 /* TX Frame-Status Interrupt Status */
#define WAKEDET 0x00000010 /* Wake-Up Detected Status */
#define RXDMAERR 0x00000020 /* RX DMA Direction Error Status */
#define TXDMAERR 0x00000040 /* TX DMA Direction Error Status */
#define STMDONE 0x00000080 /* Station Mgt. Transfer Done Interrupt Status */
/* EMAC_RX_STAT, EMAC_RX_STKY, and EMAC_RX_IRQE Masks */
#define RX_FRLEN 0x000007FF /* Frame Length In Bytes */
#define RX_COMP 0x00001000 /* RX Frame Complete */
#define RX_OK 0x00002000 /* RX Frame Received With No Errors */
#define RX_LONG 0x00004000 /* RX Frame Too Long Error */
#define RX_ALIGN 0x00008000 /* RX Frame Alignment Error */
#define RX_CRC 0x00010000 /* RX Frame CRC Error */
#define RX_LEN 0x00020000 /* RX Frame Length Error */
#define RX_FRAG 0x00040000 /* RX Frame Fragment Error */
#define RX_ADDR 0x00080000 /* RX Frame Address Filter Failed Error */
#define RX_DMAO 0x00100000 /* RX Frame DMA Overrun Error */
#define RX_PHY 0x00200000 /* RX Frame PHY Error */
#define RX_LATE 0x00400000 /* RX Frame Late Collision Error */
#define RX_RANGE 0x00800000 /* RX Frame Length Field Out of Range Error */
#define RX_MULTI 0x01000000 /* RX Multicast Frame Indicator */
#define RX_BROAD 0x02000000 /* RX Broadcast Frame Indicator */
#define RX_CTL 0x04000000 /* RX Control Frame Indicator */
#define RX_UCTL 0x08000000 /* Unsupported RX Control Frame Indicator */
#define RX_TYPE 0x10000000 /* RX Typed Frame Indicator */
#define RX_VLAN1 0x20000000 /* RX VLAN1 Frame Indicator */
#define RX_VLAN2 0x40000000 /* RX VLAN2 Frame Indicator */
#define RX_ACCEPT 0x80000000 /* RX Frame Accepted Indicator */
/* EMAC_TX_STAT, EMAC_TX_STKY, and EMAC_TX_IRQE Masks */
#define TX_COMP 0x00000001 /* TX Frame Complete */
#define TX_OK 0x00000002 /* TX Frame Sent With No Errors */
#define TX_ECOLL 0x00000004 /* TX Frame Excessive Collision Error */
#define TX_LATE 0x00000008 /* TX Frame Late Collision Error */
#define TX_DMAU 0x00000010 /* TX Frame DMA Underrun Error (STAT) */
#define TX_MACE 0x00000010 /* Internal MAC Error Detected (STKY and IRQE) */
#define TX_EDEFER 0x00000020 /* TX Frame Excessive Deferral Error */
#define TX_BROAD 0x00000040 /* TX Broadcast Frame Indicator */
#define TX_MULTI 0x00000080 /* TX Multicast Frame Indicator */
#define TX_CCNT 0x00000F00 /* TX Frame Collision Count */
#define TX_DEFER 0x00001000 /* TX Frame Deferred Indicator */
#define TX_CRS 0x00002000 /* TX Frame Carrier Sense Not Asserted Error */
#define TX_LOSS 0x00004000 /* TX Frame Carrier Lost During TX Error */
#define TX_RETRY 0x00008000 /* TX Frame Successful After Retry */
#define TX_FRLEN 0x07FF0000 /* TX Frame Length (Bytes) */
/* EMAC_MMC_CTL Masks */
#define RSTC 0x00000001 /* Reset All Counters */
#define CROLL 0x00000002 /* Counter Roll-Over Enable */
#define CCOR 0x00000004 /* Counter Clear-On-Read Mode Enable */
#define MMCE 0x00000008 /* Enable MMC Counter Operation */
/* EMAC_MMC_RIRQS and EMAC_MMC_RIRQE Masks */
#define RX_OK_CNT 0x00000001 /* RX Frames Received With No Errors */
#define RX_FCS_CNT 0x00000002 /* RX Frames W/Frame Check Sequence Errors */
#define RX_ALIGN_CNT 0x00000004 /* RX Frames With Alignment Errors */
#define RX_OCTET_CNT 0x00000008 /* RX Octets Received OK */
#define RX_LOST_CNT 0x00000010 /* RX Frames Lost Due To Internal MAC RX Error */
#define RX_UNI_CNT 0x00000020 /* Unicast RX Frames Received OK */
#define RX_MULTI_CNT 0x00000040 /* Multicast RX Frames Received OK */
#define RX_BROAD_CNT 0x00000080 /* Broadcast RX Frames Received OK */
#define RX_IRL_CNT 0x00000100 /* RX Frames With In-Range Length Errors */
#define RX_ORL_CNT 0x00000200 /* RX Frames With Out-Of-Range Length Errors */
#define RX_LONG_CNT 0x00000400 /* RX Frames With Frame Too Long Errors */
#define RX_MACCTL_CNT 0x00000800 /* MAC Control RX Frames Received */
#define RX_OPCODE_CTL 0x00001000 /* Unsupported Op-Code RX Frames Received */
#define RX_PAUSE_CNT 0x00002000 /* PAUSEMAC Control RX Frames Received */
#define RX_ALLF_CNT 0x00004000 /* All RX Frames Received */
#define RX_ALLO_CNT 0x00008000 /* All RX Octets Received */
#define RX_TYPED_CNT 0x00010000 /* Typed RX Frames Received */
#define RX_SHORT_CNT 0x00020000 /* RX Frame Fragments (< 64 Bytes) Received */
#define RX_EQ64_CNT 0x00040000 /* 64-Byte RX Frames Received */
#define RX_LT128_CNT 0x00080000 /* 65-127-Byte RX Frames Received */
#define RX_LT256_CNT 0x00100000 /* 128-255-Byte RX Frames Received */
#define RX_LT512_CNT 0x00200000 /* 256-511-Byte RX Frames Received */
#define RX_LT1024_CNT 0x00400000 /* 512-1023-Byte RX Frames Received */
#define RX_GE1024_CNT 0x00800000 /* 1024-Max-Byte RX Frames Received */
/* EMAC_MMC_TIRQS and EMAC_MMC_TIRQE Masks */
#define TX_OK_CNT 0x00000001 /* TX Frames Sent OK */
#define TX_SCOLL_CNT 0x00000002 /* TX Frames With Single Collisions */
#define TX_MCOLL_CNT 0x00000004 /* TX Frames With Multiple Collisions */
#define TX_OCTET_CNT 0x00000008 /* TX Octets Sent OK */
#define TX_DEFER_CNT 0x00000010 /* TX Frames With Deferred Transmission */
#define TX_LATE_CNT 0x00000020 /* TX Frames With Late Collisions */
#define TX_ABORTC_CNT 0x00000040 /* TX Frames Aborted Due To Excess Collisions */
#define TX_LOST_CNT 0x00000080 /* TX Frames Lost Due To Internal MAC TX Error */
#define TX_CRS_CNT 0x00000100 /* TX Frames With Carrier Sense Errors */
#define TX_UNI_CNT 0x00000200 /* Unicast TX Frames Sent */
#define TX_MULTI_CNT 0x00000400 /* Multicast TX Frames Sent */
#define TX_BROAD_CNT 0x00000800 /* Broadcast TX Frames Sent */
#define TX_EXDEF_CTL 0x00001000 /* TX Frames With Excessive Deferral */
#define TX_MACCTL_CNT 0x00002000 /* MAC Control TX Frames Sent */
#define TX_ALLF_CNT 0x00004000 /* All TX Frames Sent */
#define TX_ALLO_CNT 0x00008000 /* All TX Octets Sent */
#define TX_EQ64_CNT 0x00010000 /* 64-Byte TX Frames Sent */
#define TX_LT128_CNT 0x00020000 /* 65-127-Byte TX Frames Sent */
#define TX_LT256_CNT 0x00040000 /* 128-255-Byte TX Frames Sent */
#define TX_LT512_CNT 0x00080000 /* 256-511-Byte TX Frames Sent */
#define TX_LT1024_CNT 0x00100000 /* 512-1023-Byte TX Frames Sent */
#define TX_GE1024_CNT 0x00200000 /* 1024-Max-Byte TX Frames Sent */
#define TX_ABORT_CNT 0x00400000 /* TX Frames Aborted */
/* Bit masks for EMAC_PTP_CTL */
#define EMAC_PTP_CTL_EN 0x1 /* Block Enable */
#define EMAC_PTP_CTL_TL 0x2 /* Time Stamp Lock */
#define EMAC_PTP_CTL_CKS 0xC /* Clock source for the PTP_TSYNC block */
#define EMAC_PTP_CTL_ASEN 0x10 /* Auxiliary Snapshot Enable */
#define EMAC_PTP_CTL_CKDIV 0x60 /* Divider for the selected PTP_CLK output */
#define EMAC_PTP_CTL_PPSEN 0x80 /* Pulse Per Second (PPS) Enable */
#define EMAC_PTP_CTL_EFTM 0x100 /* Ethernet Frame type field compare mask */
#define EMAC_PTP_CTL_IPVM 0x200 /* IP Version field compare mask */
#define EMAC_PTP_CTL_IPTM 0x400 /* IP Type Frame field (Layer 4 protocol) compare mask */
#define EMAC_PTP_CTL_UDPEM 0x800 /* UDP Event port field compare mask */
#define EMAC_PTP_CTL_PTPCM 0x1000 /* PTP Control field compare mask */
#define EMAC_PTP_CTL_CKOEN 0x2000 /* Clock output Enable */
/* Bit masks for EMAC_PTP_IE */
#define EMAC_PTP_IE_ALIE 0x1 /* Alarm Feature and Interrupt Enable */
#define EMAC_PTP_IE_RXEIE 0x2 /* Receive Event Interrupt Enable */
#define EMAC_PTP_IE_RXGIE 0x4 /* Receive General Interrupt Enable */
#define EMAC_PTP_IE_TXIE 0x8 /* Transmit Interrupt Enable */
#define EMAC_PTP_IE_TXOVE 0x10 /* Transmit Overrun Error Interrupt Enable */
#define EMAC_PTP_IE_RXOVE 0x20 /* Receive Overrun Error Interrupt Enable */
#define EMAC_PTP_IE_ASIE 0x40 /* Auxiliary Snapshot Interrupt Enable */
/* Bit masks for EMAC_PTP_ISTAT */
#define EMAC_PTP_ISTAT_ALS 0x1 /* Alarm Status */
#define EMAC_PTP_ISTAT_RXEL 0x2 /* Receive Event Interrupt Locked */
#define EMAC_PTP_ISTAT_RXGL 0x4 /* Receive General Interrupt Locked */
#define EMAC_PTP_ISTAT_TXTL 0x8 /* Transmit Snapshot Locked */
#define EMAC_PTP_ISTAT_RXOV 0x10 /* Receive Snapshot Overrun Status */
#define EMAC_PTP_ISTAT_TXOV 0x20 /* Transmit snapshot Overrun Status */
#define EMAC_PTP_ISTAT_ASL 0x40 /* Auxiliary Snapshot Interrupt Status */
/* Bit masks for RSI_PWR_CONTROL */
#define PWR_ON 0x3 /* Power On */
#define RSI_CMD_OD 0x40 /* Open Drain Output */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SD_CMD_OD RSI_CMD_OD /* Open Drain Output */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSD_CMD_OD 0x0
/* legacy bit mask (below) provided for backwards code compatibility */
#if 0
#define TBD 0x3c /* TBD */
#endif
/* legacy bit mask (below) provided for backwards code compatibility */
#define ROD_CTL 0x80
/* legacy bit mask (below) provided for backwards code compatibility */
#define nROD_CTL 0x80
/* Bit masks for RSI_CLK_CONTROL */
#define CLKDIV 0xff /* MC_CLK Divisor */
#define CLK_EN 0x100 /* MC_CLK Bus Clock Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CLK_E CLK_EN /* MC_CLK Bus Clock Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCLK_E 0x0
#define PWR_SV_EN 0x200 /* Power Save Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define PWR_SV_E PWR_SV_EN /* Power Save Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nPWR_SV_E 0x0
#define CLKDIV_BYPASS 0x400 /* Bypass Divisor */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCLKDIV_BYPASS 0x0
#define BUS_MODE 0x1800 /* Bus width selection */
/* legacy bit mask (below) provided for backwards code compatibility */
#define WIDE_BUS 0x0800 /* Wide Bus Mode Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nWIDE_BUS 0x0
/* Bit masks for RSI_COMMAND */
#define CMD_IDX 0x3f /* Command Index */
#define CMD_RSP_EN 0x40 /* Response */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_RSP CMD_RSP_EN /* Response */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_RSP 0x0
#define CMD_LRSP_EN 0x80 /* Long Response */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_L_RSP CMD_LRSP_EN /* Long Response */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_L_RSP 0x0
#define CMD_INT_EN 0x100 /* Command Interrupt */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_INT_E CMD_INT_EN /* Command Interrupt */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_INT_E 0x0
#define CMD_PEND_EN 0x200 /* Command Pending */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_PEND_E CMD_PEND_EN /* Command Pending */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_PEND_E 0x0
#define CMD_EN 0x400 /* Command Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_E CMD_EN /* Command Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_E 0x0
/* Bit masks for RSI_RESP_CMD */
#define RESP_CMD 0x3f /* Response Command */
/* Bit masks for RSI_DATA_LGTH */
#define DATA_LENGTH 0xffff /* Data Length */
/* Bit masks for RSI_DATA_CONTROL */
#define DATA_EN 0x1 /* Data Transfer Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_E DATA_EN /* Data Transfer Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDTX_E 0x0
#define DATA_DIR 0x2 /* Data Transfer Direction */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_DIR DATA_DIR /* Data Transfer Direction */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDTX_DIR 0x0
#define DATA_MODE 0x4 /* Data Transfer Mode */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_MODE DATA_MODE /* Data Transfer Mode */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDTX_MODE 0x0
#define DATA_DMA_EN 0x8 /* Data Transfer DMA Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_DMA_E 0x8 /* Data Transfer DMA Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDTX_DMA_E 0x0
#define DATA_BLK_LGTH 0xf0 /* Data Transfer Block Length */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_BLK_LGTH 0xf0 /* Data Transfer Block Length */
#define CEATA_EN 0x100 /* CE-ATA operation mode enable */
#define CEATA_CCS_EN 0x200 /* CE-ATA CCS mode enable */
/* Bit masks for RSI_DATA_CNT */
#define DATA_COUNT 0xffff /* Data Count */
/* Bit masks for RSI_STATUS */
#define CMD_CRC_FAIL 0x1 /* CMD CRC Fail */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_CRC_FAIL 0x0
#define DAT_CRC_FAIL 0x2 /* Data CRC Fail */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_CRC_FAIL 0x0
#define CMD_TIMEOUT 0x4 /* CMD Time Out */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_TIMEOUT 0x0
#define DAT_TIMEOUT 0x8 /* Data Time Out */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_TIMEOUT 0x0
#define TX_UNDERRUN 0x10 /* Transmit Underrun */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_UNDERRUN 0x0
#define RX_OVERRUN 0x20 /* Receive Overrun */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_OVERRUN 0x0
#define CMD_RESP_END 0x40 /* CMD Response End */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_RESP_END 0x0
#define CMD_SENT 0x80 /* CMD Sent */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_SENT 0x0
#define DAT_END 0x100 /* Data End */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_END 0x0
#define START_BIT_ERR 0x200 /* Start Bit Error */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSTART_BIT_ERR 0x0
#define DAT_BLK_END 0x400 /* Data Block End */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_BLK_END 0x0
#define CMD_ACT 0x800 /* CMD Active */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_ACT 0x0
#define TX_ACT 0x1000 /* Transmit Active */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_ACT 0x0
#define RX_ACT 0x2000 /* Receive Active */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_ACT 0x0
#define TX_FIFO_STAT 0x4000 /* Transmit FIFO Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_STAT 0x0
#define RX_FIFO_STAT 0x8000 /* Receive FIFO Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_STAT 0x0
#define TX_FIFO_FULL 0x10000 /* Transmit FIFO Full */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_FULL 0x0
#define RX_FIFO_FULL 0x20000 /* Receive FIFO Full */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_FULL 0x0
#define TX_FIFO_ZERO 0x40000 /* Transmit FIFO Empty */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_ZERO 0x0
#define RX_DAT_ZERO 0x80000 /* Receive FIFO Empty */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_DAT_ZERO 0x0
#define TX_DAT_RDY 0x100000 /* Transmit Data Available */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_DAT_RDY 0x0
#define RX_FIFO_RDY 0x200000 /* Receive Data Available */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_RDY 0x0
/* Bit masks for RSI_STATCL */
#define CMD_CRC_FAIL_STAT 0x1 /* CMD CRC Fail Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_CRC_FAIL_STAT 0x0
#define DAT_CRC_FAIL_STAT 0x2 /* Data CRC Fail Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_CRC_FAIL_STAT 0x0
#define CMD_TIMEOUT_STAT 0x4 /* CMD Time Out Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_TIMEOUT_STAT 0x0
#define DAT_TIMEOUT_STAT 0x8 /* Data Time Out status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_TIMEOUT_STAT 0x0
#define TX_UNDERRUN_STAT 0x10 /* Transmit Underrun Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_UNDERRUN_STAT 0x0
#define RX_OVERRUN_STAT 0x20 /* Receive Overrun Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_OVERRUN_STAT 0x0
#define CMD_RESP_END_STAT 0x40 /* CMD Response End Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_RESP_END_STAT 0x0
#define CMD_SENT_STAT 0x80 /* CMD Sent Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_SENT_STAT 0x0
#define DAT_END_STAT 0x100 /* Data End Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_END_STAT 0x0
#define START_BIT_ERR_STAT 0x200 /* Start Bit Error Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSTART_BIT_ERR_STAT 0x0
#define DAT_BLK_END_STAT 0x400 /* Data Block End Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_BLK_END_STAT 0x0
/* Bit masks for RSI_MASKx */
#define CMD_CRC_FAIL_MASK 0x1 /* CMD CRC Fail Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_CRC_FAIL_MASK 0x0
#define DAT_CRC_FAIL_MASK 0x2 /* Data CRC Fail Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_CRC_FAIL_MASK 0x0
#define CMD_TIMEOUT_MASK 0x4 /* CMD Time Out Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_TIMEOUT_MASK 0x0
#define DAT_TIMEOUT_MASK 0x8 /* Data Time Out Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_TIMEOUT_MASK 0x0
#define TX_UNDERRUN_MASK 0x10 /* Transmit Underrun Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_UNDERRUN_MASK 0x0
#define RX_OVERRUN_MASK 0x20 /* Receive Overrun Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_OVERRUN_MASK 0x0
#define CMD_RESP_END_MASK 0x40 /* CMD Response End Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_RESP_END_MASK 0x0
#define CMD_SENT_MASK 0x80 /* CMD Sent Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_SENT_MASK 0x0
#define DAT_END_MASK 0x100 /* Data End Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_END_MASK 0x0
#define START_BIT_ERR_MASK 0x200 /* Start Bit Error Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSTART_BIT_ERR_MASK 0x0
#define DAT_BLK_END_MASK 0x400 /* Data Block End Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_BLK_END_MASK 0x0
#define CMD_ACT_MASK 0x800 /* CMD Active Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_ACT_MASK 0x0
#define TX_ACT_MASK 0x1000 /* Transmit Active Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_ACT_MASK 0x0
#define RX_ACT_MASK 0x2000 /* Receive Active Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_ACT_MASK 0x0
#define TX_FIFO_STAT_MASK 0x4000 /* Transmit FIFO Status Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_STAT_MASK 0x0
#define RX_FIFO_STAT_MASK 0x8000 /* Receive FIFO Status Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_STAT_MASK 0x0
#define TX_FIFO_FULL_MASK 0x10000 /* Transmit FIFO Full Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_FULL_MASK 0x0
#define RX_FIFO_FULL_MASK 0x20000 /* Receive FIFO Full Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_FULL_MASK 0x0
#define TX_FIFO_ZERO_MASK 0x40000 /* Transmit FIFO Empty Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_ZERO_MASK 0x0
#define RX_DAT_ZERO_MASK 0x80000 /* Receive FIFO Empty Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_DAT_ZERO_MASK 0x0
#define TX_DAT_RDY_MASK 0x100000 /* Transmit Data Available Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_DAT_RDY_MASK 0x0
#define RX_FIFO_RDY_MASK 0x200000 /* Receive Data Available Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_RDY_MASK 0x0
/* Bit masks for RSI_FIFO_CNT */
#define FIFO_COUNT 0x7fff /* FIFO Count */
/* Bit masks for RSI_CEATA_CONTROL */
#define CEATA_TX_CCSD 0x1 /* Send CE-ATA CCSD sequence */
/* Bit masks for RSI_ESTAT */
#define SDIO_INT_DET 0x2 /* SDIO Int Detected */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSDIO_INT_DET 0x0
#define SD_CARD_DET 0x10 /* SD Card Detect */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSD_CARD_DET 0x0
#define CEATA_INT_DET 0x20
/* Bit masks for RSI_EMASK */
#define SDIO_INT_DET_MASK 0x2 /* Mask SDIO Int Detected */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SDIO_MSK SDIO_INT_DET_MASK /* Mask SDIO Int Detected */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSDIO_MSK 0x0
#define SD_CARD_DET_MASK 0x10 /* Mask Card Detect */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SCD_MASK SD_CARD_DET_MASK /* Mask Card Detect */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSCD_MSK 0x0
#define CEATA_INT_DET_MASK 0x20
/* Bit masks for SDH_CFG */
/* Left in for backwards compatibility */
#define RSI_CLK_EN 0x1
/* legacy bit mask (below) provided for backwards code compatibility */
#define CLKS_EN RSI_CLK_EN /* Clocks Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCLKS_EN 0x0
#define SDIO4_EN 0x4 /* SDIO 4-Bit Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SD4E SDIO4_EN /* SDIO 4-Bit Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSD4E 0x0
#define MW_EN 0x8 /* Moving Window Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define MWE MW_EN /* Moving Window Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nMWE 0x0
#define RSI_RST 0x10 /* SDMMC Reset */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SD_RST RSI_RST /* SDMMC Reset */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSD_RST 0x0
#define PU_DAT 0x20 /* Pull-up SD_DAT */
/* legacy bit mask (below) provided for backwards code compatibility */
#define PUP_SDDAT PU_DAT /* Pull-up SD_DAT */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nPUP_SDDAT 0x0
#define PU_DAT3 0x40 /* Pull-up SD_DAT3 */
/* legacy bit mask (below) provided for backwards code compatibility */
#define PUP_SDDAT3 PU_DAT3 /* Pull-up SD_DAT3 */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nPUP_SDDAT3 0x0
#define PD_DAT3 0x80 /* Pull-down SD_DAT3 */
/* legacy bit mask (below) provided for backwards code compatibility */
#define PD_SDDAT3 PD_DAT3 /* Pull-down SD_DAT3 */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nPD_SDDAT3 0x0
/* Bit masks for RSI_RD_WAIT_EN */
#define SDIO_RWR 0x1 /* Read Wait Request */
/* legacy bit mask (below) provided for backwards code compatibility */
#define RWR SDIO_RWR /* Read Wait Request */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRWR 0x0
/* Bit masks for RSI_PIDx */
#define RSI_PID 0xff /* RSI Peripheral ID */
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _DEF_BF516_H */

View File

@ -0,0 +1,962 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This include file contains a list of macro "defines" to enable the programmer
** to use symbolic names for register-access and bit-manipulation.
**
**/
#ifndef _DEF_BF518_H
#define _DEF_BF518_H
/* Include all Core registers and bit definitions */
#include <def_LPBlackfin.h>
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF518 */
/* Include defBF51x_base.h for the set of #defines that are common to all ADSP-BF51x processors */
#include <defBF51x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"macros not strictly following 19.4")
#pragma diag(suppress:misra_rule_19_7:"Allow function-like macros")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF518 that are not in the common header */
/* 10/100 Ethernet Controller (0xFFC03000 - 0xFFC031FF) */
#define EMAC_OPMODE 0xFFC03000 /* Operating Mode Register */
#define EMAC_ADDRLO 0xFFC03004 /* Address Low (32 LSBs) Register */
#define EMAC_ADDRHI 0xFFC03008 /* Address High (16 MSBs) Register */
#define EMAC_HASHLO 0xFFC0300C /* Multicast Hash Table Low (Bins 31-0) Register */
#define EMAC_HASHHI 0xFFC03010 /* Multicast Hash Table High (Bins 63-32) Register */
#define EMAC_STAADD 0xFFC03014 /* Station Management Address Register */
#define EMAC_STADAT 0xFFC03018 /* Station Management Data Register */
#define EMAC_FLC 0xFFC0301C /* Flow Control Register */
#define EMAC_VLAN1 0xFFC03020 /* VLAN1 Tag Register */
#define EMAC_VLAN2 0xFFC03024 /* VLAN2 Tag Register */
#define EMAC_WKUP_CTL 0xFFC0302C /* Wake-Up Control/Status Register */
#define EMAC_WKUP_FFMSK0 0xFFC03030 /* Wake-Up Frame Filter 0 Byte Mask Register */
#define EMAC_WKUP_FFMSK1 0xFFC03034 /* Wake-Up Frame Filter 1 Byte Mask Register */
#define EMAC_WKUP_FFMSK2 0xFFC03038 /* Wake-Up Frame Filter 2 Byte Mask Register */
#define EMAC_WKUP_FFMSK3 0xFFC0303C /* Wake-Up Frame Filter 3 Byte Mask Register */
#define EMAC_WKUP_FFCMD 0xFFC03040 /* Wake-Up Frame Filter Commands Register */
#define EMAC_WKUP_FFOFF 0xFFC03044 /* Wake-Up Frame Filter Offsets Register */
#define EMAC_WKUP_FFCRC0 0xFFC03048 /* Wake-Up Frame Filter 0,1 CRC-16 Register */
#define EMAC_WKUP_FFCRC1 0xFFC0304C /* Wake-Up Frame Filter 2,3 CRC-16 Register */
#define EMAC_SYSCTL 0xFFC03060 /* EMAC System Control Register */
#define EMAC_SYSTAT 0xFFC03064 /* EMAC System Status Register */
#define EMAC_RX_STAT 0xFFC03068 /* RX Current Frame Status Register */
#define EMAC_RX_STKY 0xFFC0306C /* RX Sticky Frame Status Register */
#define EMAC_RX_IRQE 0xFFC03070 /* RX Frame Status Interrupt Enables Register */
#define EMAC_TX_STAT 0xFFC03074 /* TX Current Frame Status Register */
#define EMAC_TX_STKY 0xFFC03078 /* TX Sticky Frame Status Register */
#define EMAC_TX_IRQE 0xFFC0307C /* TX Frame Status Interrupt Enables Register */
#define EMAC_MMC_CTL 0xFFC03080 /* MMC Counter Control Register */
#define EMAC_MMC_RIRQS 0xFFC03084 /* MMC RX Interrupt Status Register */
#define EMAC_MMC_RIRQE 0xFFC03088 /* MMC RX Interrupt Enables Register */
#define EMAC_MMC_TIRQS 0xFFC0308C /* MMC TX Interrupt Status Register */
#define EMAC_MMC_TIRQE 0xFFC03090 /* MMC TX Interrupt Enables Register */
/* EMAC PTP (IEEE 1588) */
#define EMAC_PTP_CTL 0xffc030a0 /* PTP Block Control */
#define EMAC_PTP_IE 0xffc030a4 /* PTP Block Interrupt Enable */
#define EMAC_PTP_ISTAT 0xffc030a8 /* PTP Block Interrupt Status */
#define EMAC_PTP_FOFF 0xffc030ac /* PTP Filter offset Register */
#define EMAC_PTP_FV1 0xffc030b0 /* PTP Filter Value Register 1 */
#define EMAC_PTP_FV2 0xffc030b4 /* PTP Filter Value Register 2 */
#define EMAC_PTP_FV3 0xffc030b8 /* PTP Filter Value Register 3 */
#define EMAC_PTP_ADDEND 0xffc030bc /* PTP Addend for Frequency Compensation */
#define EMAC_PTP_ACCR 0xffc030c0 /* PTP Accumulator for Frequency Compensation */
#define EMAC_PTP_OFFSET 0xffc030c4 /* PTP Time Offset Register */
#define EMAC_PTP_TIMELO 0xffc030c8 /* PTP Precision Clock Time Low */
#define EMAC_PTP_TIMEHI 0xffc030cc /* PTP Precision Clock Time High */
#define EMAC_PTP_RXSNAPLO 0xffc030d0 /* PTP Receive Snapshot Register Low */
#define EMAC_PTP_RXSNAPHI 0xffc030d4 /* PTP Receive Snapshot Register High */
#define EMAC_PTP_TXSNAPLO 0xffc030d8 /* PTP Transmit Snapshot Register Low */
#define EMAC_PTP_TXSNAPHI 0xffc030dc /* PTP Transmit Snapshot Register High */
#define EMAC_PTP_ALARMLO 0xffc030e0 /* PTP Alarm time Low */
#define EMAC_PTP_ALARMHI 0xffc030e4 /* PTP Alarm time High */
#define EMAC_PTP_ID_OFF 0xffc030e8 /* PTP Capture ID offset register */
#define EMAC_PTP_ID_SNAP 0xffc030ec /* PTP Capture ID register */
#define EMAC_PTP_PPS_STARTLOP 0xffc030f0 /* PPS Start Time Low */
#define EMAC_PTP_PPS_STARTHIP 0xffc030f4 /* PPS Start Time High */
#define EMAC_PTP_PPS_PERIOD 0xffc030f8 /* PPS Count Register */
#define EMAC_RXC_OK 0xFFC03100 /* RX Frame Successful Count */
#define EMAC_RXC_FCS 0xFFC03104 /* RX Frame FCS Failure Count */
#define EMAC_RXC_ALIGN 0xFFC03108 /* RX Alignment Error Count */
#define EMAC_RXC_OCTET 0xFFC0310C /* RX Octets Successfully Received Count */
#define EMAC_RXC_DMAOVF 0xFFC03110 /* Internal MAC Sublayer Error RX Frame Count */
#define EMAC_RXC_UNICST 0xFFC03114 /* Unicast RX Frame Count */
#define EMAC_RXC_MULTI 0xFFC03118 /* Multicast RX Frame Count */
#define EMAC_RXC_BROAD 0xFFC0311C /* Broadcast RX Frame Count */
#define EMAC_RXC_LNERRI 0xFFC03120 /* RX Frame In Range Error Count */
#define EMAC_RXC_LNERRO 0xFFC03124 /* RX Frame Out Of Range Error Count */
#define EMAC_RXC_LONG 0xFFC03128 /* RX Frame Too Long Count */
#define EMAC_RXC_MACCTL 0xFFC0312C /* MAC Control RX Frame Count */
#define EMAC_RXC_OPCODE 0xFFC03130 /* Unsupported Op-Code RX Frame Count */
#define EMAC_RXC_PAUSE 0xFFC03134 /* MAC Control Pause RX Frame Count */
#define EMAC_RXC_ALLFRM 0xFFC03138 /* Overall RX Frame Count */
#define EMAC_RXC_ALLOCT 0xFFC0313C /* Overall RX Octet Count */
#define EMAC_RXC_TYPED 0xFFC03140 /* Type/Length Consistent RX Frame Count */
#define EMAC_RXC_SHORT 0xFFC03144 /* RX Frame Fragment Count - Byte Count x < 64 */
#define EMAC_RXC_EQ64 0xFFC03148 /* Good RX Frame Count - Byte Count x = 64 */
#define EMAC_RXC_LT128 0xFFC0314C /* Good RX Frame Count - Byte Count 64 < x < 128 */
#define EMAC_RXC_LT256 0xFFC03150 /* Good RX Frame Count - Byte Count 128 <= x < 256 */
#define EMAC_RXC_LT512 0xFFC03154 /* Good RX Frame Count - Byte Count 256 <= x < 512 */
#define EMAC_RXC_LT1024 0xFFC03158 /* Good RX Frame Count - Byte Count 512 <= x < 1024 */
#define EMAC_RXC_GE1024 0xFFC0315C /* Good RX Frame Count - Byte Count x >= 1024 */
#define EMAC_TXC_OK 0xFFC03180 /* TX Frame Successful Count */
#define EMAC_TXC_1COL 0xFFC03184 /* TX Frames Successful After Single Collision Count */
#define EMAC_TXC_GT1COL 0xFFC03188 /* TX Frames Successful After Multiple Collisions Count */
#define EMAC_TXC_OCTET 0xFFC0318C /* TX Octets Successfully Received Count */
#define EMAC_TXC_DEFER 0xFFC03190 /* TX Frame Delayed Due To Busy Count */
#define EMAC_TXC_LATECL 0xFFC03194 /* Late TX Collisions Count */
#define EMAC_TXC_XS_COL 0xFFC03198 /* TX Frame Failed Due To Excessive Collisions Count */
#define EMAC_TXC_DMAUND 0xFFC0319C /* Internal MAC Sublayer Error TX Frame Count */
#define EMAC_TXC_CRSERR 0xFFC031A0 /* Carrier Sense Deasserted During TX Frame Count */
#define EMAC_TXC_UNICST 0xFFC031A4 /* Unicast TX Frame Count */
#define EMAC_TXC_MULTI 0xFFC031A8 /* Multicast TX Frame Count */
#define EMAC_TXC_BROAD 0xFFC031AC /* Broadcast TX Frame Count */
#define EMAC_TXC_XS_DFR 0xFFC031B0 /* TX Frames With Excessive Deferral Count */
#define EMAC_TXC_MACCTL 0xFFC031B4 /* MAC Control TX Frame Count */
#define EMAC_TXC_ALLFRM 0xFFC031B8 /* Overall TX Frame Count */
#define EMAC_TXC_ALLOCT 0xFFC031BC /* Overall TX Octet Count */
#define EMAC_TXC_EQ64 0xFFC031C0 /* Good TX Frame Count - Byte Count x = 64 */
#define EMAC_TXC_LT128 0xFFC031C4 /* Good TX Frame Count - Byte Count 64 < x < 128 */
#define EMAC_TXC_LT256 0xFFC031C8 /* Good TX Frame Count - Byte Count 128 <= x < 256 */
#define EMAC_TXC_LT512 0xFFC031CC /* Good TX Frame Count - Byte Count 256 <= x < 512 */
#define EMAC_TXC_LT1024 0xFFC031D0 /* Good TX Frame Count - Byte Count 512 <= x < 1024 */
#define EMAC_TXC_GE1024 0xFFC031D4 /* Good TX Frame Count - Byte Count x >= 1024 */
#define EMAC_TXC_ABORT 0xFFC031D8 /* Total TX Frames Aborted Count */
/* Listing for IEEE-Supported Count Registers */
#define FramesReceivedOK EMAC_RXC_OK /* RX Frame Successful Count */
#define FrameCheckSequenceErrors EMAC_RXC_FCS /* RX Frame FCS Failure Count */
#define AlignmentErrors EMAC_RXC_ALIGN /* RX Alignment Error Count */
#define OctetsReceivedOK EMAC_RXC_OCTET /* RX Octets Successfully Received Count */
#define FramesLostDueToIntMACRcvError EMAC_RXC_DMAOVF /* Internal MAC Sublayer Error RX Frame Count */
#define UnicastFramesReceivedOK EMAC_RXC_UNICST /* Unicast RX Frame Count */
#define MulticastFramesReceivedOK EMAC_RXC_MULTI /* Multicast RX Frame Count */
#define BroadcastFramesReceivedOK EMAC_RXC_BROAD /* Broadcast RX Frame Count */
#define InRangeLengthErrors EMAC_RXC_LNERRI /* RX Frame In Range Error Count */
#define OutOfRangeLengthField EMAC_RXC_LNERRO /* RX Frame Out Of Range Error Count */
#define FrameTooLongErrors EMAC_RXC_LONG /* RX Frame Too Long Count */
#define MACControlFramesReceived EMAC_RXC_MACCTL /* MAC Control RX Frame Count */
#define UnsupportedOpcodesReceived EMAC_RXC_OPCODE /* Unsupported Op-Code RX Frame Count */
#define PAUSEMACCtrlFramesReceived EMAC_RXC_PAUSE /* MAC Control Pause RX Frame Count */
#define FramesReceivedAll EMAC_RXC_ALLFRM /* Overall RX Frame Count */
#define OctetsReceivedAll EMAC_RXC_ALLOCT /* Overall RX Octet Count */
#define TypedFramesReceived EMAC_RXC_TYPED /* Type/Length Consistent RX Frame Count */
#define FramesLenLt64Received EMAC_RXC_SHORT /* RX Frame Fragment Count - Byte Count x < 64 */
#define FramesLenEq64Received EMAC_RXC_EQ64 /* Good RX Frame Count - Byte Count x = 64 */
#define FramesLen65_127Received EMAC_RXC_LT128 /* Good RX Frame Count - Byte Count 64 < x < 128 */
#define FramesLen128_255Received EMAC_RXC_LT256 /* Good RX Frame Count - Byte Count 128 <= x < 256 */
#define FramesLen256_511Received EMAC_RXC_LT512 /* Good RX Frame Count - Byte Count 256 <= x < 512 */
#define FramesLen512_1023Received EMAC_RXC_LT1024 /* Good RX Frame Count - Byte Count 512 <= x < 1024 */
#define FramesLen1024_MaxReceived EMAC_RXC_GE1024 /* Good RX Frame Count - Byte Count x >= 1024 */
#define FramesTransmittedOK EMAC_TXC_OK /* TX Frame Successful Count */
#define SingleCollisionFrames EMAC_TXC_1COL /* TX Frames Successful After Single Collision Count */
#define MultipleCollisionFrames EMAC_TXC_GT1COL /* TX Frames Successful After Multiple Collisions Count */
#define OctetsTransmittedOK EMAC_TXC_OCTET /* TX Octets Successfully Received Count */
#define FramesWithDeferredXmissions EMAC_TXC_DEFER /* TX Frame Delayed Due To Busy Count */
#define LateCollisions EMAC_TXC_LATECL /* Late TX Collisions Count */
#define FramesAbortedDueToXSColls EMAC_TXC_XS_COL /* TX Frame Failed Due To Excessive Collisions Count */
#define FramesLostDueToIntMacXmitError EMAC_TXC_DMAUND /* Internal MAC Sublayer Error TX Frame Count */
#define CarrierSenseErrors EMAC_TXC_CRSERR /* Carrier Sense Deasserted During TX Frame Count */
#define UnicastFramesXmittedOK EMAC_TXC_UNICST /* Unicast TX Frame Count */
#define MulticastFramesXmittedOK EMAC_TXC_MULTI /* Multicast TX Frame Count */
#define BroadcastFramesXmittedOK EMAC_TXC_BROAD /* Broadcast TX Frame Count */
#define FramesWithExcessiveDeferral EMAC_TXC_XS_DFR /* TX Frames With Excessive Deferral Count */
#define MACControlFramesTransmitted EMAC_TXC_MACCTL /* MAC Control TX Frame Count */
#define FramesTransmittedAll EMAC_TXC_ALLFRM /* Overall TX Frame Count */
#define OctetsTransmittedAll EMAC_TXC_ALLOCT /* Overall TX Octet Count */
#define FramesLenEq64Transmitted EMAC_TXC_EQ64 /* Good TX Frame Count - Byte Count x = 64 */
#define FramesLen65_127Transmitted EMAC_TXC_LT128 /* Good TX Frame Count - Byte Count 64 < x < 128 */
#define FramesLen128_255Transmitted EMAC_TXC_LT256 /* Good TX Frame Count - Byte Count 128 <= x < 256 */
#define FramesLen256_511Transmitted EMAC_TXC_LT512 /* Good TX Frame Count - Byte Count 256 <= x < 512 */
#define FramesLen512_1023Transmitted EMAC_TXC_LT1024 /* Good TX Frame Count - Byte Count 512 <= x < 1024 */
#define FramesLen1024_MaxTransmitted EMAC_TXC_GE1024 /* Good TX Frame Count - Byte Count x >= 1024 */
#define TxAbortedFrames EMAC_TXC_ABORT /* Total TX Frames Aborted Count */
/* RSI Registers */
#define RSI_PWR_CONTROL 0xFFC03800 /* RSI Power Control Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PWR_CTL RSI_PWR_CONTROL /* SDH Power Control */
#define RSI_CLK_CONTROL 0xFFC03804 /* RSI Clock Control Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_CLK_CTL RSI_CLK_CONTROL /* SDH Clock Control */
#define RSI_ARGUMENT 0xFFC03808 /* RSI Argument Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_ARGUMENT RSI_ARGUMENT /* SDH Argument */
#define RSI_COMMAND 0xFFC0380C /* RSI Command Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_COMMAND RSI_COMMAND /* SDH Command */
#define RSI_RESP_CMD 0xFFC03810 /* RSI Response Command Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESP_CMD RSI_RESP_CMD /* SDH Response Command */
#define RSI_RESPONSE0 0xFFC03814 /* RSI Response Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESPONSE0 RSI_RESPONSE0 /* SDH Response0 */
#define RSI_RESPONSE1 0xFFC03818 /* RSI Response Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESPONSE1 RSI_RESPONSE1 /* SDH Response1 */
#define RSI_RESPONSE2 0xFFC0381C /* RSI Response Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESPONSE2 RSI_RESPONSE2 /* SDH Response2 */
#define RSI_RESPONSE3 0xFFC03820 /* RSI Response Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RESPONSE3 RSI_RESPONSE3 /* SDH Response3 */
#define RSI_DATA_TIMER 0xFFC03824 /* RSI Data Timer Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_DATA_TIMER RSI_DATA_TIMER /* SDH Data Timer */
#define RSI_DATA_LGTH 0xFFC03828 /* RSI Data Length Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_DATA_LGTH RSI_DATA_LGTH /* SDH Data Length */
#define RSI_DATA_CONTROL 0xFFC0382C /* RSI Data Control Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_DATA_CTL RSI_DATA_CONTROL /* SDH Data Control */
#define RSI_DATA_CNT 0xFFC03830 /* RSI Data Counter Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_DATA_CNT RSI_DATA_CNT /* SDH Data Counter */
#define RSI_STATUS 0xFFC03834 /* RSI Status Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_STATUS RSI_STATUS /* SDH Status */
#define RSI_STATUSCL 0xFFC03838 /* RSI Status Clear Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_STATUS_CLR RSI_STATUSCL /* SDH Status Clear */
#define RSI_MASK0 0xFFC0383C /* RSI Interrupt 0 Mask Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_MASK0 RSI_MASK0 /* SDH Interrupt0 Mask */
#define RSI_MASK1 0xFFC03840 /* RSI Interrupt 1 Mask Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_MASK1 RSI_MASK1 /* SDH Interrupt1 Mask */
#define RSI_FIFO_CNT 0xFFC03848 /* RSI FIFO Counter Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_FIFO_CNT RSI_FIFO_CNT /* SDH FIFO Counter */
#define RSI_CEATA_CONTROL 0xFFC0384C /* RSI CEATA Register */
#define RSI_FIFO 0xFFC03880 /* RSI Data FIFO Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_FIFO RSI_FIFO /* SDH Data FIFO */
#define RSI_ESTAT 0xFFC038C0 /* RSI Exception Status Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_E_STATUS RSI_ESTAT /* SDH Exception Status */
#define RSI_EMASK 0xFFC038C4 /* RSI Exception Mask Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_E_MASK RSI_EMASK /* SDH Exception Mask */
#define RSI_CONFIG 0xFFC038C8 /* RSI Configuration Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_CFG RSI_CONFIG /* SDH Configuration */
#define RSI_RD_WAIT_EN 0xFFC038CC /* RSI Read Wait Enable Register */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_RD_WAIT_EN RSI_RD_WAIT_EN /* SDH Read Wait Enable */
#define RSI_PID0 0xFFC038D0 /* RSI Peripheral ID Register 0 */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PID0 RSI_PID0 /* SDH Peripheral Identification0 */
#define RSI_PID1 0xFFC038D4 /* RSI Peripheral ID Register 1 */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PID1 RSI_PID1 /* SDH Peripheral Identification1 */
#define RSI_PID2 0xFFC038D8 /* RSI Peripheral ID Register 2 */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PID2 RSI_PID2 /* SDH Peripheral Identification2 */
#define RSI_PID3 0xFFC038DC /* RSI Peripheral ID Register 3 */
/* legacy register name (below) provided for backwards code compatibility */
#define SDH_PID3 RSI_PID3 /* SDH Peripheral Identification3 */
/* RSI Registers */
/***********************************************************************************
** System MMR Register Bits And Macros
**
** Disclaimer: All macros are intended to make C and Assembly code more readable.
** Use these macros carefully, as any that do left shifts for field
** depositing will result in the lower order bits being destroyed. Any
** macro that shifts left to properly position the bit-field should be
** used as part of an OR to initialize a register and NOT as a dynamic
** modifier UNLESS the lower order bits are saved and ORed back in when
** the macro is used.
*************************************************************************************/
/************************ ETHERNET 10/100 CONTROLLER MASKS ************************/
/* EMAC_OPMODE Masks */
#define RE 0x00000001 /* Receiver Enable */
#define ASTP 0x00000002 /* Enable Automatic Pad Stripping On RX Frames */
#define HU 0x00000010 /* Hash Filter Unicast Address */
#define HM 0x00000020 /* Hash Filter Multicast Address */
#define PAM 0x00000040 /* Pass-All-Multicast Mode Enable */
#define PR 0x00000080 /* Promiscuous Mode Enable */
#define IFE 0x00000100 /* Inverse Filtering Enable */
#define DBF 0x00000200 /* Disable Broadcast Frame Reception */
#define PBF 0x00000400 /* Pass Bad Frames Enable */
#define PSF 0x00000800 /* Pass Short Frames Enable */
#define RAF 0x00001000 /* Receive-All Mode */
#define TE 0x00010000 /* Transmitter Enable */
#define DTXPAD 0x00020000 /* Disable Automatic TX Padding */
#define DTXCRC 0x00040000 /* Disable Automatic TX CRC Generation */
#define DC 0x00080000 /* Deferral Check */
#define BOLMT 0x00300000 /* Back-Off Limit */
#define BOLMT_10 0x00000000 /* 10-bit range */
#define BOLMT_8 0x00100000 /* 8-bit range */
#define BOLMT_4 0x00200000 /* 4-bit range */
#define BOLMT_1 0x00300000 /* 1-bit range */
#define DRTY 0x00400000 /* Disable TX Retry On Collision */
#define LCTRE 0x00800000 /* Enable TX Retry On Late Collision */
#define RMII 0x01000000 /* RMII/MII* Mode */
#define RMII_10 0x02000000 /* Speed Select for RMII Port (10MBit/100MBit*) */
#define FDMODE 0x04000000 /* Duplex Mode Enable (Full/Half*) */
#define LB 0x08000000 /* Internal Loopback Enable */
#define DRO 0x10000000 /* Disable Receive Own Frames (Half-Duplex Mode) */
/* EMAC_STAADD Masks */
#define STABUSY 0x00000001 /* Initiate Station Mgt Reg Access / STA Busy Stat */
#define STAOP 0x00000002 /* Station Management Operation Code (Write/Read*) */
#define STADISPRE 0x00000004 /* Disable Preamble Generation */
#define STAIE 0x00000008 /* Station Mgt. Transfer Done Interrupt Enable */
#define REGAD 0x000007C0 /* STA Register Address */
#define PHYAD 0x0000F800 /* PHY Device Address */
#ifdef _MISRA_RULES
#define SET_REGAD(x) (((x)&0x1Fu)<< 6 ) /* Set STA Register Address */
#define SET_PHYAD(x) (((x)&0x1Fu)<< 11 ) /* Set PHY Device Address */
#else
#define SET_REGAD(x) (((x)&0x1F)<< 6 ) /* Set STA Register Address */
#define SET_PHYAD(x) (((x)&0x1F)<< 11 ) /* Set PHY Device Address */
#endif /* _MISRA_RULES */
/* EMAC_STADAT Mask */
#define STADATA 0x0000FFFF /* Station Management Data */
/* EMAC_FLC Masks */
#define FLCBUSY 0x00000001 /* Send Flow Ctrl Frame / Flow Ctrl Busy Status */
#define FLCE 0x00000002 /* Flow Control Enable */
#define PCF 0x00000004 /* Pass Control Frames */
#define BKPRSEN 0x00000008 /* Enable Backpressure */
#define FLCPAUSE 0xFFFF0000 /* Pause Time */
#ifdef _MISRA_RULES
#define SET_FLCPAUSE(x) (((x)&0xFFFFu)<< 16) /* Set Pause Time */
#else
#define SET_FLCPAUSE(x) (((x)&0xFFFF)<< 16) /* Set Pause Time */
#endif /* _MISRA_RULES */
/* EMAC_WKUP_CTL Masks */
#define CAPWKFRM 0x00000001 /* Capture Wake-Up Frames */
#define MPKE 0x00000002 /* Magic Packet Enable */
#define RWKE 0x00000004 /* Remote Wake-Up Frame Enable */
#define GUWKE 0x00000008 /* Global Unicast Wake Enable */
#define MPKS 0x00000020 /* Magic Packet Received Status */
#define RWKS 0x00000F00 /* Wake-Up Frame Received Status, Filters 3:0 */
/* EMAC_WKUP_FFCMD Masks */
#define WF0_E 0x00000001 /* Enable Wake-Up Filter 0 */
#define WF0_T 0x00000008 /* Wake-Up Filter 0 Addr Type (Multicast/Unicast*) */
#define WF1_E 0x00000100 /* Enable Wake-Up Filter 1 */
#define WF1_T 0x00000800 /* Wake-Up Filter 1 Addr Type (Multicast/Unicast*) */
#define WF2_E 0x00010000 /* Enable Wake-Up Filter 2 */
#define WF2_T 0x00080000 /* Wake-Up Filter 2 Addr Type (Multicast/Unicast*) */
#define WF3_E 0x01000000 /* Enable Wake-Up Filter 3 */
#define WF3_T 0x08000000 /* Wake-Up Filter 3 Addr Type (Multicast/Unicast*) */
/* EMAC_WKUP_FFOFF Masks */
#define WF0_OFF 0x000000FF /* Wake-Up Filter 0 Pattern Offset */
#define WF1_OFF 0x0000FF00 /* Wake-Up Filter 1 Pattern Offset */
#define WF2_OFF 0x00FF0000 /* Wake-Up Filter 2 Pattern Offset */
#define WF3_OFF 0xFF000000 /* Wake-Up Filter 3 Pattern Offset */
#ifdef _MISRA_RULES
#define SET_WF0_OFF(x) (((x)&0xFFu)<< 0 ) /* Set Wake-Up Filter 0 Byte Offset */
#define SET_WF1_OFF(x) (((x)&0xFFu)<< 8 ) /* Set Wake-Up Filter 1 Byte Offset */
#define SET_WF2_OFF(x) (((x)&0xFFu)<< 16 ) /* Set Wake-Up Filter 2 Byte Offset */
#define SET_WF3_OFF(x) (((x)&0xFFu)<< 24 ) /* Set Wake-Up Filter 3 Byte Offset */
#else
#define SET_WF0_OFF(x) (((x)&0xFF)<< 0 ) /* Set Wake-Up Filter 0 Byte Offset */
#define SET_WF1_OFF(x) (((x)&0xFF)<< 8 ) /* Set Wake-Up Filter 1 Byte Offset */
#define SET_WF2_OFF(x) (((x)&0xFF)<< 16 ) /* Set Wake-Up Filter 2 Byte Offset */
#define SET_WF3_OFF(x) (((x)&0xFF)<< 24 ) /* Set Wake-Up Filter 3 Byte Offset */
#endif /* _MISRA_RULES */
/* Set ALL Offsets */
#define SET_WF_OFFS(x0,x1,x2,x3) (SET_WF0_OFF((x0))|SET_WF1_OFF((x1))|SET_WF2_OFF((x2))|SET_WF3_OFF((x3)))
/* EMAC_WKUP_FFCRC0 Masks */
#define WF0_CRC 0x0000FFFF /* Wake-Up Filter 0 Pattern CRC */
#define WF1_CRC 0xFFFF0000 /* Wake-Up Filter 1 Pattern CRC */
#ifdef _MISRA_RULES
#define SET_WF0_CRC(x) (((x)&0xFFFFu)<< 0 ) /* Set Wake-Up Filter 0 Target CRC */
#define SET_WF1_CRC(x) (((x)&0xFFFFu)<< 16 ) /* Set Wake-Up Filter 1 Target CRC */
#else
#define SET_WF0_CRC(x) (((x)&0xFFFF)<< 0 ) /* Set Wake-Up Filter 0 Target CRC */
#define SET_WF1_CRC(x) (((x)&0xFFFF)<< 16 ) /* Set Wake-Up Filter 1 Target CRC */
#endif /* _MISRA_RULES */
/* EMAC_WKUP_FFCRC1 Masks */
#define WF2_CRC 0x0000FFFF /* Wake-Up Filter 2 Pattern CRC */
#define WF3_CRC 0xFFFF0000 /* Wake-Up Filter 3 Pattern CRC */
#ifdef _MISRA_RULES
#define SET_WF2_CRC(x) (((x)&0xFFFFu)<< 0 ) /* Set Wake-Up Filter 2 Target CRC */
#define SET_WF3_CRC(x) (((x)&0xFFFFu)<< 16 ) /* Set Wake-Up Filter 3 Target CRC */
#else
#define SET_WF2_CRC(x) (((x)&0xFFFF)<< 0 ) /* Set Wake-Up Filter 2 Target CRC */
#define SET_WF3_CRC(x) (((x)&0xFFFF)<< 16 ) /* Set Wake-Up Filter 3 Target CRC */
#endif /* _MISRA_RULES */
/* EMAC_SYSCTL Masks */
#define PHYIE 0x00000001 /* PHY_INT Interrupt Enable */
#define RXDWA 0x00000002 /* Receive Frame DMA Word Alignment (Odd/Even*) */
#define RXCKS 0x00000004 /* Enable RX Frame TCP/UDP Checksum Computation */
#define MDCDIV 0x00003F00 /* SCLK:MDC Clock Divisor [MDC=SCLK/(2*(N+1))] */
#ifdef _MISRA_RULES
#define SET_MDCDIV(x) (((x)&0x3Fu)<< 8) /* Set MDC Clock Divisor */
#else
#define SET_MDCDIV(x) (((x)&0x3F)<< 8) /* Set MDC Clock Divisor */
#endif /* _MISRA_RULES */
/* EMAC_SYSTAT Masks */
#define PHYINT 0x00000001 /* PHY_INT Interrupt Status */
#define MMCINT 0x00000002 /* MMC Counter Interrupt Status */
#define RXFSINT 0x00000004 /* RX Frame-Status Interrupt Status */
#define TXFSINT 0x00000008 /* TX Frame-Status Interrupt Status */
#define WAKEDET 0x00000010 /* Wake-Up Detected Status */
#define RXDMAERR 0x00000020 /* RX DMA Direction Error Status */
#define TXDMAERR 0x00000040 /* TX DMA Direction Error Status */
#define STMDONE 0x00000080 /* Station Mgt. Transfer Done Interrupt Status */
/* EMAC_RX_STAT, EMAC_RX_STKY, and EMAC_RX_IRQE Masks */
#define RX_FRLEN 0x000007FF /* Frame Length In Bytes */
#define RX_COMP 0x00001000 /* RX Frame Complete */
#define RX_OK 0x00002000 /* RX Frame Received With No Errors */
#define RX_LONG 0x00004000 /* RX Frame Too Long Error */
#define RX_ALIGN 0x00008000 /* RX Frame Alignment Error */
#define RX_CRC 0x00010000 /* RX Frame CRC Error */
#define RX_LEN 0x00020000 /* RX Frame Length Error */
#define RX_FRAG 0x00040000 /* RX Frame Fragment Error */
#define RX_ADDR 0x00080000 /* RX Frame Address Filter Failed Error */
#define RX_DMAO 0x00100000 /* RX Frame DMA Overrun Error */
#define RX_PHY 0x00200000 /* RX Frame PHY Error */
#define RX_LATE 0x00400000 /* RX Frame Late Collision Error */
#define RX_RANGE 0x00800000 /* RX Frame Length Field Out of Range Error */
#define RX_MULTI 0x01000000 /* RX Multicast Frame Indicator */
#define RX_BROAD 0x02000000 /* RX Broadcast Frame Indicator */
#define RX_CTL 0x04000000 /* RX Control Frame Indicator */
#define RX_UCTL 0x08000000 /* Unsupported RX Control Frame Indicator */
#define RX_TYPE 0x10000000 /* RX Typed Frame Indicator */
#define RX_VLAN1 0x20000000 /* RX VLAN1 Frame Indicator */
#define RX_VLAN2 0x40000000 /* RX VLAN2 Frame Indicator */
#define RX_ACCEPT 0x80000000 /* RX Frame Accepted Indicator */
/* EMAC_TX_STAT, EMAC_TX_STKY, and EMAC_TX_IRQE Masks */
#define TX_COMP 0x00000001 /* TX Frame Complete */
#define TX_OK 0x00000002 /* TX Frame Sent With No Errors */
#define TX_ECOLL 0x00000004 /* TX Frame Excessive Collision Error */
#define TX_LATE 0x00000008 /* TX Frame Late Collision Error */
#define TX_DMAU 0x00000010 /* TX Frame DMA Underrun Error (STAT) */
#define TX_MACE 0x00000010 /* Internal MAC Error Detected (STKY and IRQE) */
#define TX_EDEFER 0x00000020 /* TX Frame Excessive Deferral Error */
#define TX_BROAD 0x00000040 /* TX Broadcast Frame Indicator */
#define TX_MULTI 0x00000080 /* TX Multicast Frame Indicator */
#define TX_CCNT 0x00000F00 /* TX Frame Collision Count */
#define TX_DEFER 0x00001000 /* TX Frame Deferred Indicator */
#define TX_CRS 0x00002000 /* TX Frame Carrier Sense Not Asserted Error */
#define TX_LOSS 0x00004000 /* TX Frame Carrier Lost During TX Error */
#define TX_RETRY 0x00008000 /* TX Frame Successful After Retry */
#define TX_FRLEN 0x07FF0000 /* TX Frame Length (Bytes) */
/* EMAC_MMC_CTL Masks */
#define RSTC 0x00000001 /* Reset All Counters */
#define CROLL 0x00000002 /* Counter Roll-Over Enable */
#define CCOR 0x00000004 /* Counter Clear-On-Read Mode Enable */
#define MMCE 0x00000008 /* Enable MMC Counter Operation */
/* EMAC_MMC_RIRQS and EMAC_MMC_RIRQE Masks */
#define RX_OK_CNT 0x00000001 /* RX Frames Received With No Errors */
#define RX_FCS_CNT 0x00000002 /* RX Frames W/Frame Check Sequence Errors */
#define RX_ALIGN_CNT 0x00000004 /* RX Frames With Alignment Errors */
#define RX_OCTET_CNT 0x00000008 /* RX Octets Received OK */
#define RX_LOST_CNT 0x00000010 /* RX Frames Lost Due To Internal MAC RX Error */
#define RX_UNI_CNT 0x00000020 /* Unicast RX Frames Received OK */
#define RX_MULTI_CNT 0x00000040 /* Multicast RX Frames Received OK */
#define RX_BROAD_CNT 0x00000080 /* Broadcast RX Frames Received OK */
#define RX_IRL_CNT 0x00000100 /* RX Frames With In-Range Length Errors */
#define RX_ORL_CNT 0x00000200 /* RX Frames With Out-Of-Range Length Errors */
#define RX_LONG_CNT 0x00000400 /* RX Frames With Frame Too Long Errors */
#define RX_MACCTL_CNT 0x00000800 /* MAC Control RX Frames Received */
#define RX_OPCODE_CTL 0x00001000 /* Unsupported Op-Code RX Frames Received */
#define RX_PAUSE_CNT 0x00002000 /* PAUSEMAC Control RX Frames Received */
#define RX_ALLF_CNT 0x00004000 /* All RX Frames Received */
#define RX_ALLO_CNT 0x00008000 /* All RX Octets Received */
#define RX_TYPED_CNT 0x00010000 /* Typed RX Frames Received */
#define RX_SHORT_CNT 0x00020000 /* RX Frame Fragments (< 64 Bytes) Received */
#define RX_EQ64_CNT 0x00040000 /* 64-Byte RX Frames Received */
#define RX_LT128_CNT 0x00080000 /* 65-127-Byte RX Frames Received */
#define RX_LT256_CNT 0x00100000 /* 128-255-Byte RX Frames Received */
#define RX_LT512_CNT 0x00200000 /* 256-511-Byte RX Frames Received */
#define RX_LT1024_CNT 0x00400000 /* 512-1023-Byte RX Frames Received */
#define RX_GE1024_CNT 0x00800000 /* 1024-Max-Byte RX Frames Received */
/* EMAC_MMC_TIRQS and EMAC_MMC_TIRQE Masks */
#define TX_OK_CNT 0x00000001 /* TX Frames Sent OK */
#define TX_SCOLL_CNT 0x00000002 /* TX Frames With Single Collisions */
#define TX_MCOLL_CNT 0x00000004 /* TX Frames With Multiple Collisions */
#define TX_OCTET_CNT 0x00000008 /* TX Octets Sent OK */
#define TX_DEFER_CNT 0x00000010 /* TX Frames With Deferred Transmission */
#define TX_LATE_CNT 0x00000020 /* TX Frames With Late Collisions */
#define TX_ABORTC_CNT 0x00000040 /* TX Frames Aborted Due To Excess Collisions */
#define TX_LOST_CNT 0x00000080 /* TX Frames Lost Due To Internal MAC TX Error */
#define TX_CRS_CNT 0x00000100 /* TX Frames With Carrier Sense Errors */
#define TX_UNI_CNT 0x00000200 /* Unicast TX Frames Sent */
#define TX_MULTI_CNT 0x00000400 /* Multicast TX Frames Sent */
#define TX_BROAD_CNT 0x00000800 /* Broadcast TX Frames Sent */
#define TX_EXDEF_CTL 0x00001000 /* TX Frames With Excessive Deferral */
#define TX_MACCTL_CNT 0x00002000 /* MAC Control TX Frames Sent */
#define TX_ALLF_CNT 0x00004000 /* All TX Frames Sent */
#define TX_ALLO_CNT 0x00008000 /* All TX Octets Sent */
#define TX_EQ64_CNT 0x00010000 /* 64-Byte TX Frames Sent */
#define TX_LT128_CNT 0x00020000 /* 65-127-Byte TX Frames Sent */
#define TX_LT256_CNT 0x00040000 /* 128-255-Byte TX Frames Sent */
#define TX_LT512_CNT 0x00080000 /* 256-511-Byte TX Frames Sent */
#define TX_LT1024_CNT 0x00100000 /* 512-1023-Byte TX Frames Sent */
#define TX_GE1024_CNT 0x00200000 /* 1024-Max-Byte TX Frames Sent */
#define TX_ABORT_CNT 0x00400000 /* TX Frames Aborted */
/* Bit masks for EMAC_PTP_CTL */
#define EMAC_PTP_CTL_EN 0x1 /* Block Enable */
#define EMAC_PTP_CTL_TL 0x2 /* Time Stamp Lock */
#define EMAC_PTP_CTL_CKS 0xC /* Clock source for the PTP_TSYNC block */
#define EMAC_PTP_CTL_ASEN 0x10 /* Auxiliary Snapshot Enable */
#define EMAC_PTP_CTL_CKDIV 0x60 /* Divider for the selected PTP_CLK output */
#define EMAC_PTP_CTL_PPSEN 0x80 /* Pulse Per Second (PPS) Enable */
#define EMAC_PTP_CTL_EFTM 0x100 /* Ethernet Frame type field compare mask */
#define EMAC_PTP_CTL_IPVM 0x200 /* IP Version field compare mask */
#define EMAC_PTP_CTL_IPTM 0x400 /* IP Type Frame field (Layer 4 protocol) compare mask */
#define EMAC_PTP_CTL_UDPEM 0x800 /* UDP Event port field compare mask */
#define EMAC_PTP_CTL_PTPCM 0x1000 /* PTP Control field compare mask */
#define EMAC_PTP_CTL_CKOEN 0x2000 /* Clock output Enable */
/* Bit masks for EMAC_PTP_IE */
#define EMAC_PTP_IE_ALIE 0x1 /* Alarm Feature and Interrupt Enable */
#define EMAC_PTP_IE_RXEIE 0x2 /* Receive Event Interrupt Enable */
#define EMAC_PTP_IE_RXGIE 0x4 /* Receive General Interrupt Enable */
#define EMAC_PTP_IE_TXIE 0x8 /* Transmit Interrupt Enable */
#define EMAC_PTP_IE_TXOVE 0x10 /* Transmit Overrun Error Interrupt Enable */
#define EMAC_PTP_IE_RXOVE 0x20 /* Receive Overrun Error Interrupt Enable */
#define EMAC_PTP_IE_ASIE 0x40 /* Auxiliary Snapshot Interrupt Enable */
/* Bit masks for EMAC_PTP_ISTAT */
#define EMAC_PTP_ISTAT_ALS 0x1 /* Alarm Status */
#define EMAC_PTP_ISTAT_RXEL 0x2 /* Receive Event Interrupt Locked */
#define EMAC_PTP_ISTAT_RXGL 0x4 /* Receive General Interrupt Locked */
#define EMAC_PTP_ISTAT_TXTL 0x8 /* Transmit Snapshot Locked */
#define EMAC_PTP_ISTAT_RXOV 0x10 /* Receive Snapshot Overrun Status */
#define EMAC_PTP_ISTAT_TXOV 0x20 /* Transmit snapshot Overrun Status */
#define EMAC_PTP_ISTAT_ASL 0x40 /* Auxiliary Snapshot Interrupt Status */
/* Bit masks for RSI_PWR_CONTROL */
#define PWR_ON 0x3 /* Power On */
#define RSI_CMD_OD 0x40 /* Open Drain Output */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SD_CMD_OD RSI_CMD_OD /* Open Drain Output */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSD_CMD_OD 0x0
/* legacy bit mask (below) provided for backwards code compatibility */
#if 0
#define TBD 0x3c /* TBD */
#endif
/* legacy bit mask (below) provided for backwards code compatibility */
#define ROD_CTL 0x80
/* legacy bit mask (below) provided for backwards code compatibility */
#define nROD_CTL 0x80
/* Bit masks for RSI_CLK_CONTROL */
#define CLKDIV 0xff /* MC_CLK Divisor */
#define CLK_EN 0x100 /* MC_CLK Bus Clock Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CLK_E CLK_EN /* MC_CLK Bus Clock Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCLK_E 0x0
#define PWR_SV_EN 0x200 /* Power Save Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define PWR_SV_E PWR_SV_EN /* Power Save Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nPWR_SV_E 0x0
#define CLKDIV_BYPASS 0x400 /* Bypass Divisor */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCLKDIV_BYPASS 0x0
#define BUS_MODE 0x1800 /* Bus width selection */
/* legacy bit mask (below) provided for backwards code compatibility */
#define WIDE_BUS 0x0800 /* Wide Bus Mode Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nWIDE_BUS 0x0
/* Bit masks for RSI_COMMAND */
#define CMD_IDX 0x3f /* Command Index */
#define CMD_RSP_EN 0x40 /* Response */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_RSP CMD_RSP_EN /* Response */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_RSP 0x0
#define CMD_LRSP_EN 0x80 /* Long Response */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_L_RSP CMD_LRSP_EN /* Long Response */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_L_RSP 0x0
#define CMD_INT_EN 0x100 /* Command Interrupt */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_INT_E CMD_INT_EN /* Command Interrupt */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_INT_E 0x0
#define CMD_PEND_EN 0x200 /* Command Pending */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_PEND_E CMD_PEND_EN /* Command Pending */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_PEND_E 0x0
#define CMD_EN 0x400 /* Command Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define CMD_E CMD_EN /* Command Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_E 0x0
/* Bit masks for RSI_RESP_CMD */
#define RESP_CMD 0x3f /* Response Command */
/* Bit masks for RSI_DATA_LGTH */
#define DATA_LENGTH 0xffff /* Data Length */
/* Bit masks for RSI_DATA_CONTROL */
#define DATA_EN 0x1 /* Data Transfer Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_E DATA_EN /* Data Transfer Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDTX_E 0x0
#define DATA_DIR 0x2 /* Data Transfer Direction */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_DIR DATA_DIR /* Data Transfer Direction */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDTX_DIR 0x0
#define DATA_MODE 0x4 /* Data Transfer Mode */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_MODE DATA_MODE /* Data Transfer Mode */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDTX_MODE 0x0
#define DATA_DMA_EN 0x8 /* Data Transfer DMA Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_DMA_E 0x8 /* Data Transfer DMA Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDTX_DMA_E 0x0
#define DATA_BLK_LGTH 0xf0 /* Data Transfer Block Length */
/* legacy bit mask (below) provided for backwards code compatibility */
#define DTX_BLK_LGTH 0xf0 /* Data Transfer Block Length */
#define CEATA_EN 0x100 /* CE-ATA operation mode enable */
#define CEATA_CCS_EN 0x200 /* CE-ATA CCS mode enable */
/* Bit masks for RSI_DATA_CNT */
#define DATA_COUNT 0xffff /* Data Count */
/* Bit masks for RSI_STATUS */
#define CMD_CRC_FAIL 0x1 /* CMD CRC Fail */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_CRC_FAIL 0x0
#define DAT_CRC_FAIL 0x2 /* Data CRC Fail */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_CRC_FAIL 0x0
#define CMD_TIMEOUT 0x4 /* CMD Time Out */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_TIMEOUT 0x0
#define DAT_TIMEOUT 0x8 /* Data Time Out */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_TIMEOUT 0x0
#define TX_UNDERRUN 0x10 /* Transmit Underrun */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_UNDERRUN 0x0
#define RX_OVERRUN 0x20 /* Receive Overrun */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_OVERRUN 0x0
#define CMD_RESP_END 0x40 /* CMD Response End */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_RESP_END 0x0
#define CMD_SENT 0x80 /* CMD Sent */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_SENT 0x0
#define DAT_END 0x100 /* Data End */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_END 0x0
#define START_BIT_ERR 0x200 /* Start Bit Error */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSTART_BIT_ERR 0x0
#define DAT_BLK_END 0x400 /* Data Block End */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_BLK_END 0x0
#define CMD_ACT 0x800 /* CMD Active */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_ACT 0x0
#define TX_ACT 0x1000 /* Transmit Active */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_ACT 0x0
#define RX_ACT 0x2000 /* Receive Active */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_ACT 0x0
#define TX_FIFO_STAT 0x4000 /* Transmit FIFO Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_STAT 0x0
#define RX_FIFO_STAT 0x8000 /* Receive FIFO Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_STAT 0x0
#define TX_FIFO_FULL 0x10000 /* Transmit FIFO Full */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_FULL 0x0
#define RX_FIFO_FULL 0x20000 /* Receive FIFO Full */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_FULL 0x0
#define TX_FIFO_ZERO 0x40000 /* Transmit FIFO Empty */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_ZERO 0x0
#define RX_DAT_ZERO 0x80000 /* Receive FIFO Empty */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_DAT_ZERO 0x0
#define TX_DAT_RDY 0x100000 /* Transmit Data Available */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_DAT_RDY 0x0
#define RX_FIFO_RDY 0x200000 /* Receive Data Available */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_RDY 0x0
/* Bit masks for RSI_STATCL */
#define CMD_CRC_FAIL_STAT 0x1 /* CMD CRC Fail Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_CRC_FAIL_STAT 0x0
#define DAT_CRC_FAIL_STAT 0x2 /* Data CRC Fail Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_CRC_FAIL_STAT 0x0
#define CMD_TIMEOUT_STAT 0x4 /* CMD Time Out Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_TIMEOUT_STAT 0x0
#define DAT_TIMEOUT_STAT 0x8 /* Data Time Out status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_TIMEOUT_STAT 0x0
#define TX_UNDERRUN_STAT 0x10 /* Transmit Underrun Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_UNDERRUN_STAT 0x0
#define RX_OVERRUN_STAT 0x20 /* Receive Overrun Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_OVERRUN_STAT 0x0
#define CMD_RESP_END_STAT 0x40 /* CMD Response End Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_RESP_END_STAT 0x0
#define CMD_SENT_STAT 0x80 /* CMD Sent Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_SENT_STAT 0x0
#define DAT_END_STAT 0x100 /* Data End Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_END_STAT 0x0
#define START_BIT_ERR_STAT 0x200 /* Start Bit Error Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSTART_BIT_ERR_STAT 0x0
#define DAT_BLK_END_STAT 0x400 /* Data Block End Status */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_BLK_END_STAT 0x0
/* Bit masks for RSI_MASKx */
#define CMD_CRC_FAIL_MASK 0x1 /* CMD CRC Fail Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_CRC_FAIL_MASK 0x0
#define DAT_CRC_FAIL_MASK 0x2 /* Data CRC Fail Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_CRC_FAIL_MASK 0x0
#define CMD_TIMEOUT_MASK 0x4 /* CMD Time Out Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_TIMEOUT_MASK 0x0
#define DAT_TIMEOUT_MASK 0x8 /* Data Time Out Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_TIMEOUT_MASK 0x0
#define TX_UNDERRUN_MASK 0x10 /* Transmit Underrun Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_UNDERRUN_MASK 0x0
#define RX_OVERRUN_MASK 0x20 /* Receive Overrun Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_OVERRUN_MASK 0x0
#define CMD_RESP_END_MASK 0x40 /* CMD Response End Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_RESP_END_MASK 0x0
#define CMD_SENT_MASK 0x80 /* CMD Sent Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_SENT_MASK 0x0
#define DAT_END_MASK 0x100 /* Data End Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_END_MASK 0x0
#define START_BIT_ERR_MASK 0x200 /* Start Bit Error Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSTART_BIT_ERR_MASK 0x0
#define DAT_BLK_END_MASK 0x400 /* Data Block End Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nDAT_BLK_END_MASK 0x0
#define CMD_ACT_MASK 0x800 /* CMD Active Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCMD_ACT_MASK 0x0
#define TX_ACT_MASK 0x1000 /* Transmit Active Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_ACT_MASK 0x0
#define RX_ACT_MASK 0x2000 /* Receive Active Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_ACT_MASK 0x0
#define TX_FIFO_STAT_MASK 0x4000 /* Transmit FIFO Status Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_STAT_MASK 0x0
#define RX_FIFO_STAT_MASK 0x8000 /* Receive FIFO Status Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_STAT_MASK 0x0
#define TX_FIFO_FULL_MASK 0x10000 /* Transmit FIFO Full Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_FULL_MASK 0x0
#define RX_FIFO_FULL_MASK 0x20000 /* Receive FIFO Full Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_FULL_MASK 0x0
#define TX_FIFO_ZERO_MASK 0x40000 /* Transmit FIFO Empty Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_FIFO_ZERO_MASK 0x0
#define RX_DAT_ZERO_MASK 0x80000 /* Receive FIFO Empty Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_DAT_ZERO_MASK 0x0
#define TX_DAT_RDY_MASK 0x100000 /* Transmit Data Available Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nTX_DAT_RDY_MASK 0x0
#define RX_FIFO_RDY_MASK 0x200000 /* Receive Data Available Mask */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRX_FIFO_RDY_MASK 0x0
/* Bit masks for RSI_FIFO_CNT */
#define FIFO_COUNT 0x7fff /* FIFO Count */
/* Bit masks for RSI_CEATA_CONTROL */
#define CEATA_TX_CCSD 0x1 /* Send CE-ATA CCSD sequence */
/* Bit masks for RSI_ESTAT */
#define SDIO_INT_DET 0x2 /* SDIO Int Detected */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSDIO_INT_DET 0x0
#define SD_CARD_DET 0x10 /* SD Card Detect */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSD_CARD_DET 0x0
#define CEATA_INT_DET 0x20
/* Bit masks for RSI_EMASK */
#define SDIO_INT_DET_MASK 0x2 /* Mask SDIO Int Detected */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SDIO_MSK SDIO_INT_DET_MASK /* Mask SDIO Int Detected */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSDIO_MSK 0x0
#define SD_CARD_DET_MASK 0x10 /* Mask Card Detect */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SCD_MASK SD_CARD_DET_MASK /* Mask Card Detect */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSCD_MSK 0x0
#define CEATA_INT_DET_MASK 0x20
/* Bit masks for SDH_CFG */
/* Left in for backwards compatibility */
#define RSI_CLK_EN 0x1
/* legacy bit mask (below) provided for backwards code compatibility */
#define CLKS_EN RSI_CLK_EN /* Clocks Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nCLKS_EN 0x0
#define SDIO4_EN 0x4 /* SDIO 4-Bit Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SD4E SDIO4_EN /* SDIO 4-Bit Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSD4E 0x0
#define MW_EN 0x8 /* Moving Window Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define MWE MW_EN /* Moving Window Enable */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nMWE 0x0
#define RSI_RST 0x10 /* SDMMC Reset */
/* legacy bit mask (below) provided for backwards code compatibility */
#define SD_RST RSI_RST /* SDMMC Reset */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nSD_RST 0x0
#define PU_DAT 0x20 /* Pull-up SD_DAT */
/* legacy bit mask (below) provided for backwards code compatibility */
#define PUP_SDDAT PU_DAT /* Pull-up SD_DAT */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nPUP_SDDAT 0x0
#define PU_DAT3 0x40 /* Pull-up SD_DAT3 */
/* legacy bit mask (below) provided for backwards code compatibility */
#define PUP_SDDAT3 PU_DAT3 /* Pull-up SD_DAT3 */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nPUP_SDDAT3 0x0
#define PD_DAT3 0x80 /* Pull-down SD_DAT3 */
/* legacy bit mask (below) provided for backwards code compatibility */
#define PD_SDDAT3 PD_DAT3 /* Pull-down SD_DAT3 */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nPD_SDDAT3 0x0
/* Bit masks for RSI_RD_WAIT_EN */
#define SDIO_RWR 0x1 /* Read Wait Request */
/* legacy bit mask (below) provided for backwards code compatibility */
#define RWR SDIO_RWR /* Read Wait Request */
/* legacy bit mask (below) provided for backwards code compatibility */
#define nRWR 0x0
/* Bit masks for RSI_PIDx */
#define RSI_PID 0xff /* RSI Peripheral ID */
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _DEF_BF518_H */

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,33 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This include file contains a list of macro "defines" to enable the programmer
** to use symbolic names for register-access and bit-manipulation.
**
**/
#ifndef _DEF_BF523_H
#define _DEF_BF523_H
/* Include all Core registers and bit definitions */
#include <def_LPBlackfin.h>
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF523 */
/* Include defBF52x_base.h for the set of #defines that are common to all ADSP-BF52x processors */
#include <defBF52x_base.h>
#endif /* _DEF_BF523_H */

View File

@ -0,0 +1,704 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This include file contains a list of macro "defines" to enable the programmer
** to use symbolic names for register-access and bit-manipulation.
**
**/
#ifndef _DEF_BF524_H
#define _DEF_BF524_H
/* Include all Core registers and bit definitions */
#include <def_LPBlackfin.h>
/* SYSTEM & MMR ADDRESS DEFINITIONS FOR ADSP-BF524 */
/* Include defBF52x_base.h for the set of #defines that are common to all ADSP-BF52x processors */
#include <defBF52x_base.h>
/* The following are the #defines needed by ADSP-BF524 that are not in the common header */
/* USB Control Registers */
#define USB_FADDR 0xffc03800 /* Function address register */
#define USB_POWER 0xffc03804 /* Power management register */
#define USB_INTRTX 0xffc03808 /* Interrupt register for endpoint 0 and Tx endpoint 1 to 7 */
#define USB_INTRRX 0xffc0380c /* Interrupt register for Rx endpoints 1 to 7 */
#define USB_INTRTXE 0xffc03810 /* Interrupt enable register for IntrTx */
#define USB_INTRRXE 0xffc03814 /* Interrupt enable register for IntrRx */
#define USB_INTRUSB 0xffc03818 /* Interrupt register for common USB interrupts */
#define USB_INTRUSBE 0xffc0381c /* Interrupt enable register for IntrUSB */
#define USB_FRAME 0xffc03820 /* USB frame number */
#define USB_INDEX 0xffc03824 /* Index register for selecting the indexed endpoint registers */
#define USB_TESTMODE 0xffc03828 /* Enabled USB 20 test modes */
#define USB_GLOBINTR 0xffc0382c /* Global Interrupt Mask register and Wakeup Exception Interrupt */
#define USB_GLOBAL_CTL 0xffc03830 /* Global Clock Control for the core */
/* USB Packet Control Registers */
#define USB_TX_MAX_PACKET 0xffc03840 /* Maximum packet size for Host Tx endpoint */
#define USB_CSR0 0xffc03844 /* Control Status register for endpoint 0 and Control Status register for Host Tx endpoint */
#define USB_TXCSR 0xffc03844 /* Control Status register for endpoint 0 and Control Status register for Host Tx endpoint */
#define USB_RX_MAX_PACKET 0xffc03848 /* Maximum packet size for Host Rx endpoint */
#define USB_RXCSR 0xffc0384c /* Control Status register for Host Rx endpoint */
#define USB_COUNT0 0xffc03850 /* Number of bytes received in endpoint 0 FIFO and Number of bytes received in Host Tx endpoint */
#define USB_RXCOUNT 0xffc03850 /* Number of bytes received in endpoint 0 FIFO and Number of bytes received in Host Tx endpoint */
#define USB_TXTYPE 0xffc03854 /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint */
#define USB_NAKLIMIT0 0xffc03858 /* Sets the NAK response timeout on Endpoint 0 and on Bulk transfers for Host Tx endpoint */
#define USB_TXINTERVAL 0xffc03858 /* Sets the NAK response timeout on Endpoint 0 and on Bulk transfers for Host Tx endpoint */
#define USB_RXTYPE 0xffc0385c /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint */
#define USB_RXINTERVAL 0xffc03860 /* Sets the polling interval for Interrupt and Isochronous transfers or the NAK response timeout on Bulk transfers */
#define USB_TXCOUNT 0xffc03868 /* Number of bytes to be written to the selected endpoint Tx FIFO */
/* USB Endpoint FIFO Registers */
#define USB_EP0_FIFO 0xffc03880 /* Endpoint 0 FIFO */
#define USB_EP1_FIFO 0xffc03888 /* Endpoint 1 FIFO */
#define USB_EP2_FIFO 0xffc03890 /* Endpoint 2 FIFO */
#define USB_EP3_FIFO 0xffc03898 /* Endpoint 3 FIFO */
#define USB_EP4_FIFO 0xffc038a0 /* Endpoint 4 FIFO */
#define USB_EP5_FIFO 0xffc038a8 /* Endpoint 5 FIFO */
#define USB_EP6_FIFO 0xffc038b0 /* Endpoint 6 FIFO */
#define USB_EP7_FIFO 0xffc038b8 /* Endpoint 7 FIFO */
/* USB OTG Control Registers */
#define USB_OTG_DEV_CTL 0xffc03900 /* OTG Device Control Register */
#define USB_OTG_VBUS_IRQ 0xffc03904 /* OTG VBUS Control Interrupts */
#define USB_OTG_VBUS_MASK 0xffc03908 /* VBUS Control Interrupt Enable */
/* USB Phy Control Registers */
#define USB_LINKINFO 0xffc03948 /* Enables programming of some PHY-side delays */
#define USB_VPLEN 0xffc0394c /* Determines duration of VBUS pulse for VBUS charging */
#define USB_HS_EOF1 0xffc03950 /* Time buffer for High-Speed transactions */
#define USB_FS_EOF1 0xffc03954 /* Time buffer for Full-Speed transactions */
#define USB_LS_EOF1 0xffc03958 /* Time buffer for Low-Speed transactions */
/* (APHY_CNTRL is for ADI usage only) */
#define USB_APHY_CNTRL 0xffc039e0 /* Register that increases visibility of Analog PHY */
/* (APHY_CALIB is for ADI usage only) */
#define USB_APHY_CALIB 0xffc039e4 /* Register used to set some calibration values */
#define USB_APHY_CNTRL2 0xffc039e8 /* Register used to prevent re-enumeration once Moab goes into hibernate mode */
/* (PHY_TEST is for ADI usage only) */
#define USB_PHY_TEST 0xffc039ec /* Used for reducing simulation time and simplifies FIFO testability */
#define USB_PLLOSC_CTRL 0xffc039f0 /* Used to program different parameters for USB PLL and Oscillator */
#define USB_SRP_CLKDIV 0xffc039f4 /* Used to program clock divide value for the clock fed to the SRP detection logic */
/* USB Endpoint 0 Control Registers */
#define USB_EP_NI0_TXMAXP 0xffc03a00 /* Maximum packet size for Host Tx endpoint0 */
#define USB_EP_NI0_TXCSR 0xffc03a04 /* Control Status register for endpoint 0 */
#define USB_EP_NI0_RXMAXP 0xffc03a08 /* Maximum packet size for Host Rx endpoint0 */
#define USB_EP_NI0_RXCSR 0xffc03a0c /* Control Status register for Host Rx endpoint0 */
#define USB_EP_NI0_RXCOUNT 0xffc03a10 /* Number of bytes received in endpoint 0 FIFO */
#define USB_EP_NI0_TXTYPE 0xffc03a14 /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint0 */
#define USB_EP_NI0_TXINTERVAL 0xffc03a18 /* Sets the NAK response timeout on Endpoint 0 */
#define USB_EP_NI0_RXTYPE 0xffc03a1c /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint0 */
#define USB_EP_NI0_RXINTERVAL 0xffc03a20 /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint0 */
#define USB_EP_NI0_TXCOUNT 0xffc03a28 /* Number of bytes to be written to the endpoint0 Tx FIFO */
/* USB Endpoint 1 Control Registers */
#define USB_EP_NI1_TXMAXP 0xffc03a40 /* Maximum packet size for Host Tx endpoint1 */
#define USB_EP_NI1_TXCSR 0xffc03a44 /* Control Status register for endpoint1 */
#define USB_EP_NI1_RXMAXP 0xffc03a48 /* Maximum packet size for Host Rx endpoint1 */
#define USB_EP_NI1_RXCSR 0xffc03a4c /* Control Status register for Host Rx endpoint1 */
#define USB_EP_NI1_RXCOUNT 0xffc03a50 /* Number of bytes received in endpoint1 FIFO */
#define USB_EP_NI1_TXTYPE 0xffc03a54 /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint1 */
#define USB_EP_NI1_TXINTERVAL 0xffc03a58 /* Sets the NAK response timeout on Endpoint1 */
#define USB_EP_NI1_RXTYPE 0xffc03a5c /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint1 */
#define USB_EP_NI1_RXINTERVAL 0xffc03a60 /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint1 */
#define USB_EP_NI1_TXCOUNT 0xffc03a68 /* Number of bytes to be written to the+H102 endpoint1 Tx FIFO */
/* USB Endpoint 2 Control Registers */
#define USB_EP_NI2_TXMAXP 0xffc03a80 /* Maximum packet size for Host Tx endpoint2 */
#define USB_EP_NI2_TXCSR 0xffc03a84 /* Control Status register for endpoint2 */
#define USB_EP_NI2_RXMAXP 0xffc03a88 /* Maximum packet size for Host Rx endpoint2 */
#define USB_EP_NI2_RXCSR 0xffc03a8c /* Control Status register for Host Rx endpoint2 */
#define USB_EP_NI2_RXCOUNT 0xffc03a90 /* Number of bytes received in endpoint2 FIFO */
#define USB_EP_NI2_TXTYPE 0xffc03a94 /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint2 */
#define USB_EP_NI2_TXINTERVAL 0xffc03a98 /* Sets the NAK response timeout on Endpoint2 */
#define USB_EP_NI2_RXTYPE 0xffc03a9c /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint2 */
#define USB_EP_NI2_RXINTERVAL 0xffc03aa0 /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint2 */
#define USB_EP_NI2_TXCOUNT 0xffc03aa8 /* Number of bytes to be written to the endpoint2 Tx FIFO */
/* USB Endpoint 3 Control Registers */
#define USB_EP_NI3_TXMAXP 0xffc03ac0 /* Maximum packet size for Host Tx endpoint3 */
#define USB_EP_NI3_TXCSR 0xffc03ac4 /* Control Status register for endpoint3 */
#define USB_EP_NI3_RXMAXP 0xffc03ac8 /* Maximum packet size for Host Rx endpoint3 */
#define USB_EP_NI3_RXCSR 0xffc03acc /* Control Status register for Host Rx endpoint3 */
#define USB_EP_NI3_RXCOUNT 0xffc03ad0 /* Number of bytes received in endpoint3 FIFO */
#define USB_EP_NI3_TXTYPE 0xffc03ad4 /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint3 */
#define USB_EP_NI3_TXINTERVAL 0xffc03ad8 /* Sets the NAK response timeout on Endpoint3 */
#define USB_EP_NI3_RXTYPE 0xffc03adc /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint3 */
#define USB_EP_NI3_RXINTERVAL 0xffc03ae0 /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint3 */
#define USB_EP_NI3_TXCOUNT 0xffc03ae8 /* Number of bytes to be written to the H124endpoint3 Tx FIFO */
/* USB Endpoint 4 Control Registers */
#define USB_EP_NI4_TXMAXP 0xffc03b00 /* Maximum packet size for Host Tx endpoint4 */
#define USB_EP_NI4_TXCSR 0xffc03b04 /* Control Status register for endpoint4 */
#define USB_EP_NI4_RXMAXP 0xffc03b08 /* Maximum packet size for Host Rx endpoint4 */
#define USB_EP_NI4_RXCSR 0xffc03b0c /* Control Status register for Host Rx endpoint4 */
#define USB_EP_NI4_RXCOUNT 0xffc03b10 /* Number of bytes received in endpoint4 FIFO */
#define USB_EP_NI4_TXTYPE 0xffc03b14 /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint4 */
#define USB_EP_NI4_TXINTERVAL 0xffc03b18 /* Sets the NAK response timeout on Endpoint4 */
#define USB_EP_NI4_RXTYPE 0xffc03b1c /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint4 */
#define USB_EP_NI4_RXINTERVAL 0xffc03b20 /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint4 */
#define USB_EP_NI4_TXCOUNT 0xffc03b28 /* Number of bytes to be written to the endpoint4 Tx FIFO */
/* USB Endpoint 5 Control Registers */
#define USB_EP_NI5_TXMAXP 0xffc03b40 /* Maximum packet size for Host Tx endpoint5 */
#define USB_EP_NI5_TXCSR 0xffc03b44 /* Control Status register for endpoint5 */
#define USB_EP_NI5_RXMAXP 0xffc03b48 /* Maximum packet size for Host Rx endpoint5 */
#define USB_EP_NI5_RXCSR 0xffc03b4c /* Control Status register for Host Rx endpoint5 */
#define USB_EP_NI5_RXCOUNT 0xffc03b50 /* Number of bytes received in endpoint5 FIFO */
#define USB_EP_NI5_TXTYPE 0xffc03b54 /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint5 */
#define USB_EP_NI5_TXINTERVAL 0xffc03b58 /* Sets the NAK response timeout on Endpoint5 */
#define USB_EP_NI5_RXTYPE 0xffc03b5c /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint5 */
#define USB_EP_NI5_RXINTERVAL 0xffc03b60 /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint5 */
#define USB_EP_NI5_TXCOUNT 0xffc03b68 /* Number of bytes to be written to the endpoint5 Tx FIFO */
/* USB Endpoint 6 Control Registers */
#define USB_EP_NI6_TXMAXP 0xffc03b80 /* Maximum packet size for Host Tx endpoint6 */
#define USB_EP_NI6_TXCSR 0xffc03b84 /* Control Status register for endpoint6 */
#define USB_EP_NI6_RXMAXP 0xffc03b88 /* Maximum packet size for Host Rx endpoint6 */
#define USB_EP_NI6_RXCSR 0xffc03b8c /* Control Status register for Host Rx endpoint6 */
#define USB_EP_NI6_RXCOUNT 0xffc03b90 /* Number of bytes received in endpoint6 FIFO */
#define USB_EP_NI6_TXTYPE 0xffc03b94 /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint6 */
#define USB_EP_NI6_TXINTERVAL 0xffc03b98 /* Sets the NAK response timeout on Endpoint6 */
#define USB_EP_NI6_RXTYPE 0xffc03b9c /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint6 */
#define USB_EP_NI6_RXINTERVAL 0xffc03ba0 /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint6 */
#define USB_EP_NI6_TXCOUNT 0xffc03ba8 /* Number of bytes to be written to the endpoint6 Tx FIFO */
/* USB Endpoint 7 Control Registers */
#define USB_EP_NI7_TXMAXP 0xffc03bc0 /* Maximum packet size for Host Tx endpoint7 */
#define USB_EP_NI7_TXCSR 0xffc03bc4 /* Control Status register for endpoint7 */
#define USB_EP_NI7_RXMAXP 0xffc03bc8 /* Maximum packet size for Host Rx endpoint7 */
#define USB_EP_NI7_RXCSR 0xffc03bcc /* Control Status register for Host Rx endpoint7 */
#define USB_EP_NI7_RXCOUNT 0xffc03bd0 /* Number of bytes received in endpoint7 FIFO */
#define USB_EP_NI7_TXTYPE 0xffc03bd4 /* Sets the transaction protocol and peripheral endpoint number for the Host Tx endpoint7 */
#define USB_EP_NI7_TXINTERVAL 0xffc03bd8 /* Sets the NAK response timeout on Endpoint7 */
#define USB_EP_NI7_RXTYPE 0xffc03bdc /* Sets the transaction protocol and peripheral endpoint number for the Host Rx endpoint7 */
#define USB_EP_NI7_RXINTERVAL 0xffc03bf0 /* Sets the polling interval for Interrupt/Isochronous transfers or the NAK response timeout on Bulk transfers for Host Rx endpoint7 */
#define USB_EP_NI7_TXCOUNT 0xffc03bf8 /* Number of bytes to be written to the endpoint7 Tx FIFO */
#define USB_DMA_INTERRUPT 0xffc03c00 /* Indicates pending interrupts for the DMA channels */
/* USB Channel 0 Config Registers */
#define USB_DMA0CONTROL 0xffc03c04 /* DMA master channel 0 configuration */
#define USB_DMA0ADDRLOW 0xffc03c08 /* Lower 16-bits of memory source/destination address for DMA master channel 0 */
#define USB_DMA0ADDRHIGH 0xffc03c0c /* Upper 16-bits of memory source/destination address for DMA master channel 0 */
#define USB_DMA0COUNTLOW 0xffc03c10 /* Lower 16-bits of byte count of DMA transfer for DMA master channel 0 */
#define USB_DMA0COUNTHIGH 0xffc03c14 /* Upper 16-bits of byte count of DMA transfer for DMA master channel 0 */
/* USB Channel 1 Config Registers */
#define USB_DMA1CONTROL 0xffc03c24 /* DMA master channel 1 configuration */
#define USB_DMA1ADDRLOW 0xffc03c28 /* Lower 16-bits of memory source/destination address for DMA master channel 1 */
#define USB_DMA1ADDRHIGH 0xffc03c2c /* Upper 16-bits of memory source/destination address for DMA master channel 1 */
#define USB_DMA1COUNTLOW 0xffc03c30 /* Lower 16-bits of byte count of DMA transfer for DMA master channel 1 */
#define USB_DMA1COUNTHIGH 0xffc03c34 /* Upper 16-bits of byte count of DMA transfer for DMA master channel 1 */
/* USB Channel 2 Config Registers */
#define USB_DMA2CONTROL 0xffc03c44 /* DMA master channel 2 configuration */
#define USB_DMA2ADDRLOW 0xffc03c48 /* Lower 16-bits of memory source/destination address for DMA master channel 2 */
#define USB_DMA2ADDRHIGH 0xffc03c4c /* Upper 16-bits of memory source/destination address for DMA master channel 2 */
#define USB_DMA2COUNTLOW 0xffc03c50 /* Lower 16-bits of byte count of DMA transfer for DMA master channel 2 */
#define USB_DMA2COUNTHIGH 0xffc03c54 /* Upper 16-bits of byte count of DMA transfer for DMA master channel 2 */
/* USB Channel 3 Config Registers */
#define USB_DMA3CONTROL 0xffc03c64 /* DMA master channel 3 configuration */
#define USB_DMA3ADDRLOW 0xffc03c68 /* Lower 16-bits of memory source/destination address for DMA master channel 3 */
#define USB_DMA3ADDRHIGH 0xffc03c6c /* Upper 16-bits of memory source/destination address for DMA master channel 3 */
#define USB_DMA3COUNTLOW 0xffc03c70 /* Lower 16-bits of byte count of DMA transfer for DMA master channel 3 */
#define USB_DMA3COUNTHIGH 0xffc03c74 /* Upper 16-bits of byte count of DMA transfer for DMA master channel 3 */
/* USB Channel 4 Config Registers */
#define USB_DMA4CONTROL 0xffc03c84 /* DMA master channel 4 configuration */
#define USB_DMA4ADDRLOW 0xffc03c88 /* Lower 16-bits of memory source/destination address for DMA master channel 4 */
#define USB_DMA4ADDRHIGH 0xffc03c8c /* Upper 16-bits of memory source/destination address for DMA master channel 4 */
#define USB_DMA4COUNTLOW 0xffc03c90 /* Lower 16-bits of byte count of DMA transfer for DMA master channel 4 */
#define USB_DMA4COUNTHIGH 0xffc03c94 /* Upper 16-bits of byte count of DMA transfer for DMA master channel 4 */
/* USB Channel 5 Config Registers */
#define USB_DMA5CONTROL 0xffc03ca4 /* DMA master channel 5 configuration */
#define USB_DMA5ADDRLOW 0xffc03ca8 /* Lower 16-bits of memory source/destination address for DMA master channel 5 */
#define USB_DMA5ADDRHIGH 0xffc03cac /* Upper 16-bits of memory source/destination address for DMA master channel 5 */
#define USB_DMA5COUNTLOW 0xffc03cb0 /* Lower 16-bits of byte count of DMA transfer for DMA master channel 5 */
#define USB_DMA5COUNTHIGH 0xffc03cb4 /* Upper 16-bits of byte count of DMA transfer for DMA master channel 5 */
/* USB Channel 6 Config Registers */
#define USB_DMA6CONTROL 0xffc03cc4 /* DMA master channel 6 configuration */
#define USB_DMA6ADDRLOW 0xffc03cc8 /* Lower 16-bits of memory source/destination address for DMA master channel 6 */
#define USB_DMA6ADDRHIGH 0xffc03ccc /* Upper 16-bits of memory source/destination address for DMA master channel 6 */
#define USB_DMA6COUNTLOW 0xffc03cd0 /* Lower 16-bits of byte count of DMA transfer for DMA master channel 6 */
#define USB_DMA6COUNTHIGH 0xffc03cd4 /* Upper 16-bits of byte count of DMA transfer for DMA master channel 6 */
/* USB Channel 7 Config Registers */
#define USB_DMA7CONTROL 0xffc03ce4 /* DMA master channel 7 configuration */
#define USB_DMA7ADDRLOW 0xffc03ce8 /* Lower 16-bits of memory source/destination address for DMA master channel 7 */
#define USB_DMA7ADDRHIGH 0xffc03cec /* Upper 16-bits of memory source/destination address for DMA master channel 7 */
#define USB_DMA7COUNTLOW 0xffc03cf0 /* Lower 16-bits of byte count of DMA transfer for DMA master channel 7 */
#define USB_DMA7COUNTHIGH 0xffc03cf4 /* Upper 16-bits of byte count of DMA transfer for DMA master channel 7 */
/* Bit masks for USB_FADDR */
#define FUNCTION_ADDRESS 0x7f /* Function address */
/* Bit masks for USB_POWER */
#define ENABLE_SUSPENDM 0x1 /* enable SuspendM output */
#define nENABLE_SUSPENDM 0x0
#define SUSPEND_MODE 0x2 /* Suspend Mode indicator */
#define nSUSPEND_MODE 0x0
#define RESUME_MODE 0x4 /* DMA Mode */
#define nRESUME_MODE 0x0
#define RESET 0x8 /* Reset indicator */
#define nRESET 0x0
#define HS_MODE 0x10 /* High Speed mode indicator */
#define nHS_MODE 0x0
#define HS_ENABLE 0x20 /* high Speed Enable */
#define nHS_ENABLE 0x0
#define SOFT_CONN 0x40 /* Soft connect */
#define nSOFT_CONN 0x0
#define ISO_UPDATE 0x80 /* Isochronous update */
#define nISO_UPDATE 0x0
/* Bit masks for USB_INTRTX */
#define EP0_TX 0x1 /* Tx Endpoint 0 interrupt */
#define nEP0_TX 0x0
#define EP1_TX 0x2 /* Tx Endpoint 1 interrupt */
#define nEP1_TX 0x0
#define EP2_TX 0x4 /* Tx Endpoint 2 interrupt */
#define nEP2_TX 0x0
#define EP3_TX 0x8 /* Tx Endpoint 3 interrupt */
#define nEP3_TX 0x0
#define EP4_TX 0x10 /* Tx Endpoint 4 interrupt */
#define nEP4_TX 0x0
#define EP5_TX 0x20 /* Tx Endpoint 5 interrupt */
#define nEP5_TX 0x0
#define EP6_TX 0x40 /* Tx Endpoint 6 interrupt */
#define nEP6_TX 0x0
#define EP7_TX 0x80 /* Tx Endpoint 7 interrupt */
#define nEP7_TX 0x0
/* Bit masks for USB_INTRRX */
#define EP1_RX 0x2 /* Rx Endpoint 1 interrupt */
#define nEP1_RX 0x0
#define EP2_RX 0x4 /* Rx Endpoint 2 interrupt */
#define nEP2_RX 0x0
#define EP3_RX 0x8 /* Rx Endpoint 3 interrupt */
#define nEP3_RX 0x0
#define EP4_RX 0x10 /* Rx Endpoint 4 interrupt */
#define nEP4_RX 0x0
#define EP5_RX 0x20 /* Rx Endpoint 5 interrupt */
#define nEP5_RX 0x0
#define EP6_RX 0x40 /* Rx Endpoint 6 interrupt */
#define nEP6_RX 0x0
#define EP7_RX 0x80 /* Rx Endpoint 7 interrupt */
#define nEP7_RX 0x0
/* Bit masks for USB_INTRTXE */
#define EP0_TX_E 0x1 /* Endpoint 0 interrupt Enable */
#define nEP0_TX_E 0x0
#define EP1_TX_E 0x2 /* Tx Endpoint 1 interrupt Enable */
#define nEP1_TX_E 0x0
#define EP2_TX_E 0x4 /* Tx Endpoint 2 interrupt Enable */
#define nEP2_TX_E 0x0
#define EP3_TX_E 0x8 /* Tx Endpoint 3 interrupt Enable */
#define nEP3_TX_E 0x0
#define EP4_TX_E 0x10 /* Tx Endpoint 4 interrupt Enable */
#define nEP4_TX_E 0x0
#define EP5_TX_E 0x20 /* Tx Endpoint 5 interrupt Enable */
#define nEP5_TX_E 0x0
#define EP6_TX_E 0x40 /* Tx Endpoint 6 interrupt Enable */
#define nEP6_TX_E 0x0
#define EP7_TX_E 0x80 /* Tx Endpoint 7 interrupt Enable */
#define nEP7_TX_E 0x0
/* Bit masks for USB_INTRRXE */
#define EP1_RX_E 0x2 /* Rx Endpoint 1 interrupt Enable */
#define nEP1_RX_E 0x0
#define EP2_RX_E 0x4 /* Rx Endpoint 2 interrupt Enable */
#define nEP2_RX_E 0x0
#define EP3_RX_E 0x8 /* Rx Endpoint 3 interrupt Enable */
#define nEP3_RX_E 0x0
#define EP4_RX_E 0x10 /* Rx Endpoint 4 interrupt Enable */
#define nEP4_RX_E 0x0
#define EP5_RX_E 0x20 /* Rx Endpoint 5 interrupt Enable */
#define nEP5_RX_E 0x0
#define EP6_RX_E 0x40 /* Rx Endpoint 6 interrupt Enable */
#define nEP6_RX_E 0x0
#define EP7_RX_E 0x80 /* Rx Endpoint 7 interrupt Enable */
#define nEP7_RX_E 0x0
/* Bit masks for USB_INTRUSB */
#define SUSPEND_B 0x1 /* Suspend indicator */
#define nSUSPEND_B 0x0
#define RESUME_B 0x2 /* Resume indicator */
#define nRESUME_B 0x0
#define RESET_OR_BABLE_B 0x4 /* Reset/babble indicator */
#define nRESET_OR_BABLE_B 0x0
#define SOF_B 0x8 /* Start of frame */
#define nSOF_B 0x0
#define CONN_B 0x10 /* Connection indicator */
#define nCONN_B 0x0
#define DISCON_B 0x20 /* Disconnect indicator */
#define nDISCON_B 0x0
#define SESSION_REQ_B 0x40 /* Session Request */
#define nSESSION_REQ_B 0x0
#define VBUS_ERROR_B 0x80 /* Vbus threshold indicator */
#define nVBUS_ERROR_B 0x0
/* Bit masks for USB_INTRUSBE */
#define SUSPEND_BE 0x1 /* Suspend indicator int enable */
#define nSUSPEND_BE 0x0
#define RESUME_BE 0x2 /* Resume indicator int enable */
#define nRESUME_BE 0x0
#define RESET_OR_BABLE_BE 0x4 /* Reset/babble indicator int enable */
#define nRESET_OR_BABLE_BE 0x0
#define SOF_BE 0x8 /* Start of frame int enable */
#define nSOF_BE 0x0
#define CONN_BE 0x10 /* Connection indicator int enable */
#define nCONN_BE 0x0
#define DISCON_BE 0x20 /* Disconnect indicator int enable */
#define nDISCON_BE 0x0
#define SESSION_REQ_BE 0x40 /* Session Request int enable */
#define nSESSION_REQ_BE 0x0
#define VBUS_ERROR_BE 0x80 /* Vbus threshold indicator int enable */
#define nVBUS_ERROR_BE 0x0
/* Bit masks for USB_FRAME */
#define FRAME_NUMBER 0x7ff /* Frame number */
/* Bit masks for USB_INDEX */
#define SELECTED_ENDPOINT 0xf /* selected endpoint */
/* Bit masks for USB_GLOBAL_CTL */
#define GLOBAL_ENA 0x1 /* enables USB module */
#define nGLOBAL_ENA 0x0
#define EP1_TX_ENA 0x2 /* Transmit endpoint 1 enable */
#define nEP1_TX_ENA 0x0
#define EP2_TX_ENA 0x4 /* Transmit endpoint 2 enable */
#define nEP2_TX_ENA 0x0
#define EP3_TX_ENA 0x8 /* Transmit endpoint 3 enable */
#define nEP3_TX_ENA 0x0
#define EP4_TX_ENA 0x10 /* Transmit endpoint 4 enable */
#define nEP4_TX_ENA 0x0
#define EP5_TX_ENA 0x20 /* Transmit endpoint 5 enable */
#define nEP5_TX_ENA 0x0
#define EP6_TX_ENA 0x40 /* Transmit endpoint 6 enable */
#define nEP6_TX_ENA 0x0
#define EP7_TX_ENA 0x80 /* Transmit endpoint 7 enable */
#define nEP7_TX_ENA 0x0
#define EP1_RX_ENA 0x100 /* Receive endpoint 1 enable */
#define nEP1_RX_ENA 0x0
#define EP2_RX_ENA 0x200 /* Receive endpoint 2 enable */
#define nEP2_RX_ENA 0x0
#define EP3_RX_ENA 0x400 /* Receive endpoint 3 enable */
#define nEP3_RX_ENA 0x0
#define EP4_RX_ENA 0x800 /* Receive endpoint 4 enable */
#define nEP4_RX_ENA 0x0
#define EP5_RX_ENA 0x1000 /* Receive endpoint 5 enable */
#define nEP5_RX_ENA 0x0
#define EP6_RX_ENA 0x2000 /* Receive endpoint 6 enable */
#define nEP6_RX_ENA 0x0
#define EP7_RX_ENA 0x4000 /* Receive endpoint 7 enable */
#define nEP7_RX_ENA 0x0
/* Bit masks for USB_OTG_DEV_CTL */
#define SESSION 0x1 /* session indicator */
#define nSESSION 0x0
#define HOST_REQ 0x2 /* Host negotiation request */
#define nHOST_REQ 0x0
#define HOST_MODE 0x4 /* indicates USBDRC is a host */
#define nHOST_MODE 0x0
#define VBUS0 0x8 /* Vbus level indicator[0] */
#define nVBUS0 0x0
#define VBUS1 0x10 /* Vbus level indicator[1] */
#define nVBUS1 0x0
#define LSDEV 0x20 /* Low-speed indicator */
#define nLSDEV 0x0
#define FSDEV 0x40 /* Full or High-speed indicator */
#define nFSDEV 0x0
#define B_DEVICE 0x80 /* A' or 'B' device indicator */
#define nB_DEVICE 0x0
/* Bit masks for USB_OTG_VBUS_IRQ */
#define DRIVE_VBUS_ON 0x1 /* indicator to drive VBUS control circuit */
#define nDRIVE_VBUS_ON 0x0
#define DRIVE_VBUS_OFF 0x2 /* indicator to shut off charge pump */
#define nDRIVE_VBUS_OFF 0x0
#define CHRG_VBUS_START 0x4 /* indicator for external circuit to start charging VBUS */
#define nCHRG_VBUS_START 0x0
#define CHRG_VBUS_END 0x8 /* indicator for external circuit to end charging VBUS */
#define nCHRG_VBUS_END 0x0
#define DISCHRG_VBUS_START 0x10 /* indicator to start discharging VBUS */
#define nDISCHRG_VBUS_START 0x0
#define DISCHRG_VBUS_END 0x20 /* indicator to stop discharging VBUS */
#define nDISCHRG_VBUS_END 0x0
/* Bit masks for USB_OTG_VBUS_MASK */
#define DRIVE_VBUS_ON_ENA 0x1 /* enable DRIVE_VBUS_ON interrupt */
#define nDRIVE_VBUS_ON_ENA 0x0
#define DRIVE_VBUS_OFF_ENA 0x2 /* enable DRIVE_VBUS_OFF interrupt */
#define nDRIVE_VBUS_OFF_ENA 0x0
#define CHRG_VBUS_START_ENA 0x4 /* enable CHRG_VBUS_START interrupt */
#define nCHRG_VBUS_START_ENA 0x0
#define CHRG_VBUS_END_ENA 0x8 /* enable CHRG_VBUS_END interrupt */
#define nCHRG_VBUS_END_ENA 0x0
#define DISCHRG_VBUS_START_ENA 0x10 /* enable DISCHRG_VBUS_START interrupt */
#define nDISCHRG_VBUS_START_ENA 0x0
#define DISCHRG_VBUS_END_ENA 0x20 /* enable DISCHRG_VBUS_END interrupt */
#define nDISCHRG_VBUS_END_ENA 0x0
/* Bit masks for USB_CSR0 */
#define RXPKTRDY 0x1 /* data packet receive indicator */
#define nRXPKTRDY 0x0
#define TXPKTRDY 0x2 /* data packet in FIFO indicator */
#define nTXPKTRDY 0x0
#define STALL_SENT 0x4 /* STALL handshake sent */
#define nSTALL_SENT 0x0
#define DATAEND 0x8 /* Data end indicator */
#define nDATAEND 0x0
#define SETUPEND 0x10 /* Setup end */
#define nSETUPEND 0x0
#define SENDSTALL 0x20 /* Send STALL handshake */
#define nSENDSTALL 0x0
#define SERVICED_RXPKTRDY 0x40 /* used to clear the RxPktRdy bit */
#define nSERVICED_RXPKTRDY 0x0
#define SERVICED_SETUPEND 0x80 /* used to clear the SetupEnd bit */
#define nSERVICED_SETUPEND 0x0
#define FLUSHFIFO 0x100 /* flush endpoint FIFO */
#define nFLUSHFIFO 0x0
#define STALL_RECEIVED_H 0x4 /* STALL handshake received host mode */
#define nSTALL_RECEIVED_H 0x0
#define SETUPPKT_H 0x8 /* send Setup token host mode */
#define nSETUPPKT_H 0x0
#define ERROR_H 0x10 /* timeout error indicator host mode */
#define nERROR_H 0x0
#define REQPKT_H 0x20 /* Request an IN transaction host mode */
#define nREQPKT_H 0x0
#define STATUSPKT_H 0x40 /* Status stage transaction host mode */
#define nSTATUSPKT_H 0x0
#define NAK_TIMEOUT_H 0x80 /* EP0 halted after a NAK host mode */
#define nNAK_TIMEOUT_H 0x0
/* Bit masks for USB_COUNT0 */
#define EP0_RX_COUNT 0x7f /* number of received bytes in EP0 FIFO */
/* Bit masks for USB_NAKLIMIT0 */
#define EP0_NAK_LIMIT 0x1f /* number of frames/micro frames after which EP0 timeouts */
/* Bit masks for USB_TX_MAX_PACKET */
#define MAX_PACKET_SIZE_T 0x7ff /* maximum data pay load in a frame */
/* Bit masks for USB_RX_MAX_PACKET */
#define MAX_PACKET_SIZE_R 0x7ff /* maximum data pay load in a frame */
/* Bit masks for USB_TXCSR */
#define TXPKTRDY_T 0x1 /* data packet in FIFO indicator */
#define nTXPKTRDY_T 0x0
#define FIFO_NOT_EMPTY_T 0x2 /* FIFO not empty */
#define nFIFO_NOT_EMPTY_T 0x0
#define UNDERRUN_T 0x4 /* TxPktRdy not set for an IN token */
#define nUNDERRUN_T 0x0
#define FLUSHFIFO_T 0x8 /* flush endpoint FIFO */
#define nFLUSHFIFO_T 0x0
#define STALL_SEND_T 0x10 /* issue a Stall handshake */
#define nSTALL_SEND_T 0x0
#define STALL_SENT_T 0x20 /* Stall handshake transmitted */
#define nSTALL_SENT_T 0x0
#define CLEAR_DATATOGGLE_T 0x40 /* clear endpoint data toggle */
#define nCLEAR_DATATOGGLE_T 0x0
#define INCOMPTX_T 0x80 /* indicates that a large packet is split */
#define nINCOMPTX_T 0x0
#define DMAREQMODE_T 0x400 /* DMA mode (0 or 1) selection */
#define nDMAREQMODE_T 0x0
#define FORCE_DATATOGGLE_T 0x800 /* Force data toggle */
#define nFORCE_DATATOGGLE_T 0x0
#define DMAREQ_ENA_T 0x1000 /* Enable DMA request for Tx EP */
#define nDMAREQ_ENA_T 0x0
#define ISO_T 0x4000 /* enable Isochronous transfers */
#define nISO_T 0x0
#define AUTOSET_T 0x8000 /* allows TxPktRdy to be set automatically */
#define nAUTOSET_T 0x0
#define ERROR_TH 0x4 /* error condition host mode */
#define nERROR_TH 0x0
#define STALL_RECEIVED_TH 0x20 /* Stall handshake received host mode */
#define nSTALL_RECEIVED_TH 0x0
#define NAK_TIMEOUT_TH 0x80 /* NAK timeout host mode */
#define nNAK_TIMEOUT_TH 0x0
/* Bit masks for USB_TXCOUNT */
#define TX_COUNT 0x1fff /* Number of bytes to be written to the selected endpoint Tx FIFO */
/* Bit masks for USB_RXCSR */
#define RXPKTRDY_R 0x1 /* data packet in FIFO indicator */
#define nRXPKTRDY_R 0x0
#define FIFO_FULL_R 0x2 /* FIFO not empty */
#define nFIFO_FULL_R 0x0
#define OVERRUN_R 0x4 /* TxPktRdy not set for an IN token */
#define nOVERRUN_R 0x0
#define DATAERROR_R 0x8 /* Out packet cannot be loaded into Rx FIFO */
#define nDATAERROR_R 0x0
#define FLUSHFIFO_R 0x10 /* flush endpoint FIFO */
#define nFLUSHFIFO_R 0x0
#define STALL_SEND_R 0x20 /* issue a Stall handshake */
#define nSTALL_SEND_R 0x0
#define STALL_SENT_R 0x40 /* Stall handshake transmitted */
#define nSTALL_SENT_R 0x0
#define CLEAR_DATATOGGLE_R 0x80 /* clear endpoint data toggle */
#define nCLEAR_DATATOGGLE_R 0x0
#define INCOMPRX_R 0x100 /* indicates that a large packet is split */
#define nINCOMPRX_R 0x0
#define DMAREQMODE_R 0x800 /* DMA mode (0 or 1) selection */
#define nDMAREQMODE_R 0x0
#define DISNYET_R 0x1000 /* disable Nyet handshakes */
#define nDISNYET_R 0x0
#define DMAREQ_ENA_R 0x2000 /* Enable DMA request for Tx EP */
#define nDMAREQ_ENA_R 0x0
#define ISO_R 0x4000 /* enable Isochronous transfers */
#define nISO_R 0x0
#define AUTOCLEAR_R 0x8000 /* allows TxPktRdy to be set automatically */
#define nAUTOCLEAR_R 0x0
#define ERROR_RH 0x4 /* TxPktRdy not set for an IN token host mode */
#define nERROR_RH 0x0
#define REQPKT_RH 0x20 /* request an IN transaction host mode */
#define nREQPKT_RH 0x0
#define STALL_RECEIVED_RH 0x40 /* Stall handshake received host mode */
#define nSTALL_RECEIVED_RH 0x0
#define INCOMPRX_RH 0x100 /* indicates that a large packet is split host mode */
#define nINCOMPRX_RH 0x0
#define DMAREQMODE_RH 0x800 /* DMA mode (0 or 1) selection host mode */
#define nDMAREQMODE_RH 0x0
#define AUTOREQ_RH 0x4000 /* sets ReqPkt automatically host mode */
#define nAUTOREQ_RH 0x0
/* Bit masks for USB_RXCOUNT */
#define RX_COUNT 0x1fff /* Number of received bytes in the packet in the Rx FIFO */
/* Bit masks for USB_TXTYPE */
#define TARGET_EP_NO_T 0xf /* EP number */
#define PROTOCOL_T 0xc /* transfer type */
/* Bit masks for USB_TXINTERVAL */
#define TX_POLL_INTERVAL 0xff /* polling interval for selected Tx EP */
/* Bit masks for USB_RXTYPE */
#define TARGET_EP_NO_R 0xf /* EP number */
#define PROTOCOL_R 0xc /* transfer type */
/* Bit masks for USB_RXINTERVAL */
#define RX_POLL_INTERVAL 0xff /* polling interval for selected Rx EP */
/* Bit masks for USB_DMA_INTERRUPT */
#define DMA0_INT 0x1 /* DMA0 pending interrupt */
#define nDMA0_INT 0x0
#define DMA1_INT 0x2 /* DMA1 pending interrupt */
#define nDMA1_INT 0x0
#define DMA2_INT 0x4 /* DMA2 pending interrupt */
#define nDMA2_INT 0x0
#define DMA3_INT 0x8 /* DMA3 pending interrupt */
#define nDMA3_INT 0x0
#define DMA4_INT 0x10 /* DMA4 pending interrupt */
#define nDMA4_INT 0x0
#define DMA5_INT 0x20 /* DMA5 pending interrupt */
#define nDMA5_INT 0x0
#define DMA6_INT 0x40 /* DMA6 pending interrupt */
#define nDMA6_INT 0x0
#define DMA7_INT 0x80 /* DMA7 pending interrupt */
#define nDMA7_INT 0x0
/* Bit masks for USB_DMAxCONTROL */
#define DMA_ENA 0x1 /* DMA enable */
#define nDMA_ENA 0x0
#define DIRECTION 0x2 /* direction of DMA transfer */
#define nDIRECTION 0x0
#define MODE 0x4 /* DMA Bus error */
#define nMODE 0x0
#define INT_ENA 0x8 /* Interrupt enable */
#define nINT_ENA 0x0
#define EPNUM 0xf0 /* EP number */
#define BUSERROR 0x100 /* DMA Bus error */
#define nBUSERROR 0x0
/* Bit masks for USB_DMAxADDRHIGH */
#define DMA_ADDR_HIGH 0xffff /* Upper 16-bits of memory source/destination address for the DMA master channel */
/* Bit masks for USB_DMAxADDRLOW */
#define DMA_ADDR_LOW 0xffff /* Lower 16-bits of memory source/destination address for the DMA master channel */
/* Bit masks for USB_DMAxCOUNTHIGH */
#define DMA_COUNT_HIGH 0xffff /* Upper 16-bits of byte count of DMA transfer for DMA master channel */
/* Bit masks for USB_DMAxCOUNTLOW */
#define DMA_COUNT_LOW 0xffff /* Lower 16-bits of byte count of DMA transfer for DMA master channel */
#endif /* _DEF_BF524_H */

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,7 @@
*/
/*
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -30,6 +30,12 @@
/* Include defBF52x_base.h for the set of #defines that are common to all ADSP-BF52x processors */
#include <defBF52x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macros violate rule 19.4")
#pragma diag(suppress:misra_rule_19_7:"Allow function-like macros ")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF527 that are not in the common header */
/* 10/100 Ethernet Controller (0xFFC03000 - 0xFFC031FF) */
@ -221,8 +227,13 @@
#define REGAD 0x000007C0 /* STA Register Address */
#define PHYAD 0x0000F800 /* PHY Device Address */
#ifdef _MISRA_RULES
#define SET_REGAD(x) (((x)&0x1Fu)<< 6 ) /* Set STA Register Address */
#define SET_PHYAD(x) (((x)&0x1Fu)<< 11 ) /* Set PHY Device Address */
#else
#define SET_REGAD(x) (((x)&0x1F)<< 6 ) /* Set STA Register Address */
#define SET_PHYAD(x) (((x)&0x1F)<< 11 ) /* Set PHY Device Address */
#endif /* _MISRA_RULES */
/* EMAC_STADAT Mask */
@ -236,7 +247,11 @@
#define BKPRSEN 0x00000008 /* Enable Backpressure */
#define FLCPAUSE 0xFFFF0000 /* Pause Time */
#ifdef _MISRA_RULES
#define SET_FLCPAUSE(x) (((x)&0xFFFFu)<< 16) /* Set Pause Time */
#else
#define SET_FLCPAUSE(x) (((x)&0xFFFF)<< 16) /* Set Pause Time */
#endif /* _MISRA_RULES */
/* EMAC_WKUP_CTL Masks */
@ -265,10 +280,18 @@
#define WF2_OFF 0x00FF0000 /* Wake-Up Filter 2 Pattern Offset */
#define WF3_OFF 0xFF000000 /* Wake-Up Filter 3 Pattern Offset */
#ifdef _MISRA_RULES
#define SET_WF0_OFF(x) (((x)&0xFFu)<< 0 ) /* Set Wake-Up Filter 0 Byte Offset */
#define SET_WF1_OFF(x) (((x)&0xFFu)<< 8 ) /* Set Wake-Up Filter 1 Byte Offset */
#define SET_WF2_OFF(x) (((x)&0xFFu)<< 16 ) /* Set Wake-Up Filter 2 Byte Offset */
#define SET_WF3_OFF(x) (((x)&0xFFu)<< 24 ) /* Set Wake-Up Filter 3 Byte Offset */
#else
#define SET_WF0_OFF(x) (((x)&0xFF)<< 0 ) /* Set Wake-Up Filter 0 Byte Offset */
#define SET_WF1_OFF(x) (((x)&0xFF)<< 8 ) /* Set Wake-Up Filter 1 Byte Offset */
#define SET_WF2_OFF(x) (((x)&0xFF)<< 16 ) /* Set Wake-Up Filter 2 Byte Offset */
#define SET_WF3_OFF(x) (((x)&0xFF)<< 24 ) /* Set Wake-Up Filter 3 Byte Offset */
#endif /* _MISRA_RULES */
/* Set ALL Offsets */
#define SET_WF_OFFS(x0,x1,x2,x3) (SET_WF0_OFF((x0))|SET_WF1_OFF((x1))|SET_WF2_OFF((x2))|SET_WF3_OFF((x3)))
@ -277,16 +300,26 @@
#define WF0_CRC 0x0000FFFF /* Wake-Up Filter 0 Pattern CRC */
#define WF1_CRC 0xFFFF0000 /* Wake-Up Filter 1 Pattern CRC */
#ifdef _MISRA_RULES
#define SET_WF0_CRC(x) (((x)&0xFFFFu)<< 0 ) /* Set Wake-Up Filter 0 Target CRC */
#define SET_WF1_CRC(x) (((x)&0xFFFFu)<< 16 ) /* Set Wake-Up Filter 1 Target CRC */
#else
#define SET_WF0_CRC(x) (((x)&0xFFFF)<< 0 ) /* Set Wake-Up Filter 0 Target CRC */
#define SET_WF1_CRC(x) (((x)&0xFFFF)<< 16 ) /* Set Wake-Up Filter 1 Target CRC */
#endif /* _MISRA_RULES */
/* EMAC_WKUP_FFCRC1 Masks */
#define WF2_CRC 0x0000FFFF /* Wake-Up Filter 2 Pattern CRC */
#define WF3_CRC 0xFFFF0000 /* Wake-Up Filter 3 Pattern CRC */
#ifdef _MISRA_RULES
#define SET_WF2_CRC(x) (((x)&0xFFFFu)<< 0 ) /* Set Wake-Up Filter 2 Target CRC */
#define SET_WF3_CRC(x) (((x)&0xFFFFu)<< 16 ) /* Set Wake-Up Filter 3 Target CRC */
#else
#define SET_WF2_CRC(x) (((x)&0xFFFF)<< 0 ) /* Set Wake-Up Filter 2 Target CRC */
#define SET_WF3_CRC(x) (((x)&0xFFFF)<< 16 ) /* Set Wake-Up Filter 3 Target CRC */
#endif /* _MISRA_RULES */
/* EMAC_SYSCTL Masks */
@ -295,7 +328,11 @@
#define RXCKS 0x00000004 /* Enable RX Frame TCP/UDP Checksum Computation */
#define MDCDIV 0x00003F00 /* SCLK:MDC Clock Divisor [MDC=SCLK/(2*(N+1))] */
#ifdef _MISRA_RULES
#define SET_MDCDIV(x) (((x)&0x3Fu)<< 8) /* Set MDC Clock Divisor */
#else
#define SET_MDCDIV(x) (((x)&0x3F)<< 8) /* Set MDC Clock Divisor */
#endif /* _MISRA_RULES */
/* EMAC_SYSTAT Masks */
@ -1077,4 +1114,8 @@
#define DMA_COUNT_LOW 0xffff /* Lower 16-bits of byte count of DMA transfer for DMA master channel */
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _DEF_BF527_H */

View File

@ -13,7 +13,7 @@
/*
** defBF52x_base.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -52,7 +52,6 @@
/* System Interrupt Controller (0xFFC00100 - 0xFFC001FF) */
#define SWRST 0xFFC00100 /* Software Reset Register */
#define SYSCR 0xFFC00104 /* System Configuration Register */
#define SIC_RVECT 0xFFC00108 /* Interrupt Reset Vector Address Register */
#define SIC_IMASK0 0xFFC0010C /* Interrupt Mask Register */
/* legacy register name (below) provided for backwards code compatibility */
@ -596,14 +595,10 @@
#define PORTF_DRIVE 0xFFC03220 /* Port F drive strength control */
#define PORTG_DRIVE 0xFFC03224 /* Port G drive strength control */
#define PORTH_DRIVE 0xFFC03228 /* Port H drive strength control */
#define PORTF_SLEW 0xFFC03230 /* Port F slew control */
#define PORTG_SLEW 0xFFC03234 /* Port G slew control */
#define PORTH_SLEW 0xFFC03238 /* Port H slew control */
#define PORTF_HYSTERESIS 0xFFC03240 /* Port F Schmitt trigger control */
#define PORTG_HYSTERESIS 0xFFC03244 /* Port G Schmitt trigger control */
#define PORTH_HYSTERESIS 0xFFC03248 /* Port H Schmitt trigger control */
#define NONGPIO_DRIVE 0xFFC03280 /* Drive strength control for non-GPIO pins */
#define NONGPIO_SLEW 0xFFC03284 /* Slew control for non-GPIO pins */
#define NONGPIO_HYSTERESIS 0xFFC03288 /* Schmitt trigger control for non-GPIO pins */
/***********************************************************************************
@ -629,7 +624,11 @@
#define BYPASS 0x0100 /* Bypass the PLL */
#define MSEL 0x7E00 /* Multiplier Select For CCLK/VCO Factors */
/* PLL_CTL Macros (Only Use With Logic OR While Setting Lower Order Bits) */
#ifdef _MISRA_RULES
#define SET_MSEL(x) (((x)&0x3Fu) << 0x9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
#else
#define SET_MSEL(x) (((x)&0x3F) << 0x9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
#endif /* _MISRA_RULES */
/* PLL_DIV Masks */
#define SSEL 0x000F /* System Select */
@ -639,7 +638,11 @@
#define CSEL_DIV4 0x0020 /* CCLK = VCO / 4 */
#define CSEL_DIV8 0x0030 /* CCLK = VCO / 8 */
/* PLL_DIV Macros */
#ifdef _MISRA_RULES
#define SET_SSEL(x) ((x)&0xFu) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
#else
#define SET_SSEL(x) ((x)&0xF) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
#endif /* _MISRA_RULES */
/* VR_CTL Masks */
#define FREQ 0x3000 /* Switching Oscillator Frequency For Regulator */
@ -667,6 +670,7 @@
#define FULL_ON 0x0002 /* Processor In Full On Mode */
#define ACTIVE_PLLDISABLED 0x0004 /* Processor In Active Mode With PLL Disabled */
#define PLL_LOCKED 0x0020 /* PLL_LOCKCNT Has Been Reached */
#define VSTAT 0x0080 /* Voltage Regulator Status: Regulator at programmed voltage */
/* SWRST Masks */
#define SYSTEM_RESET 0x0007 /* Initiates A System Software Reset */
@ -675,9 +679,38 @@
#define RESET_WDOG 0x4000 /* SW Reset Generated By Watchdog Timer */
#define RESET_SOFTWARE 0x8000 /* SW Reset Occurred Since Last Read Of SWRST */
/* SYSCR Masks */
#define BMODE 0x0007 /* Boot Mode - Latched During HW Reset From Mode Pins */
#define NOBOOT 0x0010 /* Execute From L1 or ASYNC Bank 0 When BMODE = 0 */
/* SYSCR Masks */
#define BMODE_BYPASS 0x0000 /* Bypass boot ROM, execute from 16-bit external memory */
#define BMODE_FLASH 0x0001 /* Use Boot ROM to load from 8-bit or 16-bit flash */
#define BMODE_SPIMEM 0x0003 /* Boot from serial SPI memory */
#define BMODE_SPIHOST 0x0004 /* Boot from SPI0 host (slave mode) */
#define BMODE_TWIMEM 0x0005 /* Boot from serial TWI memory */
#define BMODE_TWIHOST 0x0006 /* Boot from TWI0 host (slave mode) */
#define BMODE_UART0HOST 0x0007 /* Boot from UART0 host */
#define BMODE_UART1HOST 0x0008 /* Boot from UART1 host */
#define BMODE_SDRAMMEM 0x000A /* Boot from SDRAM memory (warm boot) */
#define BMODE_OTPMEM 0x000B /* Boot from OTP memory */
#define BMODE_HOSTDMA_ACK 0x000E /* Boot from 16-bit host DMA (ACK mode) */
#define BMODE_HOSTDMA_INT 0x000F /* Boot from 8-bit host DMA (INT mode) */
#define BMODE 0x000F /* Boot Mode. Mirror of BMODE Mode Pins */
#define BCODE 0x00F0
#define BCODE_NORMAL 0x0000 /* normal boot, update PLL/VR, quickboot as by WURESET */
#define BCODE_NOBOOT 0x0010 /* bypass boot, don't update PLL/VR */
#define BCODE_QUICKBOOT 0x0020 /* quick boot, overrule WURESET, don't update PLL/VR */
#define BCODE_ALLBOOT 0x0040 /* no quick boot, overrule WURESET, don't update PLL/VR */
#define BCODE_FULLBOOT 0x0060 /* no quick boot, overrule WURESET, update PLL/VR */
#define DCB1_PRIO 0x0100 /* DCB1 requests are urgent */
#define DCB_ROT_PRIO 0x0200 /* enable rotating DCB priority */
#define DEB1_PRIO 0x0400 /* DEB1 requests are urgent */
#define DEB_ROT_PRIO 0x0800 /* enable rotating DEB priority */
#define WURESET 0x1000 /* wakeup event since last hardware reset */
#define DFRESET 0x2000 /* recent reset was due to a double fault event */
#define WDRESET 0x4000 /* recent reset was due to a watchdog event */
#define SWRESET 0x8000 /* recent reset was issued by software */
/* ************* SYSTEM INTERRUPT CONTROLLER MASKS *************************************/
/* Peripheral Masks For SIC_ISR0, SIC_IWR0, SIC_IMASK0 */
@ -742,116 +775,159 @@
#define IRQ_USB_INT2 0x00400000 /* USB INT1 interrupt */
#define IRQ_USB_DMAINT 0x00800000 /* USB DMAINT interrupt */
/* Peripheral Masks For SIC_ISR, SIC_IWR, SIC_IMASK */
#define IWR_DISABLE_ALL 0x00000000 /* Wakeup Disable all peripherals */
#define IWR_ENABLE_ALL 0xFFFFFFFF /* Wakeup Enable all peripherals */
/* x = pos 0 to 31, for 32-63 use value-32 */
#define IWR_ENABLE(x) (1 << (x)) /* Wakeup Enable Peripheral #x */
#ifdef _MISRA_RULES
#define IWR_DISABLE(x) (0xFFFFFFFFu^(1<<(x)))/* Wakeup Disable Peripheral #x */
#else
#define IWR_DISABLE(x) (0xFFFFFFFF^(1<<(x)))/* Wakeup Disable Peripheral #x */
#endif /* _MISRA_RULES */
#ifdef _MISRA_RULES
#define _MF15 0xFu
#define _MF7 7u
#else
#define _MF15 0xF
#define _MF7 7
#endif /* _MISRA_RULES */
/* SIC_IAR0 Macros */
#define P0_IVG(x) (((x)&0xF)-7) /* Peripheral #0 assigned IVG #x */
#define P1_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #1 assigned IVG #x */
#define P2_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #2 assigned IVG #x */
#define P3_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #3 assigned IVG #x */
#define P4_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #4 assigned IVG #x */
#define P5_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #5 assigned IVG #x */
#define P6_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #6 assigned IVG #x */
#define P7_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #7 assigned IVG #x */
#define P0_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #0 assigned IVG #x */
#define P1_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #1 assigned IVG #x */
#define P2_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #2 assigned IVG #x */
#define P3_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #3 assigned IVG #x */
#define P4_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #4 assigned IVG #x */
#define P5_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #5 assigned IVG #x */
#define P6_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #6 assigned IVG #x */
#define P7_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #7 assigned IVG #x */
/* SIC_IAR1 Macros */
#define P8_IVG(x) (((x)&0xF)-7) /* Peripheral #8 assigned IVG #x */
#define P9_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #9 assigned IVG #x */
#define P10_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #10 assigned IVG #x */
#define P11_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #11 assigned IVG #x */
#define P12_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #12 assigned IVG #x */
#define P13_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #13 assigned IVG #x */
#define P8_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #8 assigned IVG #x */
#define P9_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #9 assigned IVG #x */
#define P10_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #10 assigned IVG #x */
#define P11_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #11 assigned IVG #x */
#define P12_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #12 assigned IVG #x */
#define P13_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #13 assigned IVG #x */
/* SIC_IAR2 Macros */
#define P14_IVG(x) (((x)&0xF)-7) /* Peripheral #14 assigned IVG #x */
#define P15_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #15 assigned IVG #x */
#define P16_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #16 assigned IVG #x */
#define P17_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #17 assigned IVG #x */
#define P18_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #18 assigned IVG #x */
#define P19_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #19 assigned IVG #x */
#define P20_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #20 assigned IVG #x */
#define P21_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #21 assigned IVG #x */
#define P14_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #14 assigned IVG #x */
#define P15_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #15 assigned IVG #x */
#define P16_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #16 assigned IVG #x */
#define P17_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #17 assigned IVG #x */
#define P18_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #18 assigned IVG #x */
#define P19_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #19 assigned IVG #x */
#define P20_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #20 assigned IVG #x */
#define P21_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #21 assigned IVG #x */
/* SIC_IAR3 Macros */
#define P22_IVG(x) (((x)&0xF)-7) /* Peripheral #22 assigned IVG #x */
#define P23_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #23 assigned IVG #x */
#define P24_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #24 assigned IVG #x */
#define P25_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #25 assigned IVG #x */
#define P26_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #26 assigned IVG #x */
#define P27_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #27 assigned IVG #x */
#define P28_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #28 assigned IVG #x */
#define P29_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #29 assigned IVG #x */
#define P22_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #22 assigned IVG #x */
#define P23_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #23 assigned IVG #x */
#define P24_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #24 assigned IVG #x */
#define P25_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #25 assigned IVG #x */
#define P26_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #26 assigned IVG #x */
#define P27_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #27 assigned IVG #x */
#define P28_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #28 assigned IVG #x */
#define P29_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #29 assigned IVG #x */
/* SIC_IAR4 Macros */
#define P30_IVG(x) (((x)&0xF)-7) /* Peripheral #30 assigned IVG #x */
#define P31_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #31 assigned IVG #x */
#define P32_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #32 assigned IVG #x */
#define P33_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #33 assigned IVG #x */
#define P34_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #34 assigned IVG #x */
#define P35_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #35 assigned IVG #x */
#define P36_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #36 assigned IVG #x */
#define P37_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #37 assigned IVG #x */
#define P30_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #30 assigned IVG #x */
#define P31_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #31 assigned IVG #x */
#define P32_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #32 assigned IVG #x */
#define P33_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #33 assigned IVG #x */
#define P34_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #34 assigned IVG #x */
#define P35_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #35 assigned IVG #x */
#define P36_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #36 assigned IVG #x */
#define P37_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #37 assigned IVG #x */
/* SIC_IAR5 Macros */
#define P38_IVG(x) (((x)&0xF)-7) /* Peripheral #38assigned IVG #x */
#define P39_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #39assigned IVG #x */
#define P40_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #40 assigned IVG #x */
#define P41_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #41 assigned IVG #x */
#define P42_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #42 assigned IVG #x */
#define P43_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #43 assigned IVG #x */
#define P44_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #44 assigned IVG #x */
#define P45_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #45 assigned IVG #x */
#define P38_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #38assigned IVG #x */
#define P39_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #39assigned IVG #x */
#define P40_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #40 assigned IVG #x */
#define P41_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #41 assigned IVG #x */
#define P42_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #42 assigned IVG #x */
#define P43_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #43 assigned IVG #x */
#define P44_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #44 assigned IVG #x */
#define P45_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #45 assigned IVG #x */
/* SIC_IAR6 Macros */
#define P46_IVG(x) (((x)&0xF)-7) /* Peripheral #46 assigned IVG #x */
#define P47_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #47 assigned IVG #x */
#define P48_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #48 assigned IVG #x */
#define P49_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #49 assigned IVG #x */
#define P50_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #50 assigned IVG #x */
#define P51_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #51 assigned IVG #x */
#define P52_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #52 assigned IVG #x */
#define P53_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #53 assigned IVG #x */
#define P46_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #46 assigned IVG #x */
#define P47_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #47 assigned IVG #x */
#define P48_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #48 assigned IVG #x */
#define P49_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #49 assigned IVG #x */
#define P50_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #50 assigned IVG #x */
#define P51_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #51 assigned IVG #x */
#define P52_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #52 assigned IVG #x */
#define P53_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #53 assigned IVG #x */
/* SIC_IAR7 Macros */
#define P54_IVG(x) (((x)&0xF)-7) /* Peripheral #54 assigned IVG #x */
#define P55_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #55 assigned IVG #x */
#define P56_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #56 assigned IVG #x */
#define P57_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #57 assigned IVG #x */
#define P58_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #58 assigned IVG #x */
#define P59_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #59 assigned IVG #x */
#define P60_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #60 assigned IVG #x */
#define P61_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #61 assigned IVG #x */
#define P54_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #54 assigned IVG #x */
#define P55_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #55 assigned IVG #x */
#define P56_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #56 assigned IVG #x */
#define P57_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #57 assigned IVG #x */
#define P58_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #58 assigned IVG #x */
#define P59_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #59 assigned IVG #x */
#define P60_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #60 assigned IVG #x */
#define P61_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #61 assigned IVG #x */
/* SIC_IMASK0 Masks */
#define SIC_UNMASK0_ALL 0x00000000 /* Unmask all peripheral interrupts */
#define SIC_MASK0_ALL 0xFFFFF3FF /* Mask all peripheral interrupts */
#ifdef _MISRA_RULES
#define SIC_MASK0(x) (1 << ((x)&0x1Fu)) /* Mask Peripheral #x interrupt */
#define SIC_UNMASK0(x) (0xFFFFFFFFu ^ (1 << ((x)&0x1Fu))) /* Unmask Peripheral #x interrupt */
#else
#define SIC_MASK0(x) (1 << ((x)&0x1F)) /* Mask Peripheral #x interrupt */
#define SIC_UNMASK0(x) (0xFFFFFFFF ^ (1 << ((x)&0x1F))) /* Unmask Peripheral #x interrupt */
#endif /* _MISRA_RULES */
/* SIC_IMASK1 Masks */
#define SIC_UNMASK1_ALL 0x00000000 /* Unmask all peripheral interrupts */
#define SIC_MASK1_ALL 0xFFFFFF /* Mask all peripheral interrupts */
#ifdef _MISRA_RULES
#define SIC_MASK1(x) (1 << ((x)&0x1Fu)) /* Mask Peripheral #x interrupt */
#define SIC_UNMASK1(x) (0xFFFFFFFFu ^ (1 << ((x)&0x1Fu))) /* Unmask Peripheral #x interrupt */
#else
#define SIC_MASK1(x) (1 << ((x)&0x1F)) /* Mask Peripheral #x interrupt */
#define SIC_UNMASK1(x) (0xFFFFFFFF ^ (1 << ((x)&0x1F))) /* Unmask Peripheral #x interrupt */
#endif /* _MISRA_RULES */
/* SIC_IWR0 Masks */
#define IWR0_DISABLE_ALL 0x00000000 /* Wakeup Disable all peripherals */
#define IWR0_ENABLE_ALL 0xFFFFF3FF /* Wakeup Enable all peripherals */
#ifdef _MISRA_RULES
#define IWR0_ENABLE(x) (1 << ((x)&0x1Fu)) /* Wakeup Enable Peripheral #x */
#define IWR0_DISABLE(x) (0xFFFFFFFFu ^ (1 << ((x)&0x1Fu))) /* Wakeup Disable Peripheral #x */
#else
#define IWR0_ENABLE(x) (1 << ((x)&0x1F)) /* Wakeup Enable Peripheral #x */
#define IWR0_DISABLE(x) (0xFFFFFFFF ^ (1 << ((x)&0x1F))) /* Wakeup Disable Peripheral #x */
#endif /* _MISRA_RULES */
/* SIC_IWR1 Masks */
#define IWR1_DISABLE_ALL 0x00000000 /* Wakeup Disable all peripherals */
#define IWR1_ENABLE_ALL 0xFFFFFF /* Wakeup Enable all peripherals */
#ifdef _MISRA_RULES
#define IWR1_ENABLE(x) (1 << ((x)&0x1Fu)) /* Wakeup Enable Peripheral #x */
#define IWR1_DISABLE(x) (0xFFFFFFFFu ^ (1 << ((x)&0x1Fu))) /* Wakeup Disable Peripheral #x */
#else
#define IWR1_ENABLE(x) (1 << ((x)&0x1F)) /* Wakeup Enable Peripheral #x */
#define IWR1_DISABLE(x) (0xFFFFFFFF ^ (1 << ((x)&0x1F))) /* Wakeup Disable Peripheral #x */
#endif /* _MISRA_RULES */
/* ********* WATCHDOG TIMER MASKS ******************** */
/* Watchdog Timer WDOG_CTL Register Masks */
#ifdef _MISRA_RULES
#define WDEV(x) (((x)<<1) & 0x0006u) /* event generated on roll over */
#else
#define WDEV(x) (((x)<<1) & 0x0006) /* event generated on roll over */
#endif /* _MISRA_RULES */
#define WDEV_RESET 0x0000 /* generate reset event on roll over */
#define WDEV_NMI 0x0002 /* generate NMI event on roll over */
#define WDEV_GPI 0x0004 /* generate GP IRQ on roll over */
@ -890,7 +966,11 @@
#define RTC_DAY 0xFFFE0000 /* Real-Time Clock Days */
/* RTC_ALARM Macro z=day y=hr x=min w=sec */
#ifdef _MISRA_RULES
#define SET_ALARM(z,y,x,w) ((((z)&0x7FFFu)<<0x11)|(((y)&0x1Fu)<<0xC)|(((x)&0x3Fu)<<0x6)|((w)&0x3Fu))
#else
#define SET_ALARM(z,y,x,w) ((((z)&0x7FFF)<<0x11)|(((y)&0x1F)<<0xC)|(((x)&0x3F)<<0x6)|((w)&0x3F))
#endif /* _MISRA_RULES */
/* RTC_ICTL and RTC_ISTAT Masks */
#define STOPWATCH 0x0001 /* Stopwatch Interrupt Enable */
@ -909,7 +989,11 @@
/* ************** UART CONTROLLER MASKS *************************/
/* UARTx_LCR Masks */
#ifdef _MISRA_RULES
#define WLS(x) (((x)-5u) & 0x03u) /* Word Length Select */
#else
#define WLS(x) (((x)-5) & 0x03) /* Word Length Select */
#endif /* _MISRA_RULES */
#define STB 0x04 /* Stop Bits */
#define PEN 0x08 /* Parity Enable */
#define EPS 0x10 /* Even Parity Select */
@ -947,6 +1031,10 @@
#define FPE 0x10 /* Force Parity Error On Transmit */
#define FFE 0x20 /* Force Framing Error On Transmit */
/* Bit masks for UART Divisor Latch Registers: UARTx_DLL & UARTx_DLH */
#define UARTDLL 0x00FF /* Divisor Latch Low Byte */
#define UARTDLH 0xFF00 /* Divisor Latch High Byte */
/* *********** SERIAL PERIPHERAL INTERFACE (SPI) MASKS ****************************/
/* SPI_CTL Masks */
@ -1126,7 +1214,7 @@
/* SPORTx_TCR1 Masks */
#define TSPEN 0x0001 /* Transmit Enable */
#define ITCLK 0x0002 /* Internal Transmit Clock Select */
#define DTYPE_NORM 0x0004 /* Data Format Normal */
#define DTYPE_NORM 0x0000 /* Data Format Normal */
#define DTYPE_ULAW 0x0008 /* Compand Using u-Law */
#define DTYPE_ALAW 0x000C /* Compand Using A-Law */
#define TLSBIT 0x0010 /* Transmit Bit Order */
@ -1138,7 +1226,12 @@
#define TCKFE 0x4000 /* Clock Falling Edge Select */
/* SPORTx_TCR2 Masks and Macro */
#ifdef _MISRA_RULES
#define SLEN(x) ((x)&0x1Fu) /* SPORT TX Word Length (2 - 31) */
#else
#define SLEN(x) ((x)&0x1F) /* SPORT TX Word Length (2 - 31) */
#endif /* _MISRA_RULES */
#define TXSE 0x0100 /* TX Secondary Enable */
#define TSFSE 0x0200 /* Transmit Stereo Frame Sync Enable */
#define TRFST 0x0400 /* Left/Right Order (1 = Right Channel 1st) */
@ -1146,7 +1239,7 @@
/* SPORTx_RCR1 Masks */
#define RSPEN 0x0001 /* Receive Enable */
#define IRCLK 0x0002 /* Internal Receive Clock Select */
#define DTYPE_NORM 0x0004 /* Data Format Normal */
#define DTYPE_NORM 0x0000 /* Data Format Normal */
#define DTYPE_ULAW 0x0008 /* Compand Using u-Law */
#define DTYPE_ALAW 0x000C /* Compand Using A-Law */
#define RLSBIT 0x0010 /* Receive Bit Order */
@ -1157,7 +1250,11 @@
#define RCKFE 0x4000 /* Clock Falling Edge Select */
/* SPORTx_RCR2 Masks */
#ifdef _MISRA_RULES
#define SLEN(x) ((x)&0x1Fu) /* SPORT RX Word Length (2 - 31) */
#else
#define SLEN(x) ((x)&0x1F) /* SPORT RX Word Length (2 - 31) */
#endif /* _MISRA_RULES */
#define RXSE 0x0100 /* RX Secondary Enable */
#define RSFSE 0x0200 /* RX Stereo Frame Sync Enable */
#define RRFST 0x0400 /* Right-First Data Order */
@ -1172,11 +1269,18 @@
#define TXHRE 0x0040 /* Transmit Hold Register Empty */
/* SPORTx_MCMC1 Macros */
#define WOFF(x) ((x) & 0x3FF) /* Multichannel Window Offset Field */
#ifdef _MISRA_RULES
#define WOFF(x) ((x) & 0x3FFu) /* Multichannel Window Offset Field */
/* Only use WSIZE Macro With Logic OR While Setting Lower Order Bits */
#define WSIZE(x) (((((x)>>0x3)-1u)&0xFu) << 0xC) /* Multichannel Window Size = (x/8)-1 */
#else
#define WOFF(x) ((x) & 0x3FF) /* Multichannel Window Offset Field */
/* Only use WSIZE Macro With Logic OR While Setting Lower Order Bits */
#define WSIZE(x) (((((x)>>0x3)-1)&0xF) << 0xC) /* Multichannel Window Size = (x/8)-1 */
#endif /* _MISRA_RULES */
/* SPORTx_MCMC2 Masks */
#define REC_BYPASS 0x0000 /* Bypass Mode (No Clock Recovery) */
#define REC_2FROM4 0x0002 /* Recover 2 MHz Clock from 4 MHz Clock */
@ -1206,6 +1310,7 @@
/* ********************* ASYNCHRONOUS MEMORY CONTROLLER MASKS *************************/
/* EBIU_AMGCTL Masks */
#define AMCKEN 0x0001 /* Enable CLKOUT */
#define AMBEN 0x000e /* Async bank enable */
#define AMBEN_NONE 0x0000 /* All Banks Disabled */
#define AMBEN_B0 0x0002 /* Enable Async Memory Bank 0 only */
#define AMBEN_B0_B1 0x0004 /* Enable Async Memory Banks 0 & 1 only */
@ -1401,9 +1506,12 @@
#define SCTLE 0x00000001 /* Enable SDRAM Signals */
#define CL_2 0x00000008 /* SDRAM CAS Latency = 2 cycles */
#define CL_3 0x0000000C /* SDRAM CAS Latency = 3 cycles */
/* EBIU_SDGCTL Masks */
#define CL 0x0000000C /* SDRAM CAS latency */
#define PASR_ALL 0x00000000 /* All 4 SDRAM Banks Refreshed In Self-Refresh */
#define PASR_B0_B1 0x00000010 /* SDRAM Banks 0 and 1 Are Refreshed In Self-Refresh */
#define PASR_B0 0x00000020 /* Only SDRAM Bank 0 Is Refreshed In Self-Refresh */
#define PASR 0x00000030 /* SDRAM partial array self-refresh */
#define TRAS_1 0x00000040 /* SDRAM tRAS = 1 cycle */
#define TRAS_2 0x00000080 /* SDRAM tRAS = 2 cycles */
#define TRAS_3 0x000000C0 /* SDRAM tRAS = 3 cycles */
@ -1419,6 +1527,7 @@
#define TRAS_13 0x00000340 /* SDRAM tRAS = 13 cycles */
#define TRAS_14 0x00000380 /* SDRAM tRAS = 14 cycles */
#define TRAS_15 0x000003C0 /* SDRAM tRAS = 15 cycles */
#define TRAS 0x000003C0 /* SDRAM tRAS in SCLK cycles */
#define TRP_1 0x00000800 /* SDRAM tRP = 1 cycle */
#define TRP_2 0x00001000 /* SDRAM tRP = 2 cycles */
#define TRP_3 0x00001800 /* SDRAM tRP = 3 cycles */
@ -1426,6 +1535,7 @@
#define TRP_5 0x00002800 /* SDRAM tRP = 5 cycles */
#define TRP_6 0x00003000 /* SDRAM tRP = 6 cycles */
#define TRP_7 0x00003800 /* SDRAM tRP = 7 cycles */
#define TRP 0x00003800 /* SDRAM tRP in SCLK cycles */
#define TRCD_1 0x00008000 /* SDRAM tRCD = 1 cycle */
#define TRCD_2 0x00010000 /* SDRAM tRCD = 2 cycles */
#define TRCD_3 0x00018000 /* SDRAM tRCD = 3 cycles */
@ -1433,9 +1543,11 @@
#define TRCD_5 0x00028000 /* SDRAM tRCD = 5 cycles */
#define TRCD_6 0x00030000 /* SDRAM tRCD = 6 cycles */
#define TRCD_7 0x00038000 /* SDRAM tRCD = 7 cycles */
#define TRCD 0x00030000 /* SDRAM tRCD in SCLK cycles */
#define TWR_1 0x00080000 /* SDRAM tWR = 1 cycle */
#define TWR_2 0x00100000 /* SDRAM tWR = 2 cycles */
#define TWR_3 0x00180000 /* SDRAM tWR = 3 cycles */
#define TWR 0x00180000 /* SDRAM tWR in SCLK cycles */
#define PUPSD 0x00200000 /* Power-Up Start Delay (15 SCLK Cycles Delay) */
#define PSM 0x00400000 /* Power-Up Sequence (Mode Register Before/After* Refresh) */
#define PSS 0x00800000 /* Enable Power-Up Sequence on Next SDRAM Access */
@ -1452,12 +1564,12 @@
#define EBSZ_32 0x0002 /* SDRAM External Bank Size = 32MB */
#define EBSZ_64 0x0004 /* SDRAM External Bank Size = 64MB */
#define EBSZ_128 0x0006 /* SDRAM External Bank Size = 128MB */
#define EBSZ_256 0x0008 /* SDRAM External Bank Size = 256MB */
#define EBSZ_512 0x000A /* SDRAM External Bank Size = 512MB */
#define EBSZ 0x0006 /* SDRAM external bank size */
#define EBCAW_8 0x0000 /* SDRAM External Bank Column Address Width = 8 Bits */
#define EBCAW_9 0x0010 /* SDRAM External Bank Column Address Width = 9 Bits */
#define EBCAW_10 0x0020 /* SDRAM External Bank Column Address Width = 10 Bits */
#define EBCAW_11 0x0030 /* SDRAM External Bank Column Address Width = 11 Bits */
#define EBCAW 0x0030 /* SDRAM external bank column address width */
/* EBIU_SDSTAT Masks */
#define SDCI 0x0001 /* SDRAM Controller Idle */
@ -1553,8 +1665,13 @@
/* ******************** TWO-WIRE INTERFACE (TWI) MASKS ***********************/
/* TWI_CLKDIV Macros (Use: *pTWI_CLKDIV = CLKLOW(x)|CLKHI(y); ) */
#ifdef _MISRA_RULES
#define CLKLOW(x) ((x) & 0xFFu) /* Periods Clock Is Held Low */
#define CLKHI(y) (((y)&0xFFu)<<0x8) /* Periods Before New Clock Low */
#else
#define CLKLOW(x) ((x) & 0xFF) /* Periods Clock Is Held Low */
#define CLKHI(y) (((y)&0xFF)<<0x8) /* Periods Before New Clock Low */
#endif /* _MISRA_RULES */
/* TWI_PRESCALE Masks */
#define PRESCALE 0x007F /* SCLKs Per Internal Time Reference (10MHz) */
@ -1625,51 +1742,7 @@
/* Omit CAN masks from defBF534.h */
/* ******************* PIN CONTROL REGISTER MASKS ************************/
/* PORT_MUX Masks */
#define PJSE 0x0001 /* Port J SPI/SPORT Enable */
#define PJSE_SPORT 0x0000 /* Enable TFS0/DT0PRI */
#define PJSE_SPI 0x0001 /* Enable SPI_SSEL3:2 */
#define PJCE(x) (((x)&0x3)<<1) /* Port J CAN/SPI/SPORT Enable */
#define PJCE_SPORT 0x0000 /* Enable DR0SEC/DT0SEC */
#define PJCE_CAN 0x0002 /* Enable CAN RX/TX */
#define PJCE_SPI 0x0004 /* Enable SPI_SSEL7 */
#define PFDE 0x0008 /* Port F DMA Request Enable */
#define PFDE_UART 0x0000 /* Enable UART0 RX/TX */
#define PFDE_DMA 0x0008 /* Enable DMAR1:0 */
#define PFTE 0x0010 /* Port F Timer Enable */
#define PFTE_UART 0x0000 /* Enable UART1 RX/TX */
#define PFTE_TIMER 0x0010 /* Enable TMR7:6 */
#define PFS6E 0x0020 /* Port F SPI SSEL 6 Enable */
#define PFS6E_TIMER 0x0000 /* Enable TMR5 */
#define PFS6E_SPI 0x0020 /* Enable SPI_SSEL6 */
#define PFS5E 0x0040 /* Port F SPI SSEL 5 Enable */
#define PFS5E_TIMER 0x0000 /* Enable TMR4 */
#define PFS5E_SPI 0x0040 /* Enable SPI_SSEL5 */
#define PFS4E 0x0080 /* Port F SPI SSEL 4 Enable */
#define PFS4E_TIMER 0x0000 /* Enable TMR3 */
#define PFS4E_SPI 0x0080 /* Enable SPI_SSEL4 */
#define PFFE 0x0100 /* Port F PPI Frame Sync Enable */
#define PFFE_TIMER 0x0000 /* Enable TMR2 */
#define PFFE_PPI 0x0100 /* Enable PPI FS3 */
#define PGSE 0x0200 /* Port G SPORT1 Secondary Enable */
#define PGSE_PPI 0x0000 /* Enable PPI D9:8 */
#define PGSE_SPORT 0x0200 /* Enable DR1SEC/DT1SEC */
#define PGRE 0x0400 /* Port G SPORT1 Receive Enable */
#define PGRE_PPI 0x0000 /* Enable PPI D12:10 */
#define PGRE_SPORT 0x0400 /* Enable DR1PRI/RFS1/RSCLK1 */
#define PGTE 0x0800 /* Port G SPORT1 Transmit Enable */
#define PGTE_PPI 0x0000 /* Enable PPI D15:13 */
#define PGTE_SPORT 0x0800 /* Enable DT1PRI/TFS1/TSCLK1 */
/* PORT_MUX deleted in VisualDSP++ 5.0 Update 3 */
/* ****************** HANDSHAKE DMA (HMDMA) MASKS *********************/
@ -1903,46 +1976,6 @@
#define DPRESCALE 0xf /* Load Counter Register */
/* Bit masks for OTP_CONTROL */
#define FUSE_FADDR 0x1ff /* OTP/Fuse Address */
#define FIEN 0x800 /* OTP/Fuse Interrupt Enable */
#define nFIEN 0x0
#define FTESTDEC 0x1000 /* OTP/Fuse Test Decoder */
#define nFTESTDEC 0x0
#define FWRTEST 0x2000 /* OTP/Fuse Write Test */
#define nFWRTEST 0x0
#define FRDEN 0x4000 /* OTP/Fuse Read Enable */
#define nFRDEN 0x0
#define FWREN 0x8000 /* OTP/Fuse Write Enable */
#define nFWREN 0x0
/* Bit masks for OTP_BEN */
#define FBEN 0xffff /* OTP/Fuse Byte Enable */
/* Bit masks for OTP_STATUS */
#define FCOMP 0x1 /* OTP/Fuse Access Complete */
#define nFCOMP 0x0
#define FERROR 0x2 /* OTP/Fuse Access Error */
#define nFERROR 0x0
#define MMRGLOAD 0x10 /* Memory Mapped Register Gasket Load */
#define nMMRGLOAD 0x0
#define MMRGLOCK 0x20 /* Memory Mapped Register Gasket Lock */
#define nMMRGLOCK 0x0
#define FPGMEN 0x40 /* OTP/Fuse Program Enable */
#define nFPGMEN 0x0
/* Bit masks for OTP_TIMING */
#define USECDIV 0xff /* Micro Second Divider */
#define READACC 0x7f00 /* Read Access Time */
#define CPUMPRL 0x38000 /* Charge Pump Release Time */
#define CPUMPSU 0xc0000 /* Charge Pump Setup Time */
#define CPUMPHD 0xf00000 /* Charge Pump Hold Time */
#define PGMTIME 0xff000000 /* Program Time */
/* Bit masks for SECURE_SYSSWT */
#define EMUDABL 0x1 /* Emulation Disable. */
@ -1960,7 +1993,6 @@
#define nEMUOVR 0x0
#define OTPSEN 0x8000 /* OTP Secrets Enable. */
#define nOTPSEN 0x0
#define L2DABL 0x70000 /* L2 Memory Disable. */
/* Bit masks for SECURE_CONTROL */

View File

@ -14,7 +14,7 @@
*
* defBF532.h
*
* Copyright (C) 2008 Analog Devices, Inc.
* Copyright (C) 2008, 2009 Analog Devices, Inc.
*
************************************************************************/
@ -31,6 +31,7 @@
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4)
#pragma diag(suppress:misra_rule_19_7)
#endif /* _MISRA_RULES */
@ -50,7 +51,6 @@
/* System Interrupt Controller (0xFFC00100 - 0xFFC001FF) */
#define SWRST 0xFFC00100 /* Software Reset Register (16-bit) */
#define SYSCR 0xFFC00104 /* System Configuration registe */
#define SIC_RVECT 0xFFC00108 /* Interrupt Reset Vector Address Register */
#define SIC_IMASK 0xFFC0010C /* Interrupt Mask Register */
#define SIC_IAR0 0xFFC00110 /* Interrupt Assignment Register 0 */
#define SIC_IAR1 0xFFC00114 /* Interrupt Assignment Register 1 */
@ -396,6 +396,15 @@
/* ********************* PLL AND RESET MASKS ************************ */
/*// PLL_CTL Masks */
#define MSEL 0x7E00 /* Multiplier Select For CCLK/VCO Factors */
#define SPORT_HYS 0x8000 /* Add 250mV of Hysteresis to SPORT Inputs */
/* PLL_STAT Masks */
#define VSTAT 0x0080 /* Voltage Regulator Status: Regulator at programmed voltage */
#define CORE_IDLE 0x0040 /* processor is in the IDLE operating mode */
#define SLEEP 0x0010 /* processor is in the Sleep operating mode */
#define DEEP_SLEEP 0x0008 /* processor is in the Deep Sleep operating mode */
#define PLL_CLKIN 0x0000 /* Pass CLKIN to PLL */
#define PLL_CLKIN_DIV2 0x0001 /* Pass CLKIN/2 to PLL */
#define DF 0x0001 /* 0: PLL = CLKIN, 1: PLL = CLKIN/2 */
@ -412,7 +421,11 @@
#define BYPASS 0x0100 /* Bypass the PLL */
/* PLL_CTL Macros */
#ifdef _MISRA_RULES
#define SET_MSEL(x) (((x)&0x3Fu) << 0x9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
#else
#define SET_MSEL(x) (((x)&0x3F) << 0x9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
#endif /* _MISRA_RULES */
/* PLL_DIV Masks */
#define SSEL 0x000F /* System Select */
@ -425,7 +438,11 @@
#define CCLK_DIV4 0x0020 /* CCLK = VCO / 4 */
#define CCLK_DIV8 0x0030 /* CCLK = VCO / 8 */
/* PLL_DIV Macros */
#ifdef _MISRA_RULES
#define SET_SSEL(x) ((x)&0xFu) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
#else
#define SET_SSEL(x) ((x)&0xF) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
#endif /* _MISRA_RULES */
/* PLL_STAT Masks */
#define ACTIVE_PLLENABLED 0x0001 /* Processor In Active Mode With PLL Enabled */
@ -469,6 +486,10 @@
#define RESET_SOFTWARE 0x8000 /* SW Reset Occurred Since Last Read Of SWRST */
/* SYSCR Masks */
#define BMODE_BYPASS 0x0000 /* Bypass boot ROM, execute from 16-bit external memory */
#define BMODE_FLASH 0x0001 /* Use Boot ROM to load from 8-bit or 16-bit flash */
#define BMODE_SPIHOST 0x0002 /* Boot from SPI0 host (slave mode) */
#define BMODE_SPIMEM 0x0003 /* Boot from serial SPI memory */
#define BMODE 0x0006 /* Boot Mode - Latched During HW Reset From Mode Pins */
#define NOBOOT 0x0010 /* Execute From L1 or ASYNC Bank 0 When BMODE = 0 */
@ -501,61 +522,88 @@
#define MDMA1_IRQ 0x00400000 /* MemDMA Stream 1 Interrupt Request */
#define WDOG_IRQ 0x00800000 /* Software Watchdog Timer Interrupt Request */
#ifdef _MISRA_RULES
#define _MF15 0xFu
#define _MF7 7u
#else
#define _MF15 0xF
#define _MF7 7
#endif /* _MISRA_RULES */
/* SIC_IAR0 Macros */
#define P0_IVG(x) (((x)-7)&0xF) /* Peripheral #0 assigned IVG #x */
#define P1_IVG(x) (((x)-7)&0xF) << 0x4 /* Peripheral #1 assigned IVG #x */
#define P2_IVG(x) (((x)-7)&0xF) << 0x8 /* Peripheral #2 assigned IVG #x */
#define P3_IVG(x) (((x)-7)&0xF) << 0xC /* Peripheral #3 assigned IVG #x */
#define P4_IVG(x) (((x)-7)&0xF) << 0x10 /* Peripheral #4 assigned IVG #x */
#define P5_IVG(x) (((x)-7)&0xF) << 0x14 /* Peripheral #5 assigned IVG #x */
#define P6_IVG(x) (((x)-7)&0xF) << 0x18 /* Peripheral #6 assigned IVG #x */
#define P7_IVG(x) (((x)-7)&0xF) << 0x1C /* Peripheral #7 assigned IVG #x */
#define P0_IVG(x) (((x)-_MF7)&_MF15) /* Peripheral #0 assigned IVG #x */
#define P1_IVG(x) (((x)-_MF7)&_MF15) << 0x4 /* Peripheral #1 assigned IVG #x */
#define P2_IVG(x) (((x)-_MF7)&_MF15) << 0x8 /* Peripheral #2 assigned IVG #x */
#define P3_IVG(x) (((x)-_MF7)&_MF15) << 0xC /* Peripheral #3 assigned IVG #x */
#define P4_IVG(x) (((x)-_MF7)&_MF15) << 0x10 /* Peripheral #4 assigned IVG #x */
#define P5_IVG(x) (((x)-_MF7)&_MF15) << 0x14 /* Peripheral #5 assigned IVG #x */
#define P6_IVG(x) (((x)-_MF7)&_MF15) << 0x18 /* Peripheral #6 assigned IVG #x */
#define P7_IVG(x) (((x)-_MF7)&_MF15) << 0x1C /* Peripheral #7 assigned IVG #x */
/* SIC_IAR1 Macros */
#define P8_IVG(x) (((x)-7)&0xF) /* Peripheral #8 assigned IVG #x */
#define P9_IVG(x) (((x)-7)&0xF) << 0x4 /* Peripheral #9 assigned IVG #x */
#define P10_IVG(x) (((x)-7)&0xF) << 0x8 /* Peripheral #10 assigned IVG #x */
#define P11_IVG(x) (((x)-7)&0xF) << 0xC /* Peripheral #11 assigned IVG #x */
#define P12_IVG(x) (((x)-7)&0xF) << 0x10 /* Peripheral #12 assigned IVG #x */
#define P13_IVG(x) (((x)-7)&0xF) << 0x14 /* Peripheral #13 assigned IVG #x */
#define P14_IVG(x) (((x)-7)&0xF) << 0x18 /* Peripheral #14 assigned IVG #x */
#define P15_IVG(x) (((x)-7)&0xF) << 0x1C /* Peripheral #15 assigned IVG #x */
#define P8_IVG(x) (((x)-_MF7)&_MF15) /* Peripheral #8 assigned IVG #x */
#define P9_IVG(x) (((x)-_MF7)&_MF15) << 0x4 /* Peripheral #9 assigned IVG #x */
#define P10_IVG(x) (((x)-_MF7)&_MF15) << 0x8 /* Peripheral #10 assigned IVG #x */
#define P11_IVG(x) (((x)-_MF7)&_MF15) << 0xC /* Peripheral #11 assigned IVG #x */
#define P12_IVG(x) (((x)-_MF7)&_MF15) << 0x10 /* Peripheral #12 assigned IVG #x */
#define P13_IVG(x) (((x)-_MF7)&_MF15) << 0x14 /* Peripheral #13 assigned IVG #x */
#define P14_IVG(x) (((x)-_MF7)&_MF15) << 0x18 /* Peripheral #14 assigned IVG #x */
#define P15_IVG(x) (((x)-_MF7)&_MF15) << 0x1C /* Peripheral #15 assigned IVG #x */
/* SIC_IAR2 Macros */
#define P16_IVG(x) (((x)-7)&0xF) /* Peripheral #16 assigned IVG #x */
#define P17_IVG(x) (((x)-7)&0xF) << 0x4 /* Peripheral #17 assigned IVG #x */
#define P18_IVG(x) (((x)-7)&0xF) << 0x8 /* Peripheral #18 assigned IVG #x */
#define P19_IVG(x) (((x)-7)&0xF) << 0xC /* Peripheral #19 assigned IVG #x */
#define P20_IVG(x) (((x)-7)&0xF) << 0x10 /* Peripheral #20 assigned IVG #x */
#define P21_IVG(x) (((x)-7)&0xF) << 0x14 /* Peripheral #21 assigned IVG #x */
#define P22_IVG(x) (((x)-7)&0xF) << 0x18 /* Peripheral #22 assigned IVG #x */
#define P23_IVG(x) (((x)-7)&0xF) << 0x1C /* Peripheral #23 assigned IVG #x */
#define P16_IVG(x) (((x)-_MF7)&_MF15) /* Peripheral #16 assigned IVG #x */
#define P17_IVG(x) (((x)-_MF7)&_MF15) << 0x4 /* Peripheral #17 assigned IVG #x */
#define P18_IVG(x) (((x)-_MF7)&_MF15) << 0x8 /* Peripheral #18 assigned IVG #x */
#define P19_IVG(x) (((x)-_MF7)&_MF15) << 0xC /* Peripheral #19 assigned IVG #x */
#define P20_IVG(x) (((x)-_MF7)&_MF15) << 0x10 /* Peripheral #20 assigned IVG #x */
#define P21_IVG(x) (((x)-_MF7)&_MF15) << 0x14 /* Peripheral #21 assigned IVG #x */
#define P22_IVG(x) (((x)-_MF7)&_MF15) << 0x18 /* Peripheral #22 assigned IVG #x */
#define P23_IVG(x) (((x)-_MF7)&_MF15) << 0x1C /* Peripheral #23 assigned IVG #x */
/* SIC_IARx Macros */
#ifdef _MISRA_RULES
#define PX_IVG_CLR(x) (0xFFFFFFFFu ^ (0xFu << (((x)%8)*4))) /* Clear IVG Select for Peripheral #x */
/* Usage: *pSIC_IAR1 &= PX_IVG_CLR(11); // Clears IVG Level of Peripheral #11 */
#define PX_IVG(x,y) ((((y)-7u)&0xFu) << (((x)%8)*4)) /* Set IVG Select to #y for Peripheral #x */
/* Usage: *pSIC_IAR1 |= PX_IVG(11, 8); // Sets Peripheral #11 to IVG8 */
#else
#define PX_IVG_CLR(x) (0xFFFFFFFF ^ (0xF << (((x)%8)*4))) /* Clear IVG Select for Peripheral #x */
/* Usage: *pSIC_IAR1 &= PX_IVG_CLR(11); // Clears IVG Level of Peripheral #11 */
#define PX_IVG(x,y) ((((y)-7)&0xF) << (((x)%8)*4)) /* Set IVG Select to #y for Peripheral #x */
/* Usage: *pSIC_IAR1 |= PX_IVG(11, 8); // Sets Peripheral #11 to IVG8 */
#endif /* _MISRA_RULES */
/* SIC_IMASK Masks */
#define SIC_UNMASK_ALL 0x00000000 /* Unmask all peripheral interrupts */
#define SIC_MASK_ALL 0xFFFFFFFF /* Mask all peripheral interrupts */
#ifdef _MISRA_RULES
#define SIC_MASK(x) (1 << ((x)&0x1Fu)) /* Mask Peripheral #x interrupt */
#define SIC_UNMASK(x) (0xFFFFFFFFu ^ (1 << ((x)&0x1Fu))) /* Unmask Peripheral #x interrupt */
#else
#define SIC_MASK(x) (1 << ((x)&0x1F)) /* Mask Peripheral #x interrupt */
#define SIC_UNMASK(x) (0xFFFFFFFF ^ (1 << ((x)&0x1F))) /* Unmask Peripheral #x interrupt */
#endif /* _MISRA_RULES */
/* SIC_IWR Masks */
#define IWR_DISABLE_ALL 0x00000000 /* Wakeup Disable all peripherals */
#define IWR_ENABLE_ALL 0xFFFFFFFF /* Wakeup Enable all peripherals */
#ifdef _MISRA_RULES
#define IWR_ENABLE(x) (1 << ((x)&0x1Fu)) /* Wakeup Enable Peripheral #x */
#define IWR_DISABLE(x) (0xFFFFFFFFu ^ (1 << ((x)&0x1Fu))) /* Wakeup Disable Peripheral #x */
#else
#define IWR_ENABLE(x) (1 << ((x)&0x1F)) /* Wakeup Enable Peripheral #x */
#define IWR_DISABLE(x) (0xFFFFFFFF ^ (1 << ((x)&0x1F))) /* Wakeup Disable Peripheral #x */
#endif /* _MISRA_RULES */
/* ********* WATCHDOG TIMER MASKS ******************** */
/* Watchdog Timer WDOG_CTL Register Masks */
#ifdef _MISRA_RULES
#define WDEV(x) (((x)<<1) & 0x0006u) /* event generated on roll over */
#else
#define WDEV(x) (((x)<<1) & 0x0006) /* event generated on roll over */
#endif /* _MISRA_RULES */
#define WDEV_RESET 0x0000 /* generate reset event on roll over */
#define WDEV_NMI 0x0002 /* generate NMI event on roll over */
#define WDEV_GPI 0x0004 /* generate GP IRQ on roll over */
@ -618,7 +666,11 @@
/* ** Must be set after power-up for proper operation of RTC */
/* RTC_ALARM Macro z=day y=hr x=min w=sec */
#ifdef _MISRA_RULES
#define SET_ALARM(z,y,x,w) ((((z)&0x7FFFu)<<0x11)|(((y)&0x1Fu)<<0xC)|(((x)&0x3Fu)<<0x6)|((w)&0x3Fu))
#else
#define SET_ALARM(z,y,x,w) ((((z)&0x7FFF)<<0x11)|(((y)&0x1F)<<0xC)|(((x)&0x3F)<<0x6)|((w)&0x3F))
#endif /* _MISRA_RULES */
/* Deprecated RTC_STAT and RTC_ALARM Masks */
#define RTC_SEC RTSEC /* Real-Time Clock Seconds */
@ -640,7 +692,11 @@
/* ***************************** UART CONTROLLER MASKS ********************** */
/* UART_LCR Register */
#ifdef _MISRA_RULES
#define WLS(x) (((x)-5u) & 0x03u) /* Word Length Select */
#else
#define WLS(x) (((x)-5) & 0x03) /* Word Length Select */
#endif /* _MISRA_RULES */
#define STB 0x04 /* Stop Bits */
#define PEN 0x08 /* Parity Enable */
#define EPS 0x10 /* Even Parity Select */
@ -689,7 +745,11 @@
#define ERBFI_P 0x00
/* UART_IIR Register */
#ifdef _MISRA_RULES
#define STATUS(x) (((x) << 1) & 0x06u)
#else
#define STATUS(x) (((x) << 1) & 0x06)
#endif /* _MISRA_RULES */
#define NINT 0x01
#define STATUS_P1 0x02
#define STATUS_P0 0x01
@ -735,7 +795,11 @@
defined(__ADSPBF533__)
# define SLEN 0x001F
#else
#ifdef _MISRA_RULES
# define SLEN(x) ((x)&0x1Fu) /* SPORT TX Word Length (2 - 31) */
#else
# define SLEN(x) ((x)&0x1F) /* SPORT TX Word Length (2 - 31) */
#endif /* _MISRA_RULES */
#endif
#define TXSE 0x0100 /*TX Secondary Enable */
#define TSFSE 0x0200 /*TX Stereo Frame Sync Enable */
@ -777,9 +841,15 @@
#define WSIZE 0x0000F000 /*Multichannel Window Size Field */
#define WOFF 0x000003FF /*Multichannel Window Offset Field */
/* SPORTx_MCMC1 Macros */
#ifdef _MISRA_RULES
#define SET_WOFF(x) ((x) & 0x3FFu) /* Multichannel Window Offset Field */
/* Only use SET_WSIZE Macro With Logic OR While Setting Lower Order Bits */
#define SET_WSIZE(x) (((((x)>>0x3)-1u)&0xFu) << 0xC) /* Multichannel Window Size = (x/8)-1 */
#else
#define SET_WOFF(x) ((x) & 0x3FF) /* Multichannel Window Offset Field */
/* Only use SET_WSIZE Macro With Logic OR While Setting Lower Order Bits */
#define SET_WSIZE(x) (((((x)>>0x3)-1)&0xF) << 0xC) /* Multichannel Window Size = (x/8)-1 */
#endif /* _MISRA_RULES */
/*SPORTx_MCMC2 Masks */
#define MCCRM 0x0003 /*Multichannel Clock Recovery Mode */
@ -830,7 +900,11 @@
#define DLEN_14 0x2800 /* Data Length = 14 Bits */
#define DLEN_15 0x3000 /* Data Length = 15 Bits */
#define DLEN_16 0x3800 /* Data Length = 16 Bits */
#ifdef _MISRA_RULES
#define DLEN(x) ((((x)-9u) & 0x07u) << 11) /* PPI Data Length (only works for x=10-->x=16) */
#else
#define DLEN(x) ((((x)-9) & 0x07) << 11) /* PPI Data Length (only works for x=10-->x=16) */
#endif /* _MISRA_RULES */
#define POL 0xC000 /* PPI Signal Polarities */
#define POLC 0x4000 /* PPI Clock Polarity */
#define POLS 0x8000 /* PPI Frame Sync Polarity */
@ -974,7 +1048,11 @@
#define CLK_SEL 0x0080
#define TOGGLE_HI 0x0100
#define EMU_RUN 0x0200
#ifdef _MISRA_RULES
#define ERR_TYP(x) (((x) & 0x03u) << 14)
#else
#define ERR_TYP(x) (((x) & 0x03) << 14)
#endif /* _MISRA_RULES */
#define TMODE_P0 0x00
#define TMODE_P1 0x01
@ -1297,14 +1375,18 @@
/* ********************** SDRAM CONTROLLER MASKS *************************** */
/* EBIU_SDGCTL Masks */
#define SCTLE 0x00000001 /* Enable SCLK[0], /SRAS, /SCAS, /SWE, SDQM[3:0] */
#define CL_2 0x00000008 /* SDRAM CAS latency = 2 cycles */
#define CL_3 0x0000000C /* SDRAM CAS latency = 3 cycles */
#define CL 0x0000000C /* SDRAM CAS latency */
#define PFE 0x00000010 /* Enable SDRAM prefetch */
#define PFP 0x00000020 /* Prefetch has priority over AMC requests */
#define PASR_ALL 0x00000000 /* All 4 SDRAM Banks Refreshed In Self-Refresh */
#define PASR_B0_B1 0x00000010 /* SDRAM Banks 0 and 1 Are Refreshed In Self-Refresh */
#define PASR_B0 0x00000020 /* Only SDRAM Bank 0 Is Refreshed In Self-Refresh */
#define PASR 0x00000030 /* SDRAM partial array self-refresh */
#define TRAS_1 0x00000040 /* SDRAM tRAS = 1 cycle */
#define TRAS_2 0x00000080 /* SDRAM tRAS = 2 cycles */
#define TRAS_3 0x000000C0 /* SDRAM tRAS = 3 cycles */
@ -1320,6 +1402,7 @@
#define TRAS_13 0x00000340 /* SDRAM tRAS = 13 cycles */
#define TRAS_14 0x00000380 /* SDRAM tRAS = 14 cycles */
#define TRAS_15 0x000003C0 /* SDRAM tRAS = 15 cycles */
#define TRAS 0x000003C0 /* SDRAM tRAS in SCLK cycles */
#define TRP_1 0x00000800 /* SDRAM tRP = 1 cycle */
#define TRP_2 0x00001000 /* SDRAM tRP = 2 cycles */
#define TRP_3 0x00001800 /* SDRAM tRP = 3 cycles */
@ -1327,6 +1410,7 @@
#define TRP_5 0x00002800 /* SDRAM tRP = 5 cycles */
#define TRP_6 0x00003000 /* SDRAM tRP = 6 cycles */
#define TRP_7 0x00003800 /* SDRAM tRP = 7 cycles */
#define TRP 0x00003800 /* SDRAM tRP in SCLK cycles */
#define TRCD_1 0x00008000 /* SDRAM tRCD = 1 cycle */
#define TRCD_2 0x00010000 /* SDRAM tRCD = 2 cycles */
#define TRCD_3 0x00018000 /* SDRAM tRCD = 3 cycles */
@ -1334,9 +1418,11 @@
#define TRCD_5 0x00028000 /* SDRAM tRCD = 5 cycles */
#define TRCD_6 0x00030000 /* SDRAM tRCD = 6 cycles */
#define TRCD_7 0x00038000 /* SDRAM tRCD = 7 cycles */
#define TRCD 0x00030000 /* SDRAM tRCD in SCLK cycles */
#define TWR_1 0x00080000 /* SDRAM tWR = 1 cycle */
#define TWR_2 0x00100000 /* SDRAM tWR = 2 cycles */
#define TWR_3 0x00180000 /* SDRAM tWR = 3 cycles */
#define TWR 0x00180000 /* SDRAM tWR in SCLK cycles */
#define PUPSD 0x00200000 /*Power-up start delay */
#define PSM 0x00400000 /* SDRAM power-up sequence = Precharge, mode register set, 8 CBR refresh cycles */
#define PSS 0x00800000 /* enable SDRAM power-up sequence on next SDRAM access */
@ -1349,14 +1435,16 @@
/* EBIU_SDBCTL Masks */
#define EBE 0x00000001 /* Enable SDRAM external bank */
#define EBSZ_16 0x00000000 /* SDRAM external bank size = 16MB */
#define EBSZ_32 0x00000002 /* SDRAM external bank size = 32MB */
#define EBSZ_64 0x00000004 /* SDRAM external bank size = 64MB */
#define EBSZ_16 0x00000000 /* SDRAM external bank size = 16MB */
#define EBSZ_32 0x00000002 /* SDRAM external bank size = 32MB */
#define EBSZ_64 0x00000004 /* SDRAM external bank size = 64MB */
#define EBSZ_128 0x00000006 /* SDRAM external bank size = 128MB */
#define EBCAW_8 0x00000000 /* SDRAM external bank column address width = 8 bits */
#define EBCAW_9 0x00000010 /* SDRAM external bank column address width = 9 bits */
#define EBCAW_8 0x00000000 /* SDRAM external bank column address width = 8 bits */
#define EBSZ 0x0006 /* SDRAM external bank size */
#define EBCAW_9 0x00000010 /* SDRAM external bank column address width = 9 bits */
#define EBCAW_10 0x00000020 /* SDRAM external bank column address width = 9 bits */
#define EBCAW_11 0x00000030 /* SDRAM external bank column address width = 9 bits */
#define EBCAW 0x0030 /* SDRAM external bank column address width */
/* EBIU_SDSTAT Masks */
#define SDCI 0x00000001 /* SDRAM controller is idle */

View File

@ -11,7 +11,7 @@
*/
/*
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -27,7 +27,9 @@
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_7)
#pragma diag(suppress:misra_rule_19_4:"ADI header allows any substitution")
#pragma diag(suppress:misra_rule_19_7:"ADI header allows function macros")
#endif /* _MISRA_RULES */
/************************************************************************************
@ -45,7 +47,6 @@
/* System Interrupt Controller (0xFFC00100 - 0xFFC001FF) */
#define SWRST 0xFFC00100 /* Software Reset Register */
#define SYSCR 0xFFC00104 /* System Configuration Register */
#define SIC_RVECT 0xFFC00108 /* Interrupt Reset Vector Address Register */
#define SIC_IMASK 0xFFC0010C /* Interrupt Mask Register */
#define SIC_IAR0 0xFFC00110 /* Interrupt Assignment Register 0 */
#define SIC_IAR1 0xFFC00114 /* Interrupt Assignment Register 1 */
@ -583,9 +584,8 @@
#define CAN_MBTD 0xFFC02AAC /* Mailbox Temporary Disable Feature */
#define CAN_EWR 0xFFC02AB0 /* Programmable Warning Level */
#define CAN_ESR 0xFFC02AB4 /* Error Status Register */
#define CAN_UCREG 0xFFC02AC0 /* Universal Counter Register/Capture Register */
#define CAN_UCCNT 0xFFC02AC4 /* Universal Counter */
#define CAN_UCRC 0xFFC02AC8 /* Universal Counter Force Reload Register */
#define CAN_UCRC 0xFFC02AC8 /* Universal Counter Reload/Capture Register */
#define CAN_UCCNF 0xFFC02ACC /* Universal Counter Configuration Register */
/* Mailbox Acceptance Masks */
@ -1006,8 +1006,13 @@
#define OUT_DELAY 0x0080 /* Add 200ps Delay To EBIU Output Signals */
#define BYPASS 0x0100 /* Bypass the PLL */
#define MSEL 0x7E00 /* Multiplier Select For CCLK/VCO Factors */
#define SPORT_HYS 0x8000 /* Add 250mV of Hysteresis to SPORT Inputs */
/* PLL_CTL Macros */
#ifdef _MISRA_RULES
#define SET_MSEL(x) (((x)&0x3Fu) << 0x9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
#else
#define SET_MSEL(x) (((x)&0x3F) << 0x9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
#endif /* _MISRA_RULES */
/* PLL_DIV Masks */
#define SSEL 0x000F /* System Select */
@ -1017,7 +1022,11 @@
#define CSEL_DIV4 0x0020 /* CCLK = VCO / 4 */
#define CSEL_DIV8 0x0030 /* CCLK = VCO / 8 */
/* PLL_DIV Macros */
#ifdef _MISRA_RULES
#define SET_SSEL(x) ((x)&0xFu) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
#else
#define SET_SSEL(x) ((x)&0xF) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
#endif /* _MISRA_RULES */
/* VR_CTL Masks */
#define FREQ 0x0003 /* Switching Oscillator Frequency For Regulator */
@ -1065,6 +1074,14 @@
#define RESET_SOFTWARE 0x8000 /* SW Reset Occurred Since Last Read Of SWRST */
/* SYSCR Masks */
/* SYSCR Masks */
#define BMODE_BYPASS 0x0000 /* Bypass boot ROM, execute from 16-bit external memory */
#define BMODE_FLASH 0x0001 /* Use Boot ROM to load from 8-bit or 16-bit flash */
#define BMODE_SPIMEM 0x0003 /* Boot from serial SPI memory */
#define BMODE_SPIHOST 0x0004 /* Boot from SPI0 host (slave mode) */
#define BMODE_TWIMEM 0x0005 /* Boot from serial TWI memory */
#define BMODE_TWIHOST 0x0006 /* Boot from TWI0 host (slave mode) */
#define BMODE_UARTHOST 0x0007 /* Boot from UART0 host */
#define BMODE 0x0007 /* Boot Mode - Latched During HW Reset From Mode Pins */
#define NOBOOT 0x0010 /* Execute From L1 or ASYNC Bank 0 When BMODE = 0 */
@ -1113,65 +1130,87 @@
#define IRQ_WDOG 0x80000000 /* Software Watchdog Timer Interrupt */
#define IRQ_PFB_PORTG 0x10000000 /* PF Port G (PF31:16) Interrupt B */
#ifdef _MISRA_RULES
#define _MF15 0xFu
#define _MF7 7u
#else
#define _MF15 0xF
#define _MF7 7
#endif /* _MISRA_RULES */
/* SIC_IAR0 Macros */
#define P0_IVG(x) (((x)&0xF)-7) /* Peripheral #0 assigned IVG #x */
#define P1_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #1 assigned IVG #x */
#define P2_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #2 assigned IVG #x */
#define P3_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #3 assigned IVG #x */
#define P4_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #4 assigned IVG #x */
#define P5_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #5 assigned IVG #x */
#define P6_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #6 assigned IVG #x */
#define P7_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #7 assigned IVG #x */
#define P0_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #0 assigned IVG #x */
#define P1_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #1 assigned IVG #x */
#define P2_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #2 assigned IVG #x */
#define P3_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #3 assigned IVG #x */
#define P4_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #4 assigned IVG #x */
#define P5_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #5 assigned IVG #x */
#define P6_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #6 assigned IVG #x */
#define P7_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #7 assigned IVG #x */
/* SIC_IAR1 Macros */
#define P8_IVG(x) (((x)&0xF)-7) /* Peripheral #8 assigned IVG #x */
#define P9_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #9 assigned IVG #x */
#define P10_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #10 assigned IVG #x */
#define P11_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #11 assigned IVG #x */
#define P12_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #12 assigned IVG #x */
#define P13_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #13 assigned IVG #x */
#define P14_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #14 assigned IVG #x */
#define P15_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #15 assigned IVG #x */
#define P8_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #8 assigned IVG #x */
#define P9_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #9 assigned IVG #x */
#define P10_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #10 assigned IVG #x */
#define P11_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #11 assigned IVG #x */
#define P12_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #12 assigned IVG #x */
#define P13_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #13 assigned IVG #x */
#define P14_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #14 assigned IVG #x */
#define P15_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #15 assigned IVG #x */
/* SIC_IAR2 Macros */
#define P16_IVG(x) (((x)&0xF)-7) /* Peripheral #16 assigned IVG #x */
#define P17_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #17 assigned IVG #x */
#define P18_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #18 assigned IVG #x */
#define P19_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #19 assigned IVG #x */
#define P20_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #20 assigned IVG #x */
#define P21_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #21 assigned IVG #x */
#define P22_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #22 assigned IVG #x */
#define P23_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #23 assigned IVG #x */
#define P16_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #16 assigned IVG #x */
#define P17_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #17 assigned IVG #x */
#define P18_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #18 assigned IVG #x */
#define P19_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #19 assigned IVG #x */
#define P20_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #20 assigned IVG #x */
#define P21_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #21 assigned IVG #x */
#define P22_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #22 assigned IVG #x */
#define P23_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #23 assigned IVG #x */
/* SIC_IAR3 Macros */
#define P24_IVG(x) (((x)&0xF)-7) /* Peripheral #24 assigned IVG #x */
#define P25_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #25 assigned IVG #x */
#define P26_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #26 assigned IVG #x */
#define P27_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #27 assigned IVG #x */
#define P28_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #28 assigned IVG #x */
#define P29_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #29 assigned IVG #x */
#define P30_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #30 assigned IVG #x */
#define P31_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #31 assigned IVG #x */
#define P24_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #24 assigned IVG #x */
#define P25_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #25 assigned IVG #x */
#define P26_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #26 assigned IVG #x */
#define P27_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #27 assigned IVG #x */
#define P28_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #28 assigned IVG #x */
#define P29_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #29 assigned IVG #x */
#define P30_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #30 assigned IVG #x */
#define P31_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #31 assigned IVG #x */
/* SIC_IMASK Masks */
#define SIC_UNMASK_ALL 0x00000000 /* Unmask all peripheral interrupts */
#define SIC_MASK_ALL 0xFFFFFFFF /* Mask all peripheral interrupts */
#ifdef _MISRA_RULES
#define SIC_MASK(x) (1 << ((x)&0x1Fu)) /* Mask Peripheral #x interrupt */
#define SIC_UNMASK(x) (0xFFFFFFFFu ^ (1 << ((x)&0x1Fu))) /* Unmask Peripheral #x interrupt */
#else
#define SIC_MASK(x) (1 << ((x)&0x1F)) /* Mask Peripheral #x interrupt */
#define SIC_UNMASK(x) (0xFFFFFFFF ^ (1 << ((x)&0x1F))) /* Unmask Peripheral #x interrupt */
#endif /* _MISRA_RULES */
/* SIC_IWR Masks */
#define IWR_DISABLE_ALL 0x00000000 /* Wakeup Disable all peripherals */
#define IWR_ENABLE_ALL 0xFFFFFFFF /* Wakeup Enable all peripherals */
#ifdef _MISRA_RULES
#define IWR_ENABLE(x) (1 << ((x)&0x1Fu)) /* Wakeup Enable Peripheral #x */
#define IWR_DISABLE(x) (0xFFFFFFFFu ^ (1 << ((x)&0x1Fu))) /* Wakeup Disable Peripheral #x */
#else
#define IWR_ENABLE(x) (1 << ((x)&0x1F)) /* Wakeup Enable Peripheral #x */
#define IWR_DISABLE(x) (0xFFFFFFFF ^ (1 << ((x)&0x1F))) /* Wakeup Disable Peripheral #x */
#endif /* _MISRA_RULES */
/* ********* WATCHDOG TIMER MASKS ******************** */
/* Watchdog Timer WDOG_CTL Register Masks */
#ifdef _MISRA_RULES
#define WDEV(x) (((x)<<1) & 0x0006u) /* event generated on roll over */
#else
#define WDEV(x) (((x)<<1) & 0x0006) /* event generated on roll over */
#endif /* _MISRA_RULES */
#define WDEV_RESET 0x0000 /* generate reset event on roll over */
#define WDEV_NMI 0x0002 /* generate NMI event on roll over */
#define WDEV_GPI 0x0004 /* generate GP IRQ on roll over */
@ -1210,7 +1249,11 @@
#define RTC_DAY 0xFFFE0000 /* Real-Time Clock Days */
/* RTC_ALARM Macro z=day y=hr x=min w=sec */
#ifdef _MISRA_RULES
#define SET_ALARM(z,y,x,w) ((((z)&0x7FFFu)<<0x11)|(((y)&0x1Fu)<<0xC)|(((x)&0x3Fu)<<0x6)|((w)&0x3Fu))
#else
#define SET_ALARM(z,y,x,w) ((((z)&0x7FFF)<<0x11)|(((y)&0x1F)<<0xC)|(((x)&0x3F)<<0x6)|((w)&0x3F))
#endif /* _MISRA_RULES */
/* RTC_ICTL and RTC_ISTAT Masks */
#define STOPWATCH 0x0001 /* Stopwatch Interrupt Enable */
@ -1229,7 +1272,11 @@
/* ************** UART CONTROLLER MASKS *************************/
/* UARTx_LCR Masks */
#ifdef _MISRA_RULES
#define WLS(x) (((x)-5u) & 0x03u) /* Word Length Select */
#else
#define WLS(x) (((x)-5) & 0x03) /* Word Length Select */
#endif /* _MISRA_RULES */
#define STB 0x04 /* Stop Bits */
#define PEN 0x08 /* Parity Enable */
#define EPS 0x10 /* Even Parity Select */
@ -1267,6 +1314,10 @@
#define FPE 0x10 /* Force Parity Error On Transmit */
#define FFE 0x20 /* Force Framing Error On Transmit */
/* Bit masks for UART Divisor Latch Registers: UARTx_DLL & UARTx_DLH */
#define UARTDLL 0x00FF /* Divisor Latch Low Byte */
#define UARTDLH 0xFF00 /* Divisor Latch High Byte */
/* *********** SERIAL PERIPHERAL INTERFACE (SPI) MASKS ****************************/
/* SPI_CTL Masks */
@ -1446,7 +1497,7 @@
/* SPORTx_TCR1 Masks */
#define TSPEN 0x0001 /* Transmit Enable */
#define ITCLK 0x0002 /* Internal Transmit Clock Select */
#define DTYPE_NORM 0x0004 /* Data Format Normal */
#define DTYPE_NORM 0x0000 /* Data Format Normal */
#define DTYPE_ULAW 0x0008 /* Compand Using u-Law */
#define DTYPE_ALAW 0x000C /* Compand Using A-Law */
#define TLSBIT 0x0010 /* Transmit Bit Order */
@ -1458,7 +1509,11 @@
#define TCKFE 0x4000 /* Clock Falling Edge Select */
/* SPORTx_TCR2 Masks and Macro */
#ifdef _MISRA_RULES
#define SLEN(x) ((x)&0x1Fu) /* SPORT TX Word Length (2 - 31) */
#else
#define SLEN(x) ((x)&0x1F) /* SPORT TX Word Length (2 - 31) */
#endif /* _MISRA_RULES */
#define TXSE 0x0100 /* TX Secondary Enable */
#define TSFSE 0x0200 /* Transmit Stereo Frame Sync Enable */
#define TRFST 0x0400 /* Left/Right Order (1 = Right Channel 1st) */
@ -1466,7 +1521,7 @@
/* SPORTx_RCR1 Masks */
#define RSPEN 0x0001 /* Receive Enable */
#define IRCLK 0x0002 /* Internal Receive Clock Select */
#define DTYPE_NORM 0x0004 /* Data Format Normal */
#define DTYPE_NORM 0x0000 /* Data Format Normal */
#define DTYPE_ULAW 0x0008 /* Compand Using u-Law */
#define DTYPE_ALAW 0x000C /* Compand Using A-Law */
#define RLSBIT 0x0010 /* Receive Bit Order */
@ -1477,7 +1532,11 @@
#define RCKFE 0x4000 /* Clock Falling Edge Select */
/* SPORTx_RCR2 Masks */
#ifdef _MISRA_RULES
#define SLEN(x) ((x)&0x1Fu) /* SPORT RX Word Length (2 - 31) */
#else
#define SLEN(x) ((x)&0x1F) /* SPORT RX Word Length (2 - 31) */
#endif /* _MISRA_RULES */
#define RXSE 0x0100 /* RX Secondary Enable */
#define RSFSE 0x0200 /* RX Stereo Frame Sync Enable */
#define RRFST 0x0400 /* Right-First Data Order */
@ -1492,10 +1551,17 @@
#define TXHRE 0x0040 /* Transmit Hold Register Empty */
/* SPORTx_MCMC1 Macros */
#ifdef _MISRA_RULES
#define WOFF(x) ((x) & 0x3FFu) /* Multichannel Window Offset Field */
/* Only use WSIZE Macro With Logic OR While Setting Lower Order Bits */
#define WSIZE(x) (((((x)>>0x3)-1u)&0xFu) << 0xC) /* Multichannel Window Size = (x/8)-1 */
#else
#define WOFF(x) ((x) & 0x3FF) /* Multichannel Window Offset Field */
/* Only use WSIZE Macro With Logic OR While Setting Lower Order Bits */
#define WSIZE(x) (((((x)>>0x3)-1)&0xF) << 0xC) /* Multichannel Window Size = (x/8)-1 */
#endif /* _MISRA_RULES */
/* SPORTx_MCMC2 Masks */
#define REC_BYPASS 0x0000 /* Bypass Mode (No Clock Recovery) */
@ -1718,12 +1784,15 @@
/* ********************** SDRAM CONTROLLER MASKS **********************************************/
/* EBIU_SDGCTL Masks */
#define SCTLE 0x00000001 /* Enable SDRAM Signals */
#define CL_2 0x00000008 /* SDRAM CAS Latency = 2 cycles */
#define CL_3 0x0000000C /* SDRAM CAS Latency = 3 cycles */
#define CL 0x0000000C /* SDRAM CAS latency */
#define PASR_ALL 0x00000000 /* All 4 SDRAM Banks Refreshed In Self-Refresh */
#define PASR_B0_B1 0x00000010 /* SDRAM Banks 0 and 1 Are Refreshed In Self-Refresh */
#define PASR_B0 0x00000020 /* Only SDRAM Bank 0 Is Refreshed In Self-Refresh */
#define PASR 0x00000030 /* SDRAM partial array self-refresh */
#define TRAS_1 0x00000040 /* SDRAM tRAS = 1 cycle */
#define TRAS_2 0x00000080 /* SDRAM tRAS = 2 cycles */
#define TRAS_3 0x000000C0 /* SDRAM tRAS = 3 cycles */
@ -1739,6 +1808,7 @@
#define TRAS_13 0x00000340 /* SDRAM tRAS = 13 cycles */
#define TRAS_14 0x00000380 /* SDRAM tRAS = 14 cycles */
#define TRAS_15 0x000003C0 /* SDRAM tRAS = 15 cycles */
#define TRAS 0x000003C0 /* SDRAM tRAS in SCLK cycles */
#define TRP_1 0x00000800 /* SDRAM tRP = 1 cycle */
#define TRP_2 0x00001000 /* SDRAM tRP = 2 cycles */
#define TRP_3 0x00001800 /* SDRAM tRP = 3 cycles */
@ -1746,6 +1816,7 @@
#define TRP_5 0x00002800 /* SDRAM tRP = 5 cycles */
#define TRP_6 0x00003000 /* SDRAM tRP = 6 cycles */
#define TRP_7 0x00003800 /* SDRAM tRP = 7 cycles */
#define TRP 0x00003800 /* SDRAM tRP in SCLK cycles */
#define TRCD_1 0x00008000 /* SDRAM tRCD = 1 cycle */
#define TRCD_2 0x00010000 /* SDRAM tRCD = 2 cycles */
#define TRCD_3 0x00018000 /* SDRAM tRCD = 3 cycles */
@ -1753,9 +1824,11 @@
#define TRCD_5 0x00028000 /* SDRAM tRCD = 5 cycles */
#define TRCD_6 0x00030000 /* SDRAM tRCD = 6 cycles */
#define TRCD_7 0x00038000 /* SDRAM tRCD = 7 cycles */
#define TRCD 0x00030000 /* SDRAM tRCD in SCLK cycles */
#define TWR_1 0x00080000 /* SDRAM tWR = 1 cycle */
#define TWR_2 0x00100000 /* SDRAM tWR = 2 cycles */
#define TWR_3 0x00180000 /* SDRAM tWR = 3 cycles */
#define TWR 0x00180000 /* SDRAM tWR in SCLK cycles */
#define PUPSD 0x00200000 /* Power-Up Start Delay (15 SCLK Cycles Delay) */
#define PSM 0x00400000 /* Power-Up Sequence (Mode Register Before/After* Refresh) */
#define PSS 0x00800000 /* Enable Power-Up Sequence on Next SDRAM Access */
@ -1772,12 +1845,13 @@
#define EBSZ_32 0x0002 /* SDRAM External Bank Size = 32MB */
#define EBSZ_64 0x0004 /* SDRAM External Bank Size = 64MB */
#define EBSZ_128 0x0006 /* SDRAM External Bank Size = 128MB */
#define EBSZ_256 0x0008 /* SDRAM External Bank Size = 256MB */
#define EBSZ_512 0x000A /* SDRAM External Bank Size = 512MB */
#define EBSZ 0x0006 /* SDRAM external bank size */
#define EBCAW_8 0x0000 /* SDRAM External Bank Column Address Width = 8 Bits */
#define EBCAW_9 0x0010 /* SDRAM External Bank Column Address Width = 9 Bits */
#define EBCAW_10 0x0020 /* SDRAM External Bank Column Address Width = 10 Bits */
#define EBCAW_11 0x0030 /* SDRAM External Bank Column Address Width = 11 Bits */
#define EBCAW 0x0030 /* SDRAM external bank column address width */
/* EBIU_SDSTAT Masks */
#define SDCI 0x0001 /* SDRAM Controller Idle */
@ -1871,8 +1945,13 @@
/* ******************** TWO-WIRE INTERFACE (TWI) MASKS ***********************/
/* TWI_CLKDIV Macros (Use: *pTWI_CLKDIV = CLKLOW(x)|CLKHI(y); ) */
#ifdef _MISRA_RULES
#define CLKLOW(x) ((x) & 0xFFu) /* Periods Clock Is Held Low */
#define CLKHI(y) (((y)&0xFFu)<<0x8) /* Periods Before New Clock Low */
#else
#define CLKLOW(x) ((x) & 0xFF) /* Periods Clock Is Held Low */
#define CLKHI(y) (((y)&0xFF)<<0x8) /* Periods Before New Clock Low */
#endif /* _MISRA_RULES */
/* TWI_PRESCALE Masks */
#define PRESCALE 0x007F /* SCLKs Per Internal Time Reference (10MHz) */
@ -2567,7 +2646,12 @@
#define PJSE_SPORT 0x0000 /* Enable TFS0/DT0PRI */
#define PJSE_SPI 0x0001 /* Enable SPI_SSEL3:2 */
#ifdef _MISRA_RULES
#define PJCE(x) (((x)&0x3u)<<1) /* Port J CAN/SPI/SPORT Enable */
#else
#define PJCE(x) (((x)&0x3)<<1) /* Port J CAN/SPI/SPORT Enable */
#endif /* _MISRA_RULES */
#define PJCE_SPORT 0x0000 /* Enable DR0SEC/DT0SEC */
#define PJCE_CAN 0x0002 /* Enable CAN RX/TX */
#define PJCE_SPI 0x0004 /* Enable SPI_SSEL7 */

View File

@ -14,7 +14,7 @@
*
* defBF535.h
*
* Copyright (C) 2008 Analog Devices, Inc.
* Copyright (C) 2008, 2009 Analog Devices, Inc.
*
************************************************************************/
@ -29,6 +29,10 @@
/* include all Core registers and bit definitions */
#include <defblackfin.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macro definitions not MISRA compliant")
#endif /* _MISRA_RULES */
/*********************************************************************************** */
/* Memory Map */
@ -113,7 +117,6 @@
#define CHIPID 0xFFC048C0 /* Device ID Register */
/* System Interrupt Controller (0xFFC0 0C00-0xFFC0 0FFF) */
#define SIC_RVECT 0xFFC00C00 /* Reset Vector Register */
#define SIC_IAR0 0xFFC00C04 /* Interrupt Assignment Register 0 */
#define SIC_IAR1 0xFFC00C08 /* Interrupt Assignment Register 1 */
#define SIC_IAR2 0xFFC00C0C /* Interrupt Assignment Register 2 */
@ -1144,5 +1147,8 @@
#define B7WAT_14 0x0000E000 /* Bank 7 Write Access Time = 14 cycles */
#define B7WAT_15 0x0000F000 /* Bank 7 Write Access Time = 15 cycles */
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* __DEF_BF535_H */

View File

@ -11,7 +11,7 @@
*/
/*
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -32,6 +32,7 @@
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4)
#pragma diag(suppress:misra_rule_19_7)
#pragma diag(suppress:misra_rule_19_11)
#endif /* _MISRA_RULES */
@ -224,8 +225,13 @@
#define REGAD 0x000007C0 /* STA Register Address */
#define PHYAD 0x0000F800 /* PHY Device Address */
#ifdef _MISRA_RULES
#define SET_REGAD(x) (((x)&0x1Fu)<< 6 ) /* Set STA Register Address */
#define SET_PHYAD(x) (((x)&0x1Fu)<< 11 ) /* Set PHY Device Address */
#else
#define SET_REGAD(x) (((x)&0x1F)<< 6 ) /* Set STA Register Address */
#define SET_PHYAD(x) (((x)&0x1F)<< 11 ) /* Set PHY Device Address */
#endif /* _MISRA_RULES */
/* EMAC_STADAT Mask */
#define STADATA 0x0000FFFF /* Station Management Data */
@ -237,7 +243,11 @@
#define BKPRSEN 0x00000008 /* Enable Backpressure */
#define FLCPAUSE 0xFFFF0000 /* Pause Time */
#ifdef _MISRA_RULES
#define SET_FLCPAUSE(x) (((x)&0xFFFFu)<< 16) /* Set Pause Time */
#else
#define SET_FLCPAUSE(x) (((x)&0xFFFF)<< 16) /* Set Pause Time */
#endif /* _MISRA_RULES */
/* EMAC_WKUP_CTL Masks */
#define CAPWKFRM 0x00000001 /* Capture Wake-Up Frames */
@ -263,10 +273,18 @@
#define WF2_OFF 0x00FF0000 /* Wake-Up Filter 2 Pattern Offset */
#define WF3_OFF 0xFF000000 /* Wake-Up Filter 3 Pattern Offset */
#ifdef _MISRA_RULES
#define SET_WF0_OFF(x) (((x)&0xFFu)<< 0 ) /* Set Wake-Up Filter 0 Byte Offset */
#define SET_WF1_OFF(x) (((x)&0xFFu)<< 8 ) /* Set Wake-Up Filter 1 Byte Offset */
#define SET_WF2_OFF(x) (((x)&0xFFu)<< 16 ) /* Set Wake-Up Filter 2 Byte Offset */
#define SET_WF3_OFF(x) (((x)&0xFFu)<< 24 ) /* Set Wake-Up Filter 3 Byte Offset */
#else
#define SET_WF0_OFF(x) (((x)&0xFF)<< 0 ) /* Set Wake-Up Filter 0 Byte Offset */
#define SET_WF1_OFF(x) (((x)&0xFF)<< 8 ) /* Set Wake-Up Filter 1 Byte Offset */
#define SET_WF2_OFF(x) (((x)&0xFF)<< 16 ) /* Set Wake-Up Filter 2 Byte Offset */
#define SET_WF3_OFF(x) (((x)&0xFF)<< 24 ) /* Set Wake-Up Filter 3 Byte Offset */
#endif /* _MISRA_RULES */
/* Set ALL Offsets */
#define SET_WF_OFFS(x0,x1,x2,x3) (SET_WF0_OFF((x0))|SET_WF1_OFF((x1))|SET_WF2_OFF((x2))|SET_WF3_OFF((x3)))
@ -274,23 +292,40 @@
#define WF0_CRC 0x0000FFFF /* Wake-Up Filter 0 Pattern CRC */
#define WF1_CRC 0xFFFF0000 /* Wake-Up Filter 1 Pattern CRC */
#ifdef _MISRA_RULES
#define SET_WF0_CRC(x) (((x)&0xFFFFu)<< 0 ) /* Set Wake-Up Filter 0 Target CRC */
#define SET_WF1_CRC(x) (((x)&0xFFFFu)<< 16 ) /* Set Wake-Up Filter 1 Target CRC */
#else
#define SET_WF0_CRC(x) (((x)&0xFFFF)<< 0 ) /* Set Wake-Up Filter 0 Target CRC */
#define SET_WF1_CRC(x) (((x)&0xFFFF)<< 16 ) /* Set Wake-Up Filter 1 Target CRC */
#endif /* _MISRA_RULES */
/* EMAC_WKUP_FFCRC1 Masks */
#define WF2_CRC 0x0000FFFF /* Wake-Up Filter 2 Pattern CRC */
#define WF3_CRC 0xFFFF0000 /* Wake-Up Filter 3 Pattern CRC */
#ifdef _MISRA_RULES
#define SET_WF2_CRC(x) (((x)&0xFFFFu)<< 0 ) /* Set Wake-Up Filter 2 Target CRC */
#define SET_WF3_CRC(x) (((x)&0xFFFFu)<< 16 ) /* Set Wake-Up Filter 3 Target CRC */
#else
#define SET_WF2_CRC(x) (((x)&0xFFFF)<< 0 ) /* Set Wake-Up Filter 2 Target CRC */
#define SET_WF3_CRC(x) (((x)&0xFFFF)<< 16 ) /* Set Wake-Up Filter 3 Target CRC */
#endif /* _MISRA_RULES */
/* EMAC_SYSCTL Masks */
#define PHYIE 0x00000001 /* PHY_INT Interrupt Enable */
#define RXDWA 0x00000002 /* Receive Frame DMA Word Alignment (Odd/Even*) */
#define RXCKS 0x00000004 /* Enable RX Frame TCP/UDP Checksum Computation */
#define MDCDIV 0x00003F00 /* SCLK:MDC Clock Divisor [MDC=SCLK/(2*(N+1))] */
#if !defined(__SILICON_REVISION__) || (__SILICON_REVISION__>0x2)
/* In BF536/7 revs. 0.0, 0.1 and 0.2, this bit was reserved */
#define TXDWA 0x00000010 /* Transmit Frame DMA Word Alignment(Even/Odd*) */
#endif
#ifdef _MISRA_RULES
#define SET_MDCDIV(x) (((x)&0x3Fu)<< 8) /* Set MDC Clock Divisor */
#else
#define SET_MDCDIV(x) (((x)&0x3F)<< 8) /* Set MDC Clock Divisor */
#endif /* _MISRA_RULES */
/* EMAC_SYSTAT Masks */
#define PHYINT 0x00000001 /* PHY_INT Interrupt Status */

View File

@ -14,7 +14,7 @@
**
** defBF538.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
*************************************************************************/
@ -624,9 +624,8 @@
#define CAN_MBTD 0xFFC02AAC /* Mailbox Temporary Disable Feature */
#define CAN_EWR 0xFFC02AB0 /* Programmable Warning Level */
#define CAN_ESR 0xFFC02AB4 /* Error Status Register */
#define CAN_UCREG 0xFFC02AC0 /* Universal Counter Register/Capture Register */
#define CAN_UCCNT 0xFFC02AC4 /* Universal Counter */
#define CAN_UCRC 0xFFC02AC8 /* Universal Counter Force Reload Register */
#define CAN_UCRC 0xFFC02AC8 /* Universal Counter Reload/Capture Register */
#define CAN_UCCNF 0xFFC02ACC /* Universal Counter Configuration Register */
/* Mailbox Acceptance Masks */
@ -1008,11 +1007,17 @@
/* ********************* PLL AND RESET MASKS ****************************************/
/* PLL_CTL Masks (IN_DELAY and OUT_DELAY bit field definitions differ from BF533/BF532/BF531) */
#define MSEL 0x7E00 /* Multiplier Select For CCLK/VCO Factors */
#define IN_DELAY 0x0014 /* EBIU Input Delay Select */
#define OUT_DELAY 0x00C0 /* EBIU Output Delay Select */
#ifdef _MISRA_RULES
#define SET_OUT_DELAY(x) (((x)&0x03u) << 0x6)
#define SET_IN_DELAY(x) ((((x)&0x02u) << 0x3) | (((x)&0x01u) << 0x2))
#else
#define SET_OUT_DELAY(x) (((x)&0x03) << 0x6)
#define SET_IN_DELAY(x) ((((x)&0x02) << 0x3) | (((x)&0x01) << 0x2))
#endif /* _MISRA_RULES */
/* VR_CTL Masks (Additional WakeUp Events) */
#define CANWE 0x0200 /* Enable CAN Wakeup From Hibernate */
@ -1058,46 +1063,52 @@
#define MDMA1_0_IRQ 0x00020000 /* MemDMA1 Stream 0 Interrupt Request */
#define MDMA1_1_IRQ 0x00040000 /* MemDMA1 Stream 1 Interrupt Request */
#ifdef _MISRA_RULES
#define _MF15 0xFu
#define _MF7 7u
#else
#define _MF15 0xF
#define _MF7 7
#endif /* _MISRA_RULES */
/* SIC_IAR3 Macros */
#define P24_IVG(x) (((x)-7)&0xF) /* Peripheral #24 assigned IVG #x */
#define P25_IVG(x) (((x)-7)&0xF) << 0x4 /* Peripheral #25 assigned IVG #x */
#define P26_IVG(x) (((x)-7)&0xF) << 0x8 /* Peripheral #26 assigned IVG #x */
#define P27_IVG(x) (((x)-7)&0xF) << 0xC /* Peripheral #27 assigned IVG #x */
#define P28_IVG(x) (((x)-7)&0xF) << 0x10 /* Peripheral #28 assigned IVG #x */
#define P29_IVG(x) (((x)-7)&0xF) << 0x14 /* Peripheral #29 assigned IVG #x */
#define P30_IVG(x) (((x)-7)&0xF) << 0x18 /* Peripheral #30 assigned IVG #x */
#define P31_IVG(x) (((x)-7)&0xF) << 0x1C /* Peripheral #31 assigned IVG #x */
#define P24_IVG(x) (((x)-_MF7)&_MF15) /* Peripheral #24 assigned IVG #x */
#define P25_IVG(x) (((x)-_MF7)&_MF15) << 0x4 /* Peripheral #25 assigned IVG #x */
#define P26_IVG(x) (((x)-_MF7)&_MF15) << 0x8 /* Peripheral #26 assigned IVG #x */
#define P27_IVG(x) (((x)-_MF7)&_MF15) << 0xC /* Peripheral #27 assigned IVG #x */
#define P28_IVG(x) (((x)-_MF7)&_MF15) << 0x10 /* Peripheral #28 assigned IVG #x */
#define P29_IVG(x) (((x)-_MF7)&_MF15) << 0x14 /* Peripheral #29 assigned IVG #x */
#define P30_IVG(x) (((x)-_MF7)&_MF15) << 0x18 /* Peripheral #30 assigned IVG #x */
#define P31_IVG(x) (((x)-_MF7)&_MF15) << 0x1C /* Peripheral #31 assigned IVG #x */
/* SIC_IAR4 Macros */
#define P32_IVG(x) (((x)-7)&0xF) /* Peripheral #32 assigned IVG #x */
#define P33_IVG(x) (((x)-7)&0xF) << 0x4 /* Peripheral #33 assigned IVG #x */
#define P34_IVG(x) (((x)-7)&0xF) << 0x8 /* Peripheral #34 assigned IVG #x */
#define P35_IVG(x) (((x)-7)&0xF) << 0xC /* Peripheral #35 assigned IVG #x */
#define P36_IVG(x) (((x)-7)&0xF) << 0x10 /* Peripheral #36 assigned IVG #x */
#define P37_IVG(x) (((x)-7)&0xF) << 0x14 /* Peripheral #37 assigned IVG #x */
#define P38_IVG(x) (((x)-7)&0xF) << 0x18 /* Peripheral #38 assigned IVG #x */
#define P39_IVG(x) (((x)-7)&0xF) << 0x1C /* Peripheral #39 assigned IVG #x */
#define P32_IVG(x) (((x)-_MF7)&_MF15) /* Peripheral #32 assigned IVG #x */
#define P33_IVG(x) (((x)-_MF7)&_MF15) << 0x4 /* Peripheral #33 assigned IVG #x */
#define P34_IVG(x) (((x)-_MF7)&_MF15) << 0x8 /* Peripheral #34 assigned IVG #x */
#define P35_IVG(x) (((x)-_MF7)&_MF15) << 0xC /* Peripheral #35 assigned IVG #x */
#define P36_IVG(x) (((x)-_MF7)&_MF15) << 0x10 /* Peripheral #36 assigned IVG #x */
#define P37_IVG(x) (((x)-_MF7)&_MF15) << 0x14 /* Peripheral #37 assigned IVG #x */
#define P38_IVG(x) (((x)-_MF7)&_MF15) << 0x18 /* Peripheral #38 assigned IVG #x */
#define P39_IVG(x) (((x)-_MF7)&_MF15) << 0x1C /* Peripheral #39 assigned IVG #x */
/* SIC_IAR5 Macros */
#define P40_IVG(x) (((x)-7)&0xF) /* Peripheral #40 assigned IVG #x */
#define P41_IVG(x) (((x)-7)&0xF) << 0x4 /* Peripheral #41 assigned IVG #x */
#define P42_IVG(x) (((x)-7)&0xF) << 0x8 /* Peripheral #42 assigned IVG #x */
#define P43_IVG(x) (((x)-7)&0xF) << 0xC /* Peripheral #43 assigned IVG #x */
#define P44_IVG(x) (((x)-7)&0xF) << 0x10 /* Peripheral #44 assigned IVG #x */
#define P45_IVG(x) (((x)-7)&0xF) << 0x14 /* Peripheral #45 assigned IVG #x */
#define P46_IVG(x) (((x)-7)&0xF) << 0x18 /* Peripheral #46 assigned IVG #x */
#define P47_IVG(x) (((x)-7)&0xF) << 0x1C /* Peripheral #47 assigned IVG #x */
#define P40_IVG(x) (((x)-_MF7)&_MF15) /* Peripheral #40 assigned IVG #x */
#define P41_IVG(x) (((x)-_MF7)&_MF15) << 0x4 /* Peripheral #41 assigned IVG #x */
#define P42_IVG(x) (((x)-_MF7)&_MF15) << 0x8 /* Peripheral #42 assigned IVG #x */
#define P43_IVG(x) (((x)-_MF7)&_MF15) << 0xC /* Peripheral #43 assigned IVG #x */
#define P44_IVG(x) (((x)-_MF7)&_MF15) << 0x10 /* Peripheral #44 assigned IVG #x */
#define P45_IVG(x) (((x)-_MF7)&_MF15) << 0x14 /* Peripheral #45 assigned IVG #x */
#define P46_IVG(x) (((x)-_MF7)&_MF15) << 0x18 /* Peripheral #46 assigned IVG #x */
#define P47_IVG(x) (((x)-_MF7)&_MF15) << 0x1C /* Peripheral #47 assigned IVG #x */
/* SIC_IAR6 Macros */
#define P48_IVG(x) (((x)-7)&0xF) /* Peripheral #48 assigned IVG #x */
#define P49_IVG(x) (((x)-7)&0xF) << 0x4 /* Peripheral #49 assigned IVG #x */
#define P50_IVG(x) (((x)-7)&0xF) << 0x8 /* Peripheral #50 assigned IVG #x */
#define P51_IVG(x) (((x)-7)&0xF) << 0xC /* Peripheral #51 assigned IVG #x */
#define P52_IVG(x) (((x)-7)&0xF) << 0x10 /* Peripheral #52 assigned IVG #x */
#define P53_IVG(x) (((x)-7)&0xF) << 0x14 /* Peripheral #53 assigned IVG #x */
#define P54_IVG(x) (((x)-7)&0xF) << 0x18 /* Peripheral #54 assigned IVG #x */
#define P55_IVG(x) (((x)-7)&0xF) << 0x1C /* Peripheral #55 assigned IVG #x */
#define P48_IVG(x) (((x)-_MF7)&_MF15) /* Peripheral #48 assigned IVG #x */
#define P49_IVG(x) (((x)-_MF7)&_MF15) << 0x4 /* Peripheral #49 assigned IVG #x */
#define P50_IVG(x) (((x)-_MF7)&_MF15) << 0x8 /* Peripheral #50 assigned IVG #x */
#define P51_IVG(x) (((x)-_MF7)&_MF15) << 0xC /* Peripheral #51 assigned IVG #x */
#define P52_IVG(x) (((x)-_MF7)&_MF15) << 0x10 /* Peripheral #52 assigned IVG #x */
#define P53_IVG(x) (((x)-_MF7)&_MF15) << 0x14 /* Peripheral #53 assigned IVG #x */
#define P54_IVG(x) (((x)-_MF7)&_MF15) << 0x18 /* Peripheral #54 assigned IVG #x */
#define P55_IVG(x) (((x)-_MF7)&_MF15) << 0x1C /* Peripheral #55 assigned IVG #x */
/******************* GPIO MASKS *********************/
@ -1210,11 +1221,27 @@
#define PMAP_UART2RX 0xA000 /* PMAP UART2 Receive DMA */
#define PMAP_UART2TX 0xB000 /* PMAP UART2 Transmit DMA */
/* EBIU_SDBCTL Masks */
#define EBSZ 0x0006 /* SDRAM external bank size */
#define EBCAW 0x0030 /* SDRAM external bank column address width */
/* EBIU_SDGCTL Masks */
#define CL 0x0000000C /* SDRAM CAS latency */
#define PASR 0x00000030 /* SDRAM partial array self-refresh */
#define TRAS 0x000003C0 /* SDRAM tRAS in SCLK cycles */
#define TRP 0x00003800 /* SDRAM tRP in SCLK cycles */
#define TRCD 0x00030000 /* SDRAM tRCD in SCLK cycles */
#define TWR 0x00180000 /* SDRAM tWR in SCLK cycles */
/* ******************** TWO-WIRE INTERFACE (TWIx) MASKS ***********************/
/* TWIx_CLKDIV Macros (Use: *pTWIx_CLKDIV = CLKLOW(x)|CLKHI(y); ) */
#ifdef _MISRA_RULES
#define CLKLOW(x) ((x) & 0xFFu) /* Periods Clock Is Held Low */
#define CLKHI(y) (((y)&0xFFu)<<0x8) /* Periods Before New Clock Low */
#else
#define CLKLOW(x) ((x) & 0xFF) /* Periods Clock Is Held Low */
#define CLKHI(y) (((y)&0xFF)<<0x8) /* Periods Before New Clock Low */
#endif /* _MISRA_RULES */
/* TWIx_PRESCALE Masks */
#define PRESCALE 0x007F /* SCLKs Per Internal Time Reference (10MHz) */

View File

@ -11,7 +11,7 @@
*/
/*
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -25,6 +25,12 @@
/* Include all Core registers and bit definitions */
#include <def_LPBlackfin.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macros violate rule 19.4")
#pragma diag(suppress:misra_rule_19_7:"Allow function-like macros ")
#endif /* _MISRA_RULES */
/*********************************************************************************** */
/* System MMR Register Map */
/*********************************************************************************** */
@ -40,7 +46,6 @@
/* System Interrupt Controller (0xFFC00100 - 0xFFC001FF) */
#define SWRST 0xFFC00100 /* Software Reset Register (16-bit) */
#define SYSCR 0xFFC00104 /* System Configuration registe */
#define SIC_RVECT 0xFFC00108 /* Interrupt Reset Vector Address Register */
#define SIC_IMASK0 0xFFC0010C /* Interrupt Mask Register */
#define SIC_IAR0 0xFFC00110 /* Interrupt Assignment Register 0 */
#define SIC_IAR1 0xFFC00114 /* Interrupt Assignment Register 1 */
@ -1006,9 +1011,8 @@
#define CAN_MBTD 0xFFC02AAC /* Mailbox Temporary Disable Feature */
#define CAN_EWR 0xFFC02AB0 /* Programmable Warning Level */
#define CAN_ESR 0xFFC02AB4 /* Error Status Register */
#define CAN_UCREG 0xFFC02AC0 /* Universal Counter Register/Capture Register */
#define CAN_UCCNT 0xFFC02AC4 /* Universal Counter */
#define CAN_UCRC 0xFFC02AC8 /* Universal Counter Force Reload Register */
#define CAN_UCRC 0xFFC02AC8 /* Universal Counter Reload/Capture Register */
#define CAN_UCCNF 0xFFC02ACC /* Universal Counter Configuration Register */
/* Mailbox Acceptance Masks */
@ -1401,10 +1405,15 @@
#define MSEL 0x7E00 /* Multiplier Select For CCLK/VCO Factors */
/* PLL_CTL Macros */
#ifdef _MISRA_RULES
#define SET_MSEL(x) (((x)&0x3Fu) << 0x9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
#define SET_OUT_DELAY(x) (((x)&0x03u) << 0x6)
#define SET_IN_DELAY(x) ((((x)&0x02u) << 0x3) | (((x)&0x01u) << 0x2))
#else
#define SET_MSEL(x) (((x)&0x3F) << 0x9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
#define SET_OUT_DELAY(x) (((x)&0x03) << 0x6)
#define SET_IN_DELAY(x) ((((x)&0x02) << 0x3) | (((x)&0x01) << 0x2))
#endif /* _MISRA_RULES */
/* PLL_DIV Masks */
#define SSEL 0x000F /* System Select */
@ -1422,7 +1431,11 @@
#define CCLK_DIV8 0x0030 /* CCLK = VCO / 8 */
/* PLL_DIV Macros */
#ifdef _MISRA_RULES
#define SET_SSEL(x) ((x)&0xFu) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
#else
#define SET_SSEL(x) ((x)&0xF) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
#endif /* _MISRA_RULES */
/* PLL_STAT Masks */
#define ACTIVE_PLLENABLED 0x0001 /* Processor In Active Mode With PLL Enabled */
@ -1538,100 +1551,128 @@
#define MDMA0_IRQ MDMA1_0_IRQ
#define MDMA1_IRQ MDMA1_1_IRQ
#ifdef _MISRA_RULES
#define _MF15 0xFu
#define _MF7 7u
#else
#define _MF15 0xF
#define _MF7 7
#endif /* _MISRA_RULES */
/* SIC_IAR0 Macros */
#define P0_IVG(x) (((x)-7)&0xF) /* Peripheral #0 assigned IVG #x */
#define P1_IVG(x) (((x)-7)&0xF) << 0x4 /* Peripheral #1 assigned IVG #x */
#define P2_IVG(x) (((x)-7)&0xF) << 0x8 /* Peripheral #2 assigned IVG #x */
#define P3_IVG(x) (((x)-7)&0xF) << 0xC /* Peripheral #3 assigned IVG #x */
#define P4_IVG(x) (((x)-7)&0xF) << 0x10 /* Peripheral #4 assigned IVG #x */
#define P5_IVG(x) (((x)-7)&0xF) << 0x14 /* Peripheral #5 assigned IVG #x */
#define P6_IVG(x) (((x)-7)&0xF) << 0x18 /* Peripheral #6 assigned IVG #x */
#define P7_IVG(x) (((x)-7)&0xF) << 0x1C /* Peripheral #7 assigned IVG #x */
#define P0_IVG(x) (((x)-_MF7)&_MF15) /* Peripheral #0 assigned IVG #x */
#define P1_IVG(x) (((x)-_MF7)&_MF15) << 0x4 /* Peripheral #1 assigned IVG #x */
#define P2_IVG(x) (((x)-_MF7)&_MF15) << 0x8 /* Peripheral #2 assigned IVG #x */
#define P3_IVG(x) (((x)-_MF7)&_MF15) << 0xC /* Peripheral #3 assigned IVG #x */
#define P4_IVG(x) (((x)-_MF7)&_MF15) << 0x10 /* Peripheral #4 assigned IVG #x */
#define P5_IVG(x) (((x)-_MF7)&_MF15) << 0x14 /* Peripheral #5 assigned IVG #x */
#define P6_IVG(x) (((x)-_MF7)&_MF15) << 0x18 /* Peripheral #6 assigned IVG #x */
#define P7_IVG(x) (((x)-_MF7)&_MF15) << 0x1C /* Peripheral #7 assigned IVG #x */
/* SIC_IAR1 Macros */
#define P8_IVG(x) (((x)-7)&0xF) /* Peripheral #8 assigned IVG #x */
#define P9_IVG(x) (((x)-7)&0xF) << 0x4 /* Peripheral #9 assigned IVG #x */
#define P10_IVG(x) (((x)-7)&0xF) << 0x8 /* Peripheral #10 assigned IVG #x */
#define P11_IVG(x) (((x)-7)&0xF) << 0xC /* Peripheral #11 assigned IVG #x */
#define P12_IVG(x) (((x)-7)&0xF) << 0x10 /* Peripheral #12 assigned IVG #x */
#define P13_IVG(x) (((x)-7)&0xF) << 0x14 /* Peripheral #13 assigned IVG #x */
#define P14_IVG(x) (((x)-7)&0xF) << 0x18 /* Peripheral #14 assigned IVG #x */
#define P15_IVG(x) (((x)-7)&0xF) << 0x1C /* Peripheral #15 assigned IVG #x */
#define P8_IVG(x) (((x)-_MF7)&_MF15) /* Peripheral #8 assigned IVG #x */
#define P9_IVG(x) (((x)-_MF7)&_MF15) << 0x4 /* Peripheral #9 assigned IVG #x */
#define P10_IVG(x) (((x)-_MF7)&_MF15) << 0x8 /* Peripheral #10 assigned IVG #x */
#define P11_IVG(x) (((x)-_MF7)&_MF15) << 0xC /* Peripheral #11 assigned IVG #x */
#define P12_IVG(x) (((x)-_MF7)&_MF15) << 0x10 /* Peripheral #12 assigned IVG #x */
#define P13_IVG(x) (((x)-_MF7)&_MF15) << 0x14 /* Peripheral #13 assigned IVG #x */
#define P14_IVG(x) (((x)-_MF7)&_MF15) << 0x18 /* Peripheral #14 assigned IVG #x */
#define P15_IVG(x) (((x)-_MF7)&_MF15) << 0x1C /* Peripheral #15 assigned IVG #x */
/* SIC_IAR2 Macros */
#define P16_IVG(x) (((x)-7)&0xF) /* Peripheral #16 assigned IVG #x */
#define P17_IVG(x) (((x)-7)&0xF) << 0x4 /* Peripheral #17 assigned IVG #x */
#define P18_IVG(x) (((x)-7)&0xF) << 0x8 /* Peripheral #18 assigned IVG #x */
#define P19_IVG(x) (((x)-7)&0xF) << 0xC /* Peripheral #19 assigned IVG #x */
#define P20_IVG(x) (((x)-7)&0xF) << 0x10 /* Peripheral #20 assigned IVG #x */
#define P21_IVG(x) (((x)-7)&0xF) << 0x14 /* Peripheral #21 assigned IVG #x */
#define P22_IVG(x) (((x)-7)&0xF) << 0x18 /* Peripheral #22 assigned IVG #x */
#define P23_IVG(x) (((x)-7)&0xF) << 0x1C /* Peripheral #23 assigned IVG #x */
#define P16_IVG(x) (((x)-_MF7)&_MF15) /* Peripheral #16 assigned IVG #x */
#define P17_IVG(x) (((x)-_MF7)&_MF15) << 0x4 /* Peripheral #17 assigned IVG #x */
#define P18_IVG(x) (((x)-_MF7)&_MF15) << 0x8 /* Peripheral #18 assigned IVG #x */
#define P19_IVG(x) (((x)-_MF7)&_MF15) << 0xC /* Peripheral #19 assigned IVG #x */
#define P20_IVG(x) (((x)-_MF7)&_MF15) << 0x10 /* Peripheral #20 assigned IVG #x */
#define P21_IVG(x) (((x)-_MF7)&_MF15) << 0x14 /* Peripheral #21 assigned IVG #x */
#define P22_IVG(x) (((x)-_MF7)&_MF15) << 0x18 /* Peripheral #22 assigned IVG #x */
#define P23_IVG(x) (((x)-_MF7)&_MF15) << 0x1C /* Peripheral #23 assigned IVG #x */
/* SIC_IAR3 Macros */
#define P24_IVG(x) (((x)-7)&0xF) /* Peripheral #24 assigned IVG #x */
#define P25_IVG(x) (((x)-7)&0xF) << 0x4 /* Peripheral #25 assigned IVG #x */
#define P26_IVG(x) (((x)-7)&0xF) << 0x8 /* Peripheral #26 assigned IVG #x */
#define P27_IVG(x) (((x)-7)&0xF) << 0xC /* Peripheral #27 assigned IVG #x */
#define P28_IVG(x) (((x)-7)&0xF) << 0x10 /* Peripheral #28 assigned IVG #x */
#define P29_IVG(x) (((x)-7)&0xF) << 0x14 /* Peripheral #29 assigned IVG #x */
#define P30_IVG(x) (((x)-7)&0xF) << 0x18 /* Peripheral #30 assigned IVG #x */
#define P31_IVG(x) (((x)-7)&0xF) << 0x1C /* Peripheral #31 assigned IVG #x */
#define P24_IVG(x) (((x)-_MF7)&_MF15) /* Peripheral #24 assigned IVG #x */
#define P25_IVG(x) (((x)-_MF7)&_MF15) << 0x4 /* Peripheral #25 assigned IVG #x */
#define P26_IVG(x) (((x)-_MF7)&_MF15) << 0x8 /* Peripheral #26 assigned IVG #x */
#define P27_IVG(x) (((x)-_MF7)&_MF15) << 0xC /* Peripheral #27 assigned IVG #x */
#define P28_IVG(x) (((x)-_MF7)&_MF15) << 0x10 /* Peripheral #28 assigned IVG #x */
#define P29_IVG(x) (((x)-_MF7)&_MF15) << 0x14 /* Peripheral #29 assigned IVG #x */
#define P30_IVG(x) (((x)-_MF7)&_MF15) << 0x18 /* Peripheral #30 assigned IVG #x */
#define P31_IVG(x) (((x)-_MF7)&_MF15) << 0x1C /* Peripheral #31 assigned IVG #x */
/* SIC_IAR4 Macros */
#define P32_IVG(x) (((x)-7)&0xF) /* Peripheral #32 assigned IVG #x */
#define P33_IVG(x) (((x)-7)&0xF) << 0x4 /* Peripheral #33 assigned IVG #x */
#define P34_IVG(x) (((x)-7)&0xF) << 0x8 /* Peripheral #34 assigned IVG #x */
#define P35_IVG(x) (((x)-7)&0xF) << 0xC /* Peripheral #35 assigned IVG #x */
#define P36_IVG(x) (((x)-7)&0xF) << 0x10 /* Peripheral #36 assigned IVG #x */
#define P37_IVG(x) (((x)-7)&0xF) << 0x14 /* Peripheral #37 assigned IVG #x */
#define P38_IVG(x) (((x)-7)&0xF) << 0x18 /* Peripheral #38 assigned IVG #x */
#define P39_IVG(x) (((x)-7)&0xF) << 0x1C /* Peripheral #39 assigned IVG #x */
#define P32_IVG(x) (((x)-_MF7)&_MF15) /* Peripheral #32 assigned IVG #x */
#define P33_IVG(x) (((x)-_MF7)&_MF15) << 0x4 /* Peripheral #33 assigned IVG #x */
#define P34_IVG(x) (((x)-_MF7)&_MF15) << 0x8 /* Peripheral #34 assigned IVG #x */
#define P35_IVG(x) (((x)-_MF7)&_MF15) << 0xC /* Peripheral #35 assigned IVG #x */
#define P36_IVG(x) (((x)-_MF7)&_MF15) << 0x10 /* Peripheral #36 assigned IVG #x */
#define P37_IVG(x) (((x)-_MF7)&_MF15) << 0x14 /* Peripheral #37 assigned IVG #x */
#define P38_IVG(x) (((x)-_MF7)&_MF15) << 0x18 /* Peripheral #38 assigned IVG #x */
#define P39_IVG(x) (((x)-_MF7)&_MF15) << 0x1C /* Peripheral #39 assigned IVG #x */
/* SIC_IAR5 Macros */
#define P40_IVG(x) (((x)-7)&0xF) /* Peripheral #40 assigned IVG #x */
#define P41_IVG(x) (((x)-7)&0xF) << 0x4 /* Peripheral #41 assigned IVG #x */
#define P42_IVG(x) (((x)-7)&0xF) << 0x8 /* Peripheral #42 assigned IVG #x */
#define P43_IVG(x) (((x)-7)&0xF) << 0xC /* Peripheral #43 assigned IVG #x */
#define P44_IVG(x) (((x)-7)&0xF) << 0x10 /* Peripheral #44 assigned IVG #x */
#define P45_IVG(x) (((x)-7)&0xF) << 0x14 /* Peripheral #45 assigned IVG #x */
#define P46_IVG(x) (((x)-7)&0xF) << 0x18 /* Peripheral #46 assigned IVG #x */
#define P47_IVG(x) (((x)-7)&0xF) << 0x1C /* Peripheral #47 assigned IVG #x */
#define P40_IVG(x) (((x)-_MF7)&_MF15) /* Peripheral #40 assigned IVG #x */
#define P41_IVG(x) (((x)-_MF7)&_MF15) << 0x4 /* Peripheral #41 assigned IVG #x */
#define P42_IVG(x) (((x)-_MF7)&_MF15) << 0x8 /* Peripheral #42 assigned IVG #x */
#define P43_IVG(x) (((x)-_MF7)&_MF15) << 0xC /* Peripheral #43 assigned IVG #x */
#define P44_IVG(x) (((x)-_MF7)&_MF15) << 0x10 /* Peripheral #44 assigned IVG #x */
#define P45_IVG(x) (((x)-_MF7)&_MF15) << 0x14 /* Peripheral #45 assigned IVG #x */
#define P46_IVG(x) (((x)-_MF7)&_MF15) << 0x18 /* Peripheral #46 assigned IVG #x */
#define P47_IVG(x) (((x)-_MF7)&_MF15) << 0x1C /* Peripheral #47 assigned IVG #x */
/* SIC_IAR6 Macros */
#define P48_IVG(x) (((x)-7)&0xF) /* Peripheral #48 assigned IVG #x */
#define P49_IVG(x) (((x)-7)&0xF) << 0x4 /* Peripheral #49 assigned IVG #x */
#define P50_IVG(x) (((x)-7)&0xF) << 0x8 /* Peripheral #50 assigned IVG #x */
#define P51_IVG(x) (((x)-7)&0xF) << 0xC /* Peripheral #51 assigned IVG #x */
#define P52_IVG(x) (((x)-7)&0xF) << 0x10 /* Peripheral #52 assigned IVG #x */
#define P53_IVG(x) (((x)-7)&0xF) << 0x14 /* Peripheral #53 assigned IVG #x */
#define P54_IVG(x) (((x)-7)&0xF) << 0x18 /* Peripheral #54 assigned IVG #x */
#define P55_IVG(x) (((x)-7)&0xF) << 0x1C /* Peripheral #55 assigned IVG #x */
#define P48_IVG(x) (((x)-_MF7)&_MF15) /* Peripheral #48 assigned IVG #x */
#define P49_IVG(x) (((x)-_MF7)&_MF15) << 0x4 /* Peripheral #49 assigned IVG #x */
#define P50_IVG(x) (((x)-_MF7)&_MF15) << 0x8 /* Peripheral #50 assigned IVG #x */
#define P51_IVG(x) (((x)-_MF7)&_MF15) << 0xC /* Peripheral #51 assigned IVG #x */
#define P52_IVG(x) (((x)-_MF7)&_MF15) << 0x10 /* Peripheral #52 assigned IVG #x */
#define P53_IVG(x) (((x)-_MF7)&_MF15) << 0x14 /* Peripheral #53 assigned IVG #x */
#define P54_IVG(x) (((x)-_MF7)&_MF15) << 0x18 /* Peripheral #54 assigned IVG #x */
#define P55_IVG(x) (((x)-_MF7)&_MF15) << 0x1C /* Peripheral #55 assigned IVG #x */
/* SIC_IARx Macros */
#ifdef _MISRA_RULES
#define PX_IVG_CLR(x) (0xFFFFFFFFu ^ (0xFu << (((x)%8)*4))) /* Clear IVG Select for Peripheral #x */
/* Usage: *pSIC_IAR1 &= PX_IVG_CLR(11); // Clears IVG Level of Peripheral #11 */
#define PX_IVG(x,y) ((((y)-7u)&0xFu) << (((x)%8)*4)) /* Set IVG Select to #y for Peripheral #x */
/* Usage: *pSIC_IAR1 |= PX_IVG(11, 8); // Sets Peripheral #11 to IVG8 */
#else
#define PX_IVG_CLR(x) (0xFFFFFFFF ^ (0xF << (((x)%8)*4))) /* Clear IVG Select for Peripheral #x */
/* Usage: *pSIC_IAR1 &= PX_IVG_CLR(11); // Clears IVG Level of Peripheral #11 */
#define PX_IVG(x,y) ((((y)-7)&0xF) << (((x)%8)*4)) /* Set IVG Select to #y for Peripheral #x */
/* Usage: *pSIC_IAR1 |= PX_IVG(11, 8); // Sets Peripheral #11 to IVG8 */
#endif /* _MISRA_RULES */
/* SIC_IMASKx Masks */
#define SIC_UNMASK_ALL 0x00000000 /* Unmask all peripheral interrupts */
#define SIC_MASK_ALL 0xFFFFFFFF /* Mask all peripheral interrupts */
#ifdef _MISRA_RULES
#define SIC_MASK(x) (1 << ((x)&0x1Fu)) /* Mask Peripheral #x interrupt */
#define SIC_UNMASK(x) (0xFFFFFFFFu ^ (1 << ((x)&0x1Fu))) /* Unmask Peripheral #x interrupt */
#else
#define SIC_MASK(x) (1 << ((x)&0x1F)) /* Mask Peripheral #x interrupt */
#define SIC_UNMASK(x) (0xFFFFFFFF ^ (1 << ((x)&0x1F))) /* Unmask Peripheral #x interrupt */
#endif /* _MISRA_RULES */
/* SIC_IWRx Masks */
#define IWR_DISABLE_ALL 0x00000000 /* Wakeup Disable all peripherals */
#define IWR_ENABLE_ALL 0xFFFFFFFF /* Wakeup Enable all peripherals */
#ifdef _MISRA_RULES
#define IWR_ENABLE(x) (1 << ((x)&0x1Fu)) /* Wakeup Enable Peripheral #x */
#define IWR_DISABLE(x) (0xFFFFFFFFu ^ (1 << ((x)&0x1Fu))) /* Wakeup Disable Peripheral #x */
#else
#define IWR_ENABLE(x) (1 << ((x)&0x1F)) /* Wakeup Enable Peripheral #x */
#define IWR_DISABLE(x) (0xFFFFFFFF ^ (1 << ((x)&0x1F))) /* Wakeup Disable Peripheral #x */
#endif /* _MISRA_RULES */
/* ********* WATCHDOG TIMER MASKS ******************** */
/* Watchdog Timer WDOG_CTL Register Masks */
#ifdef _MISRA_RULES
#define WDEV(x) (((x)<<1) & 0x0006u) /* event generated on roll over */
#else
#define WDEV(x) (((x)<<1) & 0x0006) /* event generated on roll over */
#endif /* _MISRA_RULES */
#define WDEV_RESET 0x0000 /* generate reset event on roll over */
#define WDEV_NMI 0x0002 /* generate NMI event on roll over */
#define WDEV_GPI 0x0004 /* generate GP IRQ on roll over */
@ -1694,7 +1735,11 @@
/* ** Must be set after power-up for proper operation of RTC */
/* RTC_ALARM Macro z=day y=hr x=min w=sec */
#ifdef _MISRA_RULES
#define SET_ALARM(z,y,x,w) ((((z)&0x7FFFu)<<0x11)|(((y)&0x1Fu)<<0xC)|(((x)&0x3Fu)<<0x6)|((w)&0x3Fu))
#else
#define SET_ALARM(z,y,x,w) ((((z)&0x7FFF)<<0x11)|(((y)&0x1F)<<0xC)|(((x)&0x3F)<<0x6)|((w)&0x3F))
#endif /* _MISRA_RULES */
/* Deprecated RTC_STAT and RTC_ALARM Masks */
#define RTC_SEC RTSEC /* Real-Time Clock Seconds */
@ -1715,7 +1760,11 @@
/* ***************************** UART CONTROLLER MASKS ********************** */
/* UARTx_LCR Register */
#ifdef _MISRA_RULES
#define WLS(x) (((x)-5u) & 0x03u) /* Word Length Select */
#else
#define WLS(x) (((x)-5) & 0x03) /* Word Length Select */
#endif /* _MISRA_RULES */
#define STB 0x04 /* Stop Bits */
#define PEN 0x08 /* Parity Enable */
#define EPS 0x10 /* Even Parity Select */
@ -1764,7 +1813,11 @@
#define ERBFI_P 0x00
/* UARTx_IIR Register */
#ifdef _MISRA_RULES
#define STATUS(x) (((x) << 1) & 0x06u)
#else
#define STATUS(x) (((x) << 1) & 0x06)
#endif /* _MISRA_RULES */
#define NINT 0x01
#define STATUS_P1 0x02
#define STATUS_P0 0x01
@ -1806,7 +1859,11 @@
#define TALAW DTYPE_ALAW /* Compand Using A-Law */
/* SPORTx_TCR2 Masks */
#ifdef _MISRA_RULES
#define SLEN(x) ((x)&0x1Fu) /* SPORT TX Word Length (2 - 31) */
#else
#define SLEN(x) ((x)&0x1F) /* SPORT TX Word Length (2 - 31) */
#endif /* _MISRA_RULES */
#define TXSE 0x0100 /*TX Secondary Enable */
#define TSFSE 0x0200 /*TX Stereo Frame Sync Enable */
#define TRFST 0x0400 /*TX Right-First Data Order */
@ -1829,7 +1886,11 @@
#define RALAW DTYPE_ALAW /* Compand Using A-Law */
/* SPORTx_RCR2 Masks */
#ifdef _MISRA_RULES
#define SLEN(x) ((x)&0x1Fu) /* SPORT RX Word Length (2 - 31) */
#else
#define SLEN(x) ((x)&0x1F) /* SPORT RX Word Length (2 - 31) */
#endif /* _MISRA_RULES */
#define RXSE 0x0100 /*RX Secondary Enable */
#define RSFSE 0x0200 /*RX Stereo Frame Sync Enable */
#define RRFST 0x0400 /*Right-First Data Order */
@ -1847,9 +1908,16 @@
#define WSIZE 0x0000F000 /*Multichannel Window Size Field */
#define WOFF 0x000003FF /*Multichannel Window Offset Field */
/* SPORTx_MCMC1 Macros */
#ifdef _MISRA_RULES
#define SET_WOFF(x) ((x) & 0x3FFu) /* Multichannel Window Offset Field */
/* Only use SET_WSIZE Macro With Logic OR While Setting Lower Order Bits */
#define SET_WSIZE(x) (((((x)>>0x3)-1u)&0xFu) << 0xC) /* Multichannel Window Size = (x/8)-1 */
#else
#define SET_WOFF(x) ((x) & 0x3FF) /* Multichannel Window Offset Field */
/* Only use SET_WSIZE Macro With Logic OR While Setting Lower Order Bits */
#define SET_WSIZE(x) (((((x)>>0x3)-1)&0xF) << 0xC) /* Multichannel Window Size = (x/8)-1 */
#endif /* _MISRA_RULES */
/*SPORTx_MCMC2 Masks */
#define MCCRM 0x0003 /*Multichannel Clock Recovery Mode */
@ -1899,7 +1967,11 @@
#define DLEN_14 0x2800 /* Data Length = 14 Bits */
#define DLEN_15 0x3000 /* Data Length = 15 Bits */
#define DLEN_16 0x3800 /* Data Length = 16 Bits */
#ifdef _MISRA_RULES
#define DLEN(x) ((((x)-9u) & 0x07u) << 11) /* PPI Data Length (only works for x=10-->x=16) */
#else
#define DLEN(x) ((((x)-9) & 0x07) << 11) /* PPI Data Length (only works for x=10-->x=16) */
#endif /* _MISRA_RULES */
#define POL 0xC000 /* PPI Signal Polarities */
#define POLC 0x4000 /* PPI Clock Polarity */
#define POLS 0x8000 /* PPI Frame Sync Polarity */
@ -2056,7 +2128,11 @@
#define CLK_SEL 0x0080
#define TOGGLE_HI 0x0100
#define EMU_RUN 0x0200
#ifdef _MISRA_RULES
#define ERR_TYP(x) (((x) & 0x03u) << 14)
#else
#define ERR_TYP(x) (((x) & 0x03) << 14)
#endif /* _MISRA_RULES */
#define TMODE_P0 0x00
#define TMODE_P1 0x01
@ -2521,15 +2597,16 @@
#define CDDBG 0x40000000 /* Tristate SDRAM controls during bus grant */
/* EBIU_SDBCTL Masks */
#define EBE 0x00000001 /* Enable SDRAM external bank */
#define EBSZ_16 0x00000000 /* SDRAM external bank size = 16MB */
#define EBSZ_32 0x00000002 /* SDRAM external bank size = 32MB */
#define EBSZ_64 0x00000004 /* SDRAM external bank size = 64MB */
#define EBSZ_128 0x00000006 /* SDRAM external bank size = 128MB */
#define EBCAW_8 0x00000000 /* SDRAM external bank column address width = 8 bits */
#define EBCAW_9 0x00000010 /* SDRAM external bank column address width = 9 bits */
#define EBCAW_10 0x00000020 /* SDRAM external bank column address width = 9 bits */
#define EBCAW_11 0x00000030 /* SDRAM external bank column address width = 9 bits */
#define EBE 0x0001 /* Enable SDRAM external bank */
#define EBSZ_16 0x0000 /* SDRAM external bank size = 16MB */
#define EBSZ_32 0x0002 /* SDRAM external bank size = 32MB */
#define EBSZ_64 0x0004 /* SDRAM external bank size = 64MB */
#define EBSZ_128 0x0006 /* SDRAM external bank size = 128MB */
#define EBSZ 0x0006 /* SDRAM external bank size */
#define EBCAW_8 0x0000 /* SDRAM external bank column address width = 8 bits */
#define EBCAW_9 0x0010 /* SDRAM external bank column address width = 9 bits */
#define EBCAW_10 0x0020 /* SDRAM external bank column address width = 9 bits */
#define EBCAW_11 0x0030 /* SDRAM external bank column address width = 9 bits */
/* EBIU_SDSTAT Masks */
#define SDCI 0x00000001 /* SDRAM controller is idle */
@ -2542,8 +2619,13 @@
/* ******************** TWO-WIRE INTERFACE (TWIx) MASKS ***********************/
/* TWIx_CLKDIV Macros (Use: *pTWIx_CLKDIV = CLKLOW(x)|CLKHI(y); ) */
#ifdef _MISRA_RULES
#define CLKLOW(x) ((x) & 0xFFu) /* Periods Clock Is Held Low */
#define CLKHI(y) (((y)&0xFFu)<<0x8) /* Periods Before New Clock Low */
#else
#define CLKLOW(x) ((x) & 0xFF) /* Periods Clock Is Held Low */
#define CLKHI(y) (((y)&0xFF)<<0x8) /* Periods Before New Clock Low */
#endif /* _MISRA_RULES */
/* TWIx_PRESCALE Masks */
#define PRESCALE 0x007F /* SCLKs Per Internal Time Reference (10MHz) */
@ -2630,7 +2712,11 @@
#define WAKEUP 0x00004000lu
#define LMECH 0x00008000lu
#ifdef _MISRA_RULES
#define SET_MSB(x) (((x)&0xFu) << 0x9)
#else
#define SET_MSB(x) (((x)&0xF) << 0x9)
#endif /* _MISRA_RULES */
/* MXVR_PLL_CTL_0 Masks */
@ -2718,7 +2804,11 @@
#define MPLLCNTEN 0x00008000lu
#define MPLLCNT 0xFFFF0000lu
#ifdef _MISRA_RULES
#define SET_MPLLCNT(x) (((x)&0xFFFFu) << 0x10)
#else
#define SET_MPLLCNT(x) (((x)&0xFFFF) << 0x10)
#endif /* _MISRA_RULES */
/* MXVR_PLL_CTL_2 Masks */
@ -2726,8 +2816,13 @@
#define MSHAPERSEL 0x00000007lu
#define MCPSEL 0x000000E0lu
#ifdef _MISRA_RULES
#define SET_MSHAPERSEL(x) ( (x) & 0x0007u )
#define SET_MCPSEL(x) ( ( (x) & 0x0007u ) << 0x5 )
#else
#define SET_MSHAPERSEL(x) ( (x) & 0x0007 )
#define SET_MCPSEL(x) ( ( (x) & 0x0007 ) << 0x5 )
#endif /* _MISRA_RULES */
/* MXVR_INT_STAT_0 Masks */
@ -4241,5 +4336,8 @@
#define EWLTEC 0xFF00 /* TX Error Count Limit (For EWTIS) */
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _DEF_BF539_H */

View File

@ -13,7 +13,7 @@
/*
** defBF542.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -32,6 +32,12 @@
/* Include defBF54x_base.h for the set of #defines that are common to all ADSP-BF54x processors */
#include <defBF54x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macros violate rule 19.4")
#pragma diag(suppress:misra_rule_19_7:"Allow function-like macros ")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF542 that are not in the common header */
/* ATAPI Registers */
@ -364,14 +370,23 @@
#define KPAD_ROWEN 0x1c00 /* Row Enable Width */
#define KPAD_COLEN 0xe000 /* Column Enable Width */
#ifdef _MISRA_RULES
#define SET_KPAD_ROWEN(x) (((x)&0x7u)<<10) /* 000: row 0 enabled, 111: rows 0-7 enabled */
#define SET_KPAD_COLEN(x) (((x)&0x7u)<<13) /* 000: column 0 enabled, 111: columns 0-7 enabled */
#else
#define SET_KPAD_ROWEN(x) (((x)&0x7)<<10) /* 000: row 0 enabled, 111: rows 0-7 enabled */
#define SET_KPAD_COLEN(x) (((x)&0x7)<<13) /* 000: column 0 enabled, 111: columns 0-7 enabled */
#endif /* _MISRA_RULES */
/* Bit masks for KPAD_PRESCALE */
#define KPAD_PRESCALE_VAL 0x3f /* Key Prescale Value */
#ifdef _MISRA_RULES
#define SET_KPAD_PRESCALE(x) ((x)&0x3Fu) /* KPAD_PRESCALE_VAL (Key Prescale) Key Prescale Value (5:0) */
#else
#define SET_KPAD_PRESCALE(x) ((x)&0x3F) /* KPAD_PRESCALE_VAL (Key Prescale) Key Prescale Value (5:0) */
#endif /* _MISRA_RULES */
/* Bit masks for KPAD_MSEL */
@ -383,8 +398,13 @@
#define KPAD_ROW 0xff /* Rows Pressed */
#define KPAD_COL 0xff00 /* Columns Pressed */
#ifdef _MISRA_RULES
#define SET_KPAD_DBON_SCALE(x) ((x)&0xFFu) /* DBON_SCALE (Debounce Scale) Debounce Delay Multiplier Select [7:0] */
#define SET_KPAD_COLDRV_SCALE(x) (((x)&0xFFu)<<8) /* COLDRV_SCALE (Column Driver Scale) Column Driver Period Multiplier Select [15:8] */
#else
#define SET_KPAD_DBON_SCALE(x) ((x)&0xFF) /* DBON_SCALE (Debounce Scale) Debounce Delay Multiplier Select [7:0] */
#define SET_KPAD_COLDRV_SCALE(x) (((x)&0xFF)<<8) /* COLDRV_SCALE (Column Driver Scale) Column Driver Period Multiplier Select [15:8] */
#endif /* _MISRA_RULES */
/* Bit masks for KPAD_STAT */
@ -1211,5 +1231,8 @@
/* MULTI BIT MACRO ENUMERATIONS */
/* ******************************************* */
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _DEF_BF542_H */

View File

@ -0,0 +1,25 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** defBF542M.h
**
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This file just maps directly onto the def file for BF542, unless
** anything is required to change for the M derivative.
**
**/
#include <defBF542.h>

View File

@ -13,7 +13,7 @@
/*
** defBF544.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -139,7 +139,7 @@
#define CAN1_EWR 0xffc032b0 /* CAN Controller 1 Programmable Warning Level Register */
#define CAN1_ESR 0xffc032b4 /* CAN Controller 1 Error Status Register */
#define CAN1_UCCNT 0xffc032c4 /* CAN Controller 1 Universal Counter Register */
#define CAN1_UCRC 0xffc032c8 /* CAN Controller 1 Universal Counter Force Reload Register */
#define CAN1_UCRC 0xffc032c8 /* Universal Counter Reload/Capture Register */
#define CAN1_UCCNF 0xffc032cc /* CAN Controller 1 Universal Counter Configuration Register */
/* CAN Controller 1 Mailbox Acceptance Registers */

View File

@ -0,0 +1,25 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** defBF544M.h
**
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This file just maps directly onto the def file for BF544, unless
** anything is required to change for the M derivative.
**
**/
#include <defBF544.h>

View File

@ -13,7 +13,7 @@
/*
** defBF547.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -32,6 +32,12 @@
/* Include defBF54x_base.h for the set of #defines that are common to all ADSP-BF54x processors */
#include <defBF54x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macros violate rule 19.4 ")
#pragma diag(suppress:misra_rule_19_7:"Allow function-like macros ")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF547 that are not in the common header */
/* Timer Registers */
@ -658,15 +664,24 @@
#define KPAD_ROWEN 0x1c00 /* Row Enable Width */
#define KPAD_COLEN 0xe000 /* Column Enable Width */
#ifdef _MISRA_RULES
#define SET_KPAD_ROWEN(x) (((x)&0x7u)<<10) /* 000: row 0 enabled, 111: rows 0-7 enabled */
#define SET_KPAD_COLEN(x) (((x)&0x7u)<<13) /* 000: column 0 enabled, 111: columns 0-7 enabled */
#else
#define SET_KPAD_ROWEN(x) (((x)&0x7)<<10) /* 000: row 0 enabled, 111: rows 0-7 enabled */
#define SET_KPAD_COLEN(x) (((x)&0x7)<<13) /* 000: column 0 enabled, 111: columns 0-7 enabled */
#endif /* _MISRA_RULES */
/* Bit masks for KPAD_PRESCALE */
#define KPAD_PRESCALE_VAL 0x3f /* Key Prescale Value */
#ifdef _MISRA_RULES
#define SET_KPAD_PRESCALE(x) ((x)&0x3Fu) /* KPAD_PRESCALE_VAL (Key Prescale). Key Prescale Value (5:0) */
#else
#define SET_KPAD_PRESCALE(x) ((x)&0x3F) /* KPAD_PRESCALE_VAL (Key Prescale). Key Prescale Value (5:0) */
#endif /* _MISRA_RULES */
/* Bit masks for KPAD_MSEL */
@ -674,8 +689,13 @@
#define DBON_SCALE 0xff /* Debounce Scale Value */
#define COLDRV_SCALE 0xff00 /* Column Driver Scale Value */
#ifdef _MISRA_RULES
#define SET_KPAD_DBON_SCALE(x) ((x)&0xFFu) /* DBON_SCALE (Debounce Scale). Debounce Delay Multiplier Select [7:0] */
#define SET_KPAD_COLDRV_SCALE(x) (((x)&0xFFu)<<8) /* COLDRV_SCALE (Column Driver Scale). Column Driver Period Multiplier Select [15:8] */
#else
#define SET_KPAD_DBON_SCALE(x) ((x)&0xFF) /* DBON_SCALE (Debounce Scale). Debounce Delay Multiplier Select [7:0] */
#define SET_KPAD_COLDRV_SCALE(x) (((x)&0xFF)<<8) /* COLDRV_SCALE (Column Driver Scale). Column Driver Period Multiplier Select [15:8] */
#endif /* _MISRA_RULES */
/* Bit masks for KPAD_ROWCOL */
@ -1548,5 +1568,8 @@
/* MULTI BIT MACRO ENUMERATIONS */
/* ******************************************* */
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _DEF_BF547_H */

View File

@ -0,0 +1,25 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** defBF547M.h
**
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This file just maps directly onto the def file for BF547, unless
** anything is required to change for the M derivative.
**
**/
#include <defBF547.h>

View File

@ -13,7 +13,7 @@
/*
** defBF548.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -32,6 +32,12 @@
/* Include defBF54x_base.h for the set of #defines that are common to all ADSP-BF54x processors */
#include <defBF54x_base.h>
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_19_4:"some macros violate rule 19.4")
#pragma diag(suppress:misra_rule_19_7:"Allow function-like macros ")
#endif /* _MISRA_RULES */
/* The following are the #defines needed by ADSP-BF548 that are not in the common header */
/* Timer Registers */
@ -189,7 +195,7 @@
#define CAN1_EWR 0xffc032b0 /* CAN Controller 1 Programmable Warning Level Register */
#define CAN1_ESR 0xffc032b4 /* CAN Controller 1 Error Status Register */
#define CAN1_UCCNT 0xffc032c4 /* CAN Controller 1 Universal Counter Register */
#define CAN1_UCRC 0xffc032c8 /* CAN Controller 1 Universal Counter Force Reload Register */
#define CAN1_UCRC 0xffc032c8 /* Universal Counter Reload/Capture Register */
#define CAN1_UCCNF 0xffc032cc /* CAN Controller 1 Universal Counter Configuration Register */
/* CAN Controller 1 Mailbox Acceptance Registers */
@ -1040,15 +1046,24 @@
#define KPAD_ROWEN 0x1c00 /* Row Enable Width */
#define KPAD_COLEN 0xe000 /* Column Enable Width */
#ifdef _MISRA_RULES
#define SET_KPAD_ROWEN(x) (((x)&0x7u)<<10) /* 000: row 0 enabled, 111: rows 0-7 enabled */
#define SET_KPAD_COLEN(x) (((x)&0x7u)<<13) /* 000: column 0 enabled, 111: columns 0-7 enabled */
#else
#define SET_KPAD_ROWEN(x) (((x)&0x7)<<10) /* 000: row 0 enabled, 111: rows 0-7 enabled */
#define SET_KPAD_COLEN(x) (((x)&0x7)<<13) /* 000: column 0 enabled, 111: columns 0-7 enabled */
#endif /* _MISRA_RULES */
/* Bit masks for KPAD_PRESCALE */
#define KPAD_PRESCALE_VAL 0x3f /* Key Prescale Value */
#ifdef _MISRA_RULES
#define SET_KPAD_PRESCALE(x) ((x)&0x3Fu) /* KPAD_PRESCALE_VAL (Key Prescale). Key Prescale Value (5:0) */
#else
#define SET_KPAD_PRESCALE(x) ((x)&0x3F) /* KPAD_PRESCALE_VAL (Key Prescale). Key Prescale Value (5:0) */
#endif /* _MISRA_RULES */
/* Bit masks for KPAD_MSEL */
@ -1056,8 +1071,13 @@
#define DBON_SCALE 0xff /* Debounce Scale Value */
#define COLDRV_SCALE 0xff00 /* Column Driver Scale Value */
#ifdef _MISRA_RULES
#define SET_KPAD_DBON_SCALE(x) ((x)&0xFFu) /* DBON_SCALE (Debounce Scale). Debounce Delay Multiplier Select [7:0] */
#define SET_KPAD_COLDRV_SCALE(x) (((x)&0xFFu)<<8) /* COLDRV_SCALE (Column Driver Scale). Column Driver Period Multiplier Select [15:8] */
#else
#define SET_KPAD_DBON_SCALE(x) ((x)&0xFF) /* DBON_SCALE (Debounce Scale). Debounce Delay Multiplier Select [7:0] */
#define SET_KPAD_COLDRV_SCALE(x) (((x)&0xFF)<<8) /* COLDRV_SCALE (Column Driver Scale). Column Driver Period Multiplier Select [15:8] */
#endif /* _MISRA_RULES */
/* Bit masks for KPAD_ROWCOL */
@ -1930,5 +1950,8 @@
/* MULTI BIT MACRO ENUMERATIONS */
/* ******************************************* */
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _DEF_BF548_H */

View File

@ -0,0 +1,25 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** defBF548M.h
**
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This file just maps directly onto the def file for BF548, unless
** anything is required to change for the M derivative.
**
**/
#include <defBF548.h>

View File

@ -13,7 +13,7 @@
/*
** defBF549.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -366,7 +366,7 @@
#define CAN1_EWR 0xffc032b0 /* CAN Controller 1 Programmable Warning Level Register */
#define CAN1_ESR 0xffc032b4 /* CAN Controller 1 Error Status Register */
#define CAN1_UCCNT 0xffc032c4 /* CAN Controller 1 Universal Counter Register */
#define CAN1_UCRC 0xffc032c8 /* CAN Controller 1 Universal Counter Force Reload Register */
#define CAN1_UCRC 0xffc032c8 /* Universal Counter Reload/Capture Register */
#define CAN1_UCCNF 0xffc032cc /* CAN Controller 1 Universal Counter Configuration Register */
/* CAN Controller 1 Mailbox Acceptance Registers */
@ -2475,14 +2475,23 @@
#define KPAD_COLEN 0xe000 /* Column Enable Width */
#ifdef _MISRA_RULES
#define SET_KPAD_ROWEN(x) (((x)&0x7u)<<10) /* 000: row 0 enabled, 111: rows 0-7 enabled */
#define SET_KPAD_COLEN(x) (((x)&0x7u)<<13) /* 000: column 0 enabled, 111: columns 0-7 enabled */
#else
#define SET_KPAD_ROWEN(x) (((x)&0x7)<<10) /* 000: row 0 enabled, 111: rows 0-7 enabled */
#define SET_KPAD_COLEN(x) (((x)&0x7)<<13) /* 000: column 0 enabled, 111: columns 0-7 enabled */
#endif /* _MISRA_RULES */
/* Bit masks for KPAD_PRESCALE */
#define KPAD_PRESCALE_VAL 0x3f /* Key Prescale Value */
#ifdef _MISRA_RULES
#define SET_KPAD_PRESCALE(x) ((x)&0x3Fu) /* KPAD_PRESCALE_VAL (Key Prescale). Key Prescale Value (5:0) */
#else
#define SET_KPAD_PRESCALE(x) ((x)&0x3F) /* KPAD_PRESCALE_VAL (Key Prescale). Key Prescale Value (5:0) */
#endif /* MISRA_RULES */
/* Bit masks for KPAD_MSEL */
@ -2490,8 +2499,13 @@
#define DBON_SCALE 0xff /* Debounce Scale Value */
#define COLDRV_SCALE 0xff00 /* Column Driver Scale Value */
#ifdef _MISRA_RULES
#define SET_KPAD_DBON_SCALE(x) ((x)&0xFFu) /* DBON_SCALE (Debounce Scale). Debounce Delay Multiplier Select [7:0] */
#define SET_KPAD_COLDRV_SCALE(x) (((x)&0xFFu)<<8) /* COLDRV_SCALE (Column Driver Scale). Column Driver Period Multiplier Select [15:8] */
#else
#define SET_KPAD_DBON_SCALE(x) ((x)&0xFF) /* DBON_SCALE (Debounce Scale). Debounce Delay Multiplier Select [7:0] */
#define SET_KPAD_COLDRV_SCALE(x) (((x)&0xFF)<<8) /* COLDRV_SCALE (Column Driver Scale). Column Driver Period Multiplier Select [15:8] */
#endif /* _MISRA_RULES */
/* Bit masks for KPAD_ROWCOL */
@ -3421,7 +3435,11 @@
/* MXVR_CONFIG Macros */
#ifdef _MISRA_RULES
#define SET_MSB(x) ( ( (x) & 0xFu ) << 9)
#else
#define SET_MSB(x) ( ( (x) & 0xF ) << 9)
#endif /* _MISRA_RULES */
/* MXVR_INT_STAT_1 Macros */
@ -3435,12 +3453,21 @@
/* MXVR_CDRPLL_CTL Macros */
#ifdef _MISRA_RULES
#define SET_CDRSHPSEL(x) ( ( (x) & 0x3Fu ) << 16)
#else
#define SET_CDRSHPSEL(x) ( ( (x) & 0x3F ) << 16)
#endif /* _MISRA_RULES */
/* MXVR_FMPLL_CTL Macros */
#ifdef _MISRA_RULES
#define SET_CDRCPSEL(x) ( ( (x) & 0xFFu ) << 24)
#define SET_FMCPSEL(x) ( ( (x) & 0xFFu ) << 24)
#else
#define SET_CDRCPSEL(x) ( ( (x) & 0xFF ) << 24)
#define SET_FMCPSEL(x) ( ( (x) & 0xFF ) << 24)
#endif /* _MISRA_RULES */
#ifdef _MISRA_RULES
#pragma diag(pop)

View File

@ -0,0 +1,25 @@
/*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/
/*
** defBF549M.h
**
** Copyright (C) 2009 Analog Devices, Inc.
**
************************************************************************************
**
** This file just maps directly onto the def file for BF549, unless
** anything is required to change for the M derivative.
**
**/
#include <defBF549.h>

View File

@ -13,7 +13,7 @@
/*
** defBF54x_base.h
**
** Copyright (C) 2008 Analog Devices, Inc.
** Copyright (C) 2008, 2009 Analog Devices, Inc.
**
************************************************************************************
**
@ -1103,7 +1103,7 @@
#define CAN0_EWR 0xffc02ab0 /* CAN Controller 0 Programmable Warning Level Register */
#define CAN0_ESR 0xffc02ab4 /* CAN Controller 0 Error Status Register */
#define CAN0_UCCNT 0xffc02ac4 /* CAN Controller 0 Universal Counter Register */
#define CAN0_UCRC 0xffc02ac8 /* CAN Controller 0 Universal Counter Force Reload Register */
#define CAN0_UCRC 0xffc02ac8 /* Universal Counter Reload/Capture Register */
#define CAN0_UCCNF 0xffc02acc /* CAN Controller 0 Universal Counter Configuration Register */
/* CAN Controller 0 Acceptance Registers */
@ -1797,6 +1797,8 @@
#define AMBEN_B0 0x0002 /* Enable Async Memory Bank 0 only */
#define AMBEN_B0_B1 0x0004 /* Enable Async Memory Banks 0 & 1 only */
#define AMBEN_B0_B1_B2 0x0006 /* Enable Async Memory Banks 0, 1, and 2 */
#define AMBEN_B0_B1_B2_B3 0x0008 /* Enable Async Memory Banks 0, 1, 2 and 3 */
#define AMBEN_ALL 0x0008 /* Enable All Async Memory Banks */
/* Bit masks for EBIU_AMBCTL0 */
@ -1820,17 +1822,32 @@
#define B1WAT 0xf0000000 /* Bank 1 write access time */
/* EBIU_AMBCTL0 Macros */
#ifdef _MISRA_RULES
#define SET_B1WAT(x) (((x)&0xFu) << 28) /* B1 Write Access Time = x cycles */
#define SET_B1RAT(x) (((x)&0xFu) << 24) /* B1 Read Access Time = x cycles */
#define SET_B1HT(x) (((x)&0x3u) << 22) /* B1 Hold Time (~Read/Write to ~AOE) = x cycles */
#define SET_B1ST(x) (((x)&0x3u) << 20) /* B1 Setup Time (AOE to Read/Write) = x cycle */
#define SET_B1TT(x) (((x)&0x3u) << 18) /* B1 Transition Time (Read to Write) = x cycles */
#define SET_B0WAT(x) (((x)&0xFu) << 12) /* B0 Write Access Time = x cycles */
#define SET_B0RAT(x) (((x)&0xFu) << 8) /* B0 Read Access Time = x cycles */
#define SET_B0HT(x) (((x)&0x3u) << 6) /* B0 Hold Time (~Read/Write to ~AOE) = x cycles */
#define SET_B0ST(x) (((x)&0x3u) << 4) /* B0 Setup Time (AOE to Read/Write) = x cycle */
#define SET_B0TT(x) (((x)&0x3u) << 2) /* B0 Transition Time (Read to Write) = x cycles */
#else
#define SET_B1WAT(x) (((x)&0xF) << 28) /* B1 Write Access Time = x cycles */
#define SET_B1RAT(x) (((x)&0xF) << 24) /* B1 Read Access Time = x cycles */
#define SET_B1HT(x) (((x)&0x3) << 22) /* B1 Hold Time (~Read/Write to ~AOE) = x cycles */
#define SET_B1ST[x) (((x)&0x3) << 20) /* B1 Setup Time (AOE to Read/Write) = x cycle */
#define SET_B1ST(x) (((x)&0x3) << 20) /* B1 Setup Time (AOE to Read/Write) = x cycle */
#define SET_B1TT(x) (((x)&0x3) << 18) /* B1 Transition Time (Read to Write) = x cycles */
#define SET_B0WAT(x) (((x)&0xF) << 12) /* B0 Write Access Time = x cycles */
#define SET_B0RAT(x) (((x)&0xF) << 8) /* B0 Read Access Time = x cycles */
#define SET_B0HT(x) (((x)&0x3) << 6) /* B0 Hold Time (~Read/Write to ~AOE) = x cycles */
#define SET_B0ST[x) (((x)&0x3) << 4) /* B0 Setup Time (AOE to Read/Write) = x cycle */
#define SET_B0ST(x) (((x)&0x3) << 4) /* B0 Setup Time (AOE to Read/Write) = x cycle */
#define SET_B0TT(x) (((x)&0x3) << 2) /* B0 Transition Time (Read to Write) = x cycles */
#endif /* _MISRA_RULES */
/* Bit masks for EBIU_AMBCTL1 */
@ -1854,17 +1871,31 @@
#define B3WAT 0xf0000000 /* Bank 3 write access time */
/* EBIU_AMBCTL1 Macros */
#ifdef _MISRA_RULES
#define SET_B3WAT(x) (((x)&0xFu) << 28) /* B3 Write Access Time = x cycles */
#define SET_B3RAT(x) (((x)&0xFu) << 24) /* B3 Read Access Time = x cycles */
#define SET_B3HT(x) (((x)&0x3u) << 22) /* B3 Hold Time (~Read/Write to ~AOE) = x cycles */
#define SET_B3ST(x) (((x)&0x3u) << 20) /* B3 Setup Time (AOE to Read/Write) = x cycle */
#define SET_B3TT(x) (((x)&0x3u) << 18) /* B3 Transition Time (Read to Write) = x cycles */
#define SET_B2WAT(x) (((x)&0xFu) << 12) /* B2 Write Access Time = x cycles */
#define SET_B2RAT(x) (((x)&0xFu) << 8) /* B2 Read Access Time = x cycles */
#define SET_B2HT(x) (((x)&0x3u) << 6) /* B2 Hold Time (~Read/Write to ~AOE) = x cycles */
#define SET_B2ST(x) (((x)&0x3u) << 4) /* B2 Setup Time (AOE to Read/Write) = x cycle */
#define SET_B2TT(x) (((x)&0x3u) << 2) /* B2 Transition Time (Read to Write) = x cycles */
#else
#define SET_B3WAT(x) (((x)&0xF) << 28) /* B3 Write Access Time = x cycles */
#define SET_B3RAT(x) (((x)&0xF) << 24) /* B3 Read Access Time = x cycles */
#define SET_B3HT(x) (((x)&0x3) << 22) /* B3 Hold Time (~Read/Write to ~AOE) = x cycles */
#define SET_B3ST[x) (((x)&0x3) << 20) /* B3 Setup Time (AOE to Read/Write) = x cycle */
#define SET_B3ST(x) (((x)&0x3) << 20) /* B3 Setup Time (AOE to Read/Write) = x cycle */
#define SET_B3TT(x) (((x)&0x3) << 18) /* B3 Transition Time (Read to Write) = x cycles */
#define SET_B2WAT(x) (((x)&0xF) << 12) /* B2 Write Access Time = x cycles */
#define SET_B2RAT(x) (((x)&0xF) << 8) /* B2 Read Access Time = x cycles */
#define SET_B2HT(x) (((x)&0x3) << 6) /* B2 Hold Time (~Read/Write to ~AOE) = x cycles */
#define SET_B2ST[x) (((x)&0x3) << 4) /* B2 Setup Time (AOE to Read/Write) = x cycle */
#define SET_B2ST(x) (((x)&0x3) << 4) /* B2 Setup Time (AOE to Read/Write) = x cycle */
#define SET_B2TT(x) (((x)&0x3) << 2) /* B2 Transition Time (Read to Write) = x cycles */
#endif /* _MISRA_RULES */
/* Bit masks for EBIU_MBSCTL */
@ -1920,7 +1951,11 @@
#define BCLK4 0x00000006 /* Burst clock frequency: 11 - SCLK/4 */
/* Macros for EBIU_FCTL */
#ifdef _MISRA_RULES
#define SET_PGWS(x) (((x)&0x7u) << 0x3) /* PGWS[5:3] Page Wait States - 000 to 100 - 0 to 4 cycles */
#else
#define SET_PGWS(x) (((x)&0x7) << 0x3) /* PGWS[5:3] Page Wait States - 000 to 100 - 0 to 4 cycles */
#endif /* _MISRA_RULES */
/* Burst clock frequency: 00 - Reserved */
/* Bit masks for EBIU_ARBSTAT */
@ -1937,11 +1972,19 @@
#define TRC 0x3c000000 /* Active-to-active time */
/* Macros for EBIU_DDRCTL0 */
#ifdef _MISRA_RULES
#define SET_tRC(x) (((x)&0xFu) << 26) /* tRC (Active-to-Active)[29:26] - Number of clock cycles from an active command to next active command (Default: 0x2) */
#define SET_tRAS(x) (((x)&0xFu) << 22) /* tRAS (Minimum Active-to-Precharge time) [3:0] - Number of clock cycles from an ACTIVE command until a PRE-CHARGE command is issued. To obtain this value, one should divide the minimum RAS to pre-charge delay of SDRAM by clock cycle time (Default: 0x6) */
#define SET_tRP(x) (((x)&0xFu) << 18) /* tRP (Precharge-to-Active Command period)[3:0] - Number of clock cycles needed for DDR to recover from a precharge command and ready to accept next active command (Default: 0x3) */
#define SET_tRFC(x) (((x)&0xFu) << 14) /* tRFC[3:0] AUTO-REFRESH Command Period[3:0] - Number of clock cycles needed for DDR to recover from a refresh to be ready for next active command (tRFC/Clock Period) (Default: 0xA) */
#define SET_tREFI(x) ((x)&0x3FFFu) /* tREFI (Refresh Interval)[13:0] - Number of clock cycles from one refresh cycle to next refresh cycle. To obtain this value, divide the DDR refresh period (tREF) by total number of rows to be refreshed. Then divide the result by total time. (Default: 0x0411) */
#else
#define SET_tRC(x) (((x)&0xF) << 26) /* tRC (Active-to-Active)[29:26] - Number of clock cycles from an active command to next active command (Default: 0x2) */
#define SET_tRAS(x) (((x)&0xF) << 22) /* tRAS (Minimum Active-to-Precharge time) [3:0] - Number of clock cycles from an ACTIVE command until a PRE-CHARGE command is issued. To obtain this value, one should divide the minimum RAS to pre-charge delay of SDRAM by clock cycle time (Default: 0x6) */
#define SET_tRP(x) (((x)&0xF) << 18) /* tRP (Precharge-to-Active Command period)[3:0] - Number of clock cycles needed for DDR to recover from a precharge command and ready to accept next active command (Default: 0x3) */
#define SET_tRFC(x) (((x)&0xF) << 14) /* tRFC[3:0] AUTO-REFRESH Command Period[3:0] - Number of clock cycles needed for DDR to recover from a refresh to be ready for next active command (tRFC/Clock Period) (Default: 0xA) */
#define SET_tREFI(x) ((x)&0x3FFF) /* tREFI (Refresh Interval)[13:0] - Number of clock cycles from one refresh cycle to next refresh cycle. To obtain this value, divide the DDR refresh period (tREF) by total number of rows to be refreshed. Then divide the result by total time. (Default: 0x0411) */
#endif /* _MISRA_RULES */
/* Bit masks for EBIU_DDRCTL1 */
@ -1978,10 +2021,17 @@
#define DDR_DEVSIZE_256 0x000C0000
/* Macros for EBIU_DDRCTL1 */
#ifdef _MISRA_RULES
#define SET_tWTR(x) (((x)&0xFu) << 28) /* tWTR (Write-to-Read Delay)[3:0] - The Write to read delay (last write data to the next read command) as specified by DDR Data sheet (Default: 0x0001) */
#define SET_tWR(x) (((x)&0x3u) << 8) /* tWR Write Recovery Time[9:8] */
#define SET_tMRD(x) (((x)&0xFu) << 4) /* tMRD Mode register set to active[7:4] */
#define SET_tRCD(x) ((x)&0xFu) /* tRCD ACTIVE-to-READ/WRITE delay[3:0] */
#else
#define SET_tWTR(x) (((x)&0xF) << 28) /* tWTR (Write-to-Read Delay)[3:0] - The Write to read delay (last write data to the next read command) as specified by DDR Data sheet (Default: 0x0001) */
#define SET_tWR(x) (((x)&0x3) << 8) /* tWR Write Recovery Time[9:8] */
#define SET_tMRD(x) (((x)&0xF) << 4) /* tMRD Mode register set to active[7:4] */
#define SET_tRCD(x) ((x)&0xF) /* tRCD ACTIVE-to-READ/WRITE delay[3:0] */
#endif /* _MISRA_RULES */
/* Bit masks for EBIU_DDRCTL2 */
#define BURSTLENGTH 0x7 /* Burst length */
@ -2011,15 +2061,15 @@
#define PASR 0x7 /* Partial array self-refresh */
/* Bit masks for EBIU_DDRQUE */
#define DEB0_PFLEN 0x30 /* Pre fetch length for DEB0 accesses */
#define DEB1_PFLEN 0x3 /* Pre fetch length for DEB1 accesses */
#define DEB2_PFLEN 0xc /* Pre fetch length for DEB2 accesses */
#define DEB0_PFLEN 0x3 /* Pre fetch length for DEB0 accesses */
#define DEB1_PFLEN 0xc /* Pre fetch length for DEB1 accesses */
#define DEB2_PFLEN 0x30 /* Pre fetch length for DEB2 accesses */
#define DEB_ARB_PRIORITY 0x700 /* Arbitration between DEB busses */
#define DEB0_URGENT 0x4000 /* DEB0 Urgent */
#define DEB0_URGENT 0x1000 /* DEB0 Urgent */
#define nDEB0_URGENT 0x0
#define DEB1_URGENT 0x1000 /* DEB1 Urgent */
#define DEB1_URGENT 0x2000 /* DEB1 Urgent */
#define nDEB1_URGENT 0x0
#define DEB2_URGENT 0x2000 /* DEB2 Urgent */
#define DEB2_URGENT 0x4000 /* DEB2 Urgent */
#define nDEB2_URGENT 0x0
/* Bit masks for EBIU_DDRQUE (DEB0_PFLEN) */
@ -2091,8 +2141,6 @@
#define nSRREQ 0x0
#define SRACK 0x10 /* Self-refresh acknowledge */
#define nSRACK 0x0
#define MDDRENABLE 0x20 /* Mobile DDR enable */
#define nMDDRENABLE 0x0
/* Bit masks for EBIU_DDRBRC0 */
@ -2636,46 +2684,6 @@
#define PREN 0x1 /* Prescaler Enable */
#define nPREN 0x0
/* Bit masks for OTP_CONTROL */
#define FUSE_FADDR 0x1ff /* OTP/Fuse Address */
#define FIEN 0x800 /* OTP/Fuse Interrupt Enable */
#define nFIEN 0x0
#define FTESTDEC 0x1000 /* OTP/Fuse Test Decoder */
#define nFTESTDEC 0x0
#define FWRTEST 0x2000 /* OTP/Fuse Write Test */
#define nFWRTEST 0x0
#define FRDEN 0x4000 /* OTP/Fuse Read Enable */
#define nFRDEN 0x0
#define FWREN 0x8000 /* OTP/Fuse Write Enable */
#define nFWREN 0x0
/* Bit masks for OTP_BEN */
#define FBEN 0xffff /* OTP/Fuse Byte Enable */
/* Bit masks for OTP_STATUS */
#define FCOMP 0x1 /* OTP/Fuse Access Complete */
#define nFCOMP 0x0
#define FERROR 0x2 /* OTP/Fuse Access Error */
#define nFERROR 0x0
#define MMRGLOAD 0x10 /* Memory Mapped Register Gasket Load */
#define nMMRGLOAD 0x0
#define MMRGLOCK 0x20 /* Memory Mapped Register Gasket Lock */
#define nMMRGLOCK 0x0
#define FPGMEN 0x40 /* OTP/Fuse Program Enable */
#define nFPGMEN 0x0
/* Bit masks for OTP_TIMING */
#define USECDIV 0xff /* Micro Second Divider */
#define READACC 0x7f00 /* Read Access Time */
#define CPUMPRL 0x38000 /* Charge Pump Release Time */
#define CPUMPSU 0xc0000 /* Charge Pump Setup Time */
#define CPUMPHD 0xf00000 /* Charge Pump Hold Time */
#define PGMTIME 0xff000000 /* Program Time */
/* Bit masks for SECURE_SYSSWT */
#define EMUDABL 0x1 /* Emulation Disable. */
@ -2729,7 +2737,11 @@
#define CSEL_DIV8 0x0030 /* CCLK = VCO / 8 */
/* PLL_DIV Macros */
#ifdef _MISRA_RULES
#define SET_SSEL(x) ((x)&0xFu) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
#else
#define SET_SSEL(x) ((x)&0xF) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
#endif /* _MISRA_RULES */
/* Bit masks for PLL_CTL */
@ -2750,7 +2762,11 @@
#define nDF 0x0
/* PLL_CTL Macros (Only Use With Logic OR While Setting Lower Order Bits) */
#ifdef _MISRA_RULES
#define SET_MSEL(x) (((x)&0x3Fu) << 9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
#else
#define SET_MSEL(x) (((x)&0x3F) << 9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
#endif /* _MISRA_RULES */
/* Bit masks for PLL_STAT */
@ -4477,8 +4493,8 @@
#define MFD 0xf000 /* Multi channel Frame Delay */
#define FSDR 0x80 /* Frame Sync to Data Relationship */
#define nFSDR 0x0
#define MCMEM 0x10 /* Multi channel Frame Mode Enable */
#define nMCMEM 0x0
#define MCMEN 0x10 /* Multi channel Frame Mode Enable */
#define nMCMEN 0x0
#define MCDRXPE 0x8 /* Multi channel DMA Receive Packing */
#define nMCDRXPE 0x0
#define MCDTXPE 0x4 /* Multi channel DMA Transmit Packing */
@ -4604,6 +4620,8 @@
#define nBDIE 0x0
#define MBDI 0x40 /* Mask Block Done Interrupt */
#define nMBDI 0x0
#define SND 0x80 /* Source/Not Destination */
#define nSND 0x0
#define DRQ 0x300 /* Handshake MDMA Request Type */
#define RBC 0x1000 /* Force Reload of BCOUNT */
#define nRBC 0x0
@ -4618,12 +4636,26 @@
/* MULTI BIT MACRO ENUMERATIONS */
/* ******************************************* */
/* BCODE bit field options (SYSCFG register) */
/* SYSCR Masks */
#define BCODE_WAKEUP 0x0000 /* boot according to wake-up condition */
#define BCODE_FULLBOOT 0x0010 /* always perform full boot */
#define BCODE_QUICKBOOT 0x0020 /* always perform quick boot */
#define BCODE_NOBOOT 0x0030 /* always perform full boot */
#define BMODE 0x000F /* Boot Mode. Mirror of BMODE Mode Pins */
#define NOBOOT 0x0030 /* Execute From L1 or ASYNC Bank 0 When BMODE = 0 */
#define BCODE 0x00F0
#define BCODE_NORMAL 0x0000 /* normal boot, update PLL/VR, quickboot as by WURESET */
#define BCODE_NOBOOT 0x0010 /* bypass boot, don't update PLL/VR */
#define BCODE_QUICKBOOT 0x0020 /* quick boot, overrule WURESET, don't update PLL/VR */
#define BCODE_ALLBOOT 0x0040 /* no quick boot, overrule WURESET, don't update PLL/VR */
#define BCODE_FULLBOOT 0x0060 /* no quick boot, overrule WURESET, update PLL/VR */
#define CDMAPRIO 0x0100 /* DMA1 gets higher priority than DMA0 to L1 memory */
#define L2DMAPRIO 0x0200 /* DMA1 gets higher priority than DMA0 to L2 memory */
#define WURESET 0x1000 /* wakeup event since last hardware reset */
#define DFRESET 0x2000 /* recent reset was due to a double fault event */
#define WDRESET 0x4000 /* recent reset was due to a watchdog event */
#define SWRESET 0x8000 /* recent reset was issued by software */
/* CNT_COMMAND bit field options */
@ -5039,6 +5071,25 @@ PORTJ_FER registers
#define MUX15_2 0x80000000
#define MUX15_3 0xC0000000
#ifdef _MISRA_RULES
#define MUX(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) \
((((b15)&3u) << 30) | \
(((b14)&3u) << 28) | \
(((b13)&3u) << 26) | \
(((b12)&3u) << 24) | \
(((b11)&3u) << 22) | \
(((b10)&3u) << 20) | \
(((b9) &3u) << 18) | \
(((b8) &3u) << 16) | \
(((b7) &3u) << 14) | \
(((b6) &3u) << 12) | \
(((b5) &3u) << 10) | \
(((b4) &3u) << 8) | \
(((b3) &3u) << 6) | \
(((b2) &3u) << 4) | \
(((b1) &3u) << 2) | \
(((b0) &3u)))
#else
#define MUX(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) \
((((b15)&3) << 30) | \
(((b14)&3) << 28) | \
@ -5056,6 +5107,7 @@ PORTJ_FER registers
(((b2) &3) << 4) | \
(((b1) &3) << 2) | \
(((b0) &3)))
#endif /* _MISRA_RULES */
/* Bit fields for PINT0_ASSIGN and PINT1_ASSIGN registers */
@ -5113,7 +5165,11 @@ PORTJ_FER registers
/* for legacy compatibility */
#ifdef _MISRA_RULES
#define WLS(x) (((x)-5u) & 0x03u) /* Word Length Select */
#else
#define WLS(x) (((x)-5) & 0x03) /* Word Length Select */
#endif /* _MISRA_RULES */
#define W1LMAX_MAX W1LMAX_MIN
#define EBIU_AMCBCTL0 EBIU_AMBCTL0
#define EBIU_AMCBCTL1 EBIU_AMBCTL1
@ -5122,12 +5178,6 @@ PORTJ_FER registers
#define PINT2_IRQ PINT2_REQUEST
#define PINT3_IRQ PINT3_REQUEST
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _DEF_BF54X_H */
/*********************************************************************************** */
/* System MMR Register Bits */
@ -5148,7 +5198,13 @@ PORTJ_FER registers
#define NDSIZE_7 0x0700 /* Next Descriptor Size = 7 */
#define NDSIZE_8 0x0800 /* Next Descriptor Size = 8 */
#define NDSIZE_9 0x0900 /* Next Descriptor Size = 9 */
#define SET_NDSIZE(x) (((x)&0xF)<<8) /* NDSIZE[3:0] (Flex Descriptor Size)
#ifdef _MISRA_RULES
#define SET_NDSIZE(x) (((x)&0xFu)<<8)
#else
#define SET_NDSIZE(x) (((x)&0xF)<<8)
#endif
/* NDSIZE[3:0] (Flex Descriptor Size)
Size of next descriptor
0000 - Required if in Stop or Autobuffer mode
0001 - 1001 - Descriptor size
@ -5168,10 +5224,6 @@ PORTJ_FER registers
#define RESET_WDOG 0x4000 /* SW Reset Generated By Watchdog Timer */
#define RESET_SOFTWARE 0x8000 /* SW Reset Occurred Since Last Read Of SWRST */
/* SYSCR Masks */
#define BMODE 0x0006 /* Boot Mode - Latched During HW Reset From Mode Pins */
#define NOBOOT 0x0010 /* Execute From L1 or ASYNC Bank 0 When BMODE = 0 */
/* ******************************************* */
/* MULTI BIT MACRO ENUMERATIONS */
@ -5363,144 +5415,211 @@ PORTJ_DIR_CLEAR, PORTJ_INEN, PORTJ_FER */
#define nPJ15 0x0
#ifdef _MISRA_RULES
#define _MF15 0xFu
#define _MF7 7u
#else
#define _MF15 0xF
#define _MF7 7
#endif /* _MISRA_RULES */
/* ************* SYSTEM INTERRUPT CONTROLLER MASKS *************************************/
/* Peripheral Masks For SIC_ISR, SIC_IWR, SIC_IMASK */
/* SIC_IMASKx Masks */
/* masks are 32 bit wide, so two writes reguired for "64 bit" wide registers */
#define SIC_UNMASK_ALL 0x00000000 /* Unmask all peripheral interrupts */
#define SIC_MASK_ALL 0xFFFFFFFF /* Mask all peripheral interrupts */
/* SIC_IMASKx Macros */
#ifdef _MISRA_RULES
#define SIC_MASK(x) (1 << (x)) /* Mask Peripheral #x interrupt */
#define SIC_UNMASK(x) (0xFFFFFFFFu ^ (1 << (x))) /* Unmask Peripheral #x interrupt */
#else
#define SIC_MASK(x) (1 << (x)) /* Mask Peripheral #x interrupt */
#define SIC_UNMASK(x) (0xFFFFFFFF ^ (1 << (x))) /* Unmask Peripheral #x interrupt */
#endif /* _MISRA_RULES */
/* SIC_IWR Masks */
#define IWR_DISABLE_ALL 0x00000000 /* Wakeup Disable all peripherals */
#define IWR_ENABLE_ALL 0xFFFFFFFF /* Wakeup Enable all peripherals */
/* SIC_IWR Macros */
/* x = pos 0 to 31, for 32-63 use value-32 */
#ifdef _MISRA_RULES
#define IWR_ENABLE(x) (1 << (x)) /* Wakeup Enable Peripheral #x */
#define IWR_DISABLE(x) (0xFFFFFFFFu ^ (1 << (x))) /* Wakeup Disable Peripheral #x */
#else
#define IWR_ENABLE(x) (1 << (x)) /* Wakeup Enable Peripheral #x */
#define IWR_DISABLE(x) (0xFFFFFFFF ^ (1 << (x))) /* Wakeup Disable Peripheral #x */
#endif /* _MISRA_RULES */
#define PIVG(PNr, IVGNr) ( (IVGNr) - 7) << ( ((PNr)%8) * 4) /* Peripheral #PNr assigned IVG #IVGNr */
/* Rx.L = lo(PIVG(62,10)); */
/* Rx.H = hi(PIVG(62,10)); */
/* PNr = 0 to 95 */
/* IVGNr = 7 to 15 */
/* SIC_IAR0 Macros */
#define P0_IVG(x) (((x)&0xF)-7) /* Peripheral #0 assigned IVG #x */
#define P1_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #1 assigned IVG #x */
#define P2_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #2 assigned IVG #x */
#define P3_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #3 assigned IVG #x */
#define P4_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #4 assigned IVG #x */
#define P5_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #5 assigned IVG #x */
#define P6_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #6 assigned IVG #x */
#define P7_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #7 assigned IVG #x */
#define P0_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #0 assigned IVG #x */
#define P1_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #1 assigned IVG #x */
#define P2_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #2 assigned IVG #x */
#define P3_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #3 assigned IVG #x */
#define P4_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #4 assigned IVG #x */
#define P5_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #5 assigned IVG #x */
#define P6_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #6 assigned IVG #x */
#define P7_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #7 assigned IVG #x */
/* SIC_IAR1 Macros */
#define P8_IVG(x) (((x)&0xF)-7) /* Peripheral #8 assigned IVG #x */
#define P9_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #9 assigned IVG #x */
#define P10_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #10 assigned IVG #x */
#define P11_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #11 assigned IVG #x */
#define P12_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #12 assigned IVG #x */
#define P13_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #13 assigned IVG #x */
#define P14_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #14 assigned IVG #x */
#define P15_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #15 assigned IVG #x */
#define P8_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #8 assigned IVG #x */
#define P9_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #9 assigned IVG #x */
#define P10_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #10 assigned IVG #x */
#define P11_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #11 assigned IVG #x */
#define P12_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #12 assigned IVG #x */
#define P13_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #13 assigned IVG #x */
#define P14_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #14 assigned IVG #x */
#define P15_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #15 assigned IVG #x */
/* SIC_IAR2 Macros */
#define P16_IVG(x) (((x)&0xF)-7) /* Peripheral #16 assigned IVG #x */
#define P17_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #17 assigned IVG #x */
#define P18_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #18 assigned IVG #x */
#define P19_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #19 assigned IVG #x */
#define P20_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #20 assigned IVG #x */
#define P21_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #21 assigned IVG #x */
#define P22_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #22 assigned IVG #x */
#define P23_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #23 assigned IVG #x */
#define P16_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #16 assigned IVG #x */
#define P17_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #17 assigned IVG #x */
#define P18_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #18 assigned IVG #x */
#define P19_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #19 assigned IVG #x */
#define P20_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #20 assigned IVG #x */
#define P21_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #21 assigned IVG #x */
#define P22_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #22 assigned IVG #x */
#define P23_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #23 assigned IVG #x */
/* SIC_IAR3 Macros */
#define P24_IVG(x) (((x)&0xF)-7) /* Peripheral #24 assigned IVG #x */
#define P25_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #25 assigned IVG #x */
#define P26_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #26 assigned IVG #x */
#define P27_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #27 assigned IVG #x */
#define P28_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #28 assigned IVG #x */
#define P29_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #29 assigned IVG #x */
#define P30_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #30 assigned IVG #x */
#define P31_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #31 assigned IVG #x */
#define P24_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #24 assigned IVG #x */
#define P25_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #25 assigned IVG #x */
#define P26_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #26 assigned IVG #x */
#define P27_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #27 assigned IVG #x */
#define P28_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #28 assigned IVG #x */
#define P29_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #29 assigned IVG #x */
#define P30_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #30 assigned IVG #x */
#define P31_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #31 assigned IVG #x */
/* SIC_IAR4 Macros */
#define P32_IVG(x) (((x)&0xF)-7) /* Peripheral #32 assigned IVG #x */
#define P33_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #33 assigned IVG #x */
#define P34_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #34 assigned IVG #x */
#define P35_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #35 assigned IVG #x */
#define P36_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #36 assigned IVG #x */
#define P37_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #37 assigned IVG #x */
#define P38_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #38 assigned IVG #x */
#define P39_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #39 assigned IVG #x */
#define P32_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #32 assigned IVG #x */
#define P33_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #33 assigned IVG #x */
#define P34_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #34 assigned IVG #x */
#define P35_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #35 assigned IVG #x */
#define P36_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #36 assigned IVG #x */
#define P37_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #37 assigned IVG #x */
#define P38_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #38 assigned IVG #x */
#define P39_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #39 assigned IVG #x */
/* SIC_IAR4 Macros */
#define P40_IVG(x) (((x)&0xF)-7) /* Peripheral #40 assigned IVG #x */
#define P41_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #41 assigned IVG #x */
#define P42_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #42 assigned IVG #x */
#define P43_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #43 assigned IVG #x */
#define P44_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #44 assigned IVG #x */
#define P45_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #45 assigned IVG #x */
#define P46_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #46 assigned IVG #x */
#define P47_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #47 assigned IVG #x */
#define P40_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #40 assigned IVG #x */
#define P41_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #41 assigned IVG #x */
#define P42_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #42 assigned IVG #x */
#define P43_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #43 assigned IVG #x */
#define P44_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #44 assigned IVG #x */
#define P45_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #45 assigned IVG #x */
#define P46_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #46 assigned IVG #x */
#define P47_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #47 assigned IVG #x */
/* SIC_IAR5 Macros */
#define P48_IVG(x) (((x)&0xF)-7) /* Peripheral #48 assigned IVG #x */
#define P49_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #49 assigned IVG #x */
#define P50_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #50 assigned IVG #x */
#define P51_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #51 assigned IVG #x */
#define P52_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #52 assigned IVG #x */
#define P53_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #53 assigned IVG #x */
#define P54_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #54 assigned IVG #x */
#define P55_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #55 assigned IVG #x */
#define P48_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #48 assigned IVG #x */
#define P49_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #49 assigned IVG #x */
#define P50_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #50 assigned IVG #x */
#define P51_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #51 assigned IVG #x */
#define P52_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #52 assigned IVG #x */
#define P53_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #53 assigned IVG #x */
#define P54_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #54 assigned IVG #x */
#define P55_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #55 assigned IVG #x */
/* SIC_IAR5 Macros */
#define P56_IVG(x) (((x)&0xF)-7) /* Peripheral #56 assigned IVG #x */
#define P57_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #57 assigned IVG #x */
#define P58_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #58 assigned IVG #x */
#define P59_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #59 assigned IVG #x */
#define P60_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #60 assigned IVG #x */
#define P61_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #61 assigned IVG #x */
#define P62_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #62 assigned IVG #x */
#define P63_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #63 assigned IVG #x */
#define P56_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #56 assigned IVG #x */
#define P57_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #57 assigned IVG #x */
#define P58_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #58 assigned IVG #x */
#define P59_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #59 assigned IVG #x */
#define P60_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #60 assigned IVG #x */
#define P61_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #61 assigned IVG #x */
#define P62_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #62 assigned IVG #x */
#define P63_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #63 assigned IVG #x */
/* SIC_IAR6 Macros */
#define P64_IVG(x) (((x)&0xF)-7) /* Peripheral #64 assigned IVG #x */
#define P65_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #65 assigned IVG #x */
#define P66_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #66 assigned IVG #x */
#define P67_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #67 assigned IVG #x */
#define P68_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #68 assigned IVG #x */
#define P69_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #69 assigned IVG #x */
#define P70_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #70 assigned IVG #x */
#define P71_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #71 assigned IVG #x */
#define P64_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #64 assigned IVG #x */
#define P65_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #65 assigned IVG #x */
#define P66_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #66 assigned IVG #x */
#define P67_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #67 assigned IVG #x */
#define P68_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #68 assigned IVG #x */
#define P69_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #69 assigned IVG #x */
#define P70_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #70 assigned IVG #x */
#define P71_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #71 assigned IVG #x */
/* SIC_IAR7 Macros */
#define P72_IVG(x) (((x)&0xF)-7) /* Peripheral #72 assigned IVG #x */
#define P73_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #73 assigned IVG #x */
#define P74_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #74 assigned IVG #x */
#define P75_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #75 assigned IVG #x */
#define P76_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #76 assigned IVG #x */
#define P77_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #77 assigned IVG #x */
#define P78_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #78 assigned IVG #x */
#define P79_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #79 assigned IVG #x */
/* SIC_IAR7 Macros */
#define P72_IVG(x) (((x)&0xF)-7) /* Peripheral #72 assigned IVG #x */
#define P73_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #73 assigned IVG #x */
#define P74_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #74 assigned IVG #x */
#define P75_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #75 assigned IVG #x */
#define P76_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #76 assigned IVG #x */
#define P77_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #77 assigned IVG #x */
#define P78_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #78 assigned IVG #x */
#define P79_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #79 assigned IVG #x */
#define P72_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #72 assigned IVG #x */
#define P73_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #73 assigned IVG #x */
#define P74_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #74 assigned IVG #x */
#define P75_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #75 assigned IVG #x */
#define P76_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #76 assigned IVG #x */
#define P77_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #77 assigned IVG #x */
#define P78_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #78 assigned IVG #x */
#define P79_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #79 assigned IVG #x */
/* SIC_IAR8 Macros */
#define P80_IVG(x) (((x)&0xF)-7) /* Peripheral #80 assigned IVG #x */
#define P81_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #81 assigned IVG #x */
#define P82_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #82 assigned IVG #x */
#define P83_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #83 assigned IVG #x */
#define P84_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #84 assigned IVG #x */
#define P85_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #85 assigned IVG #x */
#define P86_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #86 assigned IVG #x */
#define P87_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #87 assigned IVG #x */
#define P80_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #80 assigned IVG #x */
#define P81_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #81 assigned IVG #x */
#define P82_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #82 assigned IVG #x */
#define P83_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #83 assigned IVG #x */
#define P84_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #84 assigned IVG #x */
#define P85_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #85 assigned IVG #x */
#define P86_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #86 assigned IVG #x */
#define P87_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #87 assigned IVG #x */
/* SIC_IAR8 Macros */
#define P88_IVG(x) (((x)&0xF)-7) /* Peripheral #88 assigned IVG #x */
#define P89_IVG(x) (((x)&0xF)-7) << 0x4 /* Peripheral #89 assigned IVG #x */
#define P90_IVG(x) (((x)&0xF)-7) << 0x8 /* Peripheral #90 assigned IVG #x */
#define P91_IVG(x) (((x)&0xF)-7) << 0xC /* Peripheral #91 assigned IVG #x */
#define P92_IVG(x) (((x)&0xF)-7) << 0x10 /* Peripheral #92 assigned IVG #x */
#define P93_IVG(x) (((x)&0xF)-7) << 0x14 /* Peripheral #93 assigned IVG #x */
#define P94_IVG(x) (((x)&0xF)-7) << 0x18 /* Peripheral #94 assigned IVG #x */
#define P95_IVG(x) (((x)&0xF)-7) << 0x1C /* Peripheral #95 assigned IVG #x */
/* SIC_IAR9 Macros */
#define P88_IVG(x) (((x)&_MF15)-_MF7) /* Peripheral #88 assigned IVG #x */
#define P89_IVG(x) (((x)&_MF15)-_MF7) << 0x4 /* Peripheral #89 assigned IVG #x */
#define P90_IVG(x) (((x)&_MF15)-_MF7) << 0x8 /* Peripheral #90 assigned IVG #x */
#define P91_IVG(x) (((x)&_MF15)-_MF7) << 0xC /* Peripheral #91 assigned IVG #x */
#define P92_IVG(x) (((x)&_MF15)-_MF7) << 0x10 /* Peripheral #92 assigned IVG #x */
#define P93_IVG(x) (((x)&_MF15)-_MF7) << 0x14 /* Peripheral #93 assigned IVG #x */
#define P94_IVG(x) (((x)&_MF15)-_MF7) << 0x18 /* Peripheral #94 assigned IVG #x */
#define P95_IVG(x) (((x)&_MF15)-_MF7) << 0x1C /* Peripheral #95 assigned IVG #x */
/* *********** SERIAL PERIPHERAL INTERFACE (SPI) MASKS ****************************/
/* Bit masks for SPIx_CTL */
#define RDBR_CORE 0x0 /* RDBR Read Initiates, IRQ when RDBR Full */
#define TDBR_CORE 0x1 /* TDBR Write Initiates, IRQ when TDBR Empty */
#define RDBR_DMA 0x2 /* DMA Read, DMA Until FIFO Empty */
#define TDBR_DMA 0x3 /* DMA Write, DMA Until FIFO Full */
/* ******************** TWO-WIRE INTERFACE (TWI) MASKS ***********************/
/* Bit macros for TWIx_CONTROL */
#define SET_TWI_PRESCALE(x) ( (x) & PRESCALE )
#define SET_TWI_DCNT(x) ( ((x) << 0x6) & DCNT )
/* Bit masks for TWIx_INT_MASK */
#define SCLIM 0x8000 /* Serial Clock Interrupt */
#define nSCLIM 0x0
#define SDAIM 0x4000 /* Serial Data Interrupt */
#define nSDAIM 0x0
/* Bit masks for TWIx_INT_STAT */
#define SCLI 0x8000 /* Serial Clock Interrupt */
#define nSCLI 0x0
#define SDAI 0x4000 /* Serial Data Interrupt */
#define nSDAI 0x0
/* Bit macros for TWIx_MASTER_ADDR */
#define SET_TWI_ADDR(x) ( (x) & 0x7F )
/* ********* WATCHDOG TIMER MASKS ******************** */
/* Watchdog Timer WDOG_CTL Register Masks */
#ifdef _MISRA_RULES
#define SET_WDEV(x) (((x)<<1) & 0x0006u) /* event generated on roll over */
#else
#define SET_WDEV(x) (((x)<<1) & 0x0006) /* event generated on roll over */
#endif /* _MISRA_RULES */
#define WDEV_RESET 0x0000 /* generate reset event on roll over */
#define nWDEV_RESET 0x0
#define WDEV_NMI 0x0002 /* generate NMI event on roll over */
@ -5517,7 +5636,16 @@ PORTJ_DIR_CLEAR, PORTJ_INEN, PORTJ_FER */
#define ENABLE_PRESCALE PREN /* Enable prescaler so RTC runs at 1 Hz */
/* RTC_ALARM Macro: z=day, y=hr, x=min, w=sec */
#ifdef _MISRA_RULES
#define SET_ALARM(z,y,x,w) ((((z)&0x7FFFu)<<0x11)|(((y)&0x1Fu)<<0xC)|(((x)&0x3Fu)<<0x6)|((w)&0x3Fu))
#else
#define SET_ALARM(z,y,x,w) ((((z)&0x7FFF)<<0x11)|(((y)&0x1F)<<0xC)|(((x)&0x3F)<<0x6)|((w)&0x3F))
#endif /* _MISRA_RULES */
/* ************** UART CONTROLLER MASKS *************************/
/* Bit masks for UART Divisor Latch Registers: UARTx_DLL & UARTx_DLH */
#define UARTDLL 0x00FF /* Divisor Latch Low Byte */
#define UARTDLH 0xFF00 /* Divisor Latch High Byte */
/* ******************************************* */
@ -5541,4 +5669,19 @@ PORTJ_DIR_CLEAR, PORTJ_INEN, PORTJ_FER */
#define nW1ZMONCE 0x0
/* Bit macros for CNT_DEBOUNCE */
#ifdef _MISRA_RULES
#define SET_DPRESCALE(x) ((x)&0x7u) /* 0000: 1x -> 0111: 128x, 1xxx Reserved */
#else
#define SET_DPRESCALE(x) ((x)&0x7) /* 0000: 1x -> 0111: 128x, 1xxx Reserved */
#endif /* _MISRA_RULES */
/* Alternate Deprecated Macros Provided For Backwards Code Compatibility */
#define MCMEM MCMEN
#define nMCMEM 0x0
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _DEF_BF54X_H */

View File

@ -14,7 +14,7 @@
*
* defBF561.h
*
* Copyright (C) 2008 Analog Devices, Inc.
* Copyright (C) 2008, 2009 Analog Devices, Inc.
*
************************************************************************/
@ -866,25 +866,57 @@
#define PLL_CLKIN_DIV2 0x0001 /* Pass CLKIN/2 to PLL */
#define PLL_OFF 0x0002 /* Shut off PLL clocks */
#define STOPCK_OFF 0x0008 /* Core clock off */
#define ALT_TIMING 0x0010 /* Enable Alternate PPI Timing (0.5 Silicon And Beyond) */
#define ALT_TIMING 0x0010 /* Enable Alternate PPI Timing */
#define PDWN 0x0020 /* Put the PLL in a Deep Sleep state */
#define BYPASS 0x0100 /* Bypass the PLL */
#define DF 0x0001 /* 0: PLL = CLKIN, 1: PLL = CLKIN/2 */
#define MSEL 0x7E00 /* Multiplier Select For CCLK/VCO Factors */
#define IN_DELAY 0x0040 /* Add 200ps Delay on EBIU Inputs */
#define OUT_DELAY 0x0080 /* Add 200ps Delay on EBIU Outputs */
#define SPORT_HYS 0x8000 /* Add 250mV Hysteresis to SPORT Inputs */
/* PLL_CTL Macros (Only Use With Logic OR While Setting Lower Order Bits) */
#ifdef _MISRA_RULES
#define SET_MSEL(x) (((x)&0x3Fu) << 0x9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
#else
#define SET_MSEL(x) (((x)&0x3F) << 0x9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
#endif /* _MISRA_RULES */
/* PLL_DIV Masks */
#define SSEL 0x000F /* System Select */
#define CSEL 0x0030 /* Core Select */
#define SCLK_DIV(x) (x) /* SCLK = VCO / x */
/* PLL_DIV Macros */
#ifdef _MISRA_RULES
#define SET_SSEL(x) ((x)&0xFu) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
#else
#define SET_SSEL(x) ((x)&0xF) /* Set SSEL = 0-15 --> SCLK = VCO/SSEL */
#endif /* _MISRA_RULES */
/* PLL_STAT Macros */
#define VSTAT 0x0080 /* Voltage Regulator Status: Regulator at programmed voltage */
#define CORE_IDLE 0x0040 /* processor is in the IDLE operating mode */
#define PLL_LOCKED 0x0020 /* PLL_LOCKCNT Has Been Reached */
#define SLEEP 0x0010 /* processor is in the Sleep operating mode */
#define DEEP_SLEEP 0x0008 /* processor is in the Deep Sleep operating mode */
#define ACTIVE_PLLDISABLED 0x0004 /* Processor In Active Mode With PLL Disabled */
#define FULL_ON 0x0002 /* Processor In Full On Mode */
#define ACTIVE_PLLENABLED 0x0001 /* Processor In Active Mode With PLL Enabled */
#define CCLK_DIV1 0x00000000 /* CCLK = VCO / 1 */
#define CCLK_DIV2 0x00000010 /* CCLK = VCO / 2 */
#define CCLK_DIV4 0x00000020 /* CCLK = VCO / 4 */
#define CCLK_DIV8 0x00000030 /* CCLK = VCO / 8 */
/* SWRST Mask */
#define SYSTEM_RESET 0x00000007 /* Initiates a system software reset */
#define SWRST_DBL_FAULT_B 0x00000800 /* SWRST Core B Double Fault */
#define SWRST_DBL_FAULT_A 0x00001000 /* SWRST Core A Double Fault */
#define SWRST_WDT_B 0x00002000 /* SWRST Watchdog B */
#define SWRST_WDT_A 0x00004000 /* SWRST Watchdog A */
#define SWRST_OCCURRED 0x00008000 /* SWRST Status */
#define SYSTEM_RESET 0x0007 /* Initiates a system software reset */
#define SWRST_DBL_FAULT_A 0x0800 /* SWRST Core A Double Fault */
#define SWRST_DBL_FAULT_B 0x1000 /* SWRST Core B Double Fault */
#define SWRST_WDT_B 0x2000 /* SWRST Watchdog B */
#define SWRST_WDT_A 0x4000 /* SWRST Watchdog A */
#define SWRST_OCCURRED 0x8000 /* SWRST Status */
/* VR_CTL Masks */
#define FREQ 0x0003 /* Switching Oscillator Frequency For Regulator */
@ -892,6 +924,9 @@
#define FREQ_333 0x0001 /* Switching Frequency Is 333 kHz */
#define FREQ_667 0x0002 /* Switching Frequency Is 667 kHz */
#define FREQ_1000 0x0003 /* Switching Frequency Is 1 MHz */
#define WAKE 0x0100 /* Enable RTC/Reset Wakeup From Hibernate */
#define SCKELOW 0x8000 /* Enable Drive CKE Low During Reset */
#define GAIN 0x000C /* Voltage Level Gain */
#define GAIN_5 0x0000 /* GAIN = 5 */
@ -911,6 +946,13 @@
#define VLEV_125 0x00E0 /* VLEV = 1.25 V (See Datasheet for Regulator Tolerance) */
#define VLEV_130 0x00F0 /* VLEV = 1.30 V (See Datasheet for Regulator Tolerance) */
/* SYSCR Masks */
#define BMODE_BYPASS 0x0000 /* Bypass boot ROM, execute from 16-bit external memory */
#define BMODE_FLASH 0x0001 /* Use Boot ROM to load from 8-bit or 16-bit flash */
#define BMODE_SPIHOST 0x0002 /* Boot from SPI0 host (slave mode) */
#define BMODE_SPIMEM 0x0003 /* Boot from serial SPI memory */
/* ************* SYSTEM INTERRUPT CONTROLLER MASKS ***************** */
@ -942,13 +984,21 @@
#define IWR_ENABLE(x) (1 << (x)) /* Wakeup Enable Peripheral #x */
#define IWR_DISABLE(x) (0xFFFFFFFF ^ (1 << (x))) /* Wakeup Disable Peripheral #x */
/* Peripheral Masks For SIC_ISR, SIC_IWR, SIC_IMASK */
#define PLL_WAKEUP_IRQ 0x00000001 /* PLL Wakeup Interrupt Request */
#define IRQ_PLL_WAKEUP 0x00000001 /* PLL Wakeup Interrupt Request */
/* ********* WATCHDOG TIMER MASKS ******************** */
/* Watchdog Timer WDOG_CTL Register Masks */
#ifdef _MISRA_RULES
#define WDEV(x) (((x)<<1) & 0x0006u) /* event generated on roll over */
#else
#define WDEV(x) (((x)<<1) & 0x0006) /* event generated on roll over */
#endif /* _MISRA_RULES */
#define WDEV_RESET 0x0000 /* generate reset event on roll over */
#define WDEV_NMI 0x0002 /* generate NMI event on roll over */
#define WDEV_GPI 0x0004 /* generate GP IRQ on roll over */
@ -986,7 +1036,11 @@
#define EPS 0x10
#define PEN 0x08
#define STB 0x04
#ifdef _MISRA_RULES
#define WLS(x) (((x)-5u) & 0x03u) /* Word Length Select */
#else
#define WLS(x) (((x)-5) & 0x03) /* Word Length Select */
#endif /* _MISRA_RULES */
#define DLAB_P 0x07
#define SB_P 0x06
@ -1028,7 +1082,11 @@
#define ERBFI_P 0x00
/* UART_IIR Register */
#ifdef _MISRA_RULES
#define STATUS(x) (((x) << 1) & 0x06u)
#else
#define STATUS(x) (((x) << 1) & 0x06)
#endif /* _MISRA_RULES */
#define NINT 0x01
#define STATUS_P1 0x02
#define STATUS_P0 0x01
@ -1123,7 +1181,11 @@
#define SKIP_EO 0x00000400 /* PPI Skip Even/Odd Elements */
#define DLENGTH 0x00003800 /* PPI Data Length */
#define DLEN_8 0x0 /* PPI Data Length mask for DLEN=8 */
#ifdef _MISRA_RULES
#define DLEN(x) ((((x)-9u) & 0x07u) << 11) /* PPI Data Length (only works for x=10-->x=16) */
#else
#define DLEN(x) ((((x)-9) & 0x07) << 11) /* PPI Data Length (only works for x=10-->x=16) */
#endif /* _MISRA_RULES */
#define POL 0x0000C000 /* PPI Signal Polarities */
@ -1352,7 +1414,11 @@
#define CLK_SEL 0x0080
#define TOGGLE_HI 0x0100
#define EMU_RUN 0x0200
#ifdef _MISRA_RULES
#define ERR_TYP(x) (((x) & 0x03u) << 14)
#else
#define ERR_TYP(x) (((x) & 0x03) << 14)
#endif /* _MISRA_RULES */
#define TMODE_P0 0x00
#define TMODE_P1 0x01
@ -1678,8 +1744,10 @@
#define SCTLE 0x00000001 /* Enable SCLK[0], /SRAS, /SCAS, /SWE, SDQM[3:0] */
#define CL_2 0x00000008 /* SDRAM CAS latency = 2 cycles */
#define CL_3 0x0000000C /* SDRAM CAS latency = 3 cycles */
#define CL 0x0000000C /* SDRAM CAS latency */
#define PFE 0x00000010 /* Enable SDRAM prefetch */
#define PFP 0x00000020 /* Prefetch has priority over AMC requests */
#define PASR 0x00000030 /* SDRAM partial array self-refresh */
#define TRAS_1 0x00000040 /* SDRAM tRAS = 1 cycle */
#define TRAS_2 0x00000080 /* SDRAM tRAS = 2 cycles */
#define TRAS_3 0x000000C0 /* SDRAM tRAS = 3 cycles */
@ -1695,6 +1763,7 @@
#define TRAS_13 0x00000340 /* SDRAM tRAS = 13 cycles */
#define TRAS_14 0x00000380 /* SDRAM tRAS = 14 cycles */
#define TRAS_15 0x000003C0 /* SDRAM tRAS = 15 cycles */
#define TRAS 0x000003C0 /* SDRAM tRAS in SCLK cycles */
#define TRP_1 0x00000800 /* SDRAM tRP = 1 cycle */
#define TRP_2 0x00001000 /* SDRAM tRP = 2 cycles */
#define TRP_3 0x00001800 /* SDRAM tRP = 3 cycles */
@ -1702,6 +1771,7 @@
#define TRP_5 0x00002800 /* SDRAM tRP = 5 cycles */
#define TRP_6 0x00003000 /* SDRAM tRP = 6 cycles */
#define TRP_7 0x00003800 /* SDRAM tRP = 7 cycles */
#define TRP 0x00003800 /* SDRAM tRP in SCLK cycles */
#define TRCD_1 0x00008000 /* SDRAM tRCD = 1 cycle */
#define TRCD_2 0x00010000 /* SDRAM tRCD = 2 cycles */
#define TRCD_3 0x00018000 /* SDRAM tRCD = 3 cycles */
@ -1709,9 +1779,11 @@
#define TRCD_5 0x00028000 /* SDRAM tRCD = 5 cycles */
#define TRCD_6 0x00030000 /* SDRAM tRCD = 6 cycles */
#define TRCD_7 0x00038000 /* SDRAM tRCD = 7 cycles */
#define TRCD 0x00030000 /* SDRAM tRCD in SCLK cycles */
#define TWR_1 0x00080000 /* SDRAM tWR = 1 cycle */
#define TWR_2 0x00100000 /* SDRAM tWR = 2 cycles */
#define TWR_3 0x00180000 /* SDRAM tWR = 3 cycles */
#define TWR 0x00180000 /* SDRAM tWR in SCLK cycles */
#define PUPSD 0x00200000 /*Power-up start delay */
#define PSM 0x00400000 /* SDRAM power-up sequence = Precharge, mode register set, 8 CBR refresh cycles */
#define PSS 0x00800000 /* enable SDRAM power-up sequence on next SDRAM access */
@ -1723,6 +1795,8 @@
#define CDDBG 0x40000000 /* Tristate SDRAM controls during bus grant */
/* EBIU_SDBCTL Masks */
#define EBSZ 0x000E /* SDRAM external bank size */
#define EBCAW 0x0030 /* SDRAM external bank column address width */
#define EB0_E 0x00000001 /* Enable SDRAM external bank 0 */
#define EB0_SZ_16 0x00000000 /* SDRAM external bank size = 16MB */
#define EB0_SZ_32 0x00000002 /* SDRAM external bank size = 32MB */

View File

@ -14,7 +14,7 @@
*
* def_LPBlackfin.h
*
* Copyright (C) 2008 Analog Devices, Inc.
* Copyright (C) 2008, 2009 Analog Devices, Inc.
*
************************************************************************/
@ -34,7 +34,11 @@
#warning def_LPBlackfin.h should only be included for 532 compatible chips.
#endif
/* ensure macro params bracketed to avoid unexpected evaluations. (GA), MISRA Rule 19.10 */
#ifdef _MISRA_RULES
#define MK_BMSK_( x ) (1ul<<(x)) /* Make a bit mask from a bit position */
#else
#define MK_BMSK_( x ) (1<<(x)) /* Make a bit mask from a bit position */
#endif /* _MISRA_RULES */
/*********************************************************************************** */
/* System Register Bits */
@ -367,8 +371,6 @@
/* IMEM_CONTROL Register */
/* ** Bit Positions */
#define ENIM_P 0x00 /* Enable L1 Code Memory */
#define IMCTL_ENIM_P 0x00 /* "" (older define) */
#define ENICPLB_P 0x01 /* Enable ICPLB */
#define IMCTL_ENICPLB_P 0x01 /* "" (older define) */
#define IMC_P 0x02 /* Enable */
@ -379,7 +381,6 @@
#define ILOC3_P 0x06 /* Lock Way 3 */
#define LRUPRIORST_P 0x0D /* Least Recently Used Replacement Priority */
/* ** Masks */
#define ENIM 0x00000001 /* Enable L1 Code Memory */
#define ENICPLB 0x00000002 /* Enable ICPLB */
#define IMC 0x00000004 /* Configure L1 code memory as cache (0=SRAM) */
#define ILOC0 0x00000008 /* Lock Way 0 */
@ -400,12 +401,23 @@
#define TAUTORLD_P 0x00000002 /* Timer auto reload */
#define TINT_P 0x00000003 /* Timer generated interrupt 0=no interrupt has been generated, 1=interrupt has been generated (sticky) */
/* DCPLB_DATA and ICPLB_DATA Registers */
/*** Bit Positions */
#define CPLB_VALID_P 0x00000000 /* 0=invalid entry, 1=valid entry */
#define CPLB_LOCK_P 0x00000001 /* 0=entry may be replaced, 1=entry locked */
#define CPLB_USER_RD_P 0x00000002 /* 0=no read access, 1=read access allowed (user mode) */
/*** Masks */
/* DCPLB_DATA and ICPLB_DATA Registers - bit positions */
#define CPLB_VALID_P 0 /* 0=invalid entry, 1=valid entry */
#define CPLB_LOCK_P 1 /* 0=entry may be replaced, 1=entry locked */
#define CPLB_USER_RD_P 2 /* 0=no read access, 1=read access allowed (user mode) */
#define CPLB_PORTPRIO_P 9 /* 0=low priority port, 1= high priority port */
/*** ICPLB_DATA only */
#define CPLB_LRUPRIO_P 8 /* 0=can be replaced by any line, 1=priority for non-replacement */
/*** DCPLB_DATA only */
#define CPLB_USER_WR_P 3 /* 0=no write access, 0=write access allowed (user mode) */
#define CPLB_SUPV_WR_P 4 /* 0=no write access, 0=write access allowed (supervisor mode) */
#define CPLB_DIRTY_P 7 /* 1=dirty, 0=clean */
#define CPLB_L1_CHBL_P 12 /* 0=non-cacheable in L1, 1=cacheable in L1 */
#define CPLB_WT_P 14 /* 0=write-back, 1=write-through */
#define CPLB_L1_AOW_P 15 /* 0=do not allocate cache lines on write-through writes, */
/* 1= allocate cache lines on write-through writes. */
/* DCPLB_DATA and ICPLB_DATA Registers - Masks */
#define CPLB_VALID 0x00000001 /* 0=invalid entry, 1=valid entry */
#define CPLB_LOCK 0x00000002 /* 0=entry may be replaced, 1=entry locked */
#define CPLB_USER_RD 0x00000004 /* 0=no read access, 1=read access allowed (user mode) */
@ -413,16 +425,16 @@
#define PAGE_SIZE_4KB 0x00010000 /* 4 KB page size */
#define PAGE_SIZE_1MB 0x00020000 /* 1 MB page size */
#define PAGE_SIZE_4MB 0x00030000 /* 4 MB page size */
#define CPLB_PORTPRIO 0x00000200 /* 0=low priority port, 1= high priority port */
#define CPLB_PORTPRIO 0x00000200 /* 0=low priority port, 1= high priority port */
#define CPLB_L1_CHBL 0x00001000 /* 0=non-cacheable in L1, 1=cacheable in L1 */
/*** ICPLB_DATA only */
#define CPLB_LRUPRIO 0x00000100 /* 0=can be replaced by any line, 1=priority for non-replacement */
#define CPLB_LRUPRIO 0x00000100 /* 0=can be replaced by any line, 1=priority for non-replacement */
/*** DCPLB_DATA only */
#define CPLB_USER_WR 0x00000008 /* 0=no write access, 0=write access allowed (user mode) */
#define CPLB_SUPV_WR 0x00000010 /* 0=no write access, 0=write access allowed (supervisor mode) */
#define CPLB_DIRTY 0x00000080 /* 1=dirty, 0=clean */
#define CPLB_L1_AOW 0x00008000 /* 0=do not allocate cache lines on write-through writes, */
/* 1= allocate cache lines on write-through writes. */
#define CPLB_L1_AOW 0x00008000 /* 0=do not allocate cache lines on write-through writes, */
/* 1= allocate cache lines on write-through writes. */
#define CPLB_WT 0x00004000 /* 0=write-back, 1=write-through */
@ -442,7 +454,11 @@
#define TEST_MB2 0x00020000 /* Select Mini-Bank 2 */
#define TEST_MB3 0x00030000 /* Select Mini-Bank 3 */
/* ensure macro params bracketed to avoid unexpected evaluations. (GA) MISRA Rule 19.10 */
#ifdef _MISRA_RULES
#define TEST_SET(x) (((x) << 5) & 0x03E0u) /* Set Index 0->31 */
#else
#define TEST_SET(x) (((x) << 5) & 0x03E0) /* Set Index 0->31 */
#endif /* _MISRA_RULES */
#define TEST_WAY0 0x00000000 /* Access Way0 */
#define TEST_WAY1 0x04000000 /* Access Way1 */
/*** ITEST_COMMAND only */

View File

@ -14,7 +14,7 @@
*
* defblackfin.h
*
* Copyright (C) 2008 Analog Devices, Inc.
* Copyright (C) 2008, 2009 Analog Devices, Inc.
*
************************************************************************/
@ -33,8 +33,12 @@
#if defined(__ADSPLPBLACKFIN__)
#warning defblackfin.h should only be included for 535 compatible chips.
#endif
/* Macro parameters should be enclosed in parantheses to avoid incorrect expression evaluation. MISRA Rule 19.10 */
/* Macro parameters should be enclosed in parentheses to avoid incorrect expression evaluation. MISRA Rule 19.10 */
#ifdef _MISRA_RULES
#define MK_BMSK_( x ) (1ul<<(x)) /* Make a bit mask from a bit position */
#else
#define MK_BMSK_( x ) (1<<(x)) /* Make a bit mask from a bit position */
#endif /* _MISRA_RULES */
/*********************************************************************************** */
/* System Register Bits */
@ -429,9 +433,18 @@
/* DCPLB_DATA and ICPLB_DATA Bit Positions */
#define CPLB_VALID_P 0x00000000 /* 0=invalid entry, 1=valid entry */
#define CPLB_LOCK_P 0x00000001 /* 0=entry may be replaced, 1=entry locked */
#define CPLB_USER_RD_P 0x00000002 /* */
#define CPLB_VALID_P 0 /* 0=invalid entry, 1=valid entry */
#define CPLB_LOCK_P 1 /* 0=entry may be replaced, 1=entry locked */
#define CPLB_USER_RD_P 2 /* 0=no read access, 1=read access allowed (user mode) */
/*** DCPLB_DATA only */
#define CPLB_USER_WR_P 3 /* 0=no write access, 0=write access allowed (user mode) */
#define CPLB_SUPV_WR_P 4 /* 0=no write access, 0=write access allowed (supervisor mode) */
#define CPLB_L1SRAM_P 5 /* 0=SRAM mapped in L1, 0=SRAM not mapped to L1 */
#define CPLB_DA0ACC_P 6 /* 0=access allowed from either DAG, 1=access from DAG0 only */
#define CPLB_DIRTY_P 7 /* 1=dirty, 0=clean */
#define CPLB_L1_CHBL_P 12 /* 0=non-cacheable in L1, 1=cacheable in L1 */
#define CPLB_WT_P 14 /* 0=write-back, 1=write-through */
/* Alternate Deprecated Macros Provided For Backwards Code Compatibility */
#if !defined(__ADSPLPBLACKFIN__)

View File

@ -56,22 +56,56 @@
#include <cdefAD6903.h>
#elif defined (__AD6904__)
#include <cdefAD6904.h>
#elif defined (__AD6905__)
#include <cdefAD6905.h>
#elif defined (__MT6906__)
#include <cdefMT6906.h>
#elif defined (__ADSPBF504__)
#include <cdefBF504.h>
#elif defined (__ADSPBF505__)
#include <cdefBF505.h>
#elif defined (__ADSPBF506__)
#include <cdefBF506.h>
#elif defined (__ADSPBF512__)
#include <cdefBF512.h>
#elif defined (__ADSPBF514__)
#include <cdefBF514.h>
#elif defined (__ADSPBF516__)
#include <cdefBF516.h>
#elif defined (__ADSPBF518__)
#include <cdefBF518.h>
#elif defined (__ADSPBF522__)
#include <cdefBF522.h>
#elif defined (__ADSPBF523__)
#include <cdefBF523.h>
#elif defined (__ADSPBF524__)
#include <cdefBF524.h>
#elif defined (__ADSPBF525__)
#include <cdefBF525.h>
#elif defined (__ADSPBF526__)
#include <cdefBF526.h>
#elif defined (__ADSPBF527__)
#include <cdefBF527.h>
#elif defined (__ADSPBF542__) || defined (__ADSPBF541__)
#include <cdefBF542.h>
#elif defined (__ADSPBF542M__)
#include <cdefBF542M.h>
#elif defined (__ADSPBF544__)
#include <cdefBF544.h>
#elif defined (__ADSPBF544M__)
#include <cdefBF544M.h>
#elif defined (__ADSPBF547__)
#include <cdefBF547.h>
#elif defined (__ADSPBF547M__)
#include <cdefBF547M.h>
#elif defined (__ADSPBF548__)
#include <cdefBF548.h>
#elif defined (__ADSPBF548M__)
#include <cdefBF548M.h>
#elif defined (__ADSPBF549__)
#include <cdefBF549.h>
#elif defined (__ADSPBF549M__)
#include <cdefBF549M.h>
#else
#error Processor Type Not Supported
#endif
@ -115,22 +149,56 @@
#include <defAD6903.h>
#elif defined (__AD6904__)
#include <defAD6904.h>
#elif defined (__AD6905__)
#include <defAD6905.h>
#elif defined (__MT6906__)
#include <defMT6906.h>
#elif defined (__ADSPBF504__)
#include <defBF504.h>
#elif defined (__ADSPBF505__)
#include <defBF505.h>
#elif defined (__ADSPBF506__)
#include <defBF506.h>
#elif defined (__ADSPBF512__)
#include <defBF512.h>
#elif defined (__ADSPBF514__)
#include <defBF514.h>
#elif defined (__ADSPBF516__)
#include <defBF516.h>
#elif defined (__ADSPBF518__)
#include <defBF518.h>
#elif defined (__ADSPBF522__)
#include <defBF522.h>
#elif defined (__ADSPBF523__)
#include <defBF523.h>
#elif defined (__ADSPBF524__)
#include <defBF524.h>
#elif defined (__ADSPBF525__)
#include <defBF525.h>
#elif defined (__ADSPBF526__)
#include <defBF526.h>
#elif defined (__ADSPBF527__)
#include <defBF527.h>
#elif defined (__ADSPBF542__) || defined (__ADSPBF541__)
#include <defBF542.h>
#elif defined (__ADSPBF542M__)
#include <defBF542M.h>
#elif defined (__ADSPBF544__)
#include <defBF544.h>
#elif defined (__ADSPBF544M__)
#include <defBF544M.h>
#elif defined (__ADSPBF547__)
#include <defBF547.h>
#elif defined (__ADSPBF547M__)
#include <defBF547M.h>
#elif defined (__ADSPBF548__)
#include <defBF548.h>
#elif defined (__ADSPBF548M__)
#include <defBF548M.h>
#elif defined (__ADSPBF549__)
#include <defBF549.h>
#elif defined (__ADSPBF549M__)
#include <defBF549M.h>
#else
#error Processor Type Not Supported

View File

@ -14,7 +14,7 @@
*
* anomaly_macros_rtl.h : $Revision$
*
* Copyright (C) 2008 Analog Devices, Inc.
* Copyright (C) 2008, 2009 Analog Devices, Inc.
*
* This file defines macros used within the run-time libraries to enable
* certain anomaly workarounds for the appropriate chips and silicon
@ -30,6 +30,12 @@
************************************************************************/
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_2_4:"Assembly code in comment used to illustrate anomalous behaviour")
#pragma diag(suppress:misra_rule_19_4:"The definition of WA_05000204_CHECK_AVOID_FOR_REV cannot be parenthasised as it would fail when used in assembly library code.")
#endif /* _MISRA_RULES */
#if !defined(__SILICON_REVISION__)
#define __FORCE_LEGACY_WORKAROUNDS__
#endif
@ -100,6 +106,18 @@
defined(__FORCE_LEGACY_WORKAROUNDS__)))
/* 05-00-0127 - Signbits instruction not functional under certain conditions
**
** ADSP-BF561 - from rev 0.0 (not yet fixed)
**
** The SIGNBITS instruction requires a NOP before it if one of its operands
** is defined in the preceding instruction.
**
*/
#define WA_05000127 \
(defined(__SILICON_REVISION__) && defined(__ADSPBF561__))
/* 05-00-0137 - DMEM_CONTROL<12> is not set on Reset
**
** ADSP-BF531/2/3 - revs 0.0-0.2 (fixed 0.3)
@ -137,6 +155,70 @@
defined(__FORCE_LEGACY_WORKAROUNDS__)))
/* 05-00-0162 - DMEM_CONTROL<12> is not set on Reset
**
** ADSP-BF561 - revs 0.0-0.2 (fixed 0.3)
**
** Changes to start code.
**
*/
#define WA_05000162 \
(defined(__ADSPBF561__) && \
((defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ == 0xffff || __SILICON_REVISION__ <= 0x2)) || \
defined(__FORCE_LEGACY_WORKAROUNDS__)))
/* 05-00-0198 - System MMR accesses may fail when stalled by preceding memory
** read.
**
** Impacted:
** ADSP-BF531 - rev 0.1-0.4 (fixed 0.5)
** ADSP-BF532 - rev 0.1-0.4 (fixed 0.5)
** ADSP-BF533 - rev 0.1-0.4 (fixed 0.5)
** ADSP-BF534 - rev 0.0 (fixed 0.1)
** ADSP-BF536 - rev 0.0 (fixed 0.1)
** ADSP-BF537 - rev 0.0 (fixed 0.1)
** ADSP-BF561 - rev 0.2-0.3 (fixed 0.4)
**
*/
#define WA_05000198 \
(((defined(__ADSPBF531__) || \
defined(__ADSPBF532__) || \
defined(__ADSPBF533__)) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ <= 0x4 || __SILICON_REVISION__ == 0xffff))) || \
((defined(__ADSPBF534__) || \
defined(__ADSPBF536__) || \
defined(__ADSPBF537__) || \
defined(__ADSPBF539__)) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ == 0x0 || __SILICON_REVISION__ == 0xffff))) || \
(defined(__ADSPBF561__) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ <= 0x3 || __SILICON_REVISION__ == 0xffff))))
/* 05-00-0199 - Current DMA Address Shows Wrong Value During Carry Fix
**
** Impacted:
** ADSP-BF53[123] - rev 0.0-0.3 (fixed 0.4)
** ADSP-BF53[89] - rev 0.0-0.3 (fixed 0.4)
** ADSP-BF561 - rev 0.0-0.3 (fixed 0.4)
**
** Use by System Services/Device Drivers.
*/
#define WA_05000199 \
((defined(__ADSPBF533_FAMILY__) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ <= 0x3 || __SILICON_REVISION__ == 0xffff))) || \
(defined(__ADSPBF538_FAMILY__) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ <= 0x3 || __SILICON_REVISION__ == 0xffff))) || \
(defined(__ADSPBF561__) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ <= 0x3 || __SILICON_REVISION__ == 0xffff))))
/* 05-00-0204 - "Incorrect data read with write-through cache and
** allocate cache lines on reads only mode.
**
@ -192,6 +274,46 @@
/* do not check at RT for 0.4 revs when doing 204 workaround */
#endif
/* 05-00-0209 - Speed Path in Computational Unit Affects Certain Instructions
**
** ADSP-BF531/2/3 - revs 0.0 - 0.3 (fixed in 0.4)
** ADSP-BF534/6/7 - rev 0.0 (fixed in 0.1)
** ADSP-BF538/9 - rev 0.0 (fixed in 0.1)
** ADSP-BF561 - revs 0.0 - 0.3 (fixed in 0.4)
**
** SIGNBITS, EXTRACT, DEPOSIT, EXPADJ require a NOP before them if
** one of their operands is defined in the preceding instruction.
*/
#define WA_05000209 \
(defined(__SILICON_REVISION__) && \
(((defined(__ADSPBF531__) || \
defined(__ADSPBF532__) || \
defined(__ADSPBF533__)) && \
(__SILICON_REVISION__ <= 0x3 || __SILICON_REVISION__ == 0xffff)) || \
((defined(__ADSPBF534__) || \
defined(__ADSPBF536__) || \
defined(__ADSPBF537__) || \
defined(__ADSPBF538__) || \
defined(__ADSPBF539__)) && \
(__SILICON_REVISION__ == 0x0 || __SILICON_REVISION__ == 0xffff)) || \
((defined(__ADSPBF561__)) && \
(__SILICON_REVISION__ <= 0x3 || __SILICON_REVISION__ == 0xffff))))
/* 05-00-0212 - PORTx_FER, PORT_MUX Registers Do Not accept "writes" correctly
**
** Impacted:
** ADSP-BF53[467] - rev 0.0 (fixed 0.1)
**
** Use by System Services/Device Drivers.
*/
#define WA_05000212 \
(defined(__ADSPBF537_FAMILY__) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ == 0x0 || __SILICON_REVISION__ == 0xffff)))
/* 05-00-0258 - "Instruction Cache is corrupted when bit 9 and 12 of
* the ICPLB Data registers differ"
*
@ -205,27 +327,34 @@
* BF531/2/3 - 0.0-0.4 (fixed 0.5)
* BF534/6/7/8/9 - 0.0-0.2 (fixed 0.3)
* BF561 - 0.0-0.4 (fixed 0.5)
* BF566 - 0.0-0.1 (fixed 0.2)
* BF535/AD6532/AD6900 - all revs
*/
#define WA_05000258 \
defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ == 0xffff || \
!defined(__ADSPLPBLACKFIN__) || \
((defined(__ADSPBF531__) || \
defined(__ADSPBF532__) || \
defined(__ADSPBF533__)) && \
(__SILICON_REVISION__ <= 0x4)) || \
((defined(__ADSPBF534__) || \
defined(__ADSPBF536__) || \
defined(__ADSPBF537__) || \
defined(__ADSPBF538__) || \
defined(__ADSPBF539__)) && \
(__SILICON_REVISION__ <= 0x2)) || \
((defined(__ADSPBF561__)) && \
(__SILICON_REVISION__ <= 0x4)) || \
((defined(__ADSPBF561__)) && \
(__SILICON_REVISION__ < 0x1)))
(((defined(__ADSPBF531__) || \
defined(__ADSPBF532__) || \
defined(__ADSPBF533__)) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ <= 0x4 || \
__SILICON_REVISION__ == 0xffff))) || \
((defined(__ADSPBF534__) || \
defined(__ADSPBF536__) || \
defined(__ADSPBF537__) || \
defined(__ADSPBF538__) || \
defined(__ADSPBF539__)) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ <= 0x2 || \
__SILICON_REVISION__ == 0xffff))) || \
(defined(__ADSPBF561__) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ <= 0x4 || \
__SILICON_REVISION__ == 0xffff))) || \
(defined(__ADSPBF566__) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ <= 0x1 || \
__SILICON_REVISION__ == 0xffff))) || \
(!defined(__ADSPLPBLACKFIN__) && defined(__SILICON_REVISION__)))
/* 05-00-0259 - "Non-deterministic ICPLB descriptors delivered to
* hardware". Whenever ICPLBs are disabled via an MMR write, immediately
@ -264,22 +393,24 @@
*/
#define WA_05000261 \
defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ == 0xffff || \
((defined(__ADSPBF531__) || \
defined(__ADSPBF532__) || \
defined(__ADSPBF533__)) && \
(__SILICON_REVISION__ <= 0x4)) || \
((defined(__ADSPBF534__) || \
defined(__ADSPBF536__) || \
defined(__ADSPBF537__) || \
defined(__ADSPBF538__) || \
defined(__ADSPBF539__)) && \
(__SILICON_REVISION__ <= 0x2)) || \
((defined(__ADSPBF561__)) && \
(__SILICON_REVISION__ <= 0x4)) || \
((defined(__ADSPBF561__)) && \
(__SILICON_REVISION__ < 0x1)))
(((defined(__ADSPBF531__) || \
defined(__ADSPBF532__) || \
defined(__ADSPBF533__)) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ <= 0x4 || \
__SILICON_REVISION__ == 0xffff))) || \
((defined(__ADSPBF534__) || \
defined(__ADSPBF536__) || \
defined(__ADSPBF537__) || \
defined(__ADSPBF538__) || \
defined(__ADSPBF539__)) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ <= 0x2 || \
__SILICON_REVISION__ == 0xffff))) || \
(defined(__ADSPBF561__) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ <= 0x4 || \
__SILICON_REVISION__ == 0xffff))))
/* 05-00-0229 - "SPI Slave Boot Mode Modifies Registers".
* When the SPI slave boot completes, the final DMA IRQ is cleared
@ -311,12 +442,173 @@
* after a not predicted conditional jump.
*
* This problem impacts:
* BF531/2/3 - all revs
* BF534/6/7/8/9 - all revs
* BF561/6 - all revs
* BF531/2/3 - < 0.6
* BF534/6/7 - < 0.3
* BF538/9 - < 0.4
* BF561/6 - < 0.5
*
* Since this impacts 538/9 0.3 but not 534 0.3 (the libraries that they use)
* we have to enable this workaround for the 534 0.3 libraries (see bottom
* two lines).
*/
#define WA_05000283 \
defined(__ADSPLPBLACKFIN__) && defined(__SILICON_REVISION__)
(defined (__SILICON_REVISION__) && \
(((defined(__ADSPBF531__) || \
defined(__ADSPBF532__) || \
defined(__ADSPBF533__)) && \
(__SILICON_REVISION__ == 0xffff || \
__SILICON_REVISION__ < 0x6)) || \
((defined(__ADSPBF534__) || \
defined(__ADSPBF536__) || \
defined(__ADSPBF537__)) && \
(__SILICON_REVISION__ == 0xffff || \
__SILICON_REVISION__ < 0x3)) || \
((defined(__ADSPBF538__) || \
defined(__ADSPBF539__)) && \
(__SILICON_REVISION__ == 0xffff || \
__SILICON_REVISION__ < 0x4)) || \
(defined(__ADSPBF561__)) || \
(defined(__ADSPBF534__) && __SILICON_REVISION__ == 0x3 && \
defined(__ADI_LIB_BUILD__))))
/* 05-00-0311 - Erroneous Flag (GPIO) Pin Operations under Specific Sequences
**
** Impacted:
** ADSP-BF53[123] - 0.0-0.5 (fixed in 0.6)
**
** Use by System Services/Device Drivers.
*/
#define WA_05000311 \
(defined(__ADSPBF533_FAMILY__) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ <= 0x5 || __SILICON_REVISION__ == 0xffff)))
/* 05-00-0323 - Erroneous Flag (GPIO) Pin Operations under Specific Sequences
**
** Impacted:
** ADSP-BF561 - all supported revisions
**
** Use by System Services/Device Drivers.
*/
#define WA_05000323 \
(defined(__ADSPBF561__) && defined(__SILICON_REVISION__))
/* 05-00-0365 - DMAs that Go Urgent during Tight Core Writes to External
** Memory Are Blocked
**
** Impacted:
** ADSP-BF54[24789] - all supported revisions
** ADSP-BF54[24789]M - all supported revisions
**
** Use by System Services/Device Drivers.
*/
#define WA_05000365 \
((defined(__ADSPBF548_FAMILY__) || defined(__ADSPBF548M_FAMILY__)) && \
defined(__SILICON_REVISION__))
/* 05-00-0380 - Data Read From L3 Memory by USB DMA May be Corrupted
**
** Impacted:
** ADSP-BF52[357] - rev 0.0-0.1 (fixed 0.2)
**
** Use by System Services/Device Drivers.
*/
#define WA_05000380 \
(defined(__ADSPBF527_FAMILY__) && \
(defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ <= 0x1 || __SILICON_REVISION__ == 0xffff)))
/* 05-00-0412 - "TESTSET Instruction Causes Data Corruption with Writeback Data
* Cache Enabled"
*
* If you use the testset instruction to operate on L2 memory and you have data
* in external memory that is cached using WB mode, data in external memory
* and/or L2 memory can be corrupted.
*
* Workaround: Either do not use writeback cache or precede the TESTSET
* instruction with an SSYNC instruction. If preceding the TESTSET instruction
* by an SSYNC instruction, do the following:
*
* CLI R0
* R1 = [P0] // perform a dummy read to make sure CPLB is installed
* NOP
* NOP
* SSYNC
* TESTSET (P0)
* STI R0
*
* This problem impacts:
* BF561/6 - rev 0.0-0.5
*
*/
#define WA_05000412 \
(defined (__SILICON_REVISION__) && defined(__ADSPBF561__))
/* 05-00-0428 - "Lost/Corrupted Write to L2 Memory Following Speculative Read
* by Core B from L2 Memory"
*
* This issue occurs only when the accesses are performed by core B of a BF561.
*
* When a write to internal L2 memory follows a speculative read from internal
* L2 memory, the L2 write may be lost or corrupted. For this anomaly to occur,
* the speculative read must be caused by a read in the shadow of a branch. The
* accesses do not have to be consecutive accesses. In other words, the problem
* can occur even if there are multiple instructions between the speculative
* read and the write, as shown in the following example:
*
* R1 = 1; R2 = 1;
* CC = R1 == R2;
* IF CC JUMP X; // Always true...
* R0 = [P0]; // If any of these three loads accesses L2 memory from Core
* R1 = [P1]; // B, speculative execution in the pipeline causes the
* R2 = [P2]; // anomaly trigger condition.
* X:
* ... // Any number of instructions...
* [P0] = R0; // This write can be corrupted or lost.
*
* The issue does not occur if the speculative read access is caused by an
* interrupt or exception.
*
* The workaround required depends upon the conditional branch instruction.
* If the evaluated condition is true and the branch is predicted, then the
* workaround is to ensure that the target instruction is not be a load
* instruction, for example:
*
* IF CC JUMP X (BP);
* ...
* X: <load that might be from L2 memory>
*
* If the evaluated condition is false and the branch is not predicted, then
* the workaround is to make sure that none of the three instructions that
* are executed after the conditional JUMP are load instructions, for example:
*
* IF CC JUMP ...;
* <load that might be from L2 memory>
* <load that might be from L2 memory>
* <load that might be from L2 memory>
*
* This problem impacts:
* BF561 - rev 0.4,0.5
*
*/
#define WA_05000428 \
(defined(__SILICON_REVISION__) && \
defined(__ADSPBF561__) && \
((__SILICON_REVISION__ == 0xffff) || \
(__SILICON_REVISION__ == 0x4) || \
(__SILICON_REVISION__ == 0x5)))
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */

View File

@ -18,7 +18,7 @@
*
* exception.h
*
* Copyright (C) 2008 Analog Devices, Inc.
* Copyright (C) 2008, 2009 Analog Devices, Inc.
*
************************************************************************/
@ -27,6 +27,7 @@
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_5_6)
#pragma diag(suppress:misra_rule_5_7)
#pragma diag(suppress:misra_rule_6_3)
#pragma diag(suppress:misra_rule_19_4)
@ -180,7 +181,7 @@ typedef void (*ex_handler_fn)();
#define EX_HANDLER(KIND,NAME) \
_Pragma(#KIND) \
void NAME ()
void NAME (void)
#define EX_HANDLER_PROTO(KIND, NAME) EX_HANDLER(KIND, NAME)

View File

@ -10,10 +10,10 @@
* they apply.
*/
/* This file must be used with compiler version 8.0.1.5 */
/* This file must be used with compiler version 8.0.6.4 */
#ifdef __VERSIONNUM__
#if __VERSIONNUM__ != 0x08000105
#if __VERSIONNUM__ != 0x08000604
#error The compiler version does not match the version of the sysreg.h include
#endif
#endif
@ -22,7 +22,7 @@
*
* sysreg.h
*
* Copyright (C) 2008 Analog Devices, Inc.
* Copyright (C) 2008, 2009 Analog Devices, Inc.
*
***********************************************************************/
@ -40,6 +40,8 @@
#pragma diag(push)
#pragma diag(suppress:misra_rule_2_4)
#pragma diag(suppress:misra_rule_6_3)
#pragma diag(suppress:misra_rule_19_4)
#pragma diag(suppress:misra_rule_19_7)
#pragma diag(suppress:misra_rule_19_10)
#endif /* _MISRA_RULES */