iPXE
sis190.h File Reference
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
#include <unistd.h>
#include <assert.h>
#include <byteswap.h>
#include <errno.h>
#include <mii.h>
#include <ipxe/ethernet.h>
#include <ipxe/if_ether.h>
#include <ipxe/io.h>
#include <ipxe/iobuf.h>
#include <ipxe/malloc.h>
#include <ipxe/netdevice.h>
#include <ipxe/pci.h>
#include <ipxe/timer.h>

Go to the source code of this file.

Data Structures

struct  TxDesc
struct  RxDesc
struct  sis190_private
struct  sis190_phy
struct  mii_chip_info

Macros

#define PCI_VENDOR_ID_SI   0x1039
#define PHY_MAX_ADDR   32
#define PHY_ID_ANY   0x1f
#define MII_REG_ANY   0x1f
#define DRV_VERSION   "1.3"
#define DRV_NAME   "sis190"
#define SIS190_DRIVER_NAME   DRV_NAME " Gigabit Ethernet driver " DRV_VERSION
#define PFX   DRV_NAME ": "
#define sis190_rx_quota(count, quota)
#define NUM_TX_DESC   8 /* [8..1024] */
#define NUM_RX_DESC   8 /* [8..8192] */
#define TX_RING_BYTES   (NUM_TX_DESC * sizeof(struct TxDesc))
#define RX_RING_BYTES   (NUM_RX_DESC * sizeof(struct RxDesc))
#define RX_BUF_SIZE   1536
#define RX_BUF_MASK   0xfff8
#define RING_ALIGNMENT   256
#define SIS190_REGS_SIZE   0x80
#define EhnMIIread   0x0000
#define EhnMIIwrite   0x0020
#define EhnMIIdataShift   16
#define EhnMIIpmdShift   6 /* 7016 only */
#define EhnMIIregShift   11
#define EhnMIIreq   0x0010
#define EhnMIInotDone   0x0010
#define SIS_W8(reg, val)
#define SIS_W16(reg, val)
#define SIS_W32(reg, val)
#define SIS_R8(reg)
#define SIS_R16(reg)
#define SIS_R32(reg)
#define SIS_PCI_COMMIT()

Enumerations

enum  sis190_registers {
  TxControl = 0x00 , TxDescStartAddr = 0x04 , rsv0 = 0x08 , TxSts = 0x0c ,
  RxControl = 0x10 , RxDescStartAddr = 0x14 , rsv1 = 0x18 , RxSts = 0x1c ,
  IntrStatus = 0x20 , IntrMask = 0x24 , IntrControl = 0x28 , IntrTimer = 0x2c ,
  PMControl = 0x30 , rsv2 = 0x34 , ROMControl = 0x38 , ROMInterface = 0x3c ,
  StationControl = 0x40 , GMIIControl = 0x44 , GIoCR = 0x48 , GIoCtrl = 0x4c ,
  TxMacControl = 0x50 , TxLimit = 0x54 , RGDelay = 0x58 , rsv3 = 0x5c ,
  RxMacControl = 0x60 , RxMacAddr = 0x62 , RxHashTable = 0x68 , RxWolCtrl = 0x70 ,
  RxWolData = 0x74 , RxMPSControl = 0x78 , rsv4 = 0x7c
}
enum  sis190_register_content {
  SoftInt = 0x40000000 , Timeup = 0x20000000 , PauseFrame = 0x00080000 , MagicPacket = 0x00040000 ,
  WakeupFrame = 0x00020000 , LinkChange = 0x00010000 , RxQEmpty = 0x00000080 , RxQInt = 0x00000040 ,
  TxQ1Empty = 0x00000020 , TxQ1Int = 0x00000010 , TxQ0Empty = 0x00000008 , TxQ0Int = 0x00000004 ,
  RxHalt = 0x00000002 , TxHalt = 0x00000001 , CmdReset = 0x10 , CmdRxEnb = 0x08 ,
  CmdTxEnb = 0x01 , RxBufEmpty = 0x01 , Cfg9346_Lock = 0x00 , Cfg9346_Unlock = 0xc0 ,
  AcceptErr = 0x20 , AcceptRunt = 0x10 , AcceptBroadcast = 0x0800 , AcceptMulticast = 0x0400 ,
  AcceptMyPhys = 0x0200 , AcceptAllPhys = 0x0100 , RxCfgFIFOShift = 13 , RxCfgDMAShift = 8 ,
  TxInterFrameGapShift = 24 , TxDMAShift = 8 , LinkStatus = 0x02 , FullDup = 0x01 ,
  TBILinkOK = 0x02000000
}
enum  _DescStatusBit {
  OWNbit = 0x80000000 , INTbit = 0x40000000 , CRCbit = 0x00020000 , PADbit = 0x00010000 ,
  RingEnd = 0x80000000 , LSEN = 0x08000000 , IPCS = 0x04000000 , TCPCS = 0x02000000 ,
  UDPCS = 0x01000000 , BSTEN = 0x00800000 , EXTEN = 0x00400000 , DEFEN = 0x00200000 ,
  BKFEN = 0x00100000 , CRSEN = 0x00080000 , COLEN = 0x00040000 , THOL3 = 0x30000000 ,
  THOL2 = 0x20000000 , THOL1 = 0x10000000 , THOL0 = 0x00000000 , WND = 0x00080000 ,
  TABRT = 0x00040000 , FIFO = 0x00020000 , LINK = 0x00010000 , ColCountMask = 0x0000ffff ,
  IPON = 0x20000000 , TCPON = 0x10000000 , UDPON = 0x08000000 , Wakup = 0x00400000 ,
  Magic = 0x00200000 , Pause = 0x00100000 , DEFbit = 0x00200000 , BCAST = 0x000c0000 ,
  MCAST = 0x00080000 , UCAST = 0x00040000 , TAGON = 0x80000000 , RxDescCountMask = 0x7f000000 ,
  ABORT = 0x00800000 , SHORT = 0x00400000 , LIMIT = 0x00200000 , MIIER = 0x00100000 ,
  OVRUN = 0x00080000 , NIBON = 0x00040000 , COLON = 0x00020000 , CRCOK = 0x00010000 ,
  RxSizeMask = 0x0000ffff
}
enum  sis190_eeprom_access_register_bits {
  EECS = 0x00000001 , EECLK = 0x00000002 , EEDO = 0x00000008 , EEDI = 0x00000004 ,
  EEREQ = 0x00000080 , EEROP = 0x00000200 , EEWOP = 0x00000100
}
enum  sis190_eeprom_address { EEPROMSignature = 0x00 , EEPROMCLK = 0x01 , EEPROMInfo = 0x02 , EEPROMMACAddr = 0x03 }
enum  sis190_feature { F_HAS_RGMII = 1 , F_PHY_88E1111 = 2 , F_PHY_BCM5461 = 4 }
enum  sis190_phy_type { UNKNOWN = 0x00 , HOME = 0x01 , LAN = 0x02 , MIX = 0x03 }

Functions

 FILE_LICENCE (GPL_ANY)
static void sis190_phy_task (struct sis190_private *tp)
static void sis190_free (struct net_device *dev)
static void sis190_init_rxfilter (struct net_device *dev)

Variables

static struct mii_chip_info mii_chip_table []

Macro Definition Documentation

◆ PCI_VENDOR_ID_SI

#define PCI_VENDOR_ID_SI   0x1039

Definition at line 25 of file sis190.h.

◆ PHY_MAX_ADDR

#define PHY_MAX_ADDR   32

Definition at line 27 of file sis190.h.

Referenced by sis190_mii_probe().

◆ PHY_ID_ANY

#define PHY_ID_ANY   0x1f

Definition at line 28 of file sis190.h.

Referenced by sis190_mii_probe().

◆ MII_REG_ANY

#define MII_REG_ANY   0x1f

Definition at line 29 of file sis190.h.

Referenced by sis190_mii_probe().

◆ DRV_VERSION

#define DRV_VERSION   "1.3"

Definition at line 31 of file sis190.h.

◆ DRV_NAME

#define DRV_NAME   "sis190"

Definition at line 32 of file sis190.h.

◆ SIS190_DRIVER_NAME

#define SIS190_DRIVER_NAME   DRV_NAME " Gigabit Ethernet driver " DRV_VERSION

Definition at line 33 of file sis190.h.

◆ PFX

◆ sis190_rx_quota

#define sis190_rx_quota ( count,
quota )
Value:
static unsigned int count
Number of entries.
Definition dwmac.h:220

Definition at line 36 of file sis190.h.

◆ NUM_TX_DESC

#define NUM_TX_DESC   8 /* [8..1024] */

Definition at line 38 of file sis190.h.

◆ NUM_RX_DESC

#define NUM_RX_DESC   8 /* [8..8192] */

Definition at line 39 of file sis190.h.

◆ TX_RING_BYTES

#define TX_RING_BYTES   (NUM_TX_DESC * sizeof(struct TxDesc))

Definition at line 40 of file sis190.h.

◆ RX_RING_BYTES

#define RX_RING_BYTES   (NUM_RX_DESC * sizeof(struct RxDesc))

Definition at line 41 of file sis190.h.

◆ RX_BUF_SIZE

#define RX_BUF_SIZE   1536

Definition at line 42 of file sis190.h.

◆ RX_BUF_MASK

#define RX_BUF_MASK   0xfff8

Definition at line 43 of file sis190.h.

Referenced by sis190_give_to_asic().

◆ RING_ALIGNMENT

#define RING_ALIGNMENT   256

Definition at line 45 of file sis190.h.

Referenced by sis190_open().

◆ SIS190_REGS_SIZE

#define SIS190_REGS_SIZE   0x80

Definition at line 47 of file sis190.h.

Referenced by sis190_init_board().

◆ EhnMIIread

#define EhnMIIread   0x0000

Definition at line 50 of file sis190.h.

Referenced by mdio_read().

◆ EhnMIIwrite

#define EhnMIIwrite   0x0020

Definition at line 51 of file sis190.h.

Referenced by mdio_write().

◆ EhnMIIdataShift

#define EhnMIIdataShift   16

Definition at line 52 of file sis190.h.

Referenced by mdio_read(), and mdio_write().

◆ EhnMIIpmdShift

#define EhnMIIpmdShift   6 /* 7016 only */

Definition at line 53 of file sis190.h.

Referenced by mdio_read(), and mdio_write().

◆ EhnMIIregShift

#define EhnMIIregShift   11

Definition at line 54 of file sis190.h.

Referenced by mdio_read(), and mdio_write().

◆ EhnMIIreq

#define EhnMIIreq   0x0010

Definition at line 55 of file sis190.h.

Referenced by mdio_read(), and mdio_write().

◆ EhnMIInotDone

#define EhnMIInotDone   0x0010

Definition at line 56 of file sis190.h.

Referenced by __mdio_cmd().

◆ SIS_W8

#define SIS_W8 ( reg,
val )
Value:
writeb ((val), ioaddr + (reg))
static unsigned long ioaddr
Definition davicom.c:129
void __asmcall int val
Definition setjmp.h:12
static unsigned int unsigned int reg
Definition myson.h:162
#define writeb
Definition w89c840.c:158

Definition at line 59 of file sis190.h.

Referenced by sis190_init_rxfilter().

◆ SIS_W16

#define SIS_W16 ( reg,
val )
Value:
writew ((val), ioaddr + (reg))
#define writew
Definition w89c840.c:159

Definition at line 60 of file sis190.h.

Referenced by sis190_hw_start(), sis190_init_rxfilter(), and sis190_set_rx_mode().

◆ SIS_W32

◆ SIS_R8

#define SIS_R8 ( reg)
Value:
#define readb
Definition w89c840.c:155

Definition at line 62 of file sis190.h.

◆ SIS_R16

#define SIS_R16 ( reg)
Value:
#define readw
Definition w89c840.c:156

Definition at line 63 of file sis190.h.

Referenced by sis190_init_rxfilter().

◆ SIS_R32

#define SIS_R32 ( reg)
Value:
#define readl
Definition w89c840.c:157

Definition at line 64 of file sis190.h.

Referenced by __mdio_cmd(), mdio_read(), sis190_down(), sis190_phy_task(), sis190_poll(), and sis190_read_eeprom().

◆ SIS_PCI_COMMIT

#define SIS_PCI_COMMIT ( )
Value:
@ IntrControl
Definition sis190.h:79
#define SIS_R32(reg)
Definition sis190.h:64

Definition at line 66 of file sis190.h.

Referenced by sis190_hw_start(), sis190_init_rxfilter(), sis190_irq(), sis190_irq_mask_and_ack(), and sis190_soft_reset().

Enumeration Type Documentation

◆ sis190_registers

Enumerator
TxControl 
TxDescStartAddr 
rsv0 
TxSts 
RxControl 
RxDescStartAddr 
rsv1 
RxSts 
IntrStatus 
IntrMask 
IntrControl 
IntrTimer 
PMControl 
rsv2 
ROMControl 
ROMInterface 
StationControl 
GMIIControl 
GIoCR 
GIoCtrl 
TxMacControl 
TxLimit 
RGDelay 
rsv3 
RxMacControl 
RxMacAddr 
RxHashTable 
RxWolCtrl 
RxWolData 
RxMPSControl 
rsv4 

Definition at line 68 of file sis190.h.

68 {
69 TxControl = 0x00,
70 TxDescStartAddr = 0x04,
71 rsv0 = 0x08, // reserved
72 TxSts = 0x0c, // unused (Control/Status)
73 RxControl = 0x10,
74 RxDescStartAddr = 0x14,
75 rsv1 = 0x18, // reserved
76 RxSts = 0x1c, // unused
77 IntrStatus = 0x20,
78 IntrMask = 0x24,
79 IntrControl = 0x28,
80 IntrTimer = 0x2c, // unused (Interrupt Timer)
81 PMControl = 0x30, // unused (Power Mgmt Control/Status)
82 rsv2 = 0x34, // reserved
83 ROMControl = 0x38,
84 ROMInterface = 0x3c,
85 StationControl = 0x40,
86 GMIIControl = 0x44,
87 GIoCR = 0x48, // unused (GMAC IO Compensation)
88 GIoCtrl = 0x4c, // unused (GMAC IO Control)
89 TxMacControl = 0x50,
90 TxLimit = 0x54, // unused (Tx MAC Timer/TryLimit)
91 RGDelay = 0x58, // unused (RGMII Tx Internal Delay)
92 rsv3 = 0x5c, // reserved
93 RxMacControl = 0x60,
94 RxMacAddr = 0x62,
95 RxHashTable = 0x68,
96 // Undocumented = 0x6c,
97 RxWolCtrl = 0x70,
98 RxWolData = 0x74, // unused (Rx WOL Data Access)
99 RxMPSControl = 0x78, // unused (Rx MPS Control)
100 rsv4 = 0x7c, // reserved
101};
@ RxMacControl
Definition sis190.h:93
@ rsv3
Definition sis190.h:92
@ IntrMask
Definition sis190.h:78
@ IntrTimer
Definition sis190.h:80
@ rsv0
Definition sis190.h:71
@ RxSts
Definition sis190.h:76
@ IntrStatus
Definition sis190.h:77
@ RxDescStartAddr
Definition sis190.h:74
@ rsv2
Definition sis190.h:82
@ RxWolCtrl
Definition sis190.h:97
@ RxWolData
Definition sis190.h:98
@ ROMInterface
Definition sis190.h:84
@ RGDelay
Definition sis190.h:91
@ RxControl
Definition sis190.h:73
@ GIoCtrl
Definition sis190.h:88
@ TxSts
Definition sis190.h:72
@ GIoCR
Definition sis190.h:87
@ PMControl
Definition sis190.h:81
@ RxMPSControl
Definition sis190.h:99
@ RxMacAddr
Definition sis190.h:94
@ StationControl
Definition sis190.h:85
@ TxControl
Definition sis190.h:69
@ RxHashTable
Definition sis190.h:95
@ TxLimit
Definition sis190.h:90
@ ROMControl
Definition sis190.h:83
@ TxMacControl
Definition sis190.h:89
@ rsv4
Definition sis190.h:100
@ GMIIControl
Definition sis190.h:86
@ rsv1
Definition sis190.h:75
@ TxDescStartAddr
Definition sis190.h:70

◆ sis190_register_content

Enumerator
SoftInt 
Timeup 
PauseFrame 
MagicPacket 
WakeupFrame 
LinkChange 
RxQEmpty 
RxQInt 
TxQ1Empty 
TxQ1Int 
TxQ0Empty 
TxQ0Int 
RxHalt 
TxHalt 
CmdReset 
CmdRxEnb 
CmdTxEnb 
RxBufEmpty 
Cfg9346_Lock 
Cfg9346_Unlock 
AcceptErr 
AcceptRunt 
AcceptBroadcast 
AcceptMulticast 
AcceptMyPhys 
AcceptAllPhys 
RxCfgFIFOShift 
RxCfgDMAShift 
TxInterFrameGapShift 
TxDMAShift 
LinkStatus 
FullDup 
TBILinkOK 

Definition at line 103 of file sis190.h.

103 {
104 /* IntrStatus */
105 SoftInt = 0x40000000, // unused
106 Timeup = 0x20000000, // unused
107 PauseFrame = 0x00080000, // unused
108 MagicPacket = 0x00040000, // unused
109 WakeupFrame = 0x00020000, // unused
110 LinkChange = 0x00010000,
111 RxQEmpty = 0x00000080,
112 RxQInt = 0x00000040,
113 TxQ1Empty = 0x00000020, // unused
114 TxQ1Int = 0x00000010,
115 TxQ0Empty = 0x00000008, // unused
116 TxQ0Int = 0x00000004,
117 RxHalt = 0x00000002,
118 TxHalt = 0x00000001,
119
120 /* {Rx/Tx}CmdBits */
121 CmdReset = 0x10,
122 CmdRxEnb = 0x08, // unused
123 CmdTxEnb = 0x01,
124 RxBufEmpty = 0x01, // unused
125
126 /* Cfg9346Bits */
127 Cfg9346_Lock = 0x00, // unused
128 Cfg9346_Unlock = 0xc0, // unused
129
130 /* RxMacControl */
131 AcceptErr = 0x20, // unused
132 AcceptRunt = 0x10, // unused
133 AcceptBroadcast = 0x0800,
134 AcceptMulticast = 0x0400,
135 AcceptMyPhys = 0x0200,
136 AcceptAllPhys = 0x0100,
137
138 /* RxConfigBits */
139 RxCfgFIFOShift = 13,
140 RxCfgDMAShift = 8, // 0x1a in RxControl ?
141
142 /* TxConfigBits */
144 TxDMAShift = 8, /* DMA burst value (0-7) is shift this many bits */
145
146 LinkStatus = 0x02, // unused
147 FullDup = 0x01, // unused
148
149 /* TBICSRBit */
150 TBILinkOK = 0x02000000, // unused
151};
@ PauseFrame
Definition sis190.h:107
@ Timeup
Definition sis190.h:106
@ RxHalt
Definition sis190.h:117
@ CmdRxEnb
Definition sis190.h:122
@ TxHalt
Definition sis190.h:118
@ RxCfgFIFOShift
Definition sis190.h:139
@ RxBufEmpty
Definition sis190.h:124
@ CmdReset
Definition sis190.h:121
@ RxQInt
Definition sis190.h:112
@ TxQ1Int
Definition sis190.h:114
@ TxQ0Int
Definition sis190.h:116
@ CmdTxEnb
Definition sis190.h:123
@ TxQ1Empty
Definition sis190.h:113
@ AcceptMulticast
Definition sis190.h:134
@ RxQEmpty
Definition sis190.h:111
@ TBILinkOK
Definition sis190.h:150
@ SoftInt
Definition sis190.h:105
@ Cfg9346_Lock
Definition sis190.h:127
@ AcceptRunt
Definition sis190.h:132
@ Cfg9346_Unlock
Definition sis190.h:128
@ FullDup
Definition sis190.h:147
@ TxQ0Empty
Definition sis190.h:115
@ WakeupFrame
Definition sis190.h:109
@ LinkStatus
Definition sis190.h:146
@ AcceptAllPhys
Definition sis190.h:136
@ LinkChange
Definition sis190.h:110
@ AcceptMyPhys
Definition sis190.h:135
@ RxCfgDMAShift
Definition sis190.h:140
@ MagicPacket
Definition sis190.h:108
@ TxDMAShift
Definition sis190.h:144
@ AcceptErr
Definition sis190.h:131
@ AcceptBroadcast
Definition sis190.h:133
@ TxInterFrameGapShift
Definition sis190.h:143

◆ _DescStatusBit

Enumerator
OWNbit 
INTbit 
CRCbit 
PADbit 
RingEnd 
LSEN 
IPCS 
TCPCS 
UDPCS 
BSTEN 
EXTEN 
DEFEN 
BKFEN 
CRSEN 
COLEN 
THOL3 
THOL2 
THOL1 
THOL0 
WND 
TABRT 
FIFO 
LINK 
ColCountMask 
IPON 
TCPON 
UDPON 
Wakup 
Magic 
Pause 
DEFbit 
BCAST 
MCAST 
UCAST 
TAGON 
RxDescCountMask 
ABORT 
SHORT 
LIMIT 
MIIER 
OVRUN 
NIBON 
COLON 
CRCOK 
RxSizeMask 

Definition at line 167 of file sis190.h.

167 {
168 /* _Desc.status */
169 OWNbit = 0x80000000, // RXOWN/TXOWN
170 INTbit = 0x40000000, // RXINT/TXINT
171 CRCbit = 0x00020000, // CRCOFF/CRCEN
172 PADbit = 0x00010000, // PREADD/PADEN
173 /* _Desc.size */
174 RingEnd = 0x80000000,
175 /* TxDesc.status */
176 LSEN = 0x08000000, // TSO ? -- FR
177 IPCS = 0x04000000,
178 TCPCS = 0x02000000,
179 UDPCS = 0x01000000,
180 BSTEN = 0x00800000,
181 EXTEN = 0x00400000,
182 DEFEN = 0x00200000,
183 BKFEN = 0x00100000,
184 CRSEN = 0x00080000,
185 COLEN = 0x00040000,
186 THOL3 = 0x30000000,
187 THOL2 = 0x20000000,
188 THOL1 = 0x10000000,
189 THOL0 = 0x00000000,
190
191 WND = 0x00080000,
192 TABRT = 0x00040000,
193 FIFO = 0x00020000,
194 LINK = 0x00010000,
195 ColCountMask = 0x0000ffff,
196 /* RxDesc.status */
197 IPON = 0x20000000,
198 TCPON = 0x10000000,
199 UDPON = 0x08000000,
200 Wakup = 0x00400000,
201 Magic = 0x00200000,
202 Pause = 0x00100000,
203 DEFbit = 0x00200000,
204 BCAST = 0x000c0000,
205 MCAST = 0x00080000,
206 UCAST = 0x00040000,
207 /* RxDesc.PSize */
208 TAGON = 0x80000000,
209 RxDescCountMask = 0x7f000000, // multi-desc pkt when > 1 ? -- FR
210 ABORT = 0x00800000,
211 SHORT = 0x00400000,
212 LIMIT = 0x00200000,
213 MIIER = 0x00100000,
214 OVRUN = 0x00080000,
215 NIBON = 0x00040000,
216 COLON = 0x00020000,
217 CRCOK = 0x00010000,
218 RxSizeMask = 0x0000ffff
219 /*
220 * The asic could apparently do vlan, TSO, jumbo (sis191 only) and
221 * provide two (unused with Linux) Tx queues. No publicly
222 * available documentation alas.
223 */
224};
@ Wakup
Definition sis190.h:200
@ RingEnd
Definition sis190.h:174
@ TCPCS
Definition sis190.h:178
@ IPON
Definition sis190.h:197
@ CRSEN
Definition sis190.h:184
@ OWNbit
Definition sis190.h:169
@ THOL0
Definition sis190.h:189
@ COLON
Definition sis190.h:216
@ EXTEN
Definition sis190.h:181
@ LSEN
Definition sis190.h:176
@ UDPCS
Definition sis190.h:179
@ COLEN
Definition sis190.h:185
@ ColCountMask
Definition sis190.h:195
@ DEFEN
Definition sis190.h:182
@ TABRT
Definition sis190.h:192
@ BCAST
Definition sis190.h:204
@ FIFO
Definition sis190.h:193
@ ABORT
Definition sis190.h:210
@ TAGON
Definition sis190.h:208
@ SHORT
Definition sis190.h:211
@ THOL1
Definition sis190.h:188
@ DEFbit
Definition sis190.h:203
@ NIBON
Definition sis190.h:215
@ THOL2
Definition sis190.h:187
@ UCAST
Definition sis190.h:206
@ Magic
Definition sis190.h:201
@ RxDescCountMask
Definition sis190.h:209
@ LIMIT
Definition sis190.h:212
@ IPCS
Definition sis190.h:177
@ CRCOK
Definition sis190.h:217
@ BSTEN
Definition sis190.h:180
@ UDPON
Definition sis190.h:199
@ OVRUN
Definition sis190.h:214
@ BKFEN
Definition sis190.h:183
@ MCAST
Definition sis190.h:205
@ INTbit
Definition sis190.h:170
@ Pause
Definition sis190.h:202
@ CRCbit
Definition sis190.h:171
@ WND
Definition sis190.h:191
@ THOL3
Definition sis190.h:186
@ MIIER
Definition sis190.h:213
@ LINK
Definition sis190.h:194
@ PADbit
Definition sis190.h:172
@ TCPON
Definition sis190.h:198
@ RxSizeMask
Definition sis190.h:218

◆ sis190_eeprom_access_register_bits

Enumerator
EECS 
EECLK 
EEDO 
EEDI 
EEREQ 
EEROP 
EEWOP 

Definition at line 226 of file sis190.h.

226 {
227 EECS = 0x00000001, // unused
228 EECLK = 0x00000002, // unused
229 EEDO = 0x00000008, // unused
230 EEDI = 0x00000004, // unused
231 EEREQ = 0x00000080,
232 EEROP = 0x00000200,
233 EEWOP = 0x00000100 // unused
234};
#define EEDI
Definition eepro.c:266
#define EECS
Definition eepro.c:265
#define EEDO
Definition eepro.c:267
@ EECLK
Definition sis190.h:228
@ EEREQ
Definition sis190.h:231
@ EEROP
Definition sis190.h:232
@ EEWOP
Definition sis190.h:233

◆ sis190_eeprom_address

Enumerator
EEPROMSignature 
EEPROMCLK 
EEPROMInfo 
EEPROMMACAddr 

Definition at line 237 of file sis190.h.

237 {
238 EEPROMSignature = 0x00,
239 EEPROMCLK = 0x01, // unused
240 EEPROMInfo = 0x02,
241 EEPROMMACAddr = 0x03
242};
@ EEPROMCLK
Definition sis190.h:239
@ EEPROMInfo
Definition sis190.h:240
@ EEPROMMACAddr
Definition sis190.h:241
@ EEPROMSignature
Definition sis190.h:238

◆ sis190_feature

Enumerator
F_HAS_RGMII 
F_PHY_88E1111 
F_PHY_BCM5461 

Definition at line 244 of file sis190.h.

244 {
245 F_HAS_RGMII = 1,
246 F_PHY_88E1111 = 2,
247 F_PHY_BCM5461 = 4
248};
@ F_HAS_RGMII
Definition sis190.h:245
@ F_PHY_BCM5461
Definition sis190.h:247
@ F_PHY_88E1111
Definition sis190.h:246

◆ sis190_phy_type

Enumerator
UNKNOWN 
HOME 
LAN 
MIX 

Definition at line 277 of file sis190.h.

277 {
278 UNKNOWN = 0x00,
279 HOME = 0x01,
280 LAN = 0x02,
281 MIX = 0x03
282};
@ UNKNOWN
Definition sis190.h:278
@ MIX
Definition sis190.h:281
@ HOME
Definition sis190.h:279
@ LAN
Definition sis190.h:280

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL_ANY )

◆ sis190_phy_task()

void sis190_phy_task ( struct sis190_private * tp)
static

References tp.

◆ sis190_free()

void sis190_free ( struct net_device * dev)
static

◆ sis190_init_rxfilter()

void sis190_init_rxfilter ( struct net_device * dev)
inlinestatic

Variable Documentation

◆ mii_chip_table

struct mii_chip_info mii_chip_table[]
static
Initial value:
= {
{ "Atheros PHY", { 0x004d, 0xd010 }, LAN, 0 },
{ "Atheros PHY AR8012", { 0x004d, 0xd020 }, LAN, 0 },
{ "Broadcom PHY BCM5461", { 0x0020, 0x60c0 }, LAN, F_PHY_BCM5461 },
{ "Broadcom PHY AC131", { 0x0143, 0xbc70 }, LAN, 0 },
{ "Agere PHY ET1101B", { 0x0282, 0xf010 }, LAN, 0 },
{ "Marvell PHY 88E1111", { 0x0141, 0x0cc0 }, LAN, F_PHY_88E1111 },
{ "Realtek PHY RTL8201", { 0x0000, 0x8200 }, LAN, 0 },
{ NULL, { 0x00, 0x00 }, 0, 0 }
}
#define NULL
NULL pointer (VOID *)
Definition Base.h:322

Referenced by sis190_init_phy(), and sis900_probe().