enc28j60_regs.h¶
Register definitions for the ENC28J60 Ethernet device.
-
CMD_RCR
¶ 1
0x00 /* read control register */
-
CMD_RBM
¶ 1
0x3a /* read buffer memory */
-
CMD_WCR
¶ 1
0x40 /* write control register */
-
CMD_WBM
¶ 1
0x7a /* write buffer memory */
-
CMD_BFS
¶ 1
0x80 /* bit field set */
-
CMD_BFC
¶ 1
0xa0 /* bit field clear */
-
CMD_SRC
¶ 1
0xff /* system reset command (soft reset) */
-
ADDR_READ_PTR
¶ Read pointer.
1
0x00
-
ADDR_WRITE_PTR
¶ Write data pointer.
1
0x02
-
ADDR_TX_START
¶ TX buffer start.
1
0x04
-
ADDR_TX_END
¶ TX buffer end.
1
0x06
-
ADDR_RX_START
¶ RX buffer start.
1
0x08
-
ADDR_RX_END
¶ RX buffer end.
1
0x0a
-
ADDR_RX_READ
¶ start of oldest packet in RX buffer
1
0x0c
-
ADDR_RX_WRITE
¶ start of free space in RX buffer
1
0x0e
-
REG_EIE
¶ interrupt enable
1
0x1b
-
REG_EIR
¶ interrupt flags
1
0x1c
-
REG_ESTAT
¶ status
1
0x1d
-
REG_ECON2
¶ configuration 1
1
0x1e
-
REG_ECON1
¶ configuration 2
1
0x1f
-
REG_B0_ERDPTL
¶ 1
0x00 /* read data pointer - low byte */
-
REG_B0_ERDPTH
¶ 1
0x01 /* read data pointer - high byte */
-
REG_B0_EWRPTL
¶ 1
0x02 /* write data pointer - low byte */
-
REG_B0_EWRPTH
¶ 1
0x03 /* write data pointer - high byte */
-
REG_B0_ETXSTL
¶ 1
0x04 /* TX start pointer - low byte */
-
REG_B0_ETXSTH
¶ 1
0x05 /* TX start pointer - high byte */
-
REG_B0_ETXNDL
¶ 1
0x06 /* TX end pointer - low byte */
-
REG_B0_ETXNDH
¶ 1
0x07 /* TX end pointer - high byte */
-
REG_B0_ERXSTL
¶ 1
0x08 /* RX start pointer - low byte */
-
REG_B0_ERXSTH
¶ 1
0x09 /* RX start pointer - high byte */
-
REG_B0_ERXNDL
¶ 1
0x0a /* RX end pointer - low byte */
-
REG_B0_ERXNDH
¶ 1
0x0b /* RX end pointer - high byte */
-
REG_B0_ERXRDPTL
¶ 1
0x0c /* RX read pointer - low byte */
-
REG_B0_ERXRDPTH
¶ 1
0x0d /* RX read pointer - high byte */
-
REG_B0_ERXWRPTL
¶ 1
0x0e /* RX write pointer - low byte */
-
REG_B0_ERXWRPTH
¶ 1
0x0f /* RX write pointer - high byte */
-
REG_B0_EDMASTL
¶ 1
0x10 /* DMA start pointer - low byte */
-
REG_B0_EDMASTH
¶ 1
0x11 /* DMA start pointer - high byte */
-
REG_B0_EDMANDL
¶ 1
0x12 /* DMA end pointer - low byte */
-
REG_B0_EDMANDH
¶ 1
0x13 /* DMA end pointer - high byte */
-
REG_B0_EDMADSTL
¶ 1
0x14 /* DMA destination pointer - low byte */
-
REG_B0_EDMADSTH
¶ 1
0x15 /* DMA destination pointer - high byte */
-
REG_B0_EDMACSL
¶ 1
0x16 /* DMA checksum - low byte */
-
REG_B0_EDMACSH
¶ 1
0x17 /* DMA checksum - high byte */
-
REG_B1_EHT0
¶ 1
0x00 /* hash table - byte 0 */
-
REG_B1_EHT1
¶ 1
0x01 /* hash table - byte 1 */
-
REG_B1_EHT2
¶ 1
0x02 /* hash table - byte 2 */
-
REG_B1_EHT3
¶ 1
0x03 /* hash table - byte 3 */
-
REG_B1_EHT4
¶ 1
0x04 /* hash table - byte 4 */
-
REG_B1_EHT5
¶ 1
0x05 /* hash table - byte 5 */
-
REG_B1_EHT6
¶ 1
0x06 /* hash table - byte 6 */
-
REG_B1_EHT7
¶ 1
0x07 /* hash table - byte 7 */
-
REG_B1_EPMM0
¶ 1
0x08 /* pattern match mask - byte 0 */
-
REG_B1_EPMM1
¶ 1
0x09 /* pattern match mask - byte 1 */
-
REG_B1_EPMM2
¶ 1
0x0a /* pattern match mask - byte 2 */
-
REG_B1_EPMM3
¶ 1
0x0b /* pattern match mask - byte 3 */
-
REG_B1_EPMM4
¶ 1
0x0c /* pattern match mask - byte 4 */
-
REG_B1_EPMM5
¶ 1
0x0d /* pattern match mask - byte 5 */
-
REG_B1_EPMM6
¶ 1
0x0e /* pattern match mask - byte 6 */
-
REG_B1_EPMM7
¶ 1
0x0f /* pattern match mask - byte 7 */
-
REG_B1_EPMCSL
¶ 1
0x10 /* pattern match checksum - low byte */
-
REG_B1_EPMCSH
¶ 1
0x11 /* pattern match checksum - high byte */
-
REG_B1_EPMOL
¶ 1
0x14 /* pattern match offset - low byte */
-
REG_B1_EPMOH
¶ 1
0x15 /* pattern match offset - high byte */
-
REG_B1_ERXFCON
¶ 1
0x18 /* receive filter control register */
-
REG_B1_EPKTCNT
¶ 1
0x19 /* packet count */
-
REG_B2_MACON1
¶ 1
0x00 /* MAC control register 1 */
-
REG_B2_MACON3
¶ 1
0x02 /* MAC control register 3 */
-
REG_B2_MACON4
¶ 1
0x03 /* MAC control register 4 */
-
REG_B2_MABBIPG
¶ 1
0x04 /* back-to-back inter-packet gap */
-
REG_B2_MAIPGL
¶ 1
0x06 /* non-back-to-back inter-packet gap - low byte */
-
REG_B2_MAIPGH
¶ 1
0x07 /* non-back-to-back inter-packet gap - high byte */
-
REG_B2_MACLCON1
¶ 1
0x08 /* retransmission maximum */
-
REG_B2_MACLCON2
¶ 1
0x09 /* collision window */
-
REG_B2_MAMXFLL
¶ 1
0x0a /* maximum frame length - low byte */
-
REG_B2_MAMXFLH
¶ 1
0x0b /* maximum frame length - high byte */
-
REG_B2_MICMD
¶ 1
0x12 /* MIIM command */
-
REG_B2_MIREGADR
¶ 1
0x14 /* MIIM register address */
-
REG_B2_MIWRL
¶ 1
0x16 /* MIIM write data register - low byte */
-
REG_B2_MIWRH
¶ 1
0x17 /* MIIM write data register - high byte */
-
REG_B2_MIRDL
¶ 1
0x18 /* MIIM read data register - low byte */
-
REG_B2_MIRDH
¶ 1
0x19 /* MIIM read data register - high byte */
-
REG_B3_MAADR5
¶ 1
0x00 /* MAC address - byte 5 */
-
REG_B3_MAADR6
¶ 1
0x01 /* MAC address - byte 6 */
-
REG_B3_MAADR3
¶ 1
0x02 /* MAC address - byte 3 */
-
REG_B3_MAADR4
¶ 1
0x03 /* MAC address - byte 4 */
-
REG_B3_MAADR1
¶ 1
0x04 /* MAC address - byte 1 */
-
REG_B3_MAADR2
¶ 1
0x05 /* MAC address - byte 2 */
-
REG_B3_EBSTSD
¶ 1
0x06 /* built-in self-test fill seed */
-
REG_B3_EBSTCON
¶ 1
0x07 /* built-in self-test control register */
-
REG_B3_EBSTCSL
¶ 1
0x08 /* built-in self-test checksum - low byte */
-
REG_B3_EBSTCSH
¶ 1
0x09 /* built-in self-test checksum - high byte */
-
REG_B3_MISTAT
¶ 1
0x0a /* MIIM status register */
-
REG_B3_EREVID
¶ 1
0x12 /* Ethernet revision ID */
-
REG_B3_ECOCON
¶ 1
0x15 /* clock output control */
-
REG_B3_EFLOCON
¶ 1
0x17 /* Ethernet flow control */
-
REG_B3_EPAUSL
¶ 1
0x18 /* pause timer value - low byte */
-
REG_B3_EPAUSH
¶ 1
0x19 /* pause timer value - high byte */
-
REG_PHY_PHCON1
¶ 1
0x00
-
REG_PHY_PHSTAT1
¶ 1
0x01
-
REG_PHY_PHID1
¶ 1
0x02
-
REG_PHY_PHID2
¶ 1
0x03
-
REG_PHY_PHCON2
¶ 1
0x10
-
REG_PHY_PHSTAT2
¶ 1
0x11
-
REG_PHY_PHIE
¶ 1
0x12
-
REG_PHY_PHIR
¶ 1
0x13
-
REG_PHY_PHLCON
¶ 1
0x14
-
EIE_INTIE
¶ 1
0x80
-
EIE_PKTIE
¶ 1
0x40
-
EIE_DMAIE
¶ 1
0x20
-
EIE_LINKIE
¶ 1
0x10
-
EIE_TXIE
¶ 1
0x08
-
EIE_TXERIE
¶ 1
0x02
-
EIE_RXERIE
¶ 1
0x01
-
EIR_PKTIF
¶ 1
0x40
-
EIR_DMAIF
¶ 1
0x20
-
EIR_LINKIF
¶ 1
0x10
-
EIR_TXIF
¶ 1
0x08
-
EIR_TXERIF
¶ 1
0x02
-
EIR_RXERIF
¶ 1
0x01
-
ESTAT_INT
¶ 1
0x80
-
ESTAT_BUFFER
¶ 1
0x40
-
ESTAT_LATECOL
¶ 1
0x10
-
ESTAT_RXBUSY
¶ 1
0x40
-
ESTAT_TXABRT
¶ 1
0x20
-
ESTAT_CLKRDY
¶ 1
0x01
-
ECON1_TXRST
¶ 1
0x80
-
ECON1_RXRST
¶ 1
0x40
-
ECON1_DMAST
¶ 1
0x20
-
ECON1_CSUMEN
¶ 1
0x10
-
ECON1_TXRTS
¶ 1
0x08
-
ECON1_RXEN
¶ 1
0x04
-
ECON1_BSEL1
¶ 1
0x02
-
ECON1_BSEL0
¶ 1
0x01
-
ECON1_BSEL_MASK
¶ 1
0x03
-
ECON2_AUTOINC
¶ 1
0x80
-
ECON2_PKTDEC
¶ 1
0x40
-
ECON2_PWRSV
¶ 1
0x20
-
ECON2_VRPS
¶ 1
0x40
-
ERXFCON_UCEN
¶ 1
0x80
-
ERXFCON_ANDOR
¶ 1
0x40
-
ERXFCON_CRCEN
¶ 1
0x20
-
ERXFCON_PMEN
¶ 1
0x10
-
ERXFCON_MPEN
¶ 1
0x08
-
ERXFCON_HTEN
¶ 1
0x04
-
ERXFCON_MCEN
¶ 1
0x02
-
ERXFCON_BCEN
¶ 1
0x01
-
MACON1_TXPAUS
¶ 1
0x08
-
MACON1_RXPAUS
¶ 1
0x04
-
MACON1_PASSALL
¶ 1
0x02
-
MACON1_MARXEN
¶ 1
0x01
-
MACON3_PADCFG2
¶ 1
0x80
-
MACON3_PADCFG1
¶ 1
0x40
-
MACON3_PADCFG0
¶ 1
0x20
-
MACON3_TXCRCEN
¶ 1
0x10
-
MACON3_PHDREN
¶ 1
0x08
-
MACON3_HFRMEN
¶ 1
0x04
-
MACON3_FRMLNEN
¶ 1
0x02
-
MACON3_FULDPX
¶ 1
0x01
-
MACON4_DEFER
¶ 1
0x40
-
MACON4_BPEN
¶ 1
0x20
-
MACON4_NOBKOFF
¶ 1
0x10
-
MABBIPG_FD
¶ 1
0x15
-
MABBIPG_HD
¶ 1
0x12
-
MAIPGL_FD
¶ 1
0x12
-
MICMD_MIISCAN
¶ 1
0x02
-
MICMD_MIIRD
¶ 1
0x01
-
MISTAT_NVALID
¶ 1
0x04
-
MISTAT_SCAN
¶ 1
0x02
-
MISTAT_BUSY
¶ 1
0x01
-
EFLOCON_FULDPXS
¶ 1
0x04
-
EFLOCON_FCEN1
¶ 1
0x02
-
EFLOCON_FCEN0
¶ 1
0x01
-
EFLOCON_FCEN_MASK
¶ 1
0x03
-
PHCON1_PRST
¶ 1
0x8000
-
PHCON1_PLOOPBK
¶ 1
0x4000
-
PHCON1_PPWRSV
¶ 1
0x0800
-
PHCON1_PDPXMD
¶ 1
0x0100
-
PHSTAT1_PFDPX
¶ 1
0x1000
-
PHSTAT1_PHDPX
¶ 1
0x0800
-
PHSTAT1_LLSTAT
¶ 1
0x0004
-
PHSTAT1_JBSTAT
¶ 1
0x0002
-
PHCON2_FRCLNK
¶ 1
0x4000
-
PHCON2_TXDIS
¶ 1
0x2000
-
PHCON2_JABBER
¶ 1
0x0400
-
PHCON2_HDLDIS
¶ 1
0x0100
-
PHSTAT2_TXSTAT
¶ 1
0x2000
-
PHSTAT2_RXSTAT
¶ 1
0x1000
-
PHSTAT2_COLSTAT
¶ 1
0x0800
-
PHSTAT2_LSTAT
¶ 1
0x0400
-
PHSTAT2_DPXSTAT
¶ 1
0x0200
-
PHSTAT2_PLRITY
¶ 1
0x0020
-
PHIE_PLNKIE
¶ 1
0x0010
-
PHIE_PGEIE
¶ 1
0x0002
-
PHIR_PLNKIF
¶ 1
0x0010
-
PHIR_PGIF
¶ 1
0x0004
-
PHLCON_LACFG
( x)¶ 1
((x & 0xf) << 8)
-
PHLCON_LBCFG
( x)¶ 1
((x & 0xf) << 4)
-
PHLCON_LFRQ
( x)¶ 1
((x & 0x3) << 2)
-
PHLCON_STRCH
¶ 1
0x0002
-
FRAME_4_RECV_OK
¶ 1
0x80
-
FRAME_4_LENGTH_OOR
¶ 1
0x40
-
FRAME_4_LENGTH_ERR
¶ 1
0x20
-
FRAME_4_CRC_ERR
¶ 1
0x10
-
FRAME_4_CARRIER_EVT
¶ 1
0x04
-
FRAME_4_LONG_EVT
¶ 1
0x01
-
FRAME_5_VLAN
¶ 1
0x40
-
FRAME_5_UKWN_OPCODE
¶ 1
0x20
-
FRAME_5_PAUSE
¶ 1
0x10
-
FRAME_5_RCV_CTRL
¶ 1
0x08
-
FRAME_5_DRIPPLE
¶ 1
0x04
-
FRAME_5_BCAST
¶ 1
0x02
-
FRAME_5_MCAST
¶ 1
0x01
-
TX_PHUGEEN
¶ 1
0x08
-
TX_PPADEN
¶ 1
0x04
-
TX_PCRCEN
¶ 1
0x02
-
TX_POVERRIDE
¶ 1
0x01