12439e4bfSJean-Christophe PLAGNIOL-VILLARD /* 22439e4bfSJean-Christophe PLAGNIOL-VILLARD * dm9000 Ethernet 32439e4bfSJean-Christophe PLAGNIOL-VILLARD */ 42439e4bfSJean-Christophe PLAGNIOL-VILLARD 52439e4bfSJean-Christophe PLAGNIOL-VILLARD #ifdef CONFIG_DRIVER_DM9000 62439e4bfSJean-Christophe PLAGNIOL-VILLARD 72439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_ID 0x90000A46 82439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_PKT_MAX 1536 /* Received packet max size */ 92439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_PKT_RDY 0x01 /* Packet ready to receive */ 102439e4bfSJean-Christophe PLAGNIOL-VILLARD 112439e4bfSJean-Christophe PLAGNIOL-VILLARD /* although the registers are 16 bit, they are 32-bit aligned. 122439e4bfSJean-Christophe PLAGNIOL-VILLARD */ 132439e4bfSJean-Christophe PLAGNIOL-VILLARD 142439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_NCR 0x00 152439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_NSR 0x01 162439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_TCR 0x02 172439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_TSR1 0x03 182439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_TSR2 0x04 192439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_RCR 0x05 202439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_RSR 0x06 212439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_ROCR 0x07 222439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_BPTR 0x08 232439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_FCTR 0x09 242439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_FCR 0x0A 252439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_EPCR 0x0B 262439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_EPAR 0x0C 272439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_EPDRL 0x0D 282439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_EPDRH 0x0E 292439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_WCR 0x0F 302439e4bfSJean-Christophe PLAGNIOL-VILLARD 312439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_PAR 0x10 322439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MAR 0x16 332439e4bfSJean-Christophe PLAGNIOL-VILLARD 342439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_GPCR 0x1e 352439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_GPR 0x1f 362439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_TRPAL 0x22 372439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_TRPAH 0x23 382439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_RWPAL 0x24 392439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_RWPAH 0x25 402439e4bfSJean-Christophe PLAGNIOL-VILLARD 412439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_VIDL 0x28 422439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_VIDH 0x29 432439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_PIDL 0x2A 442439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_PIDH 0x2B 452439e4bfSJean-Christophe PLAGNIOL-VILLARD 462439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_CHIPR 0x2C 472439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_SMCR 0x2F 482439e4bfSJean-Christophe PLAGNIOL-VILLARD 492439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_PHY 0x40 /* PHY address 0x01 */ 502439e4bfSJean-Christophe PLAGNIOL-VILLARD 512439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MRCMDX 0xF0 522439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MRCMD 0xF2 532439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MRRL 0xF4 542439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MRRH 0xF5 552439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MWCMDX 0xF6 562439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MWCMD 0xF8 572439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MWRL 0xFA 582439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_MWRH 0xFB 592439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_TXPLL 0xFC 602439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_TXPLH 0xFD 612439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_ISR 0xFE 622439e4bfSJean-Christophe PLAGNIOL-VILLARD #define DM9000_IMR 0xFF 632439e4bfSJean-Christophe PLAGNIOL-VILLARD 642439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NCR_EXT_PHY (1<<7) 652439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NCR_WAKEEN (1<<6) 662439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NCR_FCOL (1<<4) 672439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NCR_FDX (1<<3) 682439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NCR_LBK (3<<1) 69*d26b739aSAndrew Dyer #define NCR_LBK_INT_MAC (1<<1) 70*d26b739aSAndrew Dyer #define NCR_LBK_INT_PHY (2<<1) 712439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NCR_RST (1<<0) 722439e4bfSJean-Christophe PLAGNIOL-VILLARD 732439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NSR_SPEED (1<<7) 742439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NSR_LINKST (1<<6) 752439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NSR_WAKEST (1<<5) 762439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NSR_TX2END (1<<3) 772439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NSR_TX1END (1<<2) 782439e4bfSJean-Christophe PLAGNIOL-VILLARD #define NSR_RXOV (1<<1) 792439e4bfSJean-Christophe PLAGNIOL-VILLARD 802439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TCR_TJDIS (1<<6) 812439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TCR_EXCECM (1<<5) 822439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TCR_PAD_DIS2 (1<<4) 832439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TCR_CRC_DIS2 (1<<3) 842439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TCR_PAD_DIS1 (1<<2) 852439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TCR_CRC_DIS1 (1<<1) 862439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TCR_TXREQ (1<<0) 872439e4bfSJean-Christophe PLAGNIOL-VILLARD 882439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TSR_TJTO (1<<7) 892439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TSR_LC (1<<6) 902439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TSR_NC (1<<5) 912439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TSR_LCOL (1<<4) 922439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TSR_COL (1<<3) 932439e4bfSJean-Christophe PLAGNIOL-VILLARD #define TSR_EC (1<<2) 942439e4bfSJean-Christophe PLAGNIOL-VILLARD 952439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RCR_WTDIS (1<<6) 962439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RCR_DIS_LONG (1<<5) 972439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RCR_DIS_CRC (1<<4) 982439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RCR_ALL (1<<3) 992439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RCR_RUNT (1<<2) 1002439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RCR_PRMSC (1<<1) 1012439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RCR_RXEN (1<<0) 1022439e4bfSJean-Christophe PLAGNIOL-VILLARD 1032439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_RF (1<<7) 1042439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_MF (1<<6) 1052439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_LCS (1<<5) 1062439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_RWTO (1<<4) 1072439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_PLE (1<<3) 1082439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_AE (1<<2) 1092439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_CE (1<<1) 1102439e4bfSJean-Christophe PLAGNIOL-VILLARD #define RSR_FOE (1<<0) 1112439e4bfSJean-Christophe PLAGNIOL-VILLARD 112*d26b739aSAndrew Dyer #define EPCR_EPOS_PHY (1<<3) 113*d26b739aSAndrew Dyer #define EPCR_EPOS_EE (0<<3) 114*d26b739aSAndrew Dyer #define EPCR_ERPRR (1<<2) 115*d26b739aSAndrew Dyer #define EPCR_ERPRW (1<<1) 116*d26b739aSAndrew Dyer #define EPCR_ERRE (1<<0) 117*d26b739aSAndrew Dyer 1182439e4bfSJean-Christophe PLAGNIOL-VILLARD #define FCTR_HWOT(ot) (( ot & 0xf ) << 4 ) 1192439e4bfSJean-Christophe PLAGNIOL-VILLARD #define FCTR_LWOT(ot) ( ot & 0xf ) 1202439e4bfSJean-Christophe PLAGNIOL-VILLARD 121*d26b739aSAndrew Dyer #define BPTR_BPHW(x) ((x) << 4) 122*d26b739aSAndrew Dyer #define BPTR_JPT_200US (0x07) 123*d26b739aSAndrew Dyer #define BPTR_JPT_600US (0x0f) 124*d26b739aSAndrew Dyer 1252439e4bfSJean-Christophe PLAGNIOL-VILLARD #define IMR_PAR (1<<7) 1262439e4bfSJean-Christophe PLAGNIOL-VILLARD #define IMR_ROOM (1<<3) 1272439e4bfSJean-Christophe PLAGNIOL-VILLARD #define IMR_ROM (1<<2) 1282439e4bfSJean-Christophe PLAGNIOL-VILLARD #define IMR_PTM (1<<1) 1292439e4bfSJean-Christophe PLAGNIOL-VILLARD #define IMR_PRM (1<<0) 1302439e4bfSJean-Christophe PLAGNIOL-VILLARD 131*d26b739aSAndrew Dyer #define ISR_ROOS (1<<3) 132*d26b739aSAndrew Dyer #define ISR_ROS (1<<2) 133*d26b739aSAndrew Dyer #define ISR_PTS (1<<1) 134*d26b739aSAndrew Dyer #define ISR_PRS (1<<0) 135*d26b739aSAndrew Dyer 136*d26b739aSAndrew Dyer #define GPCR_GPIO0_OUT (1<<0) 137*d26b739aSAndrew Dyer 138*d26b739aSAndrew Dyer #define GPR_PHY_PWROFF (1<<0) 139*d26b739aSAndrew Dyer 1402439e4bfSJean-Christophe PLAGNIOL-VILLARD #endif 141