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