ENC28J60 Ethernet controller. More...
#include "core/nic.h"
Go to the source code of this file.
Data Structures | |
struct | Enc28j60Context |
ENC28J60 driver context. More... | |
Functions | |
error_t | enc28j60Init (NetInterface *interface) |
ENC28J60 controller initialization. More... | |
void | enc28j60InitHook (NetInterface *interface) |
ENC28J60 custom configuration. More... | |
void | enc28j60Tick (NetInterface *interface) |
ENC28J60 timer handler. More... | |
void | enc28j60EnableIrq (NetInterface *interface) |
Enable interrupts. More... | |
void | enc28j60DisableIrq (NetInterface *interface) |
Disable interrupts. More... | |
bool_t | enc28j60IrqHandler (NetInterface *interface) |
ENC28J60 interrupt service routine. More... | |
void | enc28j60EventHandler (NetInterface *interface) |
ENC28J60 event handler. More... | |
error_t | enc28j60SendPacket (NetInterface *interface, const NetBuffer *buffer, size_t offset, NetTxAncillary *ancillary) |
Send a packet. More... | |
error_t | enc28j60ReceivePacket (NetInterface *interface) |
Receive a packet. More... | |
error_t | enc28j60UpdateMacAddrFilter (NetInterface *interface) |
Configure MAC address filtering. More... | |
void | enc28j60SoftReset (NetInterface *interface) |
ENC28J60 controller reset. More... | |
void | enc28j60SelectBank (NetInterface *interface, uint16_t address) |
Bank selection. More... | |
void | enc28j60WriteReg (NetInterface *interface, uint16_t address, uint8_t data) |
Write ENC28J60 register. More... | |
uint8_t | enc28j60ReadReg (NetInterface *interface, uint16_t address) |
Read ENC28J60 register. More... | |
void | enc28j60WritePhyReg (NetInterface *interface, uint16_t address, uint16_t data) |
Write PHY register. More... | |
uint16_t | enc28j60ReadPhyReg (NetInterface *interface, uint16_t address) |
Read PHY register. More... | |
void | enc28j60WriteBuffer (NetInterface *interface, const NetBuffer *buffer, size_t offset) |
Write SRAM buffer. More... | |
void | enc28j60ReadBuffer (NetInterface *interface, uint8_t *data, size_t length) |
Read SRAM buffer. More... | |
void | enc28j60SetBit (NetInterface *interface, uint16_t address, uint16_t mask) |
Set bit field. More... | |
void | enc28j60ClearBit (NetInterface *interface, uint16_t address, uint16_t mask) |
Clear bit field. More... | |
uint32_t | enc28j60CalcCrc (const void *data, size_t length) |
CRC calculation using the polynomial 0x4C11DB7. More... | |
void | enc28j60DumpReg (NetInterface *interface) |
Dump registers for debugging purpose. More... | |
void | enc28j60DumpPhyReg (NetInterface *interface) |
Dump PHY registers for debugging purpose. More... | |
Variables | |
const NicDriver | enc28j60Driver |
ENC28J60 driver. More... | |
Detailed Description
ENC28J60 Ethernet controller.
License
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneTCP Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- Version
- 2.4.4
Definition in file enc28j60_driver.h.
Macro Definition Documentation
◆ BANK_0
#define BANK_0 0x0000 |
Definition at line 73 of file enc28j60_driver.h.
◆ BANK_1
#define BANK_1 0x0100 |
Definition at line 74 of file enc28j60_driver.h.
◆ BANK_2
#define BANK_2 0x0200 |
Definition at line 75 of file enc28j60_driver.h.
◆ BANK_3
#define BANK_3 0x0300 |
Definition at line 76 of file enc28j60_driver.h.
◆ ENC28J60_CMD_BFC
#define ENC28J60_CMD_BFC 0xA0 |
Definition at line 63 of file enc28j60_driver.h.
◆ ENC28J60_CMD_BFS
#define ENC28J60_CMD_BFS 0x80 |
Definition at line 62 of file enc28j60_driver.h.
◆ ENC28J60_CMD_RBM
#define ENC28J60_CMD_RBM 0x3A |
Definition at line 59 of file enc28j60_driver.h.
◆ ENC28J60_CMD_RCR
#define ENC28J60_CMD_RCR 0x00 |
Definition at line 58 of file enc28j60_driver.h.
◆ ENC28J60_CMD_SRC
#define ENC28J60_CMD_SRC 0xFF |
Definition at line 64 of file enc28j60_driver.h.
◆ ENC28J60_CMD_WBM
#define ENC28J60_CMD_WBM 0x7A |
Definition at line 61 of file enc28j60_driver.h.
◆ ENC28J60_CMD_WCR
#define ENC28J60_CMD_WCR 0x40 |
Definition at line 60 of file enc28j60_driver.h.
◆ ENC28J60_EBSTCON
#define ENC28J60_EBSTCON (ETH_REG_TYPE | BANK_3 | 0x07) |
Definition at line 163 of file enc28j60_driver.h.
◆ ENC28J60_EBSTCON_BISTST
#define ENC28J60_EBSTCON_BISTST 0x01 |
Definition at line 332 of file enc28j60_driver.h.
◆ ENC28J60_EBSTCON_PSEL
#define ENC28J60_EBSTCON_PSEL 0x10 |
Definition at line 325 of file enc28j60_driver.h.
◆ ENC28J60_EBSTCON_PSV
#define ENC28J60_EBSTCON_PSV 0xE0 |
Definition at line 324 of file enc28j60_driver.h.
◆ ENC28J60_EBSTCON_TME
#define ENC28J60_EBSTCON_TME 0x02 |
Definition at line 331 of file enc28j60_driver.h.
◆ ENC28J60_EBSTCON_TMSEL
#define ENC28J60_EBSTCON_TMSEL 0x0C |
Definition at line 326 of file enc28j60_driver.h.
◆ ENC28J60_EBSTCON_TMSEL_ADDR
#define ENC28J60_EBSTCON_TMSEL_ADDR 0x04 |
Definition at line 328 of file enc28j60_driver.h.
◆ ENC28J60_EBSTCON_TMSEL_PATTERN_SHIFT
#define ENC28J60_EBSTCON_TMSEL_PATTERN_SHIFT 0x08 |
Definition at line 329 of file enc28j60_driver.h.
◆ ENC28J60_EBSTCON_TMSEL_RACE_MODE
#define ENC28J60_EBSTCON_TMSEL_RACE_MODE 0x0C |
Definition at line 330 of file enc28j60_driver.h.
◆ ENC28J60_EBSTCON_TMSEL_RANDOM
#define ENC28J60_EBSTCON_TMSEL_RANDOM 0x00 |
Definition at line 327 of file enc28j60_driver.h.
◆ ENC28J60_EBSTCSH
#define ENC28J60_EBSTCSH (ETH_REG_TYPE | BANK_3 | 0x09) |
Definition at line 165 of file enc28j60_driver.h.
◆ ENC28J60_EBSTCSL
#define ENC28J60_EBSTCSL (ETH_REG_TYPE | BANK_3 | 0x08) |
Definition at line 164 of file enc28j60_driver.h.
◆ ENC28J60_EBSTSD
#define ENC28J60_EBSTSD (ETH_REG_TYPE | BANK_3 | 0x06) |
Definition at line 162 of file enc28j60_driver.h.
◆ ENC28J60_ECOCON
#define ENC28J60_ECOCON (ETH_REG_TYPE | BANK_3 | 0x15) |
Definition at line 168 of file enc28j60_driver.h.
◆ ENC28J60_ECOCON_COCON
#define ENC28J60_ECOCON_COCON 0x07 |
Definition at line 348 of file enc28j60_driver.h.
◆ ENC28J60_ECOCON_COCON_DISABLED
#define ENC28J60_ECOCON_COCON_DISABLED 0x00 |
Definition at line 349 of file enc28j60_driver.h.
◆ ENC28J60_ECOCON_COCON_DIV1
#define ENC28J60_ECOCON_COCON_DIV1 0x01 |
Definition at line 350 of file enc28j60_driver.h.
◆ ENC28J60_ECOCON_COCON_DIV2
#define ENC28J60_ECOCON_COCON_DIV2 0x02 |
Definition at line 351 of file enc28j60_driver.h.
◆ ENC28J60_ECOCON_COCON_DIV3
#define ENC28J60_ECOCON_COCON_DIV3 0x03 |
Definition at line 352 of file enc28j60_driver.h.
◆ ENC28J60_ECOCON_COCON_DIV4
#define ENC28J60_ECOCON_COCON_DIV4 0x04 |
Definition at line 353 of file enc28j60_driver.h.
◆ ENC28J60_ECOCON_COCON_DIV8
#define ENC28J60_ECOCON_COCON_DIV8 0x05 |
Definition at line 354 of file enc28j60_driver.h.
◆ ENC28J60_ECON1
#define ENC28J60_ECON1 (ETH_REG_TYPE | BANK_0 | 0x1F) |
Definition at line 112 of file enc28j60_driver.h.
◆ ENC28J60_ECON1_BSEL0
#define ENC28J60_ECON1_BSEL0 0x01 |
Definition at line 226 of file enc28j60_driver.h.
◆ ENC28J60_ECON1_BSEL1
#define ENC28J60_ECON1_BSEL1 0x02 |
Definition at line 225 of file enc28j60_driver.h.
◆ ENC28J60_ECON1_CSUMEN
#define ENC28J60_ECON1_CSUMEN 0x10 |
Definition at line 222 of file enc28j60_driver.h.
◆ ENC28J60_ECON1_DMAST
#define ENC28J60_ECON1_DMAST 0x20 |
Definition at line 221 of file enc28j60_driver.h.
◆ ENC28J60_ECON1_RXEN
#define ENC28J60_ECON1_RXEN 0x04 |
Definition at line 224 of file enc28j60_driver.h.
◆ ENC28J60_ECON1_RXRST
#define ENC28J60_ECON1_RXRST 0x40 |
Definition at line 220 of file enc28j60_driver.h.
◆ ENC28J60_ECON1_TXRST
#define ENC28J60_ECON1_TXRST 0x80 |
Definition at line 219 of file enc28j60_driver.h.
◆ ENC28J60_ECON1_TXRTS
#define ENC28J60_ECON1_TXRTS 0x08 |
Definition at line 223 of file enc28j60_driver.h.
◆ ENC28J60_ECON2
#define ENC28J60_ECON2 (ETH_REG_TYPE | BANK_0 | 0x1E) |
Definition at line 111 of file enc28j60_driver.h.
◆ ENC28J60_ECON2_AUTOINC
#define ENC28J60_ECON2_AUTOINC 0x80 |
Definition at line 213 of file enc28j60_driver.h.
◆ ENC28J60_ECON2_PKTDEC
#define ENC28J60_ECON2_PKTDEC 0x40 |
Definition at line 214 of file enc28j60_driver.h.
◆ ENC28J60_ECON2_PWRSV
#define ENC28J60_ECON2_PWRSV 0x20 |
Definition at line 215 of file enc28j60_driver.h.
◆ ENC28J60_ECON2_VRPS
#define ENC28J60_ECON2_VRPS 0x08 |
Definition at line 216 of file enc28j60_driver.h.
◆ ENC28J60_EDMACSH
#define ENC28J60_EDMACSH (ETH_REG_TYPE | BANK_0 | 0x17) |
Definition at line 107 of file enc28j60_driver.h.
◆ ENC28J60_EDMACSL
#define ENC28J60_EDMACSL (ETH_REG_TYPE | BANK_0 | 0x16) |
Definition at line 106 of file enc28j60_driver.h.
◆ ENC28J60_EDMADSTH
#define ENC28J60_EDMADSTH (ETH_REG_TYPE | BANK_0 | 0x15) |
Definition at line 105 of file enc28j60_driver.h.
◆ ENC28J60_EDMADSTL
#define ENC28J60_EDMADSTL (ETH_REG_TYPE | BANK_0 | 0x14) |
Definition at line 104 of file enc28j60_driver.h.
◆ ENC28J60_EDMANDH
#define ENC28J60_EDMANDH (ETH_REG_TYPE | BANK_0 | 0x13) |
Definition at line 103 of file enc28j60_driver.h.
◆ ENC28J60_EDMANDL
#define ENC28J60_EDMANDL (ETH_REG_TYPE | BANK_0 | 0x12) |
Definition at line 102 of file enc28j60_driver.h.
◆ ENC28J60_EDMASTH
#define ENC28J60_EDMASTH (ETH_REG_TYPE | BANK_0 | 0x11) |
Definition at line 101 of file enc28j60_driver.h.
◆ ENC28J60_EDMASTL
#define ENC28J60_EDMASTL (ETH_REG_TYPE | BANK_0 | 0x10) |
Definition at line 100 of file enc28j60_driver.h.
◆ ENC28J60_EFLOCON
#define ENC28J60_EFLOCON (ETH_REG_TYPE | BANK_3 | 0x17) |
Definition at line 169 of file enc28j60_driver.h.
◆ ENC28J60_EFLOCON_FCEN
#define ENC28J60_EFLOCON_FCEN 0x03 |
Definition at line 358 of file enc28j60_driver.h.
◆ ENC28J60_EFLOCON_FCEN_OFF
#define ENC28J60_EFLOCON_FCEN_OFF 0x00 |
Definition at line 359 of file enc28j60_driver.h.
◆ ENC28J60_EFLOCON_FCEN_ON_FD
#define ENC28J60_EFLOCON_FCEN_ON_FD 0x02 |
Definition at line 361 of file enc28j60_driver.h.
◆ ENC28J60_EFLOCON_FCEN_ON_HD
#define ENC28J60_EFLOCON_FCEN_ON_HD 0x01 |
Definition at line 360 of file enc28j60_driver.h.
◆ ENC28J60_EFLOCON_FCEN_SEND_PAUSE
#define ENC28J60_EFLOCON_FCEN_SEND_PAUSE 0x03 |
Definition at line 362 of file enc28j60_driver.h.
◆ ENC28J60_EFLOCON_FULDPXS
#define ENC28J60_EFLOCON_FULDPXS 0x04 |
Definition at line 357 of file enc28j60_driver.h.
◆ ENC28J60_EHT0
#define ENC28J60_EHT0 (ETH_REG_TYPE | BANK_1 | 0x00) |
Definition at line 113 of file enc28j60_driver.h.
◆ ENC28J60_EHT1
#define ENC28J60_EHT1 (ETH_REG_TYPE | BANK_1 | 0x01) |
Definition at line 114 of file enc28j60_driver.h.
◆ ENC28J60_EHT2
#define ENC28J60_EHT2 (ETH_REG_TYPE | BANK_1 | 0x02) |
Definition at line 115 of file enc28j60_driver.h.
◆ ENC28J60_EHT3
#define ENC28J60_EHT3 (ETH_REG_TYPE | BANK_1 | 0x03) |
Definition at line 116 of file enc28j60_driver.h.
◆ ENC28J60_EHT4
#define ENC28J60_EHT4 (ETH_REG_TYPE | BANK_1 | 0x04) |
Definition at line 117 of file enc28j60_driver.h.
◆ ENC28J60_EHT5
#define ENC28J60_EHT5 (ETH_REG_TYPE | BANK_1 | 0x05) |
Definition at line 118 of file enc28j60_driver.h.
◆ ENC28J60_EHT6
#define ENC28J60_EHT6 (ETH_REG_TYPE | BANK_1 | 0x06) |
Definition at line 119 of file enc28j60_driver.h.
◆ ENC28J60_EHT7
#define ENC28J60_EHT7 (ETH_REG_TYPE | BANK_1 | 0x07) |
Definition at line 120 of file enc28j60_driver.h.
◆ ENC28J60_EIE
#define ENC28J60_EIE (ETH_REG_TYPE | BANK_0 | 0x1B) |
Definition at line 108 of file enc28j60_driver.h.
◆ ENC28J60_EIE_DMAIE
#define ENC28J60_EIE_DMAIE 0x20 |
Definition at line 187 of file enc28j60_driver.h.
◆ ENC28J60_EIE_INTIE
#define ENC28J60_EIE_INTIE 0x80 |
Definition at line 185 of file enc28j60_driver.h.
◆ ENC28J60_EIE_LINKIE
#define ENC28J60_EIE_LINKIE 0x10 |
Definition at line 188 of file enc28j60_driver.h.
◆ ENC28J60_EIE_PKTIE
#define ENC28J60_EIE_PKTIE 0x40 |
Definition at line 186 of file enc28j60_driver.h.
◆ ENC28J60_EIE_RXERIE
#define ENC28J60_EIE_RXERIE 0x01 |
Definition at line 192 of file enc28j60_driver.h.
◆ ENC28J60_EIE_TXERIE
#define ENC28J60_EIE_TXERIE 0x02 |
Definition at line 191 of file enc28j60_driver.h.
◆ ENC28J60_EIE_TXIE
#define ENC28J60_EIE_TXIE 0x08 |
Definition at line 189 of file enc28j60_driver.h.
◆ ENC28J60_EIE_WOLIE
#define ENC28J60_EIE_WOLIE 0x04 |
Definition at line 190 of file enc28j60_driver.h.
◆ ENC28J60_EIR
#define ENC28J60_EIR (ETH_REG_TYPE | BANK_0 | 0x1C) |
Definition at line 109 of file enc28j60_driver.h.
◆ ENC28J60_EIR_DMAIF
#define ENC28J60_EIR_DMAIF 0x20 |
Definition at line 196 of file enc28j60_driver.h.
◆ ENC28J60_EIR_LINKIF
#define ENC28J60_EIR_LINKIF 0x10 |
Definition at line 197 of file enc28j60_driver.h.
◆ ENC28J60_EIR_PKTIF
#define ENC28J60_EIR_PKTIF 0x40 |
Definition at line 195 of file enc28j60_driver.h.
◆ ENC28J60_EIR_RXERIF
#define ENC28J60_EIR_RXERIF 0x01 |
Definition at line 201 of file enc28j60_driver.h.
◆ ENC28J60_EIR_TXERIF
#define ENC28J60_EIR_TXERIF 0x02 |
Definition at line 200 of file enc28j60_driver.h.
◆ ENC28J60_EIR_TXIF
#define ENC28J60_EIR_TXIF 0x08 |
Definition at line 198 of file enc28j60_driver.h.
◆ ENC28J60_EIR_WOLIF
#define ENC28J60_EIR_WOLIF 0x04 |
Definition at line 199 of file enc28j60_driver.h.
◆ ENC28J60_EPAUSH
#define ENC28J60_EPAUSH (ETH_REG_TYPE | BANK_3 | 0x19) |
Definition at line 171 of file enc28j60_driver.h.
◆ ENC28J60_EPAUSL
#define ENC28J60_EPAUSL (ETH_REG_TYPE | BANK_3 | 0x18) |
Definition at line 170 of file enc28j60_driver.h.
◆ ENC28J60_EPKTCNT
#define ENC28J60_EPKTCNT (ETH_REG_TYPE | BANK_1 | 0x19) |
Definition at line 136 of file enc28j60_driver.h.
◆ ENC28J60_EPMCSH
#define ENC28J60_EPMCSH (ETH_REG_TYPE | BANK_1 | 0x11) |
Definition at line 130 of file enc28j60_driver.h.
◆ ENC28J60_EPMCSL
#define ENC28J60_EPMCSL (ETH_REG_TYPE | BANK_1 | 0x10) |
Definition at line 129 of file enc28j60_driver.h.
◆ ENC28J60_EPMM0
#define ENC28J60_EPMM0 (ETH_REG_TYPE | BANK_1 | 0x08) |
Definition at line 121 of file enc28j60_driver.h.
◆ ENC28J60_EPMM1
#define ENC28J60_EPMM1 (ETH_REG_TYPE | BANK_1 | 0x09) |
Definition at line 122 of file enc28j60_driver.h.
◆ ENC28J60_EPMM2
#define ENC28J60_EPMM2 (ETH_REG_TYPE | BANK_1 | 0x0A) |
Definition at line 123 of file enc28j60_driver.h.
◆ ENC28J60_EPMM3
#define ENC28J60_EPMM3 (ETH_REG_TYPE | BANK_1 | 0x0B) |
Definition at line 124 of file enc28j60_driver.h.
◆ ENC28J60_EPMM4
#define ENC28J60_EPMM4 (ETH_REG_TYPE | BANK_1 | 0x0C) |
Definition at line 125 of file enc28j60_driver.h.
◆ ENC28J60_EPMM5
#define ENC28J60_EPMM5 (ETH_REG_TYPE | BANK_1 | 0x0D) |
Definition at line 126 of file enc28j60_driver.h.
◆ ENC28J60_EPMM6
#define ENC28J60_EPMM6 (ETH_REG_TYPE | BANK_1 | 0x0E) |
Definition at line 127 of file enc28j60_driver.h.
◆ ENC28J60_EPMM7
#define ENC28J60_EPMM7 (ETH_REG_TYPE | BANK_1 | 0x0F) |
Definition at line 128 of file enc28j60_driver.h.
◆ ENC28J60_EPMOH
#define ENC28J60_EPMOH (ETH_REG_TYPE | BANK_1 | 0x15) |
Definition at line 132 of file enc28j60_driver.h.
◆ ENC28J60_EPMOL
#define ENC28J60_EPMOL (ETH_REG_TYPE | BANK_1 | 0x14) |
Definition at line 131 of file enc28j60_driver.h.
◆ ENC28J60_ERDPTH
#define ENC28J60_ERDPTH (ETH_REG_TYPE | BANK_0 | 0x01) |
Definition at line 85 of file enc28j60_driver.h.
◆ ENC28J60_ERDPTL
#define ENC28J60_ERDPTL (ETH_REG_TYPE | BANK_0 | 0x00) |
Definition at line 84 of file enc28j60_driver.h.
◆ ENC28J60_EREVID
#define ENC28J60_EREVID (ETH_REG_TYPE | BANK_3 | 0x12) |
Definition at line 167 of file enc28j60_driver.h.
◆ ENC28J60_EREVID_REV
#define ENC28J60_EREVID_REV 0x1F |
Definition at line 341 of file enc28j60_driver.h.
◆ ENC28J60_EREVID_REV_B1
#define ENC28J60_EREVID_REV_B1 0x02 |
Definition at line 342 of file enc28j60_driver.h.
◆ ENC28J60_EREVID_REV_B4
#define ENC28J60_EREVID_REV_B4 0x04 |
Definition at line 343 of file enc28j60_driver.h.
◆ ENC28J60_EREVID_REV_B5
#define ENC28J60_EREVID_REV_B5 0x05 |
Definition at line 344 of file enc28j60_driver.h.
◆ ENC28J60_EREVID_REV_B7
#define ENC28J60_EREVID_REV_B7 0x06 |
Definition at line 345 of file enc28j60_driver.h.
◆ ENC28J60_ERXFCON
#define ENC28J60_ERXFCON (ETH_REG_TYPE | BANK_1 | 0x18) |
Definition at line 135 of file enc28j60_driver.h.
◆ ENC28J60_ERXFCON_ANDOR
#define ENC28J60_ERXFCON_ANDOR 0x40 |
Definition at line 248 of file enc28j60_driver.h.
◆ ENC28J60_ERXFCON_BCEN
#define ENC28J60_ERXFCON_BCEN 0x01 |
Definition at line 254 of file enc28j60_driver.h.
◆ ENC28J60_ERXFCON_CRCEN
#define ENC28J60_ERXFCON_CRCEN 0x20 |
Definition at line 249 of file enc28j60_driver.h.
◆ ENC28J60_ERXFCON_HTEN
#define ENC28J60_ERXFCON_HTEN 0x04 |
Definition at line 252 of file enc28j60_driver.h.
◆ ENC28J60_ERXFCON_MCEN
#define ENC28J60_ERXFCON_MCEN 0x02 |
Definition at line 253 of file enc28j60_driver.h.
◆ ENC28J60_ERXFCON_MPEN
#define ENC28J60_ERXFCON_MPEN 0x08 |
Definition at line 251 of file enc28j60_driver.h.
◆ ENC28J60_ERXFCON_PMEN
#define ENC28J60_ERXFCON_PMEN 0x10 |
Definition at line 250 of file enc28j60_driver.h.
◆ ENC28J60_ERXFCON_UCEN
#define ENC28J60_ERXFCON_UCEN 0x80 |
Definition at line 247 of file enc28j60_driver.h.
◆ ENC28J60_ERXNDH
#define ENC28J60_ERXNDH (ETH_REG_TYPE | BANK_0 | 0x0B) |
Definition at line 95 of file enc28j60_driver.h.
◆ ENC28J60_ERXNDL
#define ENC28J60_ERXNDL (ETH_REG_TYPE | BANK_0 | 0x0A) |
Definition at line 94 of file enc28j60_driver.h.
◆ ENC28J60_ERXRDPTH
#define ENC28J60_ERXRDPTH (ETH_REG_TYPE | BANK_0 | 0x0D) |
Definition at line 97 of file enc28j60_driver.h.
◆ ENC28J60_ERXRDPTL
#define ENC28J60_ERXRDPTL (ETH_REG_TYPE | BANK_0 | 0x0C) |
Definition at line 96 of file enc28j60_driver.h.
◆ ENC28J60_ERXSTH
#define ENC28J60_ERXSTH (ETH_REG_TYPE | BANK_0 | 0x09) |
Definition at line 93 of file enc28j60_driver.h.
◆ ENC28J60_ERXSTL
#define ENC28J60_ERXSTL (ETH_REG_TYPE | BANK_0 | 0x08) |
Definition at line 92 of file enc28j60_driver.h.
◆ ENC28J60_ERXWRPTH
#define ENC28J60_ERXWRPTH (ETH_REG_TYPE | BANK_0 | 0x0F) |
Definition at line 99 of file enc28j60_driver.h.
◆ ENC28J60_ERXWRPTL
#define ENC28J60_ERXWRPTL (ETH_REG_TYPE | BANK_0 | 0x0E) |
Definition at line 98 of file enc28j60_driver.h.
◆ ENC28J60_ESTAT
#define ENC28J60_ESTAT (ETH_REG_TYPE | BANK_0 | 0x1D) |
Definition at line 110 of file enc28j60_driver.h.
◆ ENC28J60_ESTAT_CLKRDY
#define ENC28J60_ESTAT_CLKRDY 0x01 |
Definition at line 210 of file enc28j60_driver.h.
◆ ENC28J60_ESTAT_INT
#define ENC28J60_ESTAT_INT 0x80 |
Definition at line 204 of file enc28j60_driver.h.
◆ ENC28J60_ESTAT_LATECOL
#define ENC28J60_ESTAT_LATECOL 0x10 |
Definition at line 207 of file enc28j60_driver.h.
◆ ENC28J60_ESTAT_R5
#define ENC28J60_ESTAT_R5 0x20 |
Definition at line 206 of file enc28j60_driver.h.
◆ ENC28J60_ESTAT_R6
#define ENC28J60_ESTAT_R6 0x40 |
Definition at line 205 of file enc28j60_driver.h.
◆ ENC28J60_ESTAT_RXBUSY
#define ENC28J60_ESTAT_RXBUSY 0x04 |
Definition at line 208 of file enc28j60_driver.h.
◆ ENC28J60_ESTAT_TXABRT
#define ENC28J60_ESTAT_TXABRT 0x02 |
Definition at line 209 of file enc28j60_driver.h.
◆ ENC28J60_ETH_RX_BUFFER_SIZE
#define ENC28J60_ETH_RX_BUFFER_SIZE 1536 |
Definition at line 46 of file enc28j60_driver.h.
◆ ENC28J60_ETXNDH
#define ENC28J60_ETXNDH (ETH_REG_TYPE | BANK_0 | 0x07) |
Definition at line 91 of file enc28j60_driver.h.
◆ ENC28J60_ETXNDL
#define ENC28J60_ETXNDL (ETH_REG_TYPE | BANK_0 | 0x06) |
Definition at line 90 of file enc28j60_driver.h.
◆ ENC28J60_ETXSTH
#define ENC28J60_ETXSTH (ETH_REG_TYPE | BANK_0 | 0x05) |
Definition at line 89 of file enc28j60_driver.h.
◆ ENC28J60_ETXSTL
#define ENC28J60_ETXSTL (ETH_REG_TYPE | BANK_0 | 0x04) |
Definition at line 88 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIE
#define ENC28J60_EWOLIE (ETH_REG_TYPE | BANK_1 | 0x16) |
Definition at line 133 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIE_AWOLIE
#define ENC28J60_EWOLIE_AWOLIE 0x40 |
Definition at line 230 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIE_BCWOLIE
#define ENC28J60_EWOLIE_BCWOLIE 0x01 |
Definition at line 235 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIE_HTWOLIE
#define ENC28J60_EWOLIE_HTWOLIE 0x04 |
Definition at line 233 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIE_MCWOLIE
#define ENC28J60_EWOLIE_MCWOLIE 0x02 |
Definition at line 234 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIE_MPWOLIE
#define ENC28J60_EWOLIE_MPWOLIE 0x08 |
Definition at line 232 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIE_PMWOLIE
#define ENC28J60_EWOLIE_PMWOLIE 0x10 |
Definition at line 231 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIE_UCWOLIE
#define ENC28J60_EWOLIE_UCWOLIE 0x80 |
Definition at line 229 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIR
#define ENC28J60_EWOLIR (ETH_REG_TYPE | BANK_1 | 0x17) |
Definition at line 134 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIR_AWOLIF
#define ENC28J60_EWOLIR_AWOLIF 0x40 |
Definition at line 239 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIR_BCWOLIF
#define ENC28J60_EWOLIR_BCWOLIF 0x01 |
Definition at line 244 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIR_HTWOLIF
#define ENC28J60_EWOLIR_HTWOLIF 0x04 |
Definition at line 242 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIR_MCWOLIF
#define ENC28J60_EWOLIR_MCWOLIF 0x02 |
Definition at line 243 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIR_MPWOLIF
#define ENC28J60_EWOLIR_MPWOLIF 0x08 |
Definition at line 241 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIR_PMWOLIF
#define ENC28J60_EWOLIR_PMWOLIF 0x10 |
Definition at line 240 of file enc28j60_driver.h.
◆ ENC28J60_EWOLIR_UCWOLIF
#define ENC28J60_EWOLIR_UCWOLIF 0x80 |
Definition at line 238 of file enc28j60_driver.h.
◆ ENC28J60_EWRPTH
#define ENC28J60_EWRPTH (ETH_REG_TYPE | BANK_0 | 0x03) |
Definition at line 87 of file enc28j60_driver.h.
◆ ENC28J60_EWRPTL
#define ENC28J60_EWRPTL (ETH_REG_TYPE | BANK_0 | 0x02) |
Definition at line 86 of file enc28j60_driver.h.
◆ ENC28J60_FULL_DUPLEX_SUPPORT
#define ENC28J60_FULL_DUPLEX_SUPPORT ENABLED |
Definition at line 39 of file enc28j60_driver.h.
◆ ENC28J60_MAADR0
#define ENC28J60_MAADR0 (MAC_REG_TYPE | BANK_3 | 0x01) |
Definition at line 157 of file enc28j60_driver.h.
◆ ENC28J60_MAADR1
#define ENC28J60_MAADR1 (MAC_REG_TYPE | BANK_3 | 0x00) |
Definition at line 156 of file enc28j60_driver.h.
◆ ENC28J60_MAADR2
#define ENC28J60_MAADR2 (MAC_REG_TYPE | BANK_3 | 0x03) |
Definition at line 159 of file enc28j60_driver.h.
◆ ENC28J60_MAADR3
#define ENC28J60_MAADR3 (MAC_REG_TYPE | BANK_3 | 0x02) |
Definition at line 158 of file enc28j60_driver.h.
◆ ENC28J60_MAADR4
#define ENC28J60_MAADR4 (MAC_REG_TYPE | BANK_3 | 0x05) |
Definition at line 161 of file enc28j60_driver.h.
◆ ENC28J60_MAADR5
#define ENC28J60_MAADR5 (MAC_REG_TYPE | BANK_3 | 0x04) |
Definition at line 160 of file enc28j60_driver.h.
◆ ENC28J60_MABBIPG
#define ENC28J60_MABBIPG (MAC_REG_TYPE | BANK_2 | 0x04) |
Definition at line 141 of file enc28j60_driver.h.
◆ ENC28J60_MABBIPG_DEFAULT_FD
#define ENC28J60_MABBIPG_DEFAULT_FD 0x15 |
Definition at line 292 of file enc28j60_driver.h.
◆ ENC28J60_MABBIPG_DEFAULT_HD
#define ENC28J60_MABBIPG_DEFAULT_HD 0x12 |
Definition at line 291 of file enc28j60_driver.h.
◆ ENC28J60_MACLCON1
#define ENC28J60_MACLCON1 (MAC_REG_TYPE | BANK_2 | 0x08) |
Definition at line 144 of file enc28j60_driver.h.
◆ ENC28J60_MACLCON1_RETMAX
#define ENC28J60_MACLCON1_RETMAX 0x0F |
Definition at line 301 of file enc28j60_driver.h.
◆ ENC28J60_MACLCON2
#define ENC28J60_MACLCON2 (MAC_REG_TYPE | BANK_2 | 0x09) |
Definition at line 145 of file enc28j60_driver.h.
◆ ENC28J60_MACLCON2_COLWIN
#define ENC28J60_MACLCON2_COLWIN 0x3F |
Definition at line 304 of file enc28j60_driver.h.
◆ ENC28J60_MACLCON2_COLWIN_DEFAULT
#define ENC28J60_MACLCON2_COLWIN_DEFAULT 0x37 |
Definition at line 305 of file enc28j60_driver.h.
◆ ENC28J60_MACON1
#define ENC28J60_MACON1 (MAC_REG_TYPE | BANK_2 | 0x00) |
Definition at line 137 of file enc28j60_driver.h.
◆ ENC28J60_MACON1_LOOPBK
#define ENC28J60_MACON1_LOOPBK 0x10 |
Definition at line 257 of file enc28j60_driver.h.
◆ ENC28J60_MACON1_MARXEN
#define ENC28J60_MACON1_MARXEN 0x01 |
Definition at line 261 of file enc28j60_driver.h.
◆ ENC28J60_MACON1_PASSALL
#define ENC28J60_MACON1_PASSALL 0x02 |
Definition at line 260 of file enc28j60_driver.h.
◆ ENC28J60_MACON1_RXPAUS
#define ENC28J60_MACON1_RXPAUS 0x04 |
Definition at line 259 of file enc28j60_driver.h.
◆ ENC28J60_MACON1_TXPAUS
#define ENC28J60_MACON1_TXPAUS 0x08 |
Definition at line 258 of file enc28j60_driver.h.
◆ ENC28J60_MACON2
#define ENC28J60_MACON2 (MAC_REG_TYPE | BANK_2 | 0x01) |
Definition at line 138 of file enc28j60_driver.h.
◆ ENC28J60_MACON2_MARST
#define ENC28J60_MACON2_MARST 0x80 |
Definition at line 264 of file enc28j60_driver.h.
◆ ENC28J60_MACON2_MARXRST
#define ENC28J60_MACON2_MARXRST 0x08 |
Definition at line 266 of file enc28j60_driver.h.
◆ ENC28J60_MACON2_MATXRST
#define ENC28J60_MACON2_MATXRST 0x02 |
Definition at line 268 of file enc28j60_driver.h.
◆ ENC28J60_MACON2_RFUNRST
#define ENC28J60_MACON2_RFUNRST 0x04 |
Definition at line 267 of file enc28j60_driver.h.
◆ ENC28J60_MACON2_RNDRST
#define ENC28J60_MACON2_RNDRST 0x40 |
Definition at line 265 of file enc28j60_driver.h.
◆ ENC28J60_MACON2_TFUNRST
#define ENC28J60_MACON2_TFUNRST 0x01 |
Definition at line 269 of file enc28j60_driver.h.
◆ ENC28J60_MACON3
#define ENC28J60_MACON3 (MAC_REG_TYPE | BANK_2 | 0x02) |
Definition at line 139 of file enc28j60_driver.h.
◆ ENC28J60_MACON3_FRMLNEN
#define ENC28J60_MACON3_FRMLNEN 0x02 |
Definition at line 280 of file enc28j60_driver.h.
◆ ENC28J60_MACON3_FULDPX
#define ENC28J60_MACON3_FULDPX 0x01 |
Definition at line 281 of file enc28j60_driver.h.
◆ ENC28J60_MACON3_HFRMEN
#define ENC28J60_MACON3_HFRMEN 0x04 |
Definition at line 279 of file enc28j60_driver.h.
◆ ENC28J60_MACON3_PADCFG
#define ENC28J60_MACON3_PADCFG 0xE0 |
Definition at line 272 of file enc28j60_driver.h.
◆ ENC28J60_MACON3_PADCFG_60_BYTES
#define ENC28J60_MACON3_PADCFG_60_BYTES 0x20 |
Definition at line 274 of file enc28j60_driver.h.
◆ ENC28J60_MACON3_PADCFG_64_BYTES
#define ENC28J60_MACON3_PADCFG_64_BYTES 0x60 |
Definition at line 275 of file enc28j60_driver.h.
◆ ENC28J60_MACON3_PADCFG_AUTO
#define ENC28J60_MACON3_PADCFG_AUTO 0xA0 |
Definition at line 276 of file enc28j60_driver.h.
◆ ENC28J60_MACON3_PADCFG_NO
#define ENC28J60_MACON3_PADCFG_NO 0x00 |
Definition at line 273 of file enc28j60_driver.h.
◆ ENC28J60_MACON3_PHDRLEN
#define ENC28J60_MACON3_PHDRLEN 0x08 |
Definition at line 278 of file enc28j60_driver.h.
◆ ENC28J60_MACON3_TXCRCEN
#define ENC28J60_MACON3_TXCRCEN 0x10 |
Definition at line 277 of file enc28j60_driver.h.
◆ ENC28J60_MACON4
#define ENC28J60_MACON4 (MAC_REG_TYPE | BANK_2 | 0x03) |
Definition at line 140 of file enc28j60_driver.h.
◆ ENC28J60_MACON4_BPEN
#define ENC28J60_MACON4_BPEN 0x20 |
Definition at line 285 of file enc28j60_driver.h.
◆ ENC28J60_MACON4_DEFER
#define ENC28J60_MACON4_DEFER 0x40 |
Definition at line 284 of file enc28j60_driver.h.
◆ ENC28J60_MACON4_LONGPRE
#define ENC28J60_MACON4_LONGPRE 0x02 |
Definition at line 287 of file enc28j60_driver.h.
◆ ENC28J60_MACON4_NOBKOFF
#define ENC28J60_MACON4_NOBKOFF 0x10 |
Definition at line 286 of file enc28j60_driver.h.
◆ ENC28J60_MACON4_PUREPRE
#define ENC28J60_MACON4_PUREPRE 0x01 |
Definition at line 288 of file enc28j60_driver.h.
◆ ENC28J60_MAIPGH
#define ENC28J60_MAIPGH (MAC_REG_TYPE | BANK_2 | 0x07) |
Definition at line 143 of file enc28j60_driver.h.
◆ ENC28J60_MAIPGH_DEFAULT
#define ENC28J60_MAIPGH_DEFAULT 0x0C |
Definition at line 298 of file enc28j60_driver.h.
◆ ENC28J60_MAIPGL
#define ENC28J60_MAIPGL (MAC_REG_TYPE | BANK_2 | 0x06) |
Definition at line 142 of file enc28j60_driver.h.
◆ ENC28J60_MAIPGL_DEFAULT
#define ENC28J60_MAIPGL_DEFAULT 0x12 |
Definition at line 295 of file enc28j60_driver.h.
◆ ENC28J60_MAMXFLH
#define ENC28J60_MAMXFLH (MAC_REG_TYPE | BANK_2 | 0x0B) |
Definition at line 147 of file enc28j60_driver.h.
◆ ENC28J60_MAMXFLL
#define ENC28J60_MAMXFLL (MAC_REG_TYPE | BANK_2 | 0x0A) |
Definition at line 146 of file enc28j60_driver.h.
◆ ENC28J60_MAPHSUP
#define ENC28J60_MAPHSUP (MAC_REG_TYPE | BANK_2 | 0x0D) |
Definition at line 148 of file enc28j60_driver.h.
◆ ENC28J60_MAPHSUP_R0
#define ENC28J60_MAPHSUP_R0 0x01 |
Definition at line 311 of file enc28j60_driver.h.
◆ ENC28J60_MAPHSUP_R4
#define ENC28J60_MAPHSUP_R4 0x10 |
Definition at line 309 of file enc28j60_driver.h.
◆ ENC28J60_MAPHSUP_RSTINTFC
#define ENC28J60_MAPHSUP_RSTINTFC 0x80 |
Definition at line 308 of file enc28j60_driver.h.
◆ ENC28J60_MAPHSUP_RSTRMII
#define ENC28J60_MAPHSUP_RSTRMII 0x08 |
Definition at line 310 of file enc28j60_driver.h.
◆ ENC28J60_MICMD
#define ENC28J60_MICMD (MII_REG_TYPE | BANK_2 | 0x12) |
Definition at line 150 of file enc28j60_driver.h.
◆ ENC28J60_MICMD_MIIRD
#define ENC28J60_MICMD_MIIRD 0x01 |
Definition at line 318 of file enc28j60_driver.h.
◆ ENC28J60_MICMD_MIISCAN
#define ENC28J60_MICMD_MIISCAN 0x02 |
Definition at line 317 of file enc28j60_driver.h.
◆ ENC28J60_MICON
#define ENC28J60_MICON (MII_REG_TYPE | BANK_2 | 0x11) |
Definition at line 149 of file enc28j60_driver.h.
◆ ENC28J60_MICON_RSTMII
#define ENC28J60_MICON_RSTMII 0x80 |
Definition at line 314 of file enc28j60_driver.h.
◆ ENC28J60_MIRDH
#define ENC28J60_MIRDH (MII_REG_TYPE | BANK_2 | 0x19) |
Definition at line 155 of file enc28j60_driver.h.
◆ ENC28J60_MIRDL
#define ENC28J60_MIRDL (MII_REG_TYPE | BANK_2 | 0x18) |
Definition at line 154 of file enc28j60_driver.h.
◆ ENC28J60_MIREGADR
#define ENC28J60_MIREGADR (MII_REG_TYPE | BANK_2 | 0x14) |
Definition at line 151 of file enc28j60_driver.h.
◆ ENC28J60_MIREGADR_VAL
#define ENC28J60_MIREGADR_VAL 0x1F |
Definition at line 321 of file enc28j60_driver.h.
◆ ENC28J60_MISTAT
#define ENC28J60_MISTAT (MII_REG_TYPE | BANK_3 | 0x0A) |
Definition at line 166 of file enc28j60_driver.h.
◆ ENC28J60_MISTAT_BUSY
#define ENC28J60_MISTAT_BUSY 0x01 |
Definition at line 338 of file enc28j60_driver.h.
◆ ENC28J60_MISTAT_NVALID
#define ENC28J60_MISTAT_NVALID 0x04 |
Definition at line 336 of file enc28j60_driver.h.
◆ ENC28J60_MISTAT_R3
#define ENC28J60_MISTAT_R3 0x08 |
Definition at line 335 of file enc28j60_driver.h.
◆ ENC28J60_MISTAT_SCAN
#define ENC28J60_MISTAT_SCAN 0x02 |
Definition at line 337 of file enc28j60_driver.h.
◆ ENC28J60_MIWRH
#define ENC28J60_MIWRH (MII_REG_TYPE | BANK_2 | 0x17) |
Definition at line 153 of file enc28j60_driver.h.
◆ ENC28J60_MIWRL
#define ENC28J60_MIWRL (MII_REG_TYPE | BANK_2 | 0x16) |
Definition at line 152 of file enc28j60_driver.h.
◆ ENC28J60_PHCON1
#define ENC28J60_PHCON1 (PHY_REG_TYPE | 0x00) |
Definition at line 174 of file enc28j60_driver.h.
◆ ENC28J60_PHCON1_PDPXMD
#define ENC28J60_PHCON1_PDPXMD 0x0100 |
Definition at line 368 of file enc28j60_driver.h.
◆ ENC28J60_PHCON1_PLOOPBK
#define ENC28J60_PHCON1_PLOOPBK 0x4000 |
Definition at line 366 of file enc28j60_driver.h.
◆ ENC28J60_PHCON1_PPWRSV
#define ENC28J60_PHCON1_PPWRSV 0x0800 |
Definition at line 367 of file enc28j60_driver.h.
◆ ENC28J60_PHCON1_PRST
#define ENC28J60_PHCON1_PRST 0x8000 |
Definition at line 365 of file enc28j60_driver.h.
◆ ENC28J60_PHCON2
#define ENC28J60_PHCON2 (PHY_REG_TYPE | 0x10) |
Definition at line 178 of file enc28j60_driver.h.
◆ ENC28J60_PHCON2_FRCLNK
#define ENC28J60_PHCON2_FRCLNK 0x4000 |
Definition at line 388 of file enc28j60_driver.h.
◆ ENC28J60_PHCON2_HDLDIS
#define ENC28J60_PHCON2_HDLDIS 0x0100 |
Definition at line 391 of file enc28j60_driver.h.
◆ ENC28J60_PHCON2_JABBER
#define ENC28J60_PHCON2_JABBER 0x0400 |
Definition at line 390 of file enc28j60_driver.h.
◆ ENC28J60_PHCON2_TXDIS
#define ENC28J60_PHCON2_TXDIS 0x2000 |
Definition at line 389 of file enc28j60_driver.h.
◆ ENC28J60_PHID1
#define ENC28J60_PHID1 (PHY_REG_TYPE | 0x02) |
Definition at line 176 of file enc28j60_driver.h.
◆ ENC28J60_PHID1_PIDH
#define ENC28J60_PHID1_PIDH 0xFFFF |
Definition at line 377 of file enc28j60_driver.h.
◆ ENC28J60_PHID1_PIDH_DEFAULT
#define ENC28J60_PHID1_PIDH_DEFAULT 0x0083 |
Definition at line 378 of file enc28j60_driver.h.
◆ ENC28J60_PHID2
#define ENC28J60_PHID2 (PHY_REG_TYPE | 0x03) |
Definition at line 177 of file enc28j60_driver.h.
◆ ENC28J60_PHID2_PIDL
#define ENC28J60_PHID2_PIDL 0xFC00 |
Definition at line 381 of file enc28j60_driver.h.
◆ ENC28J60_PHID2_PIDL_DEFAULT
#define ENC28J60_PHID2_PIDL_DEFAULT 0x1400 |
Definition at line 382 of file enc28j60_driver.h.
◆ ENC28J60_PHID2_PPN
#define ENC28J60_PHID2_PPN 0x03F0 |
Definition at line 383 of file enc28j60_driver.h.
◆ ENC28J60_PHID2_PPN_DEFAULT
#define ENC28J60_PHID2_PPN_DEFAULT 0x0000 |
Definition at line 384 of file enc28j60_driver.h.
◆ ENC28J60_PHID2_PREV
#define ENC28J60_PHID2_PREV 0x000F |
Definition at line 385 of file enc28j60_driver.h.
◆ ENC28J60_PHIE
#define ENC28J60_PHIE (PHY_REG_TYPE | 0x12) |
Definition at line 180 of file enc28j60_driver.h.
◆ ENC28J60_PHIE_PGEIE
#define ENC28J60_PHIE_PGEIE 0x0002 |
Definition at line 403 of file enc28j60_driver.h.
◆ ENC28J60_PHIE_PLNKIE
#define ENC28J60_PHIE_PLNKIE 0x0010 |
Definition at line 402 of file enc28j60_driver.h.
◆ ENC28J60_PHIR
#define ENC28J60_PHIR (PHY_REG_TYPE | 0x13) |
Definition at line 181 of file enc28j60_driver.h.
◆ ENC28J60_PHIR_PGIF
#define ENC28J60_PHIR_PGIF 0x0004 |
Definition at line 407 of file enc28j60_driver.h.
◆ ENC28J60_PHIR_PLNKIF
#define ENC28J60_PHIR_PLNKIF 0x0010 |
Definition at line 406 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON
#define ENC28J60_PHLCON (PHY_REG_TYPE | 0x14) |
Definition at line 182 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LACFG
#define ENC28J60_PHLCON_LACFG 0x0F00 |
Definition at line 410 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LACFG_BLINK_FAST
#define ENC28J60_PHLCON_LACFG_BLINK_FAST 0x0A00 |
Definition at line 419 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LACFG_BLINK_SLOW
#define ENC28J60_PHLCON_LACFG_BLINK_SLOW 0x0B00 |
Definition at line 420 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LACFG_COL
#define ENC28J60_PHLCON_LACFG_COL 0x0300 |
Definition at line 413 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LACFG_DUPLEX
#define ENC28J60_PHLCON_LACFG_DUPLEX 0x0500 |
Definition at line 415 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LACFG_DUPLEX_COL
#define ENC28J60_PHLCON_LACFG_DUPLEX_COL 0x0E00 |
Definition at line 423 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LACFG_LINK
#define ENC28J60_PHLCON_LACFG_LINK 0x0400 |
Definition at line 414 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LACFG_LINK_RX
#define ENC28J60_PHLCON_LACFG_LINK_RX 0x0C00 |
Definition at line 421 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LACFG_LINK_TX_RX
#define ENC28J60_PHLCON_LACFG_LINK_TX_RX 0x0D00 |
Definition at line 422 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LACFG_OFF
#define ENC28J60_PHLCON_LACFG_OFF 0x0900 |
Definition at line 418 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LACFG_ON
#define ENC28J60_PHLCON_LACFG_ON 0x0800 |
Definition at line 417 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LACFG_RX
#define ENC28J60_PHLCON_LACFG_RX 0x0200 |
Definition at line 412 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LACFG_TX
#define ENC28J60_PHLCON_LACFG_TX 0x0100 |
Definition at line 411 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LACFG_TX_RX
#define ENC28J60_PHLCON_LACFG_TX_RX 0x0700 |
Definition at line 416 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LBCFG
#define ENC28J60_PHLCON_LBCFG 0x00F0 |
Definition at line 424 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LBCFG_BLINK_FAST
#define ENC28J60_PHLCON_LBCFG_BLINK_FAST 0x00A0 |
Definition at line 433 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LBCFG_BLINK_SLOW
#define ENC28J60_PHLCON_LBCFG_BLINK_SLOW 0x00B0 |
Definition at line 434 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LBCFG_COL
#define ENC28J60_PHLCON_LBCFG_COL 0x0030 |
Definition at line 427 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LBCFG_DUPLEX
#define ENC28J60_PHLCON_LBCFG_DUPLEX 0x0050 |
Definition at line 429 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LBCFG_DUPLEX_COL
#define ENC28J60_PHLCON_LBCFG_DUPLEX_COL 0x00E0 |
Definition at line 437 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LBCFG_LINK
#define ENC28J60_PHLCON_LBCFG_LINK 0x0040 |
Definition at line 428 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LBCFG_LINK_RX
#define ENC28J60_PHLCON_LBCFG_LINK_RX 0x00C0 |
Definition at line 435 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LBCFG_LINK_TX_RX
#define ENC28J60_PHLCON_LBCFG_LINK_TX_RX 0x00D0 |
Definition at line 436 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LBCFG_OFF
#define ENC28J60_PHLCON_LBCFG_OFF 0x0090 |
Definition at line 432 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LBCFG_ON
#define ENC28J60_PHLCON_LBCFG_ON 0x0080 |
Definition at line 431 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LBCFG_RX
#define ENC28J60_PHLCON_LBCFG_RX 0x0020 |
Definition at line 426 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LBCFG_TX
#define ENC28J60_PHLCON_LBCFG_TX 0x0010 |
Definition at line 425 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LBCFG_TX_RX
#define ENC28J60_PHLCON_LBCFG_TX_RX 0x0070 |
Definition at line 430 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LFRQ
#define ENC28J60_PHLCON_LFRQ 0x000C |
Definition at line 438 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LFRQ_139_MS
#define ENC28J60_PHLCON_LFRQ_139_MS 0x0008 |
Definition at line 441 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LFRQ_40_MS
#define ENC28J60_PHLCON_LFRQ_40_MS 0x0000 |
Definition at line 439 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_LFRQ_73_MS
#define ENC28J60_PHLCON_LFRQ_73_MS 0x0004 |
Definition at line 440 of file enc28j60_driver.h.
◆ ENC28J60_PHLCON_STRCH
#define ENC28J60_PHLCON_STRCH 0x0002 |
Definition at line 442 of file enc28j60_driver.h.
◆ ENC28J60_PHSTAT1
#define ENC28J60_PHSTAT1 (PHY_REG_TYPE | 0x01) |
Definition at line 175 of file enc28j60_driver.h.
◆ ENC28J60_PHSTAT1_JBRSTAT
#define ENC28J60_PHSTAT1_JBRSTAT 0x0002 |
Definition at line 374 of file enc28j60_driver.h.
◆ ENC28J60_PHSTAT1_LLSTAT
#define ENC28J60_PHSTAT1_LLSTAT 0x0004 |
Definition at line 373 of file enc28j60_driver.h.
◆ ENC28J60_PHSTAT1_PFDPX
#define ENC28J60_PHSTAT1_PFDPX 0x1000 |
Definition at line 371 of file enc28j60_driver.h.
◆ ENC28J60_PHSTAT1_PHDPX
#define ENC28J60_PHSTAT1_PHDPX 0x0800 |
Definition at line 372 of file enc28j60_driver.h.
◆ ENC28J60_PHSTAT2
#define ENC28J60_PHSTAT2 (PHY_REG_TYPE | 0x11) |
Definition at line 179 of file enc28j60_driver.h.
◆ ENC28J60_PHSTAT2_COLSTAT
#define ENC28J60_PHSTAT2_COLSTAT 0x0800 |
Definition at line 396 of file enc28j60_driver.h.
◆ ENC28J60_PHSTAT2_DPXSTAT
#define ENC28J60_PHSTAT2_DPXSTAT 0x0200 |
Definition at line 398 of file enc28j60_driver.h.
◆ ENC28J60_PHSTAT2_LSTAT
#define ENC28J60_PHSTAT2_LSTAT 0x0400 |
Definition at line 397 of file enc28j60_driver.h.
◆ ENC28J60_PHSTAT2_PLRITY
#define ENC28J60_PHSTAT2_PLRITY 0x0010 |
Definition at line 399 of file enc28j60_driver.h.
◆ ENC28J60_PHSTAT2_RXSTAT
#define ENC28J60_PHSTAT2_RXSTAT 0x1000 |
Definition at line 395 of file enc28j60_driver.h.
◆ ENC28J60_PHSTAT2_TXSTAT
#define ENC28J60_PHSTAT2_TXSTAT 0x2000 |
Definition at line 394 of file enc28j60_driver.h.
◆ ENC28J60_RSV_BROADCAST_PACKET
#define ENC28J60_RSV_BROADCAST_PACKET 0x0200 |
Definition at line 456 of file enc28j60_driver.h.
◆ ENC28J60_RSV_CARRIER_EVENT
#define ENC28J60_RSV_CARRIER_EVENT 0x0004 |
Definition at line 462 of file enc28j60_driver.h.
◆ ENC28J60_RSV_CONTROL_FRAME
#define ENC28J60_RSV_CONTROL_FRAME 0x0800 |
Definition at line 454 of file enc28j60_driver.h.
◆ ENC28J60_RSV_CRC_ERROR
#define ENC28J60_RSV_CRC_ERROR 0x0010 |
Definition at line 461 of file enc28j60_driver.h.
◆ ENC28J60_RSV_DRIBBLE_NIBBLE
#define ENC28J60_RSV_DRIBBLE_NIBBLE 0x0400 |
Definition at line 455 of file enc28j60_driver.h.
◆ ENC28J60_RSV_DROP_EVENT
#define ENC28J60_RSV_DROP_EVENT 0x0001 |
Definition at line 463 of file enc28j60_driver.h.
◆ ENC28J60_RSV_LENGTH_CHECK_ERROR
#define ENC28J60_RSV_LENGTH_CHECK_ERROR 0x0020 |
Definition at line 460 of file enc28j60_driver.h.
◆ ENC28J60_RSV_LENGTH_OUT_OF_RANGE
#define ENC28J60_RSV_LENGTH_OUT_OF_RANGE 0x0040 |
Definition at line 459 of file enc28j60_driver.h.
◆ ENC28J60_RSV_MULTICAST_PACKET
#define ENC28J60_RSV_MULTICAST_PACKET 0x0100 |
Definition at line 457 of file enc28j60_driver.h.
◆ ENC28J60_RSV_PAUSE_CONTROL_FRAME
#define ENC28J60_RSV_PAUSE_CONTROL_FRAME 0x1000 |
Definition at line 453 of file enc28j60_driver.h.
◆ ENC28J60_RSV_RECEIVED_OK
#define ENC28J60_RSV_RECEIVED_OK 0x0080 |
Definition at line 458 of file enc28j60_driver.h.
◆ ENC28J60_RSV_UNKNOWN_OPCODE
#define ENC28J60_RSV_UNKNOWN_OPCODE 0x2000 |
Definition at line 452 of file enc28j60_driver.h.
◆ ENC28J60_RSV_VLAN_TYPE
#define ENC28J60_RSV_VLAN_TYPE 0x4000 |
Definition at line 451 of file enc28j60_driver.h.
◆ ENC28J60_RX_BUFFER_START
#define ENC28J60_RX_BUFFER_START 0x0000 |
Definition at line 52 of file enc28j60_driver.h.
◆ ENC28J60_RX_BUFFER_STOP
#define ENC28J60_RX_BUFFER_STOP 0x17FF |
Definition at line 53 of file enc28j60_driver.h.
◆ ENC28J60_TX_BUFFER_START
#define ENC28J60_TX_BUFFER_START 0x1800 |
Definition at line 54 of file enc28j60_driver.h.
◆ ENC28J60_TX_BUFFER_STOP
#define ENC28J60_TX_BUFFER_STOP 0x1FFF |
Definition at line 55 of file enc28j60_driver.h.
◆ ENC28J60_TX_CTRL_PCRCEN
#define ENC28J60_TX_CTRL_PCRCEN 0x02 |
Definition at line 447 of file enc28j60_driver.h.
◆ ENC28J60_TX_CTRL_PHUGEEN
#define ENC28J60_TX_CTRL_PHUGEEN 0x08 |
Definition at line 445 of file enc28j60_driver.h.
◆ ENC28J60_TX_CTRL_POVERRIDE
#define ENC28J60_TX_CTRL_POVERRIDE 0x01 |
Definition at line 448 of file enc28j60_driver.h.
◆ ENC28J60_TX_CTRL_PPADEN
#define ENC28J60_TX_CTRL_PPADEN 0x04 |
Definition at line 446 of file enc28j60_driver.h.
◆ ETH_REG_TYPE
#define ETH_REG_TYPE 0x0000 |
Definition at line 67 of file enc28j60_driver.h.
◆ MAC_REG_TYPE
#define MAC_REG_TYPE 0x1000 |
Definition at line 68 of file enc28j60_driver.h.
◆ MII_REG_TYPE
#define MII_REG_TYPE 0x2000 |
Definition at line 69 of file enc28j60_driver.h.
◆ PHY_REG_TYPE
#define PHY_REG_TYPE 0x3000 |
Definition at line 70 of file enc28j60_driver.h.
◆ REG_ADDR_MASK
#define REG_ADDR_MASK 0x001F |
Definition at line 81 of file enc28j60_driver.h.
◆ REG_BANK_MASK
#define REG_BANK_MASK 0x0F00 |
Definition at line 80 of file enc28j60_driver.h.
◆ REG_TYPE_MASK
#define REG_TYPE_MASK 0xF000 |
Definition at line 79 of file enc28j60_driver.h.
Function Documentation
◆ enc28j60CalcCrc()
uint32_t enc28j60CalcCrc | ( | const void * | data, |
size_t | length | ||
) |
CRC calculation using the polynomial 0x4C11DB7.
- Parameters
-
[in] data Pointer to the data over which to calculate the CRC [in] length Number of bytes to process
- Returns
- Resulting CRC value
Definition at line 970 of file enc28j60_driver.c.
◆ enc28j60ClearBit()
void enc28j60ClearBit | ( | NetInterface * | interface, |
uint16_t | address, | ||
uint16_t | mask | ||
) |
Clear bit field.
- Parameters
-
[in] interface Underlying network interface [in] address Register address [in] mask Bits to clear in the target register
Definition at line 948 of file enc28j60_driver.c.
◆ enc28j60DisableIrq()
void enc28j60DisableIrq | ( | NetInterface * | interface | ) |
Disable interrupts.
- Parameters
-
[in] interface Underlying network interface
Definition at line 275 of file enc28j60_driver.c.
◆ enc28j60DumpPhyReg()
void enc28j60DumpPhyReg | ( | NetInterface * | interface | ) |
Dump PHY registers for debugging purpose.
- Parameters
-
[in] interface Underlying network interface
Definition at line 1065 of file enc28j60_driver.c.
◆ enc28j60DumpReg()
void enc28j60DumpReg | ( | NetInterface * | interface | ) |
Dump registers for debugging purpose.
- Parameters
-
[in] interface Underlying network interface
Definition at line 1010 of file enc28j60_driver.c.
◆ enc28j60EnableIrq()
void enc28j60EnableIrq | ( | NetInterface * | interface | ) |
Enable interrupts.
- Parameters
-
[in] interface Underlying network interface
Definition at line 260 of file enc28j60_driver.c.
◆ enc28j60EventHandler()
void enc28j60EventHandler | ( | NetInterface * | interface | ) |
ENC28J60 event handler.
- Parameters
-
[in] interface Underlying network interface
Definition at line 354 of file enc28j60_driver.c.
◆ enc28j60Init()
error_t enc28j60Init | ( | NetInterface * | interface | ) |
ENC28J60 controller initialization.
- Parameters
-
[in] interface Underlying network interface
- Returns
- Error code
Definition at line 71 of file enc28j60_driver.c.
◆ enc28j60InitHook()
void enc28j60InitHook | ( | NetInterface * | interface | ) |
ENC28J60 custom configuration.
- Parameters
-
[in] interface Underlying network interface
Definition at line 240 of file enc28j60_driver.c.
◆ enc28j60IrqHandler()
bool_t enc28j60IrqHandler | ( | NetInterface * | interface | ) |
ENC28J60 interrupt service routine.
- Parameters
-
[in] interface Underlying network interface
- Returns
- TRUE if a higher priority task must be woken. Else FALSE is returned
Definition at line 291 of file enc28j60_driver.c.
◆ enc28j60ReadBuffer()
void enc28j60ReadBuffer | ( | NetInterface * | interface, |
uint8_t * | data, | ||
size_t | length | ||
) |
Read SRAM buffer.
- Parameters
-
[in] interface Underlying network interface [out] data Buffer where to store the incoming data [in] length Number of data to read
Definition at line 897 of file enc28j60_driver.c.
◆ enc28j60ReadPhyReg()
uint16_t enc28j60ReadPhyReg | ( | NetInterface * | interface, |
uint16_t | address | ||
) |
Read PHY register.
- Parameters
-
[in] interface Underlying network interface [in] address PHY register address
- Returns
- Register value
Definition at line 808 of file enc28j60_driver.c.
◆ enc28j60ReadReg()
uint8_t enc28j60ReadReg | ( | NetInterface * | interface, |
uint16_t | address | ||
) |
Read ENC28J60 register.
- Parameters
-
[in] interface Underlying network interface [in] address Register address
- Returns
- Register value
Definition at line 746 of file enc28j60_driver.c.
◆ enc28j60ReceivePacket()
error_t enc28j60ReceivePacket | ( | NetInterface * | interface | ) |
Receive a packet.
- Parameters
-
[in] interface Underlying network interface
- Returns
- Error code
Definition at line 495 of file enc28j60_driver.c.
◆ enc28j60SelectBank()
void enc28j60SelectBank | ( | NetInterface * | interface, |
uint16_t | address | ||
) |
Bank selection.
- Parameters
-
[in] interface Underlying network interface [in] address Register address
Definition at line 668 of file enc28j60_driver.c.
◆ enc28j60SendPacket()
error_t enc28j60SendPacket | ( | NetInterface * | interface, |
const NetBuffer * | buffer, | ||
size_t | offset, | ||
NetTxAncillary * | ancillary | ||
) |
Send a packet.
- Parameters
-
[in] interface Underlying network interface [in] buffer Multi-part buffer containing the data to send [in] offset Offset to the first data byte [in] ancillary Additional options passed to the stack along with the packet
- Returns
- Error code
Definition at line 431 of file enc28j60_driver.c.
◆ enc28j60SetBit()
void enc28j60SetBit | ( | NetInterface * | interface, |
uint16_t | address, | ||
uint16_t | mask | ||
) |
Set bit field.
- Parameters
-
[in] interface Underlying network interface [in] address Register address [in] mask Bits to set in the target register
Definition at line 926 of file enc28j60_driver.c.
◆ enc28j60SoftReset()
void enc28j60SoftReset | ( | NetInterface * | interface | ) |
ENC28J60 controller reset.
- Parameters
-
[in] interface Underlying network interface
Definition at line 649 of file enc28j60_driver.c.
◆ enc28j60Tick()
void enc28j60Tick | ( | NetInterface * | interface | ) |
ENC28J60 timer handler.
- Parameters
-
[in] interface Underlying network interface
Definition at line 250 of file enc28j60_driver.c.
◆ enc28j60UpdateMacAddrFilter()
error_t enc28j60UpdateMacAddrFilter | ( | NetInterface * | interface | ) |
Configure MAC address filtering.
- Parameters
-
[in] interface Underlying network interface
- Returns
- Error code
Definition at line 586 of file enc28j60_driver.c.
◆ enc28j60WriteBuffer()
void enc28j60WriteBuffer | ( | NetInterface * | interface, |
const NetBuffer * | buffer, | ||
size_t | offset | ||
) |
Write SRAM buffer.
- Parameters
-
[in] interface Underlying network interface [in] buffer Multi-part buffer containing the data to be written [in] offset Offset to the first data byte
Definition at line 842 of file enc28j60_driver.c.
◆ enc28j60WritePhyReg()
void enc28j60WritePhyReg | ( | NetInterface * | interface, |
uint16_t | address, | ||
uint16_t | data | ||
) |
Write PHY register.
- Parameters
-
[in] interface Underlying network interface [in] address PHY register address [in] data Register value
Definition at line 783 of file enc28j60_driver.c.
◆ enc28j60WriteReg()
void enc28j60WriteReg | ( | NetInterface * | interface, |
uint16_t | address, | ||
uint8_t | data | ||
) |
Write ENC28J60 register.
- Parameters
-
[in] interface Underlying network interface [in] address Register address [in] data Register value
Definition at line 721 of file enc28j60_driver.c.
Variable Documentation
◆ enc28j60Driver
|
extern |
ENC28J60 driver.
Definition at line 44 of file enc28j60_driver.c.