|  | @@ -359,3 +359,100 @@ typedef struct scc_param {
 | 
	
		
			
				|  |  |  	ushort	scc_ibc;	/* Internal */
 | 
	
		
			
				|  |  |  	uint	scc_rxtmp;	/* Internal */
 | 
	
		
			
				|  |  |  	uint	scc_tstate;	/* Internal */
 | 
	
		
			
				|  |  | +	uint	scc_tdp;	/* Internal */
 | 
	
		
			
				|  |  | +	ushort	scc_tbptr;	/* Internal */
 | 
	
		
			
				|  |  | +	ushort	scc_tbc;	/* Internal */
 | 
	
		
			
				|  |  | +	uint	scc_txtmp;	/* Internal */
 | 
	
		
			
				|  |  | +	uint	scc_rcrc;	/* Internal */
 | 
	
		
			
				|  |  | +	uint	scc_tcrc;	/* Internal */
 | 
	
		
			
				|  |  | +} sccp_t;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Function code bits.
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define SCC_EB	((u_char)0x10)	/* Set big endian byte order */
 | 
	
		
			
				|  |  | +#define SCC_FC_DMA ((u_char)0x08) /* Set SDMA */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* CPM Ethernet through SCC1.
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +typedef struct scc_enet {
 | 
	
		
			
				|  |  | +	sccp_t	sen_genscc;
 | 
	
		
			
				|  |  | +	uint	sen_cpres;	/* Preset CRC */
 | 
	
		
			
				|  |  | +	uint	sen_cmask;	/* Constant mask for CRC */
 | 
	
		
			
				|  |  | +	uint	sen_crcec;	/* CRC Error counter */
 | 
	
		
			
				|  |  | +	uint	sen_alec;	/* alignment error counter */
 | 
	
		
			
				|  |  | +	uint	sen_disfc;	/* discard frame counter */
 | 
	
		
			
				|  |  | +	ushort	sen_pads;	/* Tx short frame pad character */
 | 
	
		
			
				|  |  | +	ushort	sen_retlim;	/* Retry limit threshold */
 | 
	
		
			
				|  |  | +	ushort	sen_retcnt;	/* Retry limit counter */
 | 
	
		
			
				|  |  | +	ushort	sen_maxflr;	/* maximum frame length register */
 | 
	
		
			
				|  |  | +	ushort	sen_minflr;	/* minimum frame length register */
 | 
	
		
			
				|  |  | +	ushort	sen_maxd1;	/* maximum DMA1 length */
 | 
	
		
			
				|  |  | +	ushort	sen_maxd2;	/* maximum DMA2 length */
 | 
	
		
			
				|  |  | +	ushort	sen_maxd;	/* Rx max DMA */
 | 
	
		
			
				|  |  | +	ushort	sen_dmacnt;	/* Rx DMA counter */
 | 
	
		
			
				|  |  | +	ushort	sen_maxb;	/* Max BD byte count */
 | 
	
		
			
				|  |  | +	ushort	sen_gaddr1;	/* Group address filter */
 | 
	
		
			
				|  |  | +	ushort	sen_gaddr2;
 | 
	
		
			
				|  |  | +	ushort	sen_gaddr3;
 | 
	
		
			
				|  |  | +	ushort	sen_gaddr4;
 | 
	
		
			
				|  |  | +	uint	sen_tbuf0data0;	/* Save area 0 - current frame */
 | 
	
		
			
				|  |  | +	uint	sen_tbuf0data1;	/* Save area 1 - current frame */
 | 
	
		
			
				|  |  | +	uint	sen_tbuf0rba;	/* Internal */
 | 
	
		
			
				|  |  | +	uint	sen_tbuf0crc;	/* Internal */
 | 
	
		
			
				|  |  | +	ushort	sen_tbuf0bcnt;	/* Internal */
 | 
	
		
			
				|  |  | +	ushort	sen_paddrh;	/* physical address (MSB) */
 | 
	
		
			
				|  |  | +	ushort	sen_paddrm;
 | 
	
		
			
				|  |  | +	ushort	sen_paddrl;	/* physical address (LSB) */
 | 
	
		
			
				|  |  | +	ushort	sen_pper;	/* persistence */
 | 
	
		
			
				|  |  | +	ushort	sen_rfbdptr;	/* Rx first BD pointer */
 | 
	
		
			
				|  |  | +	ushort	sen_tfbdptr;	/* Tx first BD pointer */
 | 
	
		
			
				|  |  | +	ushort	sen_tlbdptr;	/* Tx last BD pointer */
 | 
	
		
			
				|  |  | +	uint	sen_tbuf1data0;	/* Save area 0 - current frame */
 | 
	
		
			
				|  |  | +	uint	sen_tbuf1data1;	/* Save area 1 - current frame */
 | 
	
		
			
				|  |  | +	uint	sen_tbuf1rba;	/* Internal */
 | 
	
		
			
				|  |  | +	uint	sen_tbuf1crc;	/* Internal */
 | 
	
		
			
				|  |  | +	ushort	sen_tbuf1bcnt;	/* Internal */
 | 
	
		
			
				|  |  | +	ushort	sen_txlen;	/* Tx Frame length counter */
 | 
	
		
			
				|  |  | +	ushort	sen_iaddr1;	/* Individual address filter */
 | 
	
		
			
				|  |  | +	ushort	sen_iaddr2;
 | 
	
		
			
				|  |  | +	ushort	sen_iaddr3;
 | 
	
		
			
				|  |  | +	ushort	sen_iaddr4;
 | 
	
		
			
				|  |  | +	ushort	sen_boffcnt;	/* Backoff counter */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/* NOTE: Some versions of the manual have the following items
 | 
	
		
			
				|  |  | +	 * incorrectly documented.  Below is the proper order.
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	ushort	sen_taddrh;	/* temp address (MSB) */
 | 
	
		
			
				|  |  | +	ushort	sen_taddrm;
 | 
	
		
			
				|  |  | +	ushort	sen_taddrl;	/* temp address (LSB) */
 | 
	
		
			
				|  |  | +} scc_enet_t;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#if defined (CONFIG_UCQUICC)
 | 
	
		
			
				|  |  | +/* uCquicc has the following signals connected to Ethernet:
 | 
	
		
			
				|  |  | + *  68360    - lxt905
 | 
	
		
			
				|  |  | + * PA0/RXD1  - rxd
 | 
	
		
			
				|  |  | + * PA1/TXD1  - txd
 | 
	
		
			
				|  |  | + * PA8/CLK1  - tclk
 | 
	
		
			
				|  |  | + * PA9/CLK2  - rclk
 | 
	
		
			
				|  |  | + * PC0/!RTS1 - t_en
 | 
	
		
			
				|  |  | + * PC1/!CTS1 - col
 | 
	
		
			
				|  |  | + * PC5/!CD1  - cd
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define PA_ENET_RXD	PA_RXD1
 | 
	
		
			
				|  |  | +#define PA_ENET_TXD	PA_TXD1
 | 
	
		
			
				|  |  | +#define PA_ENET_TCLK	PA_CLK1
 | 
	
		
			
				|  |  | +#define PA_ENET_RCLK	PA_CLK2
 | 
	
		
			
				|  |  | +#define PC_ENET_TENA	PC_RTS1
 | 
	
		
			
				|  |  | +#define PC_ENET_CLSN	PC_CTS1
 | 
	
		
			
				|  |  | +#define PC_ENET_RENA	PC_CD1
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Control bits in the SICR to route TCLK (CLK1) and RCLK (CLK2) to
 | 
	
		
			
				|  |  | + * SCC1.
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define SICR_ENET_MASK	((uint)0x000000ff)
 | 
	
		
			
				|  |  | +#define SICR_ENET_CLKRT	((uint)0x0000002c)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#endif /* config_ucquicc */
 |