linux/drivers/net/ethernet/intel/igb/e1000_regs.h

/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright(c) 2007 - 2018 Intel Corporation. */

#ifndef _E1000_REGS_H_
#define _E1000_REGS_H_

#define E1000_CTRL
#define E1000_STATUS
#define E1000_EECD
#define E1000_EERD
#define E1000_CTRL_EXT
#define E1000_MDIC
#define E1000_MDICNFG
#define E1000_SCTL
#define E1000_FCAL
#define E1000_FCAH
#define E1000_FCT
#define E1000_CONNSW
#define E1000_VET
#define E1000_TSSDP
#define E1000_ICR
#define E1000_ITR
#define E1000_ICS
#define E1000_IMS
#define E1000_IMC
#define E1000_IAM
#define E1000_RCTL
#define E1000_FCTTV
#define E1000_TXCW
#define E1000_EICR
#define E1000_EITR(_n)
#define E1000_EICS
#define E1000_EIMS
#define E1000_EIMC
#define E1000_EIAC
#define E1000_EIAM
#define E1000_GPIE
#define E1000_IVAR0
#define E1000_IVAR_MISC
#define E1000_TCTL
#define E1000_TCTL_EXT
#define E1000_TIPG
#define E1000_AIT
#define E1000_LEDCTL
#define E1000_LEDMUX
#define E1000_PBA
#define E1000_PBS
#define E1000_EEMNGCTL
#define E1000_EEMNGCTL_I210
#define E1000_EEARBC_I210
#define E1000_EEWR
#define E1000_I2CCMD
#define E1000_FRTIMER
#define E1000_TCPTIMER
#define E1000_FCRTL
#define E1000_FCRTH
#define E1000_FCRTV
#define E1000_I2CPARAMS
#define E1000_I2CBB_EN
#define E1000_I2C_CLK_OUT
#define E1000_I2C_DATA_OUT
#define E1000_I2C_DATA_OE_N
#define E1000_I2C_DATA_IN
#define E1000_I2C_CLK_OE_N
#define E1000_I2C_CLK_IN
#define E1000_MPHY_ADDR_CTRL
#define E1000_MPHY_DATA
#define E1000_MPHY_STAT

/* IEEE 1588 TIMESYNCH */
#define E1000_TSYNCRXCTL
#define E1000_TSYNCTXCTL
#define E1000_TSYNCRXCFG
#define E1000_RXSTMPL
#define E1000_RXSTMPH
#define E1000_RXSATRL
#define E1000_RXSATRH
#define E1000_TXSTMPL
#define E1000_TXSTMPH
#define E1000_SYSTIML
#define E1000_SYSTIMH
#define E1000_TIMINCA
#define E1000_TSAUXC
#define E1000_TRGTTIML0
#define E1000_TRGTTIMH0
#define E1000_TRGTTIML1
#define E1000_TRGTTIMH1
#define E1000_FREQOUT0
#define E1000_FREQOUT1
#define E1000_AUXSTMPL0
#define E1000_AUXSTMPH0
#define E1000_AUXSTMPL1
#define E1000_AUXSTMPH1
#define E1000_SYSTIMR
#define E1000_TSICR
#define E1000_TSIM

/* Filtering Registers */
#define E1000_SAQF(_n)
#define E1000_DAQF(_n)
#define E1000_SPQF(_n)
#define E1000_FTQF(_n)
#define E1000_SAQF0
#define E1000_DAQF0
#define E1000_SPQF0
#define E1000_FTQF0
#define E1000_SYNQF(_n)
#define E1000_ETQF(_n)

#define E1000_RQDPC(_n)

/* DMA Coalescing registers */
#define E1000_DMACR
#define E1000_DMCTXTH
#define E1000_DMCTLX
#define E1000_DMCRTRH
#define E1000_DMCCNT
#define E1000_FCRTC

/* TX Rate Limit Registers */
#define E1000_RTTDQSEL
#define E1000_RTTBCNRM
#define E1000_RTTBCNRC

/* Split and Replication RX Control - RW */
#define E1000_RXPBS

/* Thermal sensor configuration and status registers */
#define E1000_THMJT
#define E1000_THLOWTC
#define E1000_THMIDTC
#define E1000_THHIGHTC
#define E1000_THSTAT

/* Convenience macros
 *
 * Note: "_n" is the queue number of the register to be written to.
 *
 * Example usage:
 * E1000_RDBAL_REG(current_rx_queue)
 */
#define E1000_RDBAL(_n)
#define E1000_RDBAH(_n)
#define E1000_RDLEN(_n)
#define E1000_SRRCTL(_n)
#define E1000_RDH(_n)
#define E1000_RDT(_n)
#define E1000_RXDCTL(_n)
#define E1000_TDBAL(_n)
#define E1000_TDBAH(_n)
#define E1000_TDLEN(_n)
#define E1000_TDH(_n)
#define E1000_TDT(_n)
#define E1000_TXDCTL(_n)
#define E1000_RXCTL(_n)
#define E1000_DCA_RXCTRL(_n)
#define E1000_TXCTL(_n)
#define E1000_DCA_TXCTRL(_n)
#define E1000_TDWBAL(_n)
#define E1000_TDWBAH(_n)

#define E1000_RXPBS
#define E1000_TXPBS

#define E1000_TDFH
#define E1000_TDFT
#define E1000_TDFHS
#define E1000_TDFPC
#define E1000_DTXCTL
#define E1000_CRCERRS
#define E1000_ALGNERRC
#define E1000_SYMERRS
#define E1000_RXERRC
#define E1000_MPC
#define E1000_SCC
#define E1000_ECOL
#define E1000_MCC
#define E1000_LATECOL
#define E1000_COLC
#define E1000_DC
#define E1000_TNCRS
#define E1000_SEC
#define E1000_CEXTERR
#define E1000_RLEC
#define E1000_XONRXC
#define E1000_XONTXC
#define E1000_XOFFRXC
#define E1000_XOFFTXC
#define E1000_FCRUC
#define E1000_PRC64
#define E1000_PRC127
#define E1000_PRC255
#define E1000_PRC511
#define E1000_PRC1023
#define E1000_PRC1522
#define E1000_GPRC
#define E1000_BPRC
#define E1000_MPRC
#define E1000_GPTC
#define E1000_GORCL
#define E1000_GORCH
#define E1000_GOTCL
#define E1000_GOTCH
#define E1000_RNBC
#define E1000_RUC
#define E1000_RFC
#define E1000_ROC
#define E1000_RJC
#define E1000_MGTPRC
#define E1000_MGTPDC
#define E1000_MGTPTC
#define E1000_TORL
#define E1000_TORH
#define E1000_TOTL
#define E1000_TOTH
#define E1000_TPR
#define E1000_TPT
#define E1000_PTC64
#define E1000_PTC127
#define E1000_PTC255
#define E1000_PTC511
#define E1000_PTC1023
#define E1000_PTC1522
#define E1000_MPTC
#define E1000_BPTC
#define E1000_TSCTC
#define E1000_TSCTFC
#define E1000_IAC
/* Interrupt Cause Rx Packet Timer Expire Count */
#define E1000_ICRXPTC
/* Interrupt Cause Rx Absolute Timer Expire Count */
#define E1000_ICRXATC
/* Interrupt Cause Tx Packet Timer Expire Count */
#define E1000_ICTXPTC
/* Interrupt Cause Tx Absolute Timer Expire Count */
#define E1000_ICTXATC
/* Interrupt Cause Tx Queue Empty Count */
#define E1000_ICTXQEC
/* Interrupt Cause Tx Queue Minimum Threshold Count */
#define E1000_ICTXQMTC
/* Interrupt Cause Rx Descriptor Minimum Threshold Count */
#define E1000_ICRXDMTC
#define E1000_ICRXOC
#define E1000_PCS_CFG0
#define E1000_PCS_LCTL
#define E1000_PCS_LSTAT
#define E1000_CBTMPC
#define E1000_HTDPMC
#define E1000_CBRMPC
#define E1000_RPTHC
#define E1000_HGPTC
#define E1000_HTCBDPC
#define E1000_HGORCL
#define E1000_HGORCH
#define E1000_HGOTCL
#define E1000_HGOTCH
#define E1000_LENERRS
#define E1000_SCVPC
#define E1000_PCS_ANADV
#define E1000_PCS_LPAB
#define E1000_PCS_NPTX
#define E1000_PCS_LPABNP
#define E1000_RXCSUM
#define E1000_RLPML
#define E1000_RFCTL
#define E1000_MTA
#define E1000_RA
#define E1000_RA2
#define E1000_PSRTYPE(_i)
#define E1000_RAL(_i)
#define E1000_RAH(_i)
#define E1000_VLAPQF
#define E1000_IP4AT_REG(_i)
#define E1000_IP6AT_REG(_i)
#define E1000_WUPM_REG(_i)
#define E1000_FFMT_REG(_i)
#define E1000_FFVT_REG(_i)
#define E1000_FFLT_REG(_i)
#define E1000_VFTA
#define E1000_VT_CTL
#define E1000_WUC
#define E1000_WUFC
#define E1000_WUS
#define E1000_MANC
#define E1000_IPAV
#define E1000_WUPL

#define E1000_SW_FW_SYNC
#define E1000_CCMCTL
#define E1000_GIOCTL
#define E1000_SCCTL
#define E1000_GCR
#define E1000_FACTPS
#define E1000_SWSM
#define E1000_FWSM
#define E1000_DCA_CTRL

/* RSS registers */
#define E1000_MRQC
#define E1000_IMIR(_i)
#define E1000_IMIREXT(_i)
#define E1000_IMIRVP
/* MSI-X Allocation Register (_i) - RW */
#define E1000_MSIXBM(_i)
/* Redirection Table - RW Array */
#define E1000_RETA(_i)
#define E1000_RSSRK(_i)

/* VT Registers */
#define E1000_MBVFICR
#define E1000_MBVFIMR
#define E1000_VFLRE
#define E1000_VFRE
#define E1000_VFTE
#define E1000_QDE
#define E1000_DTXSWC
#define E1000_WVBR
#define E1000_RPLOLR
#define E1000_UTA
#define E1000_IOVTCL
#define E1000_TXSWC
#define E1000_LVMMC
/* These act per VF so an array friendly macro is used */
#define E1000_P2VMAILBOX(_n)
#define E1000_VMBMEM(_n)
#define E1000_VMOLR(_n)
#define E1000_DVMOLR(_n)
#define E1000_VLVF(_n)
#define E1000_VMVIR(_n)

struct e1000_hw;

u32 igb_rd32(struct e1000_hw *hw, u32 reg);

/* write operations, indexed using DWORDS */
#define wr32(reg, val)

#define rd32(reg)

#define wrfl()

#define array_wr32(reg, offset, value)

#define array_rd32(reg, offset)

/* DMA Coalescing registers */
#define E1000_PCIEMISC

/* Energy Efficient Ethernet "EEE" register */
#define E1000_IPCNFG
#define E1000_EEER
#define E1000_EEE_SU
#define E1000_EMIADD
#define E1000_EMIDATA
#define E1000_MMDAC
#define E1000_MMDAAD

/* Thermal Sensor Register */
#define E1000_THSTAT

/* OS2BMC Registers */
#define E1000_B2OSPC
#define E1000_B2OGPRC
#define E1000_O2BGPTC
#define E1000_O2BSPC

#define E1000_SRWR
#define E1000_I210_FLMNGCTL
#define E1000_I210_FLMNGDATA
#define E1000_I210_FLMNGCNT

#define E1000_I210_FLSWCTL
#define E1000_I210_FLSWDATA
#define E1000_I210_FLSWCNT

#define E1000_I210_FLA

#define E1000_I210_DTXMXPKTSZ

#define E1000_I210_TXDCTL(_n)

#define E1000_I210_TQAVCTRL
#define E1000_I210_TQAVCC(_n)
#define E1000_I210_TQAVHC(_n)

#define E1000_I210_RR2DCDELAY

#define E1000_INVM_DATA_REG(_n)
#define E1000_INVM_SIZE

#define E1000_REMOVED(h)

#endif