?? cs8900a.h
字號:
/*********************************************************************************************
* File: cs8900a.h
* Author: Embest
* Desc: CS8900A ethernet chip register description
* History:
*********************************************************************************************/
#ifndef __CS8900A_H__
#define __CS8900A_H__
/*--- CS8900A Register defines ---*/
/*
* Bus interface registers
*/
#define REG_Identification 0x0000
#define REG_IOBaseAddress 0x0020
#define REG_InterruptNumber 0x0022
#define REG_DMAChannelNumber 0x0024
#define REG_DMAStartOfFrame 0x0026
#define REG_DMARrameCount 0x0028
#define REG_RxDMAByteCount 0x002A
#define REG_MemoryBaseAddress 0x002C
#define REG_BootBaseAddress 0x0030
#define REG_BootAddressMask 0x0034
#define REG_EEPROMCommand 0x0040
#define REG_EEPROMData 0x0042
#define REG_ReceivedByteCounter 0x0050
/*
* Status and control registers
*/
#define REG_RxCFG 0x0102
#define REG_RxCTL 0x0104
#define REG_TxCFG 0x0106
#define REG_TxCMD 0x0108
#define REG_BufCFG 0x010A
#define REG_LineCTL 0x0112
#define REG_SelfCTL 0x0114
#define REG_BusCTL 0x0116
#define REG_TestCTL 0x0118
#define REG_ISQ 0x0120
#define REG_RxEvent 0x0124
#define REG_TxEvent 0x0128
#define REG_BufEvent 0x012C
#define REG_RxMISS 0x0130
#define REG_TxCOL 0x0132
#define REG_LineST 0x0134
#define REG_SelfST 0x0136
#define REG_BusST 0x0138
#define REG_TDR 0x013C
/*
* Initiate transmit registers
*/
#define REG_TxCommand 0x0144
#define REG_TxLength 0x0146
/*
* Address filter registers
*/
#define REG_LAF 0x0150
#define REG_IA 0x0158
/*
* Frame location register
*/
#define REG_RxStatus 0x0400
#define REG_RxLength 0x0402
#define REG_RxFrame 0x0404
#define REG_TxFrame 0x0A00
/*--- CS8900A register bit defines ---*/
/*
* Bits of bus interface register
*/
/* ID */
#define ID_CODE 0x630E
#define ID_SIGNATURE 0x3000
#define REV_B 0x0700
#define REV_C 0x0800
#define REV_D 0x0900
#define REV_F 0x0A00
/* INT number */
#define INTRQ0 0
#define INTRQ1 1
#define INTRQ2 2
#define INTRQ3 3
#define ALL_INTRQ_HI 4
/* DMA number */
#define DMRQ0 0
#define DMRQ1 1
#define DMRQ2 2
#define ALL_DMRQ_HI 3
/* EEPROM command */
#define OB0 (1<<8)
#define OB1 (1<<9)
#define ELSEL (1<<10)
/*
* Bits of status and control registers
*/
#define LOW_BITS_MASK 0x001F
/* RxCFG */
#define Skip_1 (1<<6)
#define StreamE (1<<7)
#define RxOKiE (1<<8)
#define RxDMAonly (1<<9)
#define AutoRxDMAE (1<<10)
#define BufferCRC (1<<11)
#define CRCerroriE (1<<12)
#define RuntiE (1<<13)
#define ExtradataiE (1<<14)
#define RxCFG_LOW (0x03)
/* RxCTL */
#define IAHashA (1<<6)
#define PromiscuousA (1<<7)
#define RxOKA (1<<8)
#define MulticastA (1<<9)
#define IdividualA (1<<10)
#define BroadcastA (1<<11)
#define CRCerrorA (1<<12)
#define RuntA (1<<13)
#define ExtradataA (1<<14)
#define RxCTL_LOW (0x05)
/* TxCFG */
#define Loss_of_CRSiE (1<<6)
#define SQErroriE (1<<7)
#define TxOKiE (1<<8)
#define Out_of_windowiE (1<<9)
#define JabberiE (1<<10)
#define AnycolliE (1<<11)
#define _16colliE (1<<15)
#define TxCFG_LOW (0x07)
/* TxCMD */
#define TxStart (3<<6)
#define TxStart6 (1<<6)
#define TxStart7 (1<<7)
#define Force (1<<8)
#define Onecoll (1<<9)
#define InhibitCRC (1<<12)
#define TxPadDis (1<<13)
#define TxCMD_LOW (0x09)
/* BufCFG */
#define SWint_X (1<<6)
#define RxDMAiE (1<<7)
#define Rdy4TxiE (1<<8)
#define TxUnderruniE (1<<9)
#define RxMissiE (1<<10)
#define Rx128iE (1<<11)
#define TxColOvfiE (1<<12)
#define MissOvfloiE (1<<13)
#define RxDestiE (1<<15)
#define BufCFG_LOW (0x0B)
/* LineCTL */
#define SerRxON (1<<6)
#define SerTxON (1<<7)
#define AUIonly (1<<8)
#define AutoAUI_10BT (1<<9)
#define ModBackOffE (1<<11)
#define PolarityDis (1<<12)
#define _2_partDefDis (1<<13)
#define LoRxSquelch (1<<14)
#define LineCTL_LOW (0x13)
/* SelfCTL */
#define RESET (1<<6)
#define SWSuspend (1<<8)
#define HWSleepE (1<<9)
#define HWStandbyE (1<<10)
#define HC0E (1<<12)
#define HC1E (1<<13)
#define HCB0 (1<<14)
#define HCB1 (1<<15)
#define SelfCTL_LOW (0x15)
/* BusCTL */
#define ResetRxDMA (1<<6)
#define DMAextend (1<<8)
#define UseSA (1<<9)
#define MemoryE (1<<10)
#define DMABurst (1<<11)
#define IOCHRDYE (1<<12)
#define RxDMAsize (1<<13)
#define EnableIRQ (1<<15)
#define BusCTL_LOW (0x17)
/* TestCTL */
#define DisableLT (1<<7)
#define ENDECloop (1<<9)
#define AUIloop (1<<10)
#define DisableBackoff (1<<11)
#define FDX (1<<14)
#define TestCTL_LOW (0x19)
/* ISQ */
#define RegNum (0x3f<<0)
#define RegContent (0x3ff<<6)
#define ISQ_LOW (0x00)
/* RxEvent */
#define IAHash (1<<6)
#define Dribblebits (1<<7)
#define RxOK (1<<8)
#define Hashed (1<<9)
#define IdividualAdr (1<<10)
#define Broadcast (1<<11)
#define CRCerror (1<<12)
#define Runt (1<<13)
#define Extradata (1<<14)
#define RxEvent_LOW (0x04)
/* TxEvent */
#define Loss_of_CRS (1<<6)
#define SQError (1<<7)
#define TxOK (1<<8)
#define Out_of_window (1<<9)
#define Jabber (1<<10)
#define Num_of_TxColl (0xf<<11)
#define _16coll (1<<15)
#define TxEvent_LOW (0x08)
/* BufEvent */
#define SWint (1<<6)
#define RxDMAFrame (1<<7)
#define Rdy4Tx (1<<8)
#define TxUnderrun (1<<9)
#define RxMiss (1<<10)
#define Rx128 (1<<11)
#define RxDest (1<<15)
#define BufEvent_LOW (0x0C)
/* RxMISS */
#define RxMissCount (0x3ff<<6)
#define RxMISS_LOW (0x10)
/* TxCOL */
#define TxColCount (0x3ff<<6)
#define TxCOL_LOW (0x12)
/* LineST */
#define LinkOK (1<<7)
#define AUI (1<<8)
#define _10BT (1<<9)
#define PolarityOK (1<<12)
#define CRS (1<<14)
#define LineST_LOW (0x14)
/* SelfST */
#define _3_3VActive (1<<6)
#define INITD (1<<7)
#define SIBUSY (1<<8)
#define EEPROMpresent (1<<9)
#define EEPROMOK (1<<10)
#define ELpresent (1<<11)
#define EEsize (1<<12)
#define SelfST_LOW (0x16)
/* BusST */
#define TxBidErr (1<<7)
#define Rdy4TxNOW (1<<8)
#define BusST_LOW (0x18)
/* TDR */
#define AUIDelay (0x3ff<<6)
#define TDR_LOW (0x1C)
/*
* I/O space operation
*/
#define IO_RX_TX_DATA0 0x0000
#define IO_RX_TX_DATA1 0x0002
#define IO_TX_COMMAND 0x0004
#define IO_TX_LENGTH 0x0006
#define IO_ISQ 0x0008
#define IO_PACKETPAGE_POINTER 0x000A
#define IO_PACKETPAGE_DATA0 0x000C
#define IO_PACKETPAGE_DATA1 0x000E
#endif /* __CS8900A_H__ */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -