/*----------------------------------------------------------------------------+
|   This source code is dual-licensed.  You may use it under the terms of the
|   GNU General Public License version 2, or under the license below.
|
|	This source code has been made available to you by IBM on an AS-IS
|	basis.	Anyone receiving this source is licensed under IBM
|	copyrights to use it in any way he or she deems fit, including
|	copying it, modifying it, compiling it, and redistributing it either
|	with or without modifications.	No license under IBM patents or
|	patent applications is to be implied by the copyright license.
|
|	Any user of this software should understand that IBM cannot provide
|	technical support for this software and will not be responsible for
|	any consequences resulting from the use of this software.
|
|	Any person who transfers this source code or any derivative work
|	must include the IBM copyright notice, this paragraph, and the
|	preceding two paragraphs in the transferred software.
|
|	COPYRIGHT   I B M   CORPORATION 1999
|	LICENSED MATERIAL  -  PROGRAM PROPERTY OF I B M
+----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------+
|
|  File Name:	enetemac.h
|
|  Function:	Header file for the EMAC3 macro on the 405GP.
|
|  Author:	Mark Wisner
|
|  Change Activity-
|
|  Date	       Description of Change					   BY
|  ---------   ---------------------					   ---
|  29-Apr-99   Created							   MKW
|
+----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------+
|  19-Nov-03   Travis Sawyer, Sandburst Corporation, tsawyer@sandburst.com
|	       ported to handle 440GP and 440GX multiple EMACs
+----------------------------------------------------------------------------*/

#ifndef _PPC4XX_ENET_H_
#define _PPC4XX_ENET_H_

#include <net.h>
#include "405_mal.h"


/*-----------------------------------------------------------------------------+
| General enternet defines.  802 frames are not supported.
+-----------------------------------------------------------------------------*/
#define ENET_ADDR_LENGTH		6
#define ENET_ARPTYPE			0x806
#define ARP_REQUEST			1
#define ARP_REPLY			2
#define ENET_IPTYPE			0x800
#define ARP_CACHE_SIZE			5

#define NUM_TX_BUFF 1
#define NUM_RX_BUFF PKTBUFSRX

struct enet_frame {
   unsigned char	dest_addr[ENET_ADDR_LENGTH];
   unsigned char	source_addr[ENET_ADDR_LENGTH];
   unsigned short	type;
   unsigned char	enet_data[1];
};

struct arp_entry {
   unsigned long	inet_address;
   unsigned char	mac_address[ENET_ADDR_LENGTH];
   unsigned long	valid;
   unsigned long	sec;
   unsigned long	nsec;
};


/* Statistic Areas */
#define MAX_ERR_LOG 10

typedef struct emac_stats_st{	/* Statistic Block */
	int data_len_err;
	int rx_frames;
	int rx;
	int rx_prot_err;
	int int_err;
	int pkts_tx;
	int pkts_rx;
	int pkts_handled;
	short tx_err_log[MAX_ERR_LOG];
	short rx_err_log[MAX_ERR_LOG];
} EMAC_STATS_ST, *EMAC_STATS_PST;

/* Structure containing variables used by the shared code (4xx_enet.c) */
typedef struct emac_4xx_hw_st {
    uint32_t		hw_addr;		/* EMAC offset */
    uint32_t		tah_addr;		/* TAH offset */
    uint32_t		phy_id;
    uint32_t		phy_addr;
    uint32_t		original_fc;
    uint32_t		txcw;
    uint32_t		autoneg_failed;
    uint32_t		emac_ier;
    volatile mal_desc_t *tx;
    volatile mal_desc_t *rx;
    u32			tx_phys;
    u32			rx_phys;
    bd_t		*bis;	/* for eth_init upon mal error */
    mal_desc_t		*alloc_tx_buf;
    mal_desc_t		*alloc_rx_buf;
    char		*txbuf_ptr;
    uint16_t		devnum;
    int			get_link_status;
    int			tbi_compatibility_en;
    int			tbi_compatibility_on;
    int			fc_send_xon;
    int			report_tx_early;
    int			first_init;
    int			tx_err_index;
    int			rx_err_index;
    int			rx_slot;			/* MAL Receive Slot */
    int			rx_i_index;		/* Receive Interrupt Queue Index */
    int			rx_u_index;		/* Receive User Queue Index */
    int			tx_slot;			/* MAL Transmit Slot */
    int			tx_i_index;		/* Transmit Interrupt Queue Index */
    int			tx_u_index;		/* Transmit User Queue Index */
    int			rx_ready[NUM_RX_BUFF];	/* Receive Ready Queue */
    int			tx_run[NUM_TX_BUFF];	/* Transmit Running Queue */
    int			is_receiving;	/* sync with eth interrupt */
    int			print_speed;	/* print speed message upon start */
    EMAC_STATS_ST	stats;
} EMAC_4XX_HW_ST, *EMAC_4XX_HW_PST;


#if defined(CONFIG_440GX) || defined(CONFIG_460GT)
#define EMAC_NUM_DEV		4
#elif (defined(CONFIG_440) || defined(CONFIG_405EP)) &&	\
	defined(CONFIG_NET_MULTI) &&			\
	!defined(CONFIG_440SP) && !defined(CONFIG_440SPE)
#define EMAC_NUM_DEV		2
#else
#define EMAC_NUM_DEV		1
#endif

#ifdef CONFIG_IBM_EMAC4_V4	/* EMAC4 V4 changed bit setting */
#define EMAC_STACR_OC_MASK	(0x00008000)
#else
#define EMAC_STACR_OC_MASK	(0x00000000)
#endif

#if defined(CONFIG_440SP) || defined(CONFIG_440SPE) || \
    defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \
    defined(CONFIG_405EX)
#define SDR0_PFC1_EM_1000	(0x00200000)
#endif

/*
 * XMII bridge configurations for those systems (e.g. 405EX(r)) that do
 * not have a pin function control (PFC) register to otherwise determine
 * the bridge configuration.
 */
#define EMAC_PHY_MODE_NONE		0
#define EMAC_PHY_MODE_NONE_RGMII	1
#define EMAC_PHY_MODE_RGMII_NONE	2
#define EMAC_PHY_MODE_RGMII_RGMII	3
#define EMAC_PHY_MODE_NONE_GMII		4
#define EMAC_PHY_MODE_GMII_NONE		5
#define EMAC_PHY_MODE_NONE_MII		6
#define EMAC_PHY_MODE_MII_NONE		7

/* ZMII Bridge Register addresses */
#if defined(CONFIG_440EP) || defined(CONFIG_440GR) || \
    defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \
    defined(CONFIG_460EX) || defined(CONFIG_460GT)
#define ZMII_BASE		(CONFIG_SYS_PERIPHERAL_BASE + 0x0D00)
#else
#define ZMII_BASE		(CONFIG_SYS_PERIPHERAL_BASE + 0x0780)
#endif
#define ZMII_FER		(ZMII_BASE)
#define ZMII_SSR		(ZMII_BASE + 4)
#define ZMII_SMIISR		(ZMII_BASE + 8)

/* ZMII FER Register Bit Definitions */
#define ZMII_FER_DIS		(0x0)
#define ZMII_FER_MDI		(0x8)
#define ZMII_FER_SMII		(0x4)
#define ZMII_FER_RMII		(0x2)
#define ZMII_FER_MII		(0x1)

#define ZMII_FER_RSVD11		(0x00200000)
#define ZMII_FER_RSVD10		(0x00100000)
#define ZMII_FER_RSVD14_31	(0x0003FFFF)

#define ZMII_FER_V(__x)		(((3 - __x) * 4) + 16)


/* ZMII Speed Selection Register Bit Definitions */
#define ZMII_SSR_SCI		(0x4)
#define ZMII_SSR_FSS		(0x2)
#define ZMII_SSR_SP		(0x1)
#define ZMII_SSR_RSVD16_31	(0x0000FFFF)

#define ZMII_SSR_V(__x)		(((3 - __x) * 4) + 16)


/* ZMII SMII Status Register Bit Definitions */
#define ZMII_SMIISR_E1		(0x80)
#define ZMII_SMIISR_EC		(0x40)
#define ZMII_SMIISR_EN		(0x20)
#define ZMII_SMIISR_EJ		(0x10)
#define ZMII_SMIISR_EL		(0x08)
#define ZMII_SMIISR_ED		(0x04)
#define ZMII_SMIISR_ES		(0x02)
#define ZMII_SMIISR_EF		(0x01)

#define ZMII_SMIISR_V(__x)	((3 - __x) * 8)

/* RGMII Register Addresses */
#if defined(CONFIG_440EPX) || defined(CONFIG_440GRX)
#define RGMII_BASE		(CONFIG_SYS_PERIPHERAL_BASE + 0x1000)
#elif defined(CONFIG_460EX) || defined(CONFIG_460GT)
#define RGMII_BASE		(CONFIG_SYS_PERIPHERAL_BASE + 0x1500)
#elif defined(CONFIG_405EX)
#define RGMII_BASE		(CONFIG_SYS_PERIPHERAL_BASE + 0xB00)
#else
#define RGMII_BASE		(CONFIG_SYS_PERIPHERAL_BASE + 0x0790)
#endif
#define RGMII_FER		(RGMII_BASE + 0x00)
#define RGMII_SSR		(RGMII_BASE + 0x04)

#if defined(CONFIG_460GT)
#define RGMII1_BASE_OFFSET	0x100
#endif

/* RGMII Function Enable (FER) Register Bit Definitions */
#define RGMII_FER_DIS		(0x00)
#define RGMII_FER_RTBI		(0x04)
#define RGMII_FER_RGMII		(0x05)
#define RGMII_FER_TBI		(0x06)
#define RGMII_FER_GMII		(0x07)
#define RGMII_FER_MII		(RGMII_FER_GMII)

#define RGMII_FER_V(__x)	((__x - 2) * 4)

#define RGMII_FER_MDIO(__x)	(1 << (19 - (__x)))

/* RGMII Speed Selection Register Bit Definitions */
#define RGMII_SSR_SP_10MBPS	(0x00)
#define RGMII_SSR_SP_100MBPS	(0x02)
#define RGMII_SSR_SP_1000MBPS	(0x04)

#if defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \
    defined(CONFIG_460EX) || defined(CONFIG_460GT) || \
    defined(CONFIG_405EX)
#define RGMII_SSR_V(__x)	((__x) * 8)
#else
#define RGMII_SSR_V(__x)	((__x -2) * 8)
#endif

/*---------------------------------------------------------------------------+
|  TCP/IP Acceleration Hardware (TAH) 440GX Only
+---------------------------------------------------------------------------*/
#if defined(CONFIG_440GX)
#define TAH_BASE		(CONFIG_SYS_PERIPHERAL_BASE + 0x0B50)
#define TAH_REVID		(TAH_BASE + 0x0)    /* Revision ID (RO)*/
#define TAH_MR			(TAH_BASE + 0x10)   /* Mode Register (R/W) */
#define TAH_SSR0		(TAH_BASE + 0x14)   /* Segment Size Reg 0 (R/W) */
#define TAH_SSR1		(TAH_BASE + 0x18)   /* Segment Size Reg 1 (R/W) */
#define TAH_SSR2		(TAH_BASE + 0x1C)   /* Segment Size Reg 2 (R/W) */
#define TAH_SSR3		(TAH_BASE + 0x20)   /* Segment Size Reg 3 (R/W) */
#define TAH_SSR4		(TAH_BASE + 0x24)   /* Segment Size Reg 4 (R/W) */
#define TAH_SSR5		(TAH_BASE + 0x28)   /* Segment Size Reg 5 (R/W) */
#define TAH_TSR			(TAH_BASE + 0x2C)   /* Transmit Status Register (RO) */

/* TAH Revision */
#define TAH_REV_RN_M		(0x000FFF00)	    /* Revision Number */
#define TAH_REV_BN_M		(0x000000FF)	    /* Branch Revision Number */

#define TAH_REV_RN_V		(8)
#define TAH_REV_BN_V		(0)

/* TAH Mode Register */
#define TAH_MR_CVR		(0x80000000)	    /* Checksum verification on RX */
#define TAH_MR_SR		(0x40000000)	    /* Software reset */
#define TAH_MR_ST		(0x3F000000)	    /* Send Threshold */
#define TAH_MR_TFS		(0x00E00000)	    /* Transmit FIFO size */
#define TAH_MR_DTFP		(0x00100000)	    /* Disable TX FIFO parity */
#define TAH_MR_DIG		(0x00080000)	    /* Disable interrupt generation */
#define TAH_MR_RSVD		(0x0007FFFF)	    /* Reserved */

#define TAH_MR_ST_V		(20)
#define TAH_MR_TFS_V		(17)

#define TAH_MR_TFS_2K		(0x1)		    /* Transmit FIFO size 2Kbyte */
#define TAH_MR_TFS_4K		(0x2)		    /* Transmit FIFO size 4Kbyte */
#define TAH_MR_TFS_6K		(0x3)		    /* Transmit FIFO size 6Kbyte */
#define TAH_MR_TFS_8K		(0x4)		    /* Transmit FIFO size 8Kbyte */
#define TAH_MR_TFS_10K		(0x5)		    /* Transmit FIFO size 10Kbyte (max)*/


/* TAH Segment Size Registers 0:5 */
#define TAH_SSR_RSVD0		(0xC0000000)	    /* Reserved */
#define TAH_SSR_SS		(0x3FFE0000)	    /* Segment size in multiples of 2 */
#define TAH_SSR_RSVD1		(0x0001FFFF)	    /* Reserved */

/* TAH Transmit Status Register */
#define TAH_TSR_TFTS		(0x80000000)	    /* Transmit FIFO too small */
#define TAH_TSR_UH		(0x40000000)	    /* Unrecognized header */
#define TAH_TSR_NIPF		(0x20000000)	    /* Not IPv4 */
#define TAH_TSR_IPOP		(0x10000000)	    /* IP option present */
#define TAH_TSR_NISF		(0x08000000)	    /* No IEEE SNAP format */
#define TAH_TSR_ILTS		(0x04000000)	    /* IP length too short */
#define TAH_TSR_IPFP		(0x02000000)	    /* IP fragment present */
#define TAH_TSR_UP		(0x01000000)	    /* Unsupported protocol */
#define TAH_TSR_TFP		(0x00800000)	    /* TCP flags present */
#define TAH_TSR_SUDP		(0x00400000)	    /* Segmentation for UDP */
#define TAH_TSR_DLM		(0x00200000)	    /* Data length mismatch */
#define TAH_TSR_SIEEE		(0x00100000)	    /* Segmentation for IEEE */
#define TAH_TSR_TFPE		(0x00080000)	    /* Transmit FIFO parity error */
#define TAH_TSR_SSTS		(0x00040000)	    /* Segment size too small */
#define TAH_TSR_RSVD		(0x0003FFFF)	    /* Reserved */
#endif /* CONFIG_440GX */


/* Ethernet MAC Regsiter Addresses */
#if defined(CONFIG_440)
#if defined(CONFIG_440EP) || defined(CONFIG_440GR) || \
    defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \
    defined(CONFIG_460EX) || defined(CONFIG_460GT)
#define EMAC_BASE		(CONFIG_SYS_PERIPHERAL_BASE + 0x0E00)
#else
#define EMAC_BASE		(CONFIG_SYS_PERIPHERAL_BASE + 0x0800)
#endif
#else
#if defined(CONFIG_405EZ) || defined(CONFIG_405EX)
#define EMAC_BASE		0xEF600900
#else
#define EMAC_BASE		0xEF600800
#endif
#endif

#define EMAC_M0			(EMAC_BASE)
#define EMAC_M1			(EMAC_BASE + 4)
#define EMAC_TXM0		(EMAC_BASE + 8)
#define EMAC_TXM1		(EMAC_BASE + 12)
#define EMAC_RXM		(EMAC_BASE + 16)
#define EMAC_ISR		(EMAC_BASE + 20)
#define EMAC_IER		(EMAC_BASE + 24)
#define EMAC_IAH		(EMAC_BASE + 28)
#define EMAC_IAL		(EMAC_BASE + 32)
#define EMAC_PAUSE_TIME_REG	(EMAC_BASE + 44)
#define EMAC_I_FRAME_GAP_REG	(EMAC_BASE + 88)
#define EMAC_STACR		(EMAC_BASE + 92)
#define EMAC_TRTR		(EMAC_BASE + 96)
#define EMAC_RX_HI_LO_WMARK	(EMAC_BASE + 100)

/* bit definitions */
/* MODE REG 0 */
#define EMAC_M0_RXI		(0x80000000)
#define EMAC_M0_TXI		(0x40000000)
#define EMAC_M0_SRST		(0x20000000)
#define EMAC_M0_TXE		(0x10000000)
#define EMAC_M0_RXE		(0x08000000)
#define EMAC_M0_WKE		(0x04000000)

/* on 440GX EMAC_MR1 has a different layout! */
#if defined(CONFIG_440GX) || \
    defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \
    defined(CONFIG_440SP) || defined(CONFIG_440SPE) || \
    defined(CONFIG_460EX) || defined(CONFIG_460GT) || \
    defined(CONFIG_405EX)
/* MODE Reg 1 */
#define EMAC_M1_FDE		(0x80000000)
#define EMAC_M1_ILE		(0x40000000)
#define EMAC_M1_VLE		(0x20000000)
#define EMAC_M1_EIFC		(0x10000000)
#define EMAC_M1_APP		(0x08000000)
#define EMAC_M1_RSVD		(0x06000000)
#define EMAC_M1_IST		(0x01000000)
#define EMAC_M1_MF_1000GPCS	(0x00C00000)
#define EMAC_M1_MF_1000MBPS	(0x00800000)	/* 0's for 10MBPS */
#define EMAC_M1_MF_100MBPS	(0x00400000)
#define EMAC_M1_RFS_MASK	(0x00380000)
#define EMAC_M1_RFS_16K		(0x00280000)
#define EMAC_M1_RFS_8K		(0x00200000)
#define EMAC_M1_RFS_4K		(0x00180000)
#define EMAC_M1_RFS_2K		(0x00100000)
#define EMAC_M1_RFS_1K		(0x00080000)
#define EMAC_M1_TX_FIFO_MASK	(0x00070000)
#define EMAC_M1_TX_FIFO_16K	(0x00050000)
#define EMAC_M1_TX_FIFO_8K	(0x00040000)
#define EMAC_M1_TX_FIFO_4K	(0x00030000)
#define EMAC_M1_TX_FIFO_2K	(0x00020000)
#define EMAC_M1_TX_FIFO_1K	(0x00010000)
#define EMAC_M1_TR_MULTI	(0x00008000)	/* 0'x for single packet */
#define EMAC_M1_MWSW		(0x00007000)
#define EMAC_M1_JUMBO_ENABLE	(0x00000800)
#define EMAC_M1_IPPA		(0x000007c0)
#define EMAC_M1_IPPA_SET(id)	(((id) & 0x1f) << 6)
#define EMAC_M1_IPPA_GET(id)	(((id) >> 6) & 0x1f)
#define EMAC_M1_OBCI_GT100	(0x00000020)
#define EMAC_M1_OBCI_100	(0x00000018)
#define EMAC_M1_OBCI_83		(0x00000010)
#define EMAC_M1_OBCI_66		(0x00000008)
#define EMAC_M1_RSVD1		(0x00000007)
#else /* defined(CONFIG_440GX) */
/* EMAC_MR1 is the same on 405GP, 405GPr, 405EP, 440GP, 440EP */
#define EMAC_M1_FDE		0x80000000
#define EMAC_M1_ILE		0x40000000
#define EMAC_M1_VLE		0x20000000
#define EMAC_M1_EIFC		0x10000000
#define EMAC_M1_APP		0x08000000
#define EMAC_M1_AEMI		0x02000000
#define EMAC_M1_IST		0x01000000
#define EMAC_M1_MF_1000MBPS	0x00800000	/* 0's for 10MBPS */
#define EMAC_M1_MF_100MBPS	0x00400000
#define EMAC_M1_RFS_MASK	0x00300000
#define EMAC_M1_RFS_4K		0x00300000
#define EMAC_M1_RFS_2K		0x00200000
#define EMAC_M1_RFS_1K		0x00100000
#define EMAC_M1_RFS_512		0x00000000
#define EMAC_M1_TX_FIFO_MASK	0x000c0000
#define EMAC_M1_TX_FIFO_2K	0x00080000
#define EMAC_M1_TX_FIFO_1K	0x00040000
#define EMAC_M1_TX_FIFO_512	0x00000000
#define EMAC_M1_TR0_DEPEND	0x00010000	/* 0'x for single packet */
#define EMAC_M1_TR0_MULTI	0x00008000
#define EMAC_M1_TR1_DEPEND	0x00004000
#define EMAC_M1_TR1_MULTI	0x00002000
#if defined(CONFIG_440EP) || defined(CONFIG_440GR)
#define EMAC_M1_JUMBO_ENABLE	0x00001000
#endif /* defined(CONFIG_440EP) || defined(CONFIG_440GR) */
#endif /* defined(CONFIG_440GX) */

#define EMAC_MR1_FIFO_MASK	(EMAC_M1_RFS_MASK | EMAC_M1_TX_FIFO_MASK)
#if defined(CONFIG_405EZ)
/* 405EZ only supports 512 bytes fifos */
#define EMAC_MR1_FIFO_SIZE	(EMAC_M1_RFS_512 | EMAC_M1_TX_FIFO_512)
#else
/* Set receive fifo to 4k and tx fifo to 2k */
#define EMAC_MR1_FIFO_SIZE	(EMAC_M1_RFS_4K | EMAC_M1_TX_FIFO_2K)
#endif

/* Transmit Mode Register 0 */
#define EMAC_TXM0_GNP0		(0x80000000)
#define EMAC_TXM0_GNP1		(0x40000000)
#define EMAC_TXM0_GNPD		(0x20000000)
#define EMAC_TXM0_FC		(0x10000000)

/* Receive Mode Register */
#define EMAC_RMR_SP		(0x80000000)
#define EMAC_RMR_SFCS		(0x40000000)
#define EMAC_RMR_ARRP		(0x20000000)
#define EMAC_RMR_ARP		(0x10000000)
#define EMAC_RMR_AROP		(0x08000000)
#define EMAC_RMR_ARPI		(0x04000000)
#define EMAC_RMR_PPP		(0x02000000)
#define EMAC_RMR_PME		(0x01000000)
#define EMAC_RMR_PMME		(0x00800000)
#define EMAC_RMR_IAE		(0x00400000)
#define EMAC_RMR_MIAE		(0x00200000)
#define EMAC_RMR_BAE		(0x00100000)
#define EMAC_RMR_MAE		(0x00080000)

/* Interrupt Status & enable Regs */
#define EMAC_ISR_OVR		(0x02000000)
#define EMAC_ISR_PP		(0x01000000)
#define EMAC_ISR_BP		(0x00800000)
#define EMAC_ISR_RP		(0x00400000)
#define EMAC_ISR_SE		(0x00200000)
#define EMAC_ISR_SYE		(0x00100000)
#define EMAC_ISR_BFCS		(0x00080000)
#define EMAC_ISR_PTLE		(0x00040000)
#define EMAC_ISR_ORE		(0x00020000)
#define EMAC_ISR_IRE		(0x00010000)
#define EMAC_ISR_DBDM		(0x00000200)
#define EMAC_ISR_DB0		(0x00000100)
#define EMAC_ISR_SE0		(0x00000080)
#define EMAC_ISR_TE0		(0x00000040)
#define EMAC_ISR_DB1		(0x00000020)
#define EMAC_ISR_SE1		(0x00000010)
#define EMAC_ISR_TE1		(0x00000008)
#define EMAC_ISR_MOS		(0x00000002)
#define EMAC_ISR_MOF		(0x00000001)

/* STA CONTROL REG */
#define EMAC_STACR_OC		(0x00008000)
#define EMAC_STACR_PHYE		(0x00004000)

#ifdef CONFIG_IBM_EMAC4_V4	/* EMAC4 V4 changed bit setting */
#define EMAC_STACR_INDIRECT_MODE (0x00002000)
#define EMAC_STACR_WRITE	(0x00000800) /* $BUC */
#define EMAC_STACR_READ		(0x00001000) /* $BUC */
#define EMAC_STACR_OP_MASK	(0x00001800)
#define EMAC_STACR_MDIO_ADDR	(0x00000000)
#define EMAC_STACR_MDIO_WRITE	(0x00000800)
#define EMAC_STACR_MDIO_READ	(0x00001800)
#define EMAC_STACR_MDIO_READ_INC (0x00001000)
#else
#define EMAC_STACR_WRITE	(0x00002000)
#define EMAC_STACR_READ		(0x00001000)
#endif

#define EMAC_STACR_CLK_83MHZ	(0x00000800)  /* 0's for 50Mhz */
#define EMAC_STACR_CLK_66MHZ	(0x00000400)
#define EMAC_STACR_CLK_100MHZ	(0x00000C00)

/* Transmit Request Threshold Register */
#define EMAC_TRTR_256		(0x18000000)   /* 0's for 64 Bytes */
#define EMAC_TRTR_192		(0x10000000)
#define EMAC_TRTR_128		(0x01000000)

/* the follwing defines are for the MadMAL status and control registers. */
/* For bits 0..5 look at the mal.h file					 */
#define EMAC_TX_CTRL_GFCS	(0x0200)
#define EMAC_TX_CTRL_GP		(0x0100)
#define EMAC_TX_CTRL_ISA	(0x0080)
#define EMAC_TX_CTRL_RSA	(0x0040)
#define EMAC_TX_CTRL_IVT	(0x0020)
#define EMAC_TX_CTRL_RVT	(0x0010)

#define EMAC_TX_CTRL_DEFAULT (EMAC_TX_CTRL_GFCS |EMAC_TX_CTRL_GP)

#define EMAC_TX_ST_BFCS		(0x0200)
#define EMAC_TX_ST_BPP		(0x0100)
#define EMAC_TX_ST_LCS		(0x0080)
#define EMAC_TX_ST_ED		(0x0040)
#define EMAC_TX_ST_EC		(0x0020)
#define EMAC_TX_ST_LC		(0x0010)
#define EMAC_TX_ST_MC		(0x0008)
#define EMAC_TX_ST_SC		(0x0004)
#define EMAC_TX_ST_UR		(0x0002)
#define EMAC_TX_ST_SQE		(0x0001)

#define EMAC_TX_ST_DEFAULT	(0x03F3)


/* madmal receive status / Control bits */

#define EMAC_RX_ST_OE		(0x0200)
#define EMAC_RX_ST_PP		(0x0100)
#define EMAC_RX_ST_BP		(0x0080)
#define EMAC_RX_ST_RP		(0x0040)
#define EMAC_RX_ST_SE		(0x0020)
#define EMAC_RX_ST_AE		(0x0010)
#define EMAC_RX_ST_BFCS		(0x0008)
#define EMAC_RX_ST_PTL		(0x0004)
#define EMAC_RX_ST_ORE		(0x0002)
#define EMAC_RX_ST_IRE		(0x0001)
/* all the errors we care about */
#define EMAC_RX_ERRORS		(0x03FF)

#endif /* _PPC4XX_ENET_H_ */
