63 wiseman_addr_t wrx_addr;
74#define WRX_ST_DD (1U << 0)
75#define WRX_ST_EOP (1U << 1)
76#define WRX_ST_IXSM (1U << 2)
77#define WRX_ST_VP (1U << 3)
78#define WRX_ST_BPDU (1U << 4)
79#define WRX_ST_TCPCS (1U << 5)
80#define WRX_ST_IPCS (1U << 6)
81#define WRX_ST_PIF (1U << 7)
84#define WRX_ER_CE (1U << 0)
85#define WRX_ER_SE (1U << 1)
86#define WRX_ER_SEQ (1U << 2)
87#define WRX_ER_ICE (1U << 3)
88#define WRX_ER_CXE (1U << 4)
89#define WRX_ER_TCPE (1U << 5)
90#define WRX_ER_IPE (1U << 6)
91#define WRX_ER_RXE (1U << 7)
94#define WRX_VLAN_ID(x) ((x) & 0x0fff)
95#define WRX_VLAN_CFI (1U << 12)
96#define WRX_VLAN_PRI(x) (((x) >> 13) & 7)
106 uint8_t wtxu_options;
110 wiseman_addr_t wtx_addr;
112 wiseman_txfields_t wtx_fields;
116#define WTX_CMD_EOP (1U << 24)
117#define WTX_CMD_IFCS (1U << 25)
118#define WTX_CMD_RS (1U << 27)
119#define WTX_CMD_RPS (1U << 28)
120#define WTX_CMD_DEXT (1U << 29)
121#define WTX_CMD_VLE (1U << 30)
122#define WTX_CMD_IDE (1U << 31)
125#define WTX_DTYP_C (0U << 20)
126#define WTX_DTYP_D (1U << 20)
129#define WTX_ST_DD (1U << 0)
130#define WTX_ST_EC (1U << 1)
131#define WTX_ST_LC (1U << 2)
132#define WTX_ST_TU (1U << 3)
135#define WTX_IXSM (1U << 0)
136#define WTX_TXSM (1U << 1)
139#define WTX_MAX_LEN 4096
147 uint32_t tcpip_cmdlen;
152#define WTX_TCPIP_CMD_TCP (1U << 24)
153#define WTX_TCPIP_CMD_IP (1U << 25)
154#define WTX_TCPIP_CMD_TSE (1U << 26)
156#define WTX_TCPIP_IPCSS(x) ((x) << 0)
157#define WTX_TCPIP_IPCSO(x) ((x) << 8)
158#define WTX_TCPIP_IPCSE(x) ((x) << 16)
160#define WTX_TCPIP_TUCSS(x) ((x) << 0)
161#define WTX_TCPIP_TUCSO(x) ((x) << 8)
162#define WTX_TCPIP_TUCSE(x) ((x) << 16)
164#define WTX_TCPIP_SEG_STATUS(x) ((x) << 0)
165#define WTX_TCPIP_SEG_HDRLEN(x) ((x) << 8)
166#define WTX_TCPIP_SEG_MSS(x) ((x) << 16)
171#define WM_PCI_MMBA PCI_MAPREG_START
173#define WM_ICH8_FLASH 0x0014
178#define WMREG_CTRL 0x0000
179#define CTRL_FD (1U << 0)
180#define CTRL_BEM (1U << 1)
181#define CTRL_PRIOR (1U << 2)
182#define CTRL_LRST (1U << 3)
183#define CTRL_ASDE (1U << 5)
184#define CTRL_SLU (1U << 6)
185#define CTRL_ILOS (1U << 7)
186#define CTRL_SPEED(x) ((x) << 8)
187#define CTRL_SPEED_10 CTRL_SPEED(0)
188#define CTRL_SPEED_100 CTRL_SPEED(1)
189#define CTRL_SPEED_1000 CTRL_SPEED(2)
190#define CTRL_SPEED_MASK CTRL_SPEED(3)
191#define CTRL_FRCSPD (1U << 11)
192#define CTRL_FRCFDX (1U << 12)
193#define CTRL_D_UD_EN (1U << 13)
194#define CTRL_D_UD_POL (1U << 14)
195#define CTRL_F_PHY_R (1U << 15)
196#define CTRL_EXT_LINK_EN (1U << 16)
197#define CTRL_SWDPINS_SHIFT 18
198#define CTRL_SWDPINS_MASK 0x0f
199#define CTRL_SWDPIN(x) (1U << (CTRL_SWDPINS_SHIFT + (x)))
200#define CTRL_SWDPIO_SHIFT 22
201#define CTRL_SWDPIO_MASK 0x0f
202#define CTRL_SWDPIO(x) (1U << (CTRL_SWDPIO_SHIFT + (x)))
203#define CTRL_RST (1U << 26)
204#define CTRL_RFCE (1U << 27)
205#define CTRL_TFCE (1U << 28)
206#define CTRL_VME (1U << 30)
207#define CTRL_PHY_RESET (1U << 31)
209#define WMREG_CTRL_SHADOW 0x0004
211#define WMREG_STATUS 0x0008
212#define STATUS_FD (1U << 0)
213#define STATUS_LU (1U << 1)
214#define STATUS_TCKOK (1U << 2)
215#define STATUS_RBCOK (1U << 3)
216#define STATUS_FUNCID_SHIFT 2
217#define STATUS_FUNCID_MASK 3
218#define STATUS_TXOFF (1U << 4)
219#define STATUS_TBIMODE (1U << 5)
220#define STATUS_SPEED(x) ((x) << 6)
221#define STATUS_SPEED_10 STATUS_SPEED(0)
222#define STATUS_SPEED_100 STATUS_SPEED(1)
223#define STATUS_SPEED_1000 STATUS_SPEED(2)
224#define STATUS_ASDV(x) ((x) << 8)
225#define STATUS_MTXCKOK (1U << 10)
226#define STATUS_PCI66 (1U << 11)
227#define STATUS_BUS64 (1U << 12)
228#define STATUS_PCIX_MODE (1U << 13)
229#define STATUS_PCIXSPD(x) ((x) << 14)
230#define STATUS_PCIXSPD_50_66 STATUS_PCIXSPD(0)
231#define STATUS_PCIXSPD_66_100 STATUS_PCIXSPD(1)
232#define STATUS_PCIXSPD_100_133 STATUS_PCIXSPD(2)
233#define STATUS_PCIXSPD_MASK STATUS_PCIXSPD(3)
235#define WMREG_EECD 0x0010
236#define EECD_SK (1U << 0)
237#define EECD_CS (1U << 1)
238#define EECD_DI (1U << 2)
239#define EECD_DO (1U << 3)
240#define EECD_FWE(x) ((x) << 4)
241#define EECD_FWE_DISABLED EECD_FWE(1)
242#define EECD_FWE_ENABLED EECD_FWE(2)
243#define EECD_EE_REQ (1U << 6)
244#define EECD_EE_GNT (1U << 7)
245#define EECD_EE_PRES (1U << 8)
246#define EECD_EE_SIZE (1U << 9)
248#define EECD_EE_AUTORD (1U << 9)
249#define EECD_EE_ABITS (1U << 10)
251#define EECD_EE_TYPE (1U << 13)
253#define EECD_SEC1VAL (1U << 22)
255#define UWIRE_OPC_ERASE 0x04
256#define UWIRE_OPC_WRITE 0x05
257#define UWIRE_OPC_READ 0x06
259#define SPI_OPC_WRITE 0x02
260#define SPI_OPC_READ 0x03
261#define SPI_OPC_A8 0x08
262#define SPI_OPC_WREN 0x06
263#define SPI_OPC_WRDI 0x04
264#define SPI_OPC_RDSR 0x05
265#define SPI_OPC_WRSR 0x01
266#define SPI_MAX_RETRIES 5000
268#define SPI_SR_RDY 0x01
269#define SPI_SR_WEN 0x02
270#define SPI_SR_BP0 0x04
271#define SPI_SR_BP1 0x08
272#define SPI_SR_WPEN 0x80
274#define EEPROM_OFF_MACADDR 0x00
275#define EEPROM_OFF_CFG1 0x0a
276#define EEPROM_OFF_CFG2 0x0f
277#define EEPROM_OFF_SWDPIN 0x20
279#define EEPROM_CFG1_LVDID (1U << 0)
280#define EEPROM_CFG1_LSSID (1U << 1)
281#define EEPROM_CFG1_PME_CLOCK (1U << 2)
282#define EEPROM_CFG1_PM (1U << 3)
283#define EEPROM_CFG1_ILOS (1U << 4)
284#define EEPROM_CFG1_SWDPIO_SHIFT 5
285#define EEPROM_CFG1_SWDPIO_MASK (0xf << EEPROM_CFG1_SWDPIO_SHIFT)
286#define EEPROM_CFG1_IPS1 (1U << 8)
287#define EEPROM_CFG1_LRST (1U << 9)
288#define EEPROM_CFG1_FD (1U << 10)
289#define EEPROM_CFG1_FRCSPD (1U << 11)
290#define EEPROM_CFG1_IPS0 (1U << 12)
291#define EEPROM_CFG1_64_32_BAR (1U << 13)
293#define EEPROM_CFG2_CSR_RD_SPLIT (1U << 1)
294#define EEPROM_CFG2_APM_EN (1U << 2)
295#define EEPROM_CFG2_64_BIT (1U << 3)
296#define EEPROM_CFG2_MAX_READ (1U << 4)
297#define EEPROM_CFG2_DMCR_MAP (1U << 5)
298#define EEPROM_CFG2_133_CAP (1U << 6)
299#define EEPROM_CFG2_MSI_DIS (1U << 7)
300#define EEPROM_CFG2_FLASH_DIS (1U << 8)
301#define EEPROM_CFG2_FLASH_SIZE(x) (((x) & 3) >> 9)
302#define EEPROM_CFG2_ANE (1U << 11)
303#define EEPROM_CFG2_PAUSE(x) (((x) & 3) >> 12)
304#define EEPROM_CFG2_ASDE (1U << 14)
305#define EEPROM_CFG2_APM_PME (1U << 15)
306#define EEPROM_CFG2_SWDPIO_SHIFT 4
307#define EEPROM_CFG2_SWDPIO_MASK (0xf << EEPROM_CFG2_SWDPIO_SHIFT)
309#define EEPROM_SWDPIN_MASK 0xdf
310#define EEPROM_SWDPIN_SWDPIN_SHIFT 0
311#define EEPROM_SWDPIN_SWDPIO_SHIFT 8
313#define WMREG_EERD 0x0014
314#define EERD_DONE 0x02
315#define EERD_START 0x01
316#define EERD_ADDR_SHIFT 2
317#define EERD_DATA_SHIFT 16
319#define WMREG_CTRL_EXT 0x0018
320#define CTRL_EXT_GPI_EN(x) (1U << (x))
321#define CTRL_EXT_SWDPINS_SHIFT 4
322#define CTRL_EXT_SWDPINS_MASK 0x0d
323#define CTRL_EXT_SWDPIN(x) (1U << (CTRL_EXT_SWDPINS_SHIFT + (x) - 4))
324#define CTRL_EXT_SWDPIO_SHIFT 8
325#define CTRL_EXT_SWDPIO_MASK 0x0d
326#define CTRL_EXT_SWDPIO(x) (1U << (CTRL_EXT_SWDPIO_SHIFT + (x) - 4))
327#define CTRL_EXT_ASDCHK (1U << 12)
328#define CTRL_EXT_EE_RST (1U << 13)
329#define CTRL_EXT_IPS (1U << 14)
330#define CTRL_EXT_SPD_BYPS (1U << 15)
331#define CTRL_EXT_IPS1 (1U << 16)
332#define CTRL_EXT_RO_DIS (1U << 17)
333#define CTRL_EXT_LINK_MODE_MASK 0x00C00000
334#define CTRL_EXT_LINK_MODE_GMII 0x00000000
335#define CTRL_EXT_LINK_MODE_TBI 0x00C00000
336#define CTRL_EXT_LINK_MODE_KMRN 0x00000000
337#define CTRL_EXT_LINK_MODE_SERDES 0x00C00000
340#define WMREG_MDIC 0x0020
341#define MDIC_DATA(x) ((x) & 0xffff)
342#define MDIC_REGADD(x) ((x) << 16)
343#define MDIC_PHYADD(x) ((x) << 21)
344#define MDIC_OP_WRITE (1U << 26)
345#define MDIC_OP_READ (2U << 26)
346#define MDIC_READY (1U << 28)
347#define MDIC_I (1U << 29)
348#define MDIC_E (1U << 30)
350#define WMREG_FCAL 0x0028
351#define FCAL_CONST 0x00c28001
353#define WMREG_FCAH 0x002c
354#define FCAH_CONST 0x00000100
356#define WMREG_FCT 0x0030
358#define WMREG_VET 0x0038
360#define WMREG_RAL_BASE 0x0040
361#define WMREG_CORDOVA_RAL_BASE 0x5400
362#define WMREG_RAL_LO(b, x) ((b) + ((x) << 3))
363#define WMREG_RAL_HI(b, x) (WMREG_RAL_LO(b, x) + 4)
369#define RAL_AS(x) ((x) << 16)
370#define RAL_AS_DEST RAL_AS(0)
371#define RAL_AS_SOURCE RAL_AS(1)
372#define RAL_RDR1 (1U << 30)
373#define RAL_AV (1U << 31)
375#define WM_RAL_TABSIZE 16
376#define WM_ICH8_RAL_TABSIZE 7
378#define WMREG_ICR 0x00c0
379#define ICR_TXDW (1U << 0)
380#define ICR_TXQE (1U << 1)
381#define ICR_LSC (1U << 2)
382#define ICR_RXSEQ (1U << 3)
383#define ICR_RXDMT0 (1U << 4)
384#define ICR_RXO (1U << 6)
385#define ICR_RXT0 (1U << 7)
386#define ICR_MDAC (1U << 9)
387#define ICR_RXCFG (1U << 10)
388#define ICR_GPI(x) (1U << (x))
389#define ICR_INT (1U << 31)
391#define WMREG_ITR 0x00c4
392#define ITR_IVAL_MASK 0xffff
393#define ITR_IVAL_SHIFT 0
395#define WMREG_ICS 0x00c8
398#define WMREG_IMS 0x00d0
401#define WMREG_IMC 0x00d8
404#define WMREG_RCTL 0x0100
405#define RCTL_EN (1U << 1)
406#define RCTL_SBP (1U << 2)
407#define RCTL_UPE (1U << 3)
408#define RCTL_MPE (1U << 4)
409#define RCTL_LPE (1U << 5)
410#define RCTL_LBM(x) ((x) << 6)
411#define RCTL_LBM_NONE RCTL_LBM(0)
412#define RCTL_LBM_PHY RCTL_LBM(3)
413#define RCTL_RDMTS(x) ((x) << 8)
414#define RCTL_RDMTS_1_2 RCTL_RDMTS(0)
415#define RCTL_RDMTS_1_4 RCTL_RDMTS(1)
416#define RCTL_RDMTS_1_8 RCTL_RDMTS(2)
417#define RCTL_RDMTS_MASK RCTL_RDMTS(3)
418#define RCTL_MO(x) ((x) << 12)
419#define RCTL_BAM (1U << 15)
420#define RCTL_2k (0 << 16)
421#define RCTL_1k (1 << 16)
422#define RCTL_512 (2 << 16)
423#define RCTL_256 (3 << 16)
424#define RCTL_BSEX_16k (1 << 16)
425#define RCTL_BSEX_8k (2 << 16)
426#define RCTL_BSEX_4k (3 << 16)
427#define RCTL_DPF (1U << 22)
428#define RCTL_PMCF (1U << 23)
429#define RCTL_BSEX (1U << 25)
430#define RCTL_SECRC (1U << 26)
432#define WMREG_OLD_RDTR0 0x0108
433#define WMREG_RDTR 0x2820
434#define RDTR_FPD (1U << 31)
436#define WMREG_RADV 0x282c
438#define WMREG_OLD_RDBAL0 0x0110
439#define WMREG_RDBAL 0x2800
441#define WMREG_OLD_RDBAH0 0x0114
442#define WMREG_RDBAH 0x2804
444#define WMREG_OLD_RDLEN0 0x0118
445#define WMREG_RDLEN 0x2808
447#define WMREG_OLD_RDH0 0x0120
448#define WMREG_RDH 0x2810
450#define WMREG_OLD_RDT0 0x0128
451#define WMREG_RDT 0x2818
453#define WMREG_RXDCTL 0x2828
454#define RXDCTL_PTHRESH(x) ((x) << 0)
455#define RXDCTL_HTHRESH(x) ((x) << 8)
456#define RXDCTL_WTHRESH(x) ((x) << 16)
457#define RXDCTL_GRAN (1U << 24)
459#define WMREG_OLD_RDTR1 0x0130
461#define WMREG_OLD_RDBA1_LO 0x0138
463#define WMREG_OLD_RDBA1_HI 0x013c
465#define WMREG_OLD_RDLEN1 0x0140
467#define WMREG_OLD_RDH1 0x0148
469#define WMREG_OLD_RDT1 0x0150
471#define WMREG_OLD_FCRTH 0x0160
472#define WMREG_FCRTL 0x2160
473#define FCRTH_DFLT 0x00008000
475#define WMREG_OLD_FCRTL 0x0168
476#define WMREG_FCRTH 0x2168
477#define FCRTL_DFLT 0x00004000
478#define FCRTL_XONE 0x80000000
480#define WMREG_FCTTV 0x0170
481#define FCTTV_DFLT 0x00000600
483#define WMREG_TXCW 0x0178
485#define TXCW_TxConfig (1U << 30)
486#define TXCW_ANE (1U << 31)
488#define WMREG_RXCW 0x0180
490#define RXCW_NC (1U << 26)
491#define RXCW_IV (1U << 27)
492#define RXCW_CC (1U << 28)
493#define RXCW_C (1U << 29)
494#define RXCW_SYNCH (1U << 30)
495#define RXCW_ANC (1U << 31)
497#define WMREG_MTA 0x0200
498#define WMREG_CORDOVA_MTA 0x5200
500#define WMREG_TCTL 0x0400
501#define TCTL_EN (1U << 1)
502#define TCTL_PSP (1U << 3)
503#define TCTL_CT(x) (((x) & 0xff) << 4)
504#define TCTL_COLD(x) (((x) & 0x3ff) << 12)
505#define TCTL_SWXOFF (1U << 22)
506#define TCTL_RTLC (1U << 24)
507#define TCTL_NRTU (1U << 25)
508#define TCTL_MULR (1U << 28)
510#define TX_COLLISION_THRESHOLD 15
511#define TX_COLLISION_DISTANCE_HDX 512
512#define TX_COLLISION_DISTANCE_FDX 64
514#define WMREG_TCTL_EXT 0x0404
515#define TCTL_EXT_BST_MASK 0x000003FF
516#define TCTL_EXT_GCEX_MASK 0x000FFC00
518#define DEFAULT_80003ES2LAN_TCTL_EXT_GCEX 0x00010000
520#define WMREG_TQSA_LO 0x0408
522#define WMREG_TQSA_HI 0x040c
524#define WMREG_TIPG 0x0410
525#define TIPG_IPGT(x) (x)
526#define TIPG_IPGR1(x) ((x) << 10)
527#define TIPG_IPGR2(x) ((x) << 20)
529#define TIPG_WM_DFLT (TIPG_IPGT(0x0a) | TIPG_IPGR1(0x02) | TIPG_IPGR2(0x0a))
530#define TIPG_LG_DFLT (TIPG_IPGT(0x06) | TIPG_IPGR1(0x08) | TIPG_IPGR2(0x06))
531#define TIPG_1000T_DFLT (TIPG_IPGT(0x08) | TIPG_IPGR1(0x08) | TIPG_IPGR2(0x06))
532#define TIPG_1000T_80003_DFLT \
533 (TIPG_IPGT(0x08) | TIPG_IPGR1(0x02) | TIPG_IPGR2(0x07))
534#define TIPG_10_100_80003_DFLT \
535 (TIPG_IPGT(0x09) | TIPG_IPGR1(0x02) | TIPG_IPGR2(0x07))
537#define WMREG_TQC 0x0418
539#define WMREG_EEWR 0x102c
541#define WMREG_RDFH 0x2410
543#define WMREG_RDFT 0x2418
545#define WMREG_RDFHS 0x2420
547#define WMREG_RDFTS 0x2428
549#define WMREG_TDFH 0x3410
551#define WMREG_TDFT 0x3418
553#define WMREG_TDFHS 0x3420
555#define WMREG_TDFTS 0x3428
557#define WMREG_TDFPC 0x3430
559#define WMREG_OLD_TBDAL 0x0420
560#define WMREG_TBDAL 0x3800
562#define WMREG_OLD_TBDAH 0x0424
563#define WMREG_TBDAH 0x3804
565#define WMREG_OLD_TDLEN 0x0428
566#define WMREG_TDLEN 0x3808
568#define WMREG_OLD_TDH 0x0430
569#define WMREG_TDH 0x3810
571#define WMREG_OLD_TDT 0x0438
572#define WMREG_TDT 0x3818
574#define WMREG_OLD_TIDV 0x0440
575#define WMREG_TIDV 0x3820
577#define WMREG_TXDCTL 0x3828
578#define TXDCTL_PTHRESH(x) ((x) << 0)
579#define TXDCTL_HTHRESH(x) ((x) << 8)
580#define TXDCTL_WTHRESH(x) ((x) << 16)
582#define WMREG_TADV 0x382c
584#define WMREG_AIT 0x0458
586#define WMREG_VFTA 0x0600
588#define WM_MC_TABSIZE 128
589#define WM_ICH8_MC_TABSIZE 32
590#define WM_VLAN_TABSIZE 128
592#define WMREG_PBA 0x1000
593#define PBA_BYTE_SHIFT 10
594#define PBA_ADDR_SHIFT 7
596#define PBA_12K 0x000c
597#define PBA_16K 0x0010
598#define PBA_22K 0x0016
599#define PBA_24K 0x0018
600#define PBA_30K 0x001e
601#define PBA_32K 0x0020
602#define PBA_40K 0x0028
603#define PBA_48K 0x0030
605#define WMREG_PBS 0x1000
607#define WMREG_TXDMAC 0x3000
608#define TXDMAC_DPP (1U << 0)
610#define WMREG_TSPMT 0x3830
612#define TSPMT_TSMT(x) (x)
613#define TSPMT_TSPBP(x) ((x) << 16)
615#define WMREG_RXCSUM 0x5000
616#define RXCSUM_PCSS 0x000000ff
617#define RXCSUM_IPOFL (1U << 8)
618#define RXCSUM_TUOFL (1U << 9)
619#define RXCSUM_IPV6OFL (1U << 10)
621#define WMREG_RXERRC 0x400C
622#define WMREG_COLC 0x4028
623#define WMREG_XONRXC 0x4048
624#define WMREG_XONTXC 0x404c
625#define WMREG_XOFFRXC 0x4050
626#define WMREG_XOFFTXC 0x4054
627#define WMREG_FCRUC 0x4058
629#define WMREG_KUMCTRLSTA 0x0034
630#define KUMCTRLSTA_MASK 0x0000FFFF
631#define KUMCTRLSTA_OFFSET 0x001F0000
632#define KUMCTRLSTA_OFFSET_SHIFT 16
633#define KUMCTRLSTA_REN 0x00200000
635#define KUMCTRLSTA_OFFSET_FIFO_CTRL 0x00000000
636#define KUMCTRLSTA_OFFSET_CTRL 0x00000001
637#define KUMCTRLSTA_OFFSET_INB_CTRL 0x00000002
638#define KUMCTRLSTA_OFFSET_DIAG 0x00000003
639#define KUMCTRLSTA_OFFSET_TIMEOUTS 0x00000004
640#define KUMCTRLSTA_OFFSET_INB_PARAM 0x00000009
641#define KUMCTRLSTA_OFFSET_HD_CTRL 0x00000010
642#define KUMCTRLSTA_OFFSET_M2P_SERDES 0x0000001E
643#define KUMCTRLSTA_OFFSET_M2P_MODES 0x0000001F
646#define KUMCTRLSTA_FIFO_CTRL_RX_BYPASS 0x00000008
647#define KUMCTRLSTA_FIFO_CTRL_TX_BYPASS 0x00000800
650#define KUMCTRLSTA_INB_CTRL_LINK_TMOUT_DFLT 0x00000500
651#define KUMCTRLSTA_INB_CTRL_DIS_PADDING 0x00000010
654#define KUMCTRLSTA_HD_CTRL_10_100_DEFAULT 0x00000004
655#define KUMCTRLSTA_HD_CTRL_1000_DEFAULT 0x00000000
657#define WMREG_MDPHYA 0x003C
659#define WMREG_MANC2H 0x5860
661#define WMREG_SWSM 0x5b50
662#define SWSM_SMBI 0x00000001
663#define SWSM_SWESMBI 0x00000002
664#define SWSM_WMNG 0x00000004
665#define SWSM_DRV_LOAD 0x00000008
667#define WMREG_SW_FW_SYNC 0x5b5c
668#define SWFW_EEP_SM 0x0001
669#define SWFW_PHY0_SM 0x0002
670#define SWFW_PHY1_SM 0x0004
671#define SWFW_MAC_CSR_SM 0x0008
672#define SWFW_SOFT_SHIFT 0
673#define SWFW_FIRM_SHIFT 16
675#define WMREG_EXTCNFCTR 0x0f00
676#define EXTCNFCTR_PCIE_WRITE_ENABLE 0x00000001
677#define EXTCNFCTR_PHY_WRITE_ENABLE 0x00000002
678#define EXTCNFCTR_D_UD_ENABLE 0x00000004
679#define EXTCNFCTR_D_UD_LATENCY 0x00000008
680#define EXTCNFCTR_D_UD_OWNER 0x00000010
681#define EXTCNFCTR_MDIO_SW_OWNERSHIP 0x00000020
682#define EXTCNFCTR_MDIO_HW_OWNERSHIP 0x00000040
683#define EXTCNFCTR_EXT_CNF_POINTER 0x0FFF0000
684#define E1000_EXTCNF_CTRL_SWFLAG EXTCNFCTR_MDIO_SW_OWNERSHIP
687#define ICH_FLASH_COMMAND_TIMEOUT 5000
688#define ICH_FLASH_ERASE_TIMEOUT 3000000
689#define ICH_FLASH_CYCLE_REPEAT_COUNT 10
690#define ICH_FLASH_SEG_SIZE_256 256
691#define ICH_FLASH_SEG_SIZE_4K 4096
692#define ICH_FLASH_SEG_SIZE_64K 65536
694#define ICH_CYCLE_READ 0x0
695#define ICH_CYCLE_RESERVED 0x1
696#define ICH_CYCLE_WRITE 0x2
697#define ICH_CYCLE_ERASE 0x3
699#define ICH_FLASH_GFPREG 0x0000
700#define ICH_FLASH_HSFSTS 0x0004
701#define HSFSTS_DONE 0x0001
702#define HSFSTS_ERR 0x0002
703#define HSFSTS_DAEL 0x0004
704#define HSFSTS_ERSZ_MASK 0x0018
705#define HSFSTS_ERSZ_SHIFT 3
706#define HSFSTS_FLINPRO 0x0020
707#define HSFSTS_FLDVAL 0x4000
708#define HSFSTS_FLLK 0x8000
709#define ICH_FLASH_HSFCTL 0x0006
710#define HSFCTL_GO 0x0001
711#define HSFCTL_CYCLE_MASK 0x0006
712#define HSFCTL_CYCLE_SHIFT 1
713#define HSFCTL_BCOUNT_MASK 0x0300
714#define HSFCTL_BCOUNT_SHIFT 8
715#define ICH_FLASH_FADDR 0x0008
716#define ICH_FLASH_FDATA0 0x0010
717#define ICH_FLASH_FRACC 0x0050
718#define ICH_FLASH_FREG0 0x0054
719#define ICH_FLASH_FREG1 0x0058
720#define ICH_FLASH_FREG2 0x005C
721#define ICH_FLASH_FREG3 0x0060
722#define ICH_FLASH_FPR0 0x0074
723#define ICH_FLASH_FPR1 0x0078
724#define ICH_FLASH_SSFSTS 0x0090
725#define ICH_FLASH_SSFCTL 0x0092
726#define ICH_FLASH_PREOP 0x0094
727#define ICH_FLASH_OPTYPE 0x0096
728#define ICH_FLASH_OPMENU 0x0098
730#define ICH_FLASH_REG_MAPSIZE 0x00A0
731#define ICH_FLASH_SECTOR_SIZE 4096
732#define ICH_GFPREG_BASE_MASK 0x1FFF
733#define ICH_FLASH_LINEAR_ADDR_MASK 0x00FFFFFF
736#define WMREG_GPTC 0x4080
737#define WMREG_GPRC 0x4074
738#define WMREG_CRCERRS 0x4000
739#define WMREG_RLEC 0x4040
Definition: xnandpsu_onfi.h:181
Definition: if_wmreg.h:144
Definition: if_wmreg.h:51
Definition: if_wmreg.h:62
Definition: if_wmreg.h:104
Definition: if_wmreg.h:109