336 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			336 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			C
		
	
	
	
| /***********************************************************************
 | |
|  *
 | |
|  *  Copyright 2003 by FS Forth-Systeme GmbH.
 | |
|  *  All rights reserved.
 | |
|  *
 | |
|  *  $Id$
 | |
|  *  @Author: Markus Pietrek
 | |
|  *  @Descr: Defines the NS7520 ethernet registers.
 | |
|  *          Stick with the old ETH prefix names instead going to the
 | |
|  *          new EFE names in the manual.
 | |
|  *          NS7520_ETH_* refer to NS7520 Hardware
 | |
|  *           Reference/January 2003 [1]
 | |
|  *          PHY_LXT971_* refer to Intel LXT971 Datasheet
 | |
|  *           #249414 Rev. 02 [2]
 | |
|  *          Partly derived from netarm_eth_module.h
 | |
|  *
 | |
|  * Modified by Arthur Shipkowski <art@videon-central.com> from the
 | |
|  * Linux version to be properly formatted for U-Boot (i.e. no C++ comments)
 | |
|  *
 | |
|  ***********************************************************************/
 | |
| 
 | |
| #ifndef FS_NS7520_ETH_H
 | |
| #define FS_NS7520_ETH_H
 | |
| 
 | |
| #ifdef CONFIG_DRIVER_NS7520_ETHERNET
 | |
| 
 | |
| #include "lxt971a.h"
 | |
| 
 | |
| /* The port addresses */
 | |
| 
 | |
| #define	NS7520_ETH_MODULE_BASE	 	(0xFF800000)
 | |
| 
 | |
| #define get_eth_reg_addr(c) \
 | |
|      ((volatile unsigned int*) ( NS7520_ETH_MODULE_BASE+(unsigned int) (c)))
 | |
| #define NS7520_ETH_EGCR		 (0x0000)	/* Ethernet Gen Control */
 | |
| #define NS7520_ETH_EGSR		 (0x0004)	/* Ethernet Gen Status */
 | |
| #define NS7520_ETH_FIFO		 (0x0008)	/* FIFO Data */
 | |
| #define NS7520_ETH_FIFOL	 (0x000C)	/* FIFO Data Last */
 | |
| #define NS7520_ETH_ETSR		 (0x0010)	/* Ethernet Transmit Status */
 | |
| #define NS7520_ETH_ERSR		 (0x0014)	/* Ethernet Receive Status */
 | |
| #define NS7520_ETH_MAC1		 (0x0400)	/* MAC Config 1 */
 | |
| #define NS7520_ETH_MAC2		 (0x0404)	/* MAC Config 2 */
 | |
| #define NS7520_ETH_IPGT		 (0x0408)	/* Back2Back InterPacket Gap */
 | |
| #define NS7520_ETH_IPGR		 (0x040C)	/* non back2back InterPacket Gap */
 | |
| #define NS7520_ETH_CLRT		 (0x0410)	/* Collision Window/Retry */
 | |
| #define NS7520_ETH_MAXF		 (0x0414)	/* Maximum Frame Register */
 | |
| #define NS7520_ETH_SUPP		 (0x0418)	/* PHY Support */
 | |
| #define NS7520_ETH_TEST		 (0x041C)	/* Test Register */
 | |
| #define NS7520_ETH_MCFG		 (0x0420)	/* MII Management Configuration */
 | |
| #define NS7520_ETH_MCMD		 (0x0424)	/* MII Management Command */
 | |
| #define NS7520_ETH_MADR		 (0x0428)	/* MII Management Address */
 | |
| #define NS7520_ETH_MWTD		 (0x042C)	/* MII Management Write Data */
 | |
| #define NS7520_ETH_MRDD		 (0x0430)	/* MII Management Read Data */
 | |
| #define NS7520_ETH_MIND		 (0x0434)	/* MII Management Indicators */
 | |
| #define NS7520_ETH_SMII		 (0x0438)	/* SMII Status Register */
 | |
| #define NS7520_ETH_SA1		 (0x0440)	/* Station Address 1 */
 | |
| #define NS7520_ETH_SA2		 (0x0444)	/* Station Address 2 */
 | |
| #define NS7520_ETH_SA3		 (0x0448)	/* Station Address 3 */
 | |
| #define NS7520_ETH_SAFR		 (0x05C0)	/* Station Address Filter */
 | |
| #define NS7520_ETH_HT1		 (0x05D0)	/* Hash Table 1 */
 | |
| #define NS7520_ETH_HT2		 (0x05D4)	/* Hash Table 2 */
 | |
| #define NS7520_ETH_HT3		 (0x05D8)	/* Hash Table 3 */
 | |
| #define NS7520_ETH_HT4		 (0x05DC)	/* Hash Table 4 */
 | |
| 
 | |
| /* EGCR Ethernet General Control Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_EGCR_ERX	 (0x80000000)	/* Enable Receive FIFO */
 | |
| #define NS7520_ETH_EGCR_ERXDMA	 (0x40000000)	/* Enable Receive DMA */
 | |
| #define NS7520_ETH_EGCR_ERXLNG	 (0x20000000)	/* Accept Long packets */
 | |
| #define NS7520_ETH_EGCR_ERXSHT	 (0x10000000)	/* Accept Short packets */
 | |
| #define NS7520_ETH_EGCR_ERXREG	 (0x08000000)	/* Enable Receive Data Interrupt */
 | |
| #define NS7520_ETH_EGCR_ERFIFOH	 (0x04000000)	/* Enable Receive Half-Full Int */
 | |
| #define NS7520_ETH_EGCR_ERXBR	 (0x02000000)	/* Enable Receive buffer ready */
 | |
| #define NS7520_ETH_EGCR_ERXBAD	 (0x01000000)	/* Accept bad receive packets */
 | |
| #define NS7520_ETH_EGCR_ETX	 (0x00800000)	/* Enable Transmit FIFO */
 | |
| #define NS7520_ETH_EGCR_ETXDMA	 (0x00400000)	/* Enable Transmit DMA */
 | |
| #define NS7520_ETH_EGCR_ETXWM_R  (0x00300000)	/* Enable Transmit FIFO mark Reserv */
 | |
| #define NS7520_ETH_EGCR_ETXWM_75 (0x00200000)	/* Enable Transmit FIFO mark 75% */
 | |
| #define NS7520_ETH_EGCR_ETXWM_50 (0x00100000)	/* Enable Transmit FIFO mark 50% */
 | |
| #define NS7520_ETH_EGCR_ETXWM_25 (0x00000000)	/* Enable Transmit FIFO mark 25% */
 | |
| #define NS7520_ETH_EGCR_ETXREG	 (0x00080000)	/* Enable Transmit Data Read Int */
 | |
| #define NS7520_ETH_EGCR_ETFIFOH	 (0x00040000)	/* Enable Transmit Fifo Half Int */
 | |
| #define NS7520_ETH_EGCR_ETXBC	 (0x00020000)	/* Enable Transmit Buffer Compl Int */
 | |
| #define NS7520_ETH_EGCR_EFULLD	 (0x00010000)	/* Enable Full Duplex Operation */
 | |
| #define NS7520_ETH_EGCR_MODE_MA  (0x0000C000)	/* Mask */
 | |
| #define NS7520_ETH_EGCR_MODE_SEE (0x0000C000)	/* 10 Mbps SEEQ ENDEC PHY */
 | |
| #define NS7520_ETH_EGCR_MODE_LEV (0x00008000)	/* 10 Mbps Level1 ENDEC PHY */
 | |
| #define NS7520_ETH_EGCR_RES1     (0x00002000)	/* Reserved */
 | |
| #define NS7520_ETH_EGCR_RXCINV	 (0x00001000)	/* Invert the receive clock input */
 | |
| #define NS7520_ETH_EGCR_TXCINV	 (0x00000800)	/* Invert the transmit clock input */
 | |
| #define NS7520_ETH_EGCR_PNA	 (0x00000400)	/* pSOS pNA buffer */
 | |
| #define NS7520_ETH_EGCR_MAC_RES	 (0x00000200)	/* MAC Software reset */
 | |
| #define NS7520_ETH_EGCR_ITXA	 (0x00000100)	/* Insert Transmit Source Address */
 | |
| #define NS7520_ETH_EGCR_ENDEC_MA (0x000000FC)	/* ENDEC media control bits */
 | |
| #define NS7520_ETH_EGCR_EXINT_MA (0x00000003)	/* Mask */
 | |
| #define NS7520_ETH_EGCR_EXINT_RE (0x00000003)	/* Reserved */
 | |
| #define NS7520_ETH_EGCR_EXINT_TP (0x00000002)	/* TP-PMD Mode */
 | |
| #define NS7520_ETH_EGCR_EXINT_10 (0x00000001)	/* 10-MBit Mode */
 | |
| #define NS7520_ETH_EGCR_EXINT_NO (0x00000000)	/* MII normal operation */
 | |
| 
 | |
| /* EGSR Ethernet General Status Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_EGSR_RES1	 (0xC0000000)	/* Reserved */
 | |
| #define NS7520_ETH_EGSR_RXFDB_MA (0x30000000)	/* Receive FIFO mask */
 | |
| #define NS7520_ETH_EGSR_RXFDB_3	 (0x30000000)	/* Receive FIFO 3 bytes available */
 | |
| #define NS7520_ETH_EGSR_RXFDB_2	 (0x20000000)	/* Receive FIFO 2 bytes available */
 | |
| #define NS7520_ETH_EGCR_RXFDB_1	 (0x10000000)	/* Receive FIFO 1 Bytes available */
 | |
| #define NS7520_ETH_EGCR_RXFDB_4	 (0x00000000)	/* Receive FIFO 4 Bytes available */
 | |
| #define NS7520_ETH_EGSR_RXREGR	 (0x08000000)	/* Receive Register Ready */
 | |
| #define NS7520_ETH_EGSR_RXFIFOH	 (0x04000000)	/* Receive FIFO Half Full */
 | |
| #define NS7520_ETH_EGSR_RXBR	 (0x02000000)	/* Receive Buffer Ready */
 | |
| #define NS7520_ETH_EGSR_RXSKIP	 (0x01000000)	/* Receive Buffer Skip */
 | |
| #define NS7520_ETH_EGSR_RES2	 (0x00F00000)	/* Reserved */
 | |
| #define NS7520_ETH_EGSR_TXREGE	 (0x00080000)	/* Transmit Register Empty */
 | |
| #define NS7520_ETH_EGSR_TXFIFOH	 (0x00040000)	/* Transmit FIFO half empty */
 | |
| #define NS7520_ETH_EGSR_TXBC	 (0x00020000)	/* Transmit buffer complete */
 | |
| #define NS7520_ETH_EGSR_TXFIFOE	 (0x00010000)	/* Transmit FIFO empty */
 | |
| #define NS7520_ETH_EGSR_RXPINS	 (0x0000FC00)	/* ENDEC Phy Status */
 | |
| #define NS7520_ETH_EGSR_RES3	 (0x000003FF)	/* Reserved */
 | |
| 
 | |
| /* ETSR Ethernet Transmit Status Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_ETSR_RES1	 (0xFFFF0000)	/* Reserved */
 | |
| #define NS7520_ETH_ETSR_TXOK	 (0x00008000)	/* Packet transmitted OK */
 | |
| #define NS7520_ETH_ETSR_TXBR	 (0x00004000)	/* Broadcast packet transmitted */
 | |
| #define NS7520_ETH_ETSR_TXMC	 (0x00002000)	/* Multicast packet transmitted */
 | |
| #define NS7520_ETH_ETSR_TXAL	 (0x00001000)	/* Transmit abort - late collision */
 | |
| #define NS7520_ETH_ETSR_TXAED	 (0x00000800)	/* Transmit abort - deferral */
 | |
| #define NS7520_ETH_ETSR_TXAEC	 (0x00000400)	/* Transmit abort - exc collisions */
 | |
| #define NS7520_ETH_ETSR_TXAUR	 (0x00000200)	/* Transmit abort - underrun */
 | |
| #define NS7520_ETH_ETSR_TXAJ	 (0x00000100)	/* Transmit abort - jumbo */
 | |
| #define NS7520_ETH_ETSR_RES2	 (0x00000080)	/* Reserved */
 | |
| #define NS7520_ETH_ETSR_TXDEF	 (0x00000040)	/* Transmit Packet Deferred */
 | |
| #define NS7520_ETH_ETSR_TXCRC	 (0x00000020)	/* Transmit CRC error */
 | |
| #define NS7520_ETH_ETSR_RES3	 (0x00000010)	/* Reserved */
 | |
| #define NS7520_ETH_ETSR_TXCOLC   (0x0000000F)	/* Transmit Collision Count */
 | |
| 
 | |
| /* ERSR Ethernet Receive Status Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_ERSR_RXSIZE	 (0xFFFF0000)	/* Receive Buffer Size */
 | |
| #define NS7520_ETH_ERSR_RXCE	 (0x00008000)	/* Receive Carrier Event */
 | |
| #define NS7520_ETH_ERSR_RXDV	 (0x00004000)	/* Receive Data Violation Event */
 | |
| #define NS7520_ETH_ERSR_RXOK	 (0x00002000)	/* Receive Packet OK */
 | |
| #define NS7520_ETH_ERSR_RXBR	 (0x00001000)	/* Receive Broadcast Packet */
 | |
| #define NS7520_ETH_ERSR_RXMC	 (0x00000800)	/* Receive Multicast Packet */
 | |
| #define NS7520_ETH_ERSR_RXCRC	 (0x00000400)	/* Receive Packet has CRC error */
 | |
| #define NS7520_ETH_ERSR_RXDR	 (0x00000200)	/* Receive Packet has dribble error */
 | |
| #define NS7520_ETH_ERSR_RXCV	 (0x00000100)	/* Receive Packet code violation */
 | |
| #define NS7520_ETH_ERSR_RXLNG	 (0x00000080)	/* Receive Packet too long */
 | |
| #define NS7520_ETH_ERSR_RXSHT	 (0x00000040)	/* Receive Packet too short */
 | |
| #define NS7520_ETH_ERSR_ROVER	 (0x00000020)	/* Recive overflow */
 | |
| #define NS7520_ETH_ERSR_RES	 (0x0000001F)	/* Reserved */
 | |
| 
 | |
| /* MAC1 MAC Configuration Register 1 Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_MAC1_RES1 	 (0xFFFF0000)	/* Reserved */
 | |
| #define NS7520_ETH_MAC1_SRST	 (0x00008000)	/* Soft Reset */
 | |
| #define NS7520_ETH_MAC1_SIMMRST	 (0x00004000)	/* Simulation Reset */
 | |
| #define NS7520_ETH_MAC1_RES2	 (0x00003000)	/* Reserved */
 | |
| #define NS7520_ETH_MAC1_RPEMCSR	 (0x00000800)	/* Reset PEMCS/RX */
 | |
| #define NS7520_ETH_MAC1_RPERFUN	 (0x00000400)	/* Reset PERFUN */
 | |
| #define NS7520_ETH_MAC1_RPEMCST	 (0x00000200)	/* Reset PEMCS/TX */
 | |
| #define NS7520_ETH_MAC1_RPETFUN	 (0x00000100)	/* Reset PETFUN */
 | |
| #define NS7520_ETH_MAC1_RES3	 (0x000000E0)	/* Reserved */
 | |
| #define NS7520_ETH_MAC1_LOOPBK	 (0x00000010)	/* Internal Loopback */
 | |
| #define NS7520_ETH_MAC1_TXFLOW	 (0x00000008)	/* TX flow control */
 | |
| #define NS7520_ETH_MAC1_RXFLOW	 (0x00000004)	/* RX flow control */
 | |
| #define NS7520_ETH_MAC1_PALLRX	 (0x00000002)	/* Pass ALL receive frames */
 | |
| #define NS7520_ETH_MAC1_RXEN	 (0x00000001)	/* Receive enable */
 | |
| 
 | |
| /* MAC Configuration Register 2 Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_MAC2_RES1 	 (0xFFFF8000)	/* Reserved */
 | |
| #define NS7520_ETH_MAC2_EDEFER	 (0x00004000)	/* Excess Deferral */
 | |
| #define NS7520_ETH_MAC2_BACKP	 (0x00002000)	/* Backpressure/NO back off */
 | |
| #define NS7520_ETH_MAC2_NOBO	 (0x00001000)	/* No back off */
 | |
| #define NS7520_ETH_MAC2_RES2	 (0x00000C00)	/* Reserved */
 | |
| #define NS7520_ETH_MAC2_LONGP	 (0x00000200)	/* Long Preable enforcement */
 | |
| #define NS7520_ETH_MAC2_PUREP	 (0x00000100)	/* Pure preamble enforcement */
 | |
| #define NS7520_ETH_MAC2_AUTOP	 (0x00000080)	/* Auto detect PAD enable */
 | |
| #define NS7520_ETH_MAC2_VLANP	 (0x00000040)	/* VLAN pad enable */
 | |
| #define NS7520_ETH_MAC2_PADEN  	 (0x00000020)	/* PAD/CRC enable */
 | |
| #define NS7520_ETH_MAC2_CRCEN	 (0x00000010)	/* CRC enable */
 | |
| #define NS7520_ETH_MAC2_DELCRC	 (0x00000008)	/* Delayed CRC */
 | |
| #define NS7520_ETH_MAC2_HUGE	 (0x00000004)	/* Huge frame enable */
 | |
| #define NS7520_ETH_MAC2_FLENC	 (0x00000002)	/* Frame length checking */
 | |
| #define NS7520_ETH_MAC2_FULLD	 (0x00000001)	/* Full duplex */
 | |
| 
 | |
| /* IPGT Back-to-Back Inter-Packet-Gap Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_IPGT_RES	 (0xFFFFFF80)	/* Reserved */
 | |
| #define NS7520_ETH_IPGT_IPGT	 (0x0000007F)	/* Back-to-Back Interpacket Gap */
 | |
| 
 | |
| /* IPGR Non Back-to-Back Inter-Packet-Gap Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_IPGR_RES1	 (0xFFFF8000)	/* Reserved */
 | |
| #define NS7520_ETH_IPGR_IPGR1	 (0x00007F00)	/* Non Back-to-back Interpacket Gap */
 | |
| #define NS7520_ETH_IPGR_RES2	 (0x00000080)	/* Reserved */
 | |
| #define NS7520_ETH_IPGR_IPGR2	 (0x0000007F)	/* Non back-to-back Interpacket Gap */
 | |
| 
 | |
| /* CLRT Collision Windows/Collision Retry Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_CLRT_RES1	 (0xFFFFC000)	/* Reserved */
 | |
| #define NS7520_ETH_CLRT_CWIN	 (0x00003F00)	/* Collision Windows */
 | |
| #define NS7520_ETH_CLRT_RES2	 (0x000000F0)	/* Reserved */
 | |
| #define	NS7520_ETH_CLRT_RETX	 (0x0000000F)	/* Retransmission maximum */
 | |
| 
 | |
| /* MAXF Maximum Frame Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_MAXF_RES1	 (0xFFFF0000)	/* Reserved */
 | |
| #define NS7520_ETH_MAXF_MAXF	 (0x0000FFFF)	/* Maximum frame length */
 | |
| 
 | |
| /* SUPP PHY Support Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_SUPP_RES1	 (0xFFFFFF00)	/* Reserved */
 | |
| #define NS7520_ETH_SUPP_RPE100X	 (0x00000080)	/* Reset PE100X module */
 | |
| #define NS7520_ETH_SUPP_FORCEQ	 (0x00000040)	/* Force Quit */
 | |
| #define NS7520_ETH_SUPP_NOCIPH	 (0x00000020)	/* No Cipher */
 | |
| #define NS7520_ETH_SUPP_DLINKF	 (0x00000010)	/* Disable link fail */
 | |
| #define NS7520_ETH_SUPP_RPE10T	 (0x00000008)	/* Reset PE10T module */
 | |
| #define NS7520_ETH_SUPP_RES2	 (0x00000004)	/* Reserved */
 | |
| #define NS7520_ETH_SUPP_JABBER	 (0x00000002)	/* Enable Jabber protection */
 | |
| #define NS7520_ETH_SUPP_BITMODE	 (0x00000001)	/* Bit Mode */
 | |
| 
 | |
| /* TEST Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_TEST_RES1	 (0xFFFFFFF8)	/* Reserved */
 | |
| #define NS7520_ETH_TEST_TBACK	 (0x00000004)	/* Test backpressure */
 | |
| #define NS7520_ETH_TEST_TPAUSE	 (0x00000002)	/* Test Pause */
 | |
| #define NS7520_ETH_TEST_SPQ	 (0x00000001)	/* Shortcut pause quanta */
 | |
| 
 | |
| /* MCFG MII Management Configuration Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_MCFG_RES1	 (0xFFFF0000)	/* Reserved */
 | |
| #define NS7520_ETH_MCFG_RMIIM	 (0x00008000)	/* Reset MII management */
 | |
| #define NS7520_ETH_MCFG_RES2	 (0x00007FE0)	/* Reserved */
 | |
| #define NS7520_ETH_MCFG_CLKS_MA	 (0x0000001C)	/* Clock Select */
 | |
| #define NS7520_ETH_MCFG_CLKS_4	 (0x00000004)	/* Sysclk / 4 */
 | |
| #define NS7520_ETH_MCFG_CLKS_6	 (0x00000008)	/* Sysclk / 6 */
 | |
| #define NS7520_ETH_MCFG_CLKS_8	 (0x0000000C)	/* Sysclk / 8 */
 | |
| #define NS7520_ETH_MCFG_CLKS_10	 (0x00000010)	/* Sysclk / 10 */
 | |
| #define NS7520_ETH_MCFG_CLKS_14	 (0x00000014)	/* Sysclk / 14 */
 | |
| #define NS7520_ETH_MCFG_CLKS_20	 (0x00000018)	/* Sysclk / 20 */
 | |
| #define NS7520_ETH_MCFG_CLKS_28	 (0x0000001C)	/* Sysclk / 28 */
 | |
| #define NS7520_ETH_MCFG_SPRE	 (0x00000002)	/* Suppress preamble */
 | |
| #define NS7520_ETH_MCFG_SCANI	 (0x00000001)	/* Scan increment */
 | |
| 
 | |
| /* MCMD MII Management Command Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_MCMD_RES1	 (0xFFFFFFFC)	/* Reserved */
 | |
| #define NS7520_ETH_MCMD_SCAN	 (0x00000002)	/* Automatically Scan for Read Data */
 | |
| #define NS7520_ETH_MCMD_READ	 (0x00000001)	/* Single scan for Read Data */
 | |
| 
 | |
| /* MCMD MII Management Address Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_MADR_RES1	 (0xFFFFE000)	/* Reserved */
 | |
| #define NS7520_ETH_MADR_DADR	 (0x00001F00)	/* MII PHY device address */
 | |
| #define NS7520_ETH_MADR_RES2	 (0x000000E0)	/* Reserved */
 | |
| #define NS7520_ETH_MADR_RADR	 (0x0000001F)	/* MII PHY register address */
 | |
| 
 | |
| /* MWTD MII Management Write Data Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_MWTD_RES1	 (0xFFFF0000)	/* Reserved */
 | |
| #define NS7520_ETH_MWTD_MWTD	 (0x0000FFFF)	/* MII Write Data */
 | |
| 
 | |
| /* MRRD MII Management Read Data Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_MRRD_RES1	 (0xFFFF0000)	/* Reserved */
 | |
| #define NS7520_ETH_MRRD_MRDD	 (0x0000FFFF)	/* MII Read Data */
 | |
| 
 | |
| /* MIND MII Management Indicators Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_MIND_RES1	 (0xFFFFFFF8)	/* Reserved */
 | |
| #define NS7520_ETH_MIND_NVALID	 (0x00000004)	/* Read Data not valid */
 | |
| #define NS7520_ETH_MIND_SCAN	 (0x00000002)	/* Automatically scan for read data */
 | |
| #define NS7520_ETH_MIND_BUSY	 (0x00000001)	/* MII interface busy */
 | |
| 
 | |
| /* SMII Status Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_SMII_RES1	 (0xFFFFFFE0)	/* Reserved */
 | |
| #define NS7520_ETH_SMII_CLASH	 (0x00000010)	/* MAC-to-MAC with PHY */
 | |
| #define NS7520_ETH_SMII_JABBER	 (0x00000008)	/* Jabber condition present */
 | |
| #define NS7520_ETH_SMII_LINK	 (0x00000004)	/* Link OK */
 | |
| #define NS7520_ETH_SMII_DUPLEX	 (0x00000002)	/* Full-duplex operation */
 | |
| #define NS7520_ETH_SMII_SPEED	 (0x00000001)	/* 100 Mbps */
 | |
| 
 | |
| /* SA1 Station Address 1 Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_SA1_RES1	 (0xFFFF0000)	/* Reserved */
 | |
| #define NS7520_ETH_SA1_OCTET1	 (0x0000FF00)	/* Station Address octet 1 */
 | |
| #define NS7520_ETH_SA1_OCTET2	 (0x000000FF)	/* Station Address octet 2 */
 | |
| 
 | |
| /* SA2 Station Address 2 Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_SA2_RES1	 (0xFFFF0000)	/* Reserved */
 | |
| #define NS7520_ETH_SA2_OCTET3	 (0x0000FF00)	/* Station Address octet 3 */
 | |
| #define NS7520_ETH_SA2_OCTET4	 (0x000000FF)	/* Station Address octet 4 */
 | |
| 
 | |
| /* SA3 Station Address 3 Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_SA3_RES1	 (0xFFFF0000)	/* Reserved */
 | |
| #define NS7520_ETH_SA3_OCTET5	 (0x0000FF00)	/* Station Address octet 5 */
 | |
| #define NS7520_ETH_SA3_OCTET6	 (0x000000FF)	/* Station Address octet 6 */
 | |
| 
 | |
| /* SAFR Station Address Filter Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_SAFR_RES1	 (0xFFFFFFF0)	/* Reserved */
 | |
| #define NS7520_ETH_SAFR_PRO	 (0x00000008)	/* Enable Promiscuous mode */
 | |
| #define NS7520_ETH_SAFR_PRM	 (0x00000004)	/* Accept ALL multicast packets */
 | |
| #define NS7520_ETH_SAFR_PRA	 (0x00000002)	/* Accept multicast packets table */
 | |
| #define NS7520_ETH_SAFR_BROAD	 (0x00000001)	/* Accept ALL Broadcast packets */
 | |
| 
 | |
| /* HT1 Hash Table 1 Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_HT1_RES1	 (0xFFFF0000)	/* Reserved */
 | |
| #define NS7520_ETH_HT1_HT1	 (0x0000FFFF)	/* CRC value 15-0 */
 | |
| 
 | |
| /* HT2 Hash Table 2 Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_HT2_RES1	 (0xFFFF0000)	/* Reserved */
 | |
| #define NS7520_ETH_HT2_HT2	 (0x0000FFFF)	/* CRC value 31-16 */
 | |
| 
 | |
| /* HT3 Hash Table 3 Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_HT3_RES1	 (0xFFFF0000)	/* Reserved */
 | |
| #define NS7520_ETH_HT3_HT3	 (0x0000FFFF)	/* CRC value 47-32 */
 | |
| 
 | |
| /* HT4 Hash Table 4 Register Bit Fields*/
 | |
| 
 | |
| #define NS7520_ETH_HT4_RES1	 (0xFFFF0000)	/* Reserved */
 | |
| #define NS7520_ETH_HT4_HT4	 (0x0000FFFF)	/* CRC value 63-48 */
 | |
| 
 | |
| #endif				/* CONFIG_DRIVER_NS7520_ETHERNET */
 | |
| 
 | |
| #endif				/* FS_NS7520_ETH_H */
 |