| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 | /* * Copyright 2005-2010 Analog Devices Inc. * * Licensed under the Clear BSD license or the GPL-2 (or later) */#ifndef _DEF_BF537_H#define _DEF_BF537_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                                          */
 |