/*
 * file:         include/asm-blackfin/mach-bf537/defbf537.h
 * based on:
 * author:
 *
 * created:
 * description:
 *	system mmr register map
 * rev:
 *
 * modified:
 *
 *
 * bugs:         enter bugs at http://blackfin.uclinux.org/
 *
 * this program is free software; you can redistribute it and/or modify
 * it under the terms of the gnu general public license as published by
 * the free software foundation; either version 2, or (at your option)
 * any later version.
 *
 * this program is distributed in the hope that it will be useful,
 * but without any warranty; without even the implied warranty of
 * merchantability or fitness for a particular purpose.  see the
 * gnu general public license for more details.
 *
 * you should have received a copy of the gnu general public license
 * along with this program; see the file copying.
 * if not, write to the free software foundation,
 * 59 temple place - suite 330, boston, ma 02111-1307, usa.
 */

#ifndef _DEF_BF537_H
#define _DEF_BF537_H

/* Include all Core registers and bit definitions*/
#include <asm/mach-common/cdef_LPBlackfin.h>

/* Include all MMR and bit defines common to BF534 */
#include "defBF534.h"

/************************************************************************************
** Define EMAC Section Unique to BF536/BF537
*************************************************************************************/

/* 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                                                */

/***********************************************************************************
** 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                                                           */

#define	SET_REGAD(x)	(((x)&0x1F)<<  6 )	/* Set STA Register Address                             */
#define	SET_PHYAD(x)	(((x)&0x1F)<< 11 )	/* Set PHY Device Address                               */

/* 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                                                                           */

#define	SET_FLCPAUSE(x)	(((x)&0xFFFF)<< 16)	/* Set Pause Time                                               */

/* 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                                      */

#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           */
/* 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                                         */

#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         */

/* EMAC_WKUP_FFCRC1 Masks															*/
#define	WF2_CRC		0x0000FFFF	/* Wake-Up Filter 2 Pattern CRC                                         */
#define	WF3_CRC		0xFFFF0000	/* Wake-Up Filter 3 Pattern CRC                                         */

#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         */

/* 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))]          */

#define	SET_MDCDIV(x)	(((x)&0x3F)<< 8)	/* Set MDC Clock Divisor                                */

/* 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                                                    */

#endif				/* _DEF_BF537_H */
