/* * $Id$ * * Copyright (C) 2003-2015 JNode.org * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; If not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.jnode.driver.net._3c90x; /** * @author epr */ public interface _3c90xConstants { /* Register definitions for the 3c905 ***/ public static final int regPowerMgmtCtrl_w = 0x7c; /** * 905B Revision Only * */ public static final int regUpMaxBurst_w = 0x7a; /** * 905B Revision Only * */ public static final int regDnMaxBurst_w = 0x78; /** * 905B Revision Only * */ public static final int regDebugControl_w = 0x74; /** * 905B Revision Only * */ public static final int regDebugData_l = 0x70; /** * 905B Revision Only * */ public static final int regRealTimeCnt_l = 0x40; /** * Universal * */ public static final int regUpBurstThresh_b = 0x3e; /** * 905B Revision Only * */ public static final int regUpPoll_b = 0x3d; /** * 905B Revision Only * */ public static final int regUpPriorityThresh_b = 0x3c; /** * 905B Revision Only * */ public static final int regUpListPtr_l = 0x38; /** * Universal * */ public static final int regCountdown_w = 0x36; /** * Universal * */ public static final int regFreeTimer_w = 0x34; /** * Universal * */ public static final int regUpPktStatus_l = 0x30; /** * Universal with Exception; pg 130 * */ public static final int regTxFreeThresh_b = 0x2f; /** * 90X Revision Only * */ public static final int regDnPoll_b = 0x2d; /** * 905B Revision Only * */ public static final int regDnPriorityThresh_b = 0x2c; /** * 905B Revision Only * */ public static final int regDnBurstThresh_b = 0x2a; /** * 905B Revision Only * */ public static final int regDnListPtr_l = 0x24; /** * Universal with Exception; pg 107 * */ public static final int regDmaCtrl_l = 0x20; /** Universal with Exception; pg 106 **/ /** **/ public static final int regIntStatusAuto_w = 0x1e; /** * 905B Revision Only * */ public static final int regTxStatus_b = 0x1b; /** * Universal with Exception; pg 113 * */ public static final int regTimer_b = 0x1a; /** * Universal * */ public static final int regTxPktId_b = 0x18; /** * 905B Revision Only * */ public static final int regCommandIntStatus_w = 0x0e; /** Universal (Command Variations) **/ /** * following are windowed registers * */ // Registers7 public static final int regPowerMgmtEvent_7_w = 0x0c; /** * 905B Revision Only * */ public static final int regVlanEtherType_7_w = 0x04; /** * 905B Revision Only * */ public static final int regVlanMask_7_w = 0x00; /** * 905B Revision Only * */ // Registers6 public static final int regBytesXmittedOk_6_w = 0x0c; /** * Universal * */ public static final int regBytesRcvdOk_6_w = 0x0a; /** * Universal * */ public static final int regUpperFramesOk_6_b = 0x09; /** * Universal * */ public static final int regFramesDeferred_6_b = 0x08; /** * Universal * */ public static final int regFramesRecdOk_6_b = 0x07; /** * Universal with Exceptions; pg 142 * */ public static final int regFramesXmittedOk_6_b = 0x06; /** * Universal * */ public static final int regRxOverruns_6_b = 0x05; /** * Universal * */ public static final int regLateCollisions_6_b = 0x04; /** * Universal * */ public static final int regSingleCollisions_6_b = 0x03; /** * Universal * */ public static final int regMultipleCollisions_6_b = 0x02; /** * Universal * */ public static final int regSqeErrors_6_b = 0x01; /** * Universal * */ public static final int regCarrierLost_6_b = 0x00; /** * Universal * */ // Registers5 public static final int regIndicationEnable_5_w = 0x0c; /** * Universal * */ public static final int regInterruptEnable_5_w = 0x0a; /** * Universal * */ public static final int regTxReclaimThresh_5_b = 0x09; /** * 905B Revision Only * */ public static final int regRxFilter_5_b = 0x08; /** * Universal * */ public static final int regRxEarlyThresh_5_w = 0x06; /** * Universal * */ public static final int regTxStartThresh_5_w = 0x00; /** * Universal * */ // Registers4 public static final int regUpperBytesOk_4_b = 0x0d; /** * Universal * */ public static final int regBadSSD_4_b = 0x0c; /** * Universal * */ public static final int regMediaStatus_4_w = 0x0a; /** * Universal with Exceptions; pg 201 * */ public static final int regPhysicalMgmt_4_w = 0x08; /** * Universal * */ public static final int regNetworkDiagnostic_4_w = 0x06; /** * Universal with Exceptions; pg 203 * */ public static final int regFifoDiagnostic_4_w = 0x04; /** * Universal with Exceptions; pg 196 * */ public static final int regVcoDiagnostic_4_w = 0x02; /** * Undocumented? * */ // Registers3 public static final int regTxFree_3_w = 0x0c; /** * Universal * */ public static final int regRxFree_3_w = 0x0a; /** * Universal with Exceptions; pg 125 * */ public static final int regResetMediaOptions_3_w = 0x08; /** Media Options on B Revision; **/ /** * Reset Options on Non-B Revision * */ public static final int regMacControl_3_w = 0x06; /** * Universal with Exceptions; pg 199 * */ public static final int regMaxPktSize_3_w = 0x04; /** * 905B Revision Only * */ public static final int regInternalConfig_3_l = 0x00; /** Universal; different bit **/ /** * definitions; pg 59 * */ // Registers2 public static final int regResetOptions_2_w = 0x0c; /** * 905B Revision Only * */ public static final int regStationMask_2_3w = 0x06; /** * Universal with Exceptions; pg 127 * */ public static final int regStationAddress_2_3w = 0x00; /** * Universal with Exceptions; pg 127 * */ // Registers1 public static final int regRxStatus_1_w = 0x0a; /** * 90X Revision Only; Pg 126 * */ // Registers0 public static final int regEepromData_0_w = 0x0c; /** * Universal * */ public static final int regEepromCommand_0_w = 0x0a; /** * Universal * */ public static final int regBiosRomData_0_b = 0x08; /** * 905B Revision Only * */ public static final int regBiosRomAddr_0_l = 0x04; /** * 905B Revision Only * */ /* The names for the eight register windows ***/ public static final int winPowerVlan7 = 0x07; public static final int winStatistics6 = 0x06; public static final int winTxRxControl5 = 0x05; public static final int winDiagnostics4 = 0x04; public static final int winTxRxOptions3 = 0x03; public static final int winAddressing2 = 0x02; public static final int winUnused1 = 0x01; public static final int winEepromBios0 = 0x00; /* Command definitions for the 3c90X ***/ public static final int cmdGlobalReset = 0x00; /** * Universal with Exceptions; pg 151 * */ public static final int cmdSelectRegisterWindow = 0x01; /** * Universal * */ public static final int cmdEnableDcConverter = 0x02; /** **/ public static final int cmdRxDisable = 0x03; /** **/ public static final int cmdRxEnable = 0x04; /** * Universal * */ public static final int cmdRxReset = 0x05; /** * Universal * */ public static final int cmdStallCtl = 0x06; /** * Universal * */ public static final int cmdTxEnable = 0x09; /** * Universal * */ public static final int cmdTxDisable = 0x0A; /** **/ public static final int cmdTxReset = 0x0B; /** * Universal * */ public static final int cmdRequestInterrupt = 0x0C; /** **/ public static final int cmdAcknowledgeInterrupt = 0x0D; /** * Universal * */ public static final int cmdSetInterruptEnable = 0x0E; /** * Universal * */ public static final int cmdSetIndicationEnable = 0x0F; /** * Universal * */ public static final int cmdSetRxFilter = 0x10; /** * Universal * */ public static final int cmdSetRxEarlyThresh = 0x11; /** **/ public static final int cmdSetTxStartThresh = 0x13; /** **/ public static final int cmdStatisticsEnable = 0x15; /** **/ public static final int cmdStatisticsDisable = 0x16; /** **/ public static final int cmdDisableDcConverter = 0x17; /** **/ public static final int cmdSetTxReclaimThresh = 0x18; /** **/ public static final int cmdSetHashFilterBit = 0x19; /** **/ /* Values for int status register bitmask **/ public static final int INT_INTERRUPTLATCH = (1 << 0); public static final int INT_HOSTERROR = (1 << 1); public static final int INT_TXCOMPLETE = (1 << 2); public static final int INT_RXCOMPLETE = (1 << 4); public static final int INT_RXEARLY = (1 << 5); public static final int INT_INTREQUESTED = (1 << 6); public static final int INT_UPDATESTATS = (1 << 7); public static final int INT_LINKEVENT = (1 << 8); public static final int INT_DNCOMPLETE = (1 << 9); public static final int INT_UPCOMPLETE = (1 << 10); public static final int INT_CMDINPROGRESS = (1 << 12); public static final int INT_WINDOWNUMBER = (7 << 13); /* UpPktStatus bits */ public static final int upPktLenMask = 0x1FFF; public static final int upError = (1 << 14); public static final int upComplete = (1 << 15); public static final int upOverrun = (1 << 16); public static final int runtFrame = (1 << 17); public static final int alignmentError = (1 << 18); public static final int crcError = (1 << 19); public static final int oversizedFrame = (1 << 20); public static final int dribbleBits = (1 << 23); public static final int upOverflow = (1 << 24); public static final int ipChecksumError = (1 << 25); public static final int tcpChecksumError = (1 << 26); public static final int udpChecksumError = (1 << 27); public static final int impliedBufferEnable = (1 << 28); public static final int ipChecksumChecked = (1 << 29); public static final int tcpChecksumChecked = (1 << 30); public static final int udpChecksumChecked = (1 << 31); /* Driver specific values */ public static final int RX_FRAMES = 32; public static final int MAX_SERVICE = 32; }