1*2439e4bfSJean-Christophe PLAGNIOL-VILLARD /* 2*2439e4bfSJean-Christophe PLAGNIOL-VILLARD * dm9000 Ethernet 3*2439e4bfSJean-Christophe PLAGNIOL-VILLARD */ 4*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 5*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #ifdef CONFIG_DRIVER_DM9000 6*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 7*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_ID 0x90000A46 8*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_PKT_MAX 1536 /* Received packet max size */ 9*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_PKT_RDY 0x01 /* Packet ready to receive */ 10*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 11*2439e4bfSJean-Christophe PLAGNIOL-VILLARD /* although the registers are 16 bit, they are 32-bit aligned. 12*2439e4bfSJean-Christophe PLAGNIOL-VILLARD */ 13*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 14*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_NCR 0x00 15*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_NSR 0x01 16*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_TCR 0x02 17*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_TSR1 0x03 18*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_TSR2 0x04 19*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_RCR 0x05 20*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_RSR 0x06 21*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_ROCR 0x07 22*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_BPTR 0x08 23*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_FCTR 0x09 24*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_FCR 0x0A 25*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_EPCR 0x0B 26*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_EPAR 0x0C 27*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_EPDRL 0x0D 28*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_EPDRH 0x0E 29*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_WCR 0x0F 30*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 31*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_PAR 0x10 32*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MAR 0x16 33*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 34*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_GPCR 0x1e 35*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_GPR 0x1f 36*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_TRPAL 0x22 37*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_TRPAH 0x23 38*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_RWPAL 0x24 39*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_RWPAH 0x25 40*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 41*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_VIDL 0x28 42*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_VIDH 0x29 43*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_PIDL 0x2A 44*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_PIDH 0x2B 45*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 46*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_CHIPR 0x2C 47*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_SMCR 0x2F 48*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 49*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_PHY 0x40 /* PHY address 0x01 */ 50*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 51*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MRCMDX 0xF0 52*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MRCMD 0xF2 53*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MRRL 0xF4 54*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MRRH 0xF5 55*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MWCMDX 0xF6 56*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MWCMD 0xF8 57*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MWRL 0xFA 58*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MWRH 0xFB 59*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_TXPLL 0xFC 60*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_TXPLH 0xFD 61*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_ISR 0xFE 62*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_IMR 0xFF 63*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 64*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NCR_EXT_PHY (1<<7) 65*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NCR_WAKEEN (1<<6) 66*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NCR_FCOL (1<<4) 67*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NCR_FDX (1<<3) 68*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NCR_LBK (3<<1) 69*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NCR_RST (1<<0) 70*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 71*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NSR_SPEED (1<<7) 72*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NSR_LINKST (1<<6) 73*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NSR_WAKEST (1<<5) 74*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NSR_TX2END (1<<3) 75*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NSR_TX1END (1<<2) 76*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NSR_RXOV (1<<1) 77*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 78*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TCR_TJDIS (1<<6) 79*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TCR_EXCECM (1<<5) 80*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TCR_PAD_DIS2 (1<<4) 81*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TCR_CRC_DIS2 (1<<3) 82*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TCR_PAD_DIS1 (1<<2) 83*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TCR_CRC_DIS1 (1<<1) 84*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TCR_TXREQ (1<<0) 85*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 86*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TSR_TJTO (1<<7) 87*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TSR_LC (1<<6) 88*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TSR_NC (1<<5) 89*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TSR_LCOL (1<<4) 90*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TSR_COL (1<<3) 91*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TSR_EC (1<<2) 92*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 93*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RCR_WTDIS (1<<6) 94*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RCR_DIS_LONG (1<<5) 95*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RCR_DIS_CRC (1<<4) 96*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RCR_ALL (1<<3) 97*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RCR_RUNT (1<<2) 98*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RCR_PRMSC (1<<1) 99*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RCR_RXEN (1<<0) 100*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 101*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_RF (1<<7) 102*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_MF (1<<6) 103*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_LCS (1<<5) 104*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_RWTO (1<<4) 105*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_PLE (1<<3) 106*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_AE (1<<2) 107*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_CE (1<<1) 108*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_FOE (1<<0) 109*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 110*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define FCTR_HWOT(ot) (( ot & 0xf ) << 4 ) 111*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define FCTR_LWOT(ot) ( ot & 0xf ) 112*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 113*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define IMR_PAR (1<<7) 114*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define IMR_ROOM (1<<3) 115*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define IMR_ROM (1<<2) 116*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define IMR_PTM (1<<1) 117*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #define IMR_PRM (1<<0) 118*2439e4bfSJean-Christophe PLAGNIOL-VILLARD 119*2439e4bfSJean-Christophe PLAGNIOL-VILLARD #endif 120