w5500_driver.h File Reference

WIZnet W5500 Ethernet controller. More...

#include "core/nic.h"

Go to the source code of this file.

Macros

#define W5500_ETH_TX_BUFFER_SIZE   1536
 
#define W5500_ETH_RX_BUFFER_SIZE   1536
 
#define W5500_CTRL_BSB   0xF8
 
#define W5500_CTRL_BSB_COMMON_REG   0x00
 
#define W5500_CTRL_BSB_S0_REG   0x08
 
#define W5500_CTRL_BSB_S0_TX_BUFFER   0x10
 
#define W5500_CTRL_BSB_S0_RX_BUFFER   0x18
 
#define W5500_CTRL_BSB_S1_REG   0x28
 
#define W5500_CTRL_BSB_S1_TX_BUFFER   0x30
 
#define W5500_CTRL_BSB_S1_RX_BUFFER   0x38
 
#define W5500_CTRL_BSB_S2_REG   0x48
 
#define W5500_CTRL_BSB_S2_TX_BUFFER   0x50
 
#define W5500_CTRL_BSB_S2_RX_BUFFER   0x58
 
#define W5500_CTRL_BSB_S3_REG   0x68
 
#define W5500_CTRL_BSB_S3_TX_BUFFER   0x70
 
#define W5500_CTRL_BSB_S3_RX_BUFFER   0x78
 
#define W5500_CTRL_BSB_S4_REG   0x88
 
#define W5500_CTRL_BSB_S4_TX_BUFFER   0x90
 
#define W5500_CTRL_BSB_S4_RX_BUFFER   0x98
 
#define W5500_CTRL_BSB_S5_REG   0xA8
 
#define W5500_CTRL_BSB_S5_TX_BUFFER   0xB0
 
#define W5500_CTRL_BSB_S5_RX_BUFFER   0xB8
 
#define W5500_CTRL_BSB_S6_REG   0xC8
 
#define W5500_CTRL_BSB_S6_TX_BUFFER   0xD0
 
#define W5500_CTRL_BSB_S6_RX_BUFFER   0xD8
 
#define W5500_CTRL_BSB_S7_REG   0xE8
 
#define W5500_CTRL_BSB_S7_TX_BUFFER   0xF0
 
#define W5500_CTRL_BSB_S7_RX_BUFFER   0xF8
 
#define W5500_CTRL_RWB   0x04
 
#define W5500_CTRL_RWB_READ   0x00
 
#define W5500_CTRL_RWB_WRITE   0x04
 
#define W5500_CTRL_OM   0x03
 
#define W5500_CTRL_OM_VDM   0x00
 
#define W5500_CTRL_OM_FDM1   0x01
 
#define W5500_CTRL_OM_FDM2   0x02
 
#define W5500_CTRL_OM_FDM4   0x03
 
#define W5500_MR   0x00
 
#define W5500_GAR0   0x01
 
#define W5500_GAR1   0x01
 
#define W5500_GAR2   0x02
 
#define W5500_GAR3   0x03
 
#define W5500_SUBR0   0x05
 
#define W5500_SUBR1   0x06
 
#define W5500_SUBR2   0x07
 
#define W5500_SUBR3   0x08
 
#define W5500_SHAR0   0x09
 
#define W5500_SHAR1   0x0A
 
#define W5500_SHAR2   0x0B
 
#define W5500_SHAR3   0x0C
 
#define W5500_SHAR4   0x0D
 
#define W5500_SHAR5   0x0E
 
#define W5500_SIPR0   0x0F
 
#define W5500_SIPR1   0x10
 
#define W5500_SIPR2   0x11
 
#define W5500_SIPR3   0x12
 
#define W5500_INTLEVEL0   0x13
 
#define W5500_INTLEVEL1   0x14
 
#define W5500_IR   0x15
 
#define W5500_IMR   0x16
 
#define W5500_SIR   0x17
 
#define W5500_SIMR   0x18
 
#define W5500_RTR0   0x19
 
#define W5500_RTR1   0x1A
 
#define W5500_RCR   0x1B
 
#define W5500_PTIMER   0x1C
 
#define W5500_PMAGIC   0x1D
 
#define W5500_PHAR0   0x1E
 
#define W5500_PHAR1   0x1F
 
#define W5500_PHAR2   0x20
 
#define W5500_PHAR3   0x21
 
#define W5500_PHAR4   0x22
 
#define W5500_PHAR5   0x23
 
#define W5500_PSID0   0x24
 
#define W5500_PSID1   0x25
 
#define W5500_PMRU0   0x26
 
#define W5500_PMRU1   0x27
 
#define W5500_UIPR0   0x28
 
#define W5500_UIPR1   0x29
 
#define W5500_UIPR2   0x2A
 
#define W5500_UIPR3   0x2B
 
#define W5500_UPORTR0   0x2C
 
#define W5500_UPORTR1   0x2D
 
#define W5500_PHYCFGR   0x2E
 
#define W5500_VERSIONR   0x39
 
#define W5500_Sn_MR   0x00
 
#define W5500_Sn_CR   0x01
 
#define W5500_Sn_IR   0x02
 
#define W5500_Sn_SR   0x03
 
#define W5500_Sn_PORT0   0x04
 
#define W5500_Sn_PORT1   0x05
 
#define W5500_Sn_DHAR0   0x06
 
#define W5500_Sn_DHAR1   0x07
 
#define W5500_Sn_DHAR2   0x08
 
#define W5500_Sn_DHAR3   0x09
 
#define W5500_Sn_DHAR4   0x0A
 
#define W5500_Sn_DHAR5   0x0B
 
#define W5500_Sn_DIPR0   0x0C
 
#define W5500_Sn_DIPR1   0x0D
 
#define W5500_Sn_DIPR2   0x0E
 
#define W5500_Sn_DIPR3   0x0F
 
#define W5500_Sn_DPORT0   0x10
 
#define W5500_Sn_DPORT1   0x11
 
#define W5500_Sn_MSSR0   0x12
 
#define W5500_Sn_MSSR1   0x13
 
#define W5500_Sn_TOS   0x15
 
#define W5500_Sn_TTL   0x16
 
#define W5500_Sn_RXBUF_SIZE   0x1E
 
#define W5500_Sn_TXBUF_SIZE   0x1F
 
#define W5500_Sn_TX_FSR0   0x20
 
#define W5500_Sn_TX_FSR1   0x21
 
#define W5500_Sn_TX_RD0   0x22
 
#define W5500_Sn_TX_RD1   0x23
 
#define W5500_Sn_TX_WR0   0x24
 
#define W5500_Sn_TX_WR1   0x25
 
#define W5500_Sn_RX_RSR0   0x26
 
#define W5500_Sn_RX_RSR1   0x27
 
#define W5500_Sn_RX_RD0   0x28
 
#define W5500_Sn_RX_RD1   0x29
 
#define W5500_Sn_RX_WR0   0x2A
 
#define W5500_Sn_RX_WR1   0x2B
 
#define W5500_Sn_IMR   0x2C
 
#define W5500_Sn_FRAG0   0x2D
 
#define W5500_Sn_FRAG1   0x2E
 
#define W5500_Sn_KPALVTR   0x2F
 
#define W5500_MR_RST   0x80
 
#define W5500_MR_WOL   0x20
 
#define W5500_MR_PB   0x10
 
#define W5500_MR_PPPOE   0x08
 
#define W5500_MR_FARP   0x02
 
#define W5500_IR_CONFLICT   0x80
 
#define W5500_IR_UNREACH   0x40
 
#define W5500_IR_PPPOE   0x20
 
#define W5500_IR_MP   0x10
 
#define W5500_IMR_CONFLICT   0x80
 
#define W5500_IMR_UNREACH   0x40
 
#define W5500_IMR_PPPOE   0x20
 
#define W5500_IMR_MP   0x10
 
#define W5500_SIR_S7_INT   0x80
 
#define W5500_SIR_S6_INT   0x40
 
#define W5500_SIR_S5_INT   0x20
 
#define W5500_SIR_S4_INT   0x10
 
#define W5500_SIR_S3_INT   0x08
 
#define W5500_SIR_S2_INT   0x04
 
#define W5500_SIR_S1_INT   0x02
 
#define W5500_SIR_S0_INT   0x01
 
#define W5500_SIMR_S7_IMR   0x80
 
#define W5500_SIMR_S6_IMR   0x40
 
#define W5500_SIMR_S5_IMR   0x20
 
#define W5500_SIMR_S4_IMR   0x10
 
#define W5500_SIMR_S3_IMR   0x08
 
#define W5500_SIMR_S2_IMR   0x04
 
#define W5500_SIMR_S1_IMR   0x02
 
#define W5500_SIMR_S0_IMR   0x01
 
#define W5500_PHYCFGR_RST   0x80
 
#define W5500_PHYCFGR_OPMD   0x40
 
#define W5500_PHYCFGR_OPMDC   0x38
 
#define W5500_PHYCFGR_OPMDC_10BT_HD   0x00
 
#define W5500_PHYCFGR_OPMDC_10BT_FD   0x08
 
#define W5500_PHYCFGR_OPMDC_100BT_HD   0x10
 
#define W5500_PHYCFGR_OPMDC_100BT_FD   0x18
 
#define W5500_PHYCFGR_OPMDC_100BT_HD_AN   0x20
 
#define W5500_PHYCFGR_OPMDC_PD   0x30
 
#define W5500_PHYCFGR_OPMDC_ALL_AN   0x38
 
#define W5500_PHYCFGR_DPX   0x04
 
#define W5500_PHYCFGR_SPD   0x02
 
#define W5500_PHYCFGR_LNK   0x01
 
#define W5500_VERSIONR_DEFAULT   0x04
 
#define W5500_Sn_MR_MULTI   0x80
 
#define W5500_Sn_MR_MFEN   0x80
 
#define W5500_Sn_MR_BCASTB   0x40
 
#define W5500_Sn_MR_ND   0x20
 
#define W5500_Sn_MR_MC   0x20
 
#define W5500_Sn_MR_MMB   0x20
 
#define W5500_Sn_MR_UCASTB   0x10
 
#define W5500_Sn_MR_MIP6B   0x10
 
#define W5500_Sn_MR_PROTOCOL   0x0F
 
#define W5500_Sn_MR_PROTOCOL_CLOSED   0x00
 
#define W5500_Sn_MR_PROTOCOL_TCP   0x01
 
#define W5500_Sn_MR_PROTOCOL_UDP   0x02
 
#define W5500_Sn_MR_PROTOCOL_MACRAW   0x04
 
#define W5500_Sn_CR_OPEN   0x01
 
#define W5500_Sn_CR_LISTEN   0x02
 
#define W5500_Sn_CR_CONNECT   0x04
 
#define W5500_Sn_CR_DISCON   0x08
 
#define W5500_Sn_CR_CLOSE   0x10
 
#define W5500_Sn_CR_SEND   0x20
 
#define W5500_Sn_CR_SEND_MAC   0x21
 
#define W5500_Sn_CR_SEND_KEEP   0x22
 
#define W5500_Sn_CR_RECV   0x40
 
#define W5500_Sn_IR_SEND_OK   0x10
 
#define W5500_Sn_IR_TIMEOUT   0x08
 
#define W5500_Sn_IR_RECV   0x04
 
#define W5500_Sn_IR_DISCON   0x02
 
#define W5500_Sn_IR_CON   0x01
 
#define W5500_Sn_SR_SOCK_CLOSED   0x00
 
#define W5500_Sn_SR_SOCK_INIT   0x13
 
#define W5500_Sn_SR_SOCK_LISTEN   0x14
 
#define W5500_Sn_SR_SOCK_SYNSENT   0x15
 
#define W5500_Sn_SR_SOCK_SYNRECV   0x16
 
#define W5500_Sn_SR_SOCK_ESTABLISHED   0x17
 
#define W5500_Sn_SR_SOCK_FIN_WAIT   0x18
 
#define W5500_Sn_SR_SOCK_CLOSING   0x1A
 
#define W5500_Sn_SR_SOCK_TIME_WAIT   0x1B
 
#define W5500_Sn_SR_SOCK_CLOSE_WAIT   0x1C
 
#define W5500_Sn_SR_SOCK_LAST_ACK   0x1D
 
#define W5500_Sn_SR_SOCK_UDP   0x22
 
#define W5500_Sn_SR_SOCK_MACRAW   0x42
 
#define W5500_Sn_RXBUF_SIZE_0KB   0x00
 
#define W5500_Sn_RXBUF_SIZE_1KB   0x01
 
#define W5500_Sn_RXBUF_SIZE_2KB   0x02
 
#define W5500_Sn_RXBUF_SIZE_4KB   0x04
 
#define W5500_Sn_RXBUF_SIZE_8KB   0x08
 
#define W5500_Sn_RXBUF_SIZE_16KB   0x10
 
#define W5500_Sn_TXBUF_SIZE_0KB   0x00
 
#define W5500_Sn_TXBUF_SIZE_1KB   0x01
 
#define W5500_Sn_TXBUF_SIZE_2KB   0x02
 
#define W5500_Sn_TXBUF_SIZE_4KB   0x04
 
#define W5500_Sn_TXBUF_SIZE_8KB   0x08
 
#define W5500_Sn_TXBUF_SIZE_16KB   0x10
 
#define W5500_Sn_IMR_SEND_OK   0x10
 
#define W5500_Sn_IMR_TIMEOUT   0x08
 
#define W5500_Sn_IMR_RECV   0x04
 
#define W5500_Sn_IMR_DISCON   0x02
 
#define W5500_Sn_IMR_CON   0x01
 
#define W5500_CTRL_BSB_Sn_REG(n)   (0x08 + (n) * 0x20)
 
#define W5500_CTRL_BSB_Sn_TX_BUFFER(n)   (0x10 + (n) * 0x20)
 
#define W5500_CTRL_BSB_Sn_RX_BUFFER(n)   (0x18 + (n) * 0x20)
 

Functions

error_t w5500Init (NetInterface *interface)
 W5500 controller initialization. More...
 
void w5500InitHook (NetInterface *interface)
 W5500 custom configuration. More...
 
void w5500Tick (NetInterface *interface)
 W5500 timer handler. More...
 
void w5500EnableIrq (NetInterface *interface)
 Enable interrupts. More...
 
void w5500DisableIrq (NetInterface *interface)
 Disable interrupts. More...
 
bool_t w5500IrqHandler (NetInterface *interface)
 W5500 interrupt service routine. More...
 
void w5500EventHandler (NetInterface *interface)
 W5500 event handler. More...
 
error_t w5500SendPacket (NetInterface *interface, const NetBuffer *buffer, size_t offset, NetTxAncillary *ancillary)
 Send a packet. More...
 
error_t w5500ReceivePacket (NetInterface *interface)
 Receive a packet. More...
 
error_t w5500UpdateMacAddrFilter (NetInterface *interface)
 Configure MAC address filtering. More...
 
void w5500WriteReg8 (NetInterface *interface, uint8_t control, uint16_t address, uint8_t data)
 Write 8-bit register. More...
 
uint8_t w5500ReadReg8 (NetInterface *interface, uint8_t control, uint16_t address)
 Read 8-bit register. More...
 
void w5500WriteReg16 (NetInterface *interface, uint8_t control, uint16_t address, uint16_t data)
 Write 16-bit register. More...
 
uint16_t w5500ReadReg16 (NetInterface *interface, uint8_t control, uint16_t address)
 Read 16-bit register. More...
 
void w5500WriteBuffer (NetInterface *interface, uint8_t control, uint16_t address, const uint8_t *data, size_t length)
 Write TX buffer. More...
 
void w5500ReadBuffer (NetInterface *interface, uint8_t control, uint16_t address, uint8_t *data, size_t length)
 Read RX buffer. More...
 
void w5500DumpReg (NetInterface *interface)
 Dump registers for debugging purpose. More...
 

Variables

const NicDriver w5500Driver
 W5500 driver. More...
 

Detailed Description

WIZnet W5500 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.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.0

Definition in file w5500_driver.h.

Macro Definition Documentation

◆ W5500_CTRL_BSB

#define W5500_CTRL_BSB   0xF8

Definition at line 52 of file w5500_driver.h.

◆ W5500_CTRL_BSB_COMMON_REG

#define W5500_CTRL_BSB_COMMON_REG   0x00

Definition at line 53 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S0_REG

#define W5500_CTRL_BSB_S0_REG   0x08

Definition at line 54 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S0_RX_BUFFER

#define W5500_CTRL_BSB_S0_RX_BUFFER   0x18

Definition at line 56 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S0_TX_BUFFER

#define W5500_CTRL_BSB_S0_TX_BUFFER   0x10

Definition at line 55 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S1_REG

#define W5500_CTRL_BSB_S1_REG   0x28

Definition at line 57 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S1_RX_BUFFER

#define W5500_CTRL_BSB_S1_RX_BUFFER   0x38

Definition at line 59 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S1_TX_BUFFER

#define W5500_CTRL_BSB_S1_TX_BUFFER   0x30

Definition at line 58 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S2_REG

#define W5500_CTRL_BSB_S2_REG   0x48

Definition at line 60 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S2_RX_BUFFER

#define W5500_CTRL_BSB_S2_RX_BUFFER   0x58

Definition at line 62 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S2_TX_BUFFER

#define W5500_CTRL_BSB_S2_TX_BUFFER   0x50

Definition at line 61 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S3_REG

#define W5500_CTRL_BSB_S3_REG   0x68

Definition at line 63 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S3_RX_BUFFER

#define W5500_CTRL_BSB_S3_RX_BUFFER   0x78

Definition at line 65 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S3_TX_BUFFER

#define W5500_CTRL_BSB_S3_TX_BUFFER   0x70

Definition at line 64 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S4_REG

#define W5500_CTRL_BSB_S4_REG   0x88

Definition at line 66 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S4_RX_BUFFER

#define W5500_CTRL_BSB_S4_RX_BUFFER   0x98

Definition at line 68 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S4_TX_BUFFER

#define W5500_CTRL_BSB_S4_TX_BUFFER   0x90

Definition at line 67 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S5_REG

#define W5500_CTRL_BSB_S5_REG   0xA8

Definition at line 69 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S5_RX_BUFFER

#define W5500_CTRL_BSB_S5_RX_BUFFER   0xB8

Definition at line 71 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S5_TX_BUFFER

#define W5500_CTRL_BSB_S5_TX_BUFFER   0xB0

Definition at line 70 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S6_REG

#define W5500_CTRL_BSB_S6_REG   0xC8

Definition at line 72 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S6_RX_BUFFER

#define W5500_CTRL_BSB_S6_RX_BUFFER   0xD8

Definition at line 74 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S6_TX_BUFFER

#define W5500_CTRL_BSB_S6_TX_BUFFER   0xD0

Definition at line 73 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S7_REG

#define W5500_CTRL_BSB_S7_REG   0xE8

Definition at line 75 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S7_RX_BUFFER

#define W5500_CTRL_BSB_S7_RX_BUFFER   0xF8

Definition at line 77 of file w5500_driver.h.

◆ W5500_CTRL_BSB_S7_TX_BUFFER

#define W5500_CTRL_BSB_S7_TX_BUFFER   0xF0

Definition at line 76 of file w5500_driver.h.

◆ W5500_CTRL_BSB_Sn_REG

#define W5500_CTRL_BSB_Sn_REG (   n)    (0x08 + (n) * 0x20)

Definition at line 308 of file w5500_driver.h.

◆ W5500_CTRL_BSB_Sn_RX_BUFFER

#define W5500_CTRL_BSB_Sn_RX_BUFFER (   n)    (0x18 + (n) * 0x20)

Definition at line 310 of file w5500_driver.h.

◆ W5500_CTRL_BSB_Sn_TX_BUFFER

#define W5500_CTRL_BSB_Sn_TX_BUFFER (   n)    (0x10 + (n) * 0x20)

Definition at line 309 of file w5500_driver.h.

◆ W5500_CTRL_OM

#define W5500_CTRL_OM   0x03

Definition at line 81 of file w5500_driver.h.

◆ W5500_CTRL_OM_FDM1

#define W5500_CTRL_OM_FDM1   0x01

Definition at line 83 of file w5500_driver.h.

◆ W5500_CTRL_OM_FDM2

#define W5500_CTRL_OM_FDM2   0x02

Definition at line 84 of file w5500_driver.h.

◆ W5500_CTRL_OM_FDM4

#define W5500_CTRL_OM_FDM4   0x03

Definition at line 85 of file w5500_driver.h.

◆ W5500_CTRL_OM_VDM

#define W5500_CTRL_OM_VDM   0x00

Definition at line 82 of file w5500_driver.h.

◆ W5500_CTRL_RWB

#define W5500_CTRL_RWB   0x04

Definition at line 78 of file w5500_driver.h.

◆ W5500_CTRL_RWB_READ

#define W5500_CTRL_RWB_READ   0x00

Definition at line 79 of file w5500_driver.h.

◆ W5500_CTRL_RWB_WRITE

#define W5500_CTRL_RWB_WRITE   0x04

Definition at line 80 of file w5500_driver.h.

◆ W5500_ETH_RX_BUFFER_SIZE

#define W5500_ETH_RX_BUFFER_SIZE   1536

Definition at line 46 of file w5500_driver.h.

◆ W5500_ETH_TX_BUFFER_SIZE

#define W5500_ETH_TX_BUFFER_SIZE   1536

Definition at line 39 of file w5500_driver.h.

◆ W5500_GAR0

#define W5500_GAR0   0x01

Definition at line 89 of file w5500_driver.h.

◆ W5500_GAR1

#define W5500_GAR1   0x01

Definition at line 90 of file w5500_driver.h.

◆ W5500_GAR2

#define W5500_GAR2   0x02

Definition at line 91 of file w5500_driver.h.

◆ W5500_GAR3

#define W5500_GAR3   0x03

Definition at line 92 of file w5500_driver.h.

◆ W5500_IMR

#define W5500_IMR   0x16

Definition at line 110 of file w5500_driver.h.

◆ W5500_IMR_CONFLICT

#define W5500_IMR_CONFLICT   0x80

Definition at line 193 of file w5500_driver.h.

◆ W5500_IMR_MP

#define W5500_IMR_MP   0x10

Definition at line 196 of file w5500_driver.h.

◆ W5500_IMR_PPPOE

#define W5500_IMR_PPPOE   0x20

Definition at line 195 of file w5500_driver.h.

◆ W5500_IMR_UNREACH

#define W5500_IMR_UNREACH   0x40

Definition at line 194 of file w5500_driver.h.

◆ W5500_INTLEVEL0

#define W5500_INTLEVEL0   0x13

Definition at line 107 of file w5500_driver.h.

◆ W5500_INTLEVEL1

#define W5500_INTLEVEL1   0x14

Definition at line 108 of file w5500_driver.h.

◆ W5500_IR

#define W5500_IR   0x15

Definition at line 109 of file w5500_driver.h.

◆ W5500_IR_CONFLICT

#define W5500_IR_CONFLICT   0x80

Definition at line 187 of file w5500_driver.h.

◆ W5500_IR_MP

#define W5500_IR_MP   0x10

Definition at line 190 of file w5500_driver.h.

◆ W5500_IR_PPPOE

#define W5500_IR_PPPOE   0x20

Definition at line 189 of file w5500_driver.h.

◆ W5500_IR_UNREACH

#define W5500_IR_UNREACH   0x40

Definition at line 188 of file w5500_driver.h.

◆ W5500_MR

#define W5500_MR   0x00

Definition at line 88 of file w5500_driver.h.

◆ W5500_MR_FARP

#define W5500_MR_FARP   0x02

Definition at line 184 of file w5500_driver.h.

◆ W5500_MR_PB

#define W5500_MR_PB   0x10

Definition at line 182 of file w5500_driver.h.

◆ W5500_MR_PPPOE

#define W5500_MR_PPPOE   0x08

Definition at line 183 of file w5500_driver.h.

◆ W5500_MR_RST

#define W5500_MR_RST   0x80

Definition at line 180 of file w5500_driver.h.

◆ W5500_MR_WOL

#define W5500_MR_WOL   0x20

Definition at line 181 of file w5500_driver.h.

◆ W5500_PHAR0

#define W5500_PHAR0   0x1E

Definition at line 118 of file w5500_driver.h.

◆ W5500_PHAR1

#define W5500_PHAR1   0x1F

Definition at line 119 of file w5500_driver.h.

◆ W5500_PHAR2

#define W5500_PHAR2   0x20

Definition at line 120 of file w5500_driver.h.

◆ W5500_PHAR3

#define W5500_PHAR3   0x21

Definition at line 121 of file w5500_driver.h.

◆ W5500_PHAR4

#define W5500_PHAR4   0x22

Definition at line 122 of file w5500_driver.h.

◆ W5500_PHAR5

#define W5500_PHAR5   0x23

Definition at line 123 of file w5500_driver.h.

◆ W5500_PHYCFGR

#define W5500_PHYCFGR   0x2E

Definition at line 134 of file w5500_driver.h.

◆ W5500_PHYCFGR_DPX

#define W5500_PHYCFGR_DPX   0x04

Definition at line 229 of file w5500_driver.h.

◆ W5500_PHYCFGR_LNK

#define W5500_PHYCFGR_LNK   0x01

Definition at line 231 of file w5500_driver.h.

◆ W5500_PHYCFGR_OPMD

#define W5500_PHYCFGR_OPMD   0x40

Definition at line 220 of file w5500_driver.h.

◆ W5500_PHYCFGR_OPMDC

#define W5500_PHYCFGR_OPMDC   0x38

Definition at line 221 of file w5500_driver.h.

◆ W5500_PHYCFGR_OPMDC_100BT_FD

#define W5500_PHYCFGR_OPMDC_100BT_FD   0x18

Definition at line 225 of file w5500_driver.h.

◆ W5500_PHYCFGR_OPMDC_100BT_HD

#define W5500_PHYCFGR_OPMDC_100BT_HD   0x10

Definition at line 224 of file w5500_driver.h.

◆ W5500_PHYCFGR_OPMDC_100BT_HD_AN

#define W5500_PHYCFGR_OPMDC_100BT_HD_AN   0x20

Definition at line 226 of file w5500_driver.h.

◆ W5500_PHYCFGR_OPMDC_10BT_FD

#define W5500_PHYCFGR_OPMDC_10BT_FD   0x08

Definition at line 223 of file w5500_driver.h.

◆ W5500_PHYCFGR_OPMDC_10BT_HD

#define W5500_PHYCFGR_OPMDC_10BT_HD   0x00

Definition at line 222 of file w5500_driver.h.

◆ W5500_PHYCFGR_OPMDC_ALL_AN

#define W5500_PHYCFGR_OPMDC_ALL_AN   0x38

Definition at line 228 of file w5500_driver.h.

◆ W5500_PHYCFGR_OPMDC_PD

#define W5500_PHYCFGR_OPMDC_PD   0x30

Definition at line 227 of file w5500_driver.h.

◆ W5500_PHYCFGR_RST

#define W5500_PHYCFGR_RST   0x80

Definition at line 219 of file w5500_driver.h.

◆ W5500_PHYCFGR_SPD

#define W5500_PHYCFGR_SPD   0x02

Definition at line 230 of file w5500_driver.h.

◆ W5500_PMAGIC

#define W5500_PMAGIC   0x1D

Definition at line 117 of file w5500_driver.h.

◆ W5500_PMRU0

#define W5500_PMRU0   0x26

Definition at line 126 of file w5500_driver.h.

◆ W5500_PMRU1

#define W5500_PMRU1   0x27

Definition at line 127 of file w5500_driver.h.

◆ W5500_PSID0

#define W5500_PSID0   0x24

Definition at line 124 of file w5500_driver.h.

◆ W5500_PSID1

#define W5500_PSID1   0x25

Definition at line 125 of file w5500_driver.h.

◆ W5500_PTIMER

#define W5500_PTIMER   0x1C

Definition at line 116 of file w5500_driver.h.

◆ W5500_RCR

#define W5500_RCR   0x1B

Definition at line 115 of file w5500_driver.h.

◆ W5500_RTR0

#define W5500_RTR0   0x19

Definition at line 113 of file w5500_driver.h.

◆ W5500_RTR1

#define W5500_RTR1   0x1A

Definition at line 114 of file w5500_driver.h.

◆ W5500_SHAR0

#define W5500_SHAR0   0x09

Definition at line 97 of file w5500_driver.h.

◆ W5500_SHAR1

#define W5500_SHAR1   0x0A

Definition at line 98 of file w5500_driver.h.

◆ W5500_SHAR2

#define W5500_SHAR2   0x0B

Definition at line 99 of file w5500_driver.h.

◆ W5500_SHAR3

#define W5500_SHAR3   0x0C

Definition at line 100 of file w5500_driver.h.

◆ W5500_SHAR4

#define W5500_SHAR4   0x0D

Definition at line 101 of file w5500_driver.h.

◆ W5500_SHAR5

#define W5500_SHAR5   0x0E

Definition at line 102 of file w5500_driver.h.

◆ W5500_SIMR

#define W5500_SIMR   0x18

Definition at line 112 of file w5500_driver.h.

◆ W5500_SIMR_S0_IMR

#define W5500_SIMR_S0_IMR   0x01

Definition at line 216 of file w5500_driver.h.

◆ W5500_SIMR_S1_IMR

#define W5500_SIMR_S1_IMR   0x02

Definition at line 215 of file w5500_driver.h.

◆ W5500_SIMR_S2_IMR

#define W5500_SIMR_S2_IMR   0x04

Definition at line 214 of file w5500_driver.h.

◆ W5500_SIMR_S3_IMR

#define W5500_SIMR_S3_IMR   0x08

Definition at line 213 of file w5500_driver.h.

◆ W5500_SIMR_S4_IMR

#define W5500_SIMR_S4_IMR   0x10

Definition at line 212 of file w5500_driver.h.

◆ W5500_SIMR_S5_IMR

#define W5500_SIMR_S5_IMR   0x20

Definition at line 211 of file w5500_driver.h.

◆ W5500_SIMR_S6_IMR

#define W5500_SIMR_S6_IMR   0x40

Definition at line 210 of file w5500_driver.h.

◆ W5500_SIMR_S7_IMR

#define W5500_SIMR_S7_IMR   0x80

Definition at line 209 of file w5500_driver.h.

◆ W5500_SIPR0

#define W5500_SIPR0   0x0F

Definition at line 103 of file w5500_driver.h.

◆ W5500_SIPR1

#define W5500_SIPR1   0x10

Definition at line 104 of file w5500_driver.h.

◆ W5500_SIPR2

#define W5500_SIPR2   0x11

Definition at line 105 of file w5500_driver.h.

◆ W5500_SIPR3

#define W5500_SIPR3   0x12

Definition at line 106 of file w5500_driver.h.

◆ W5500_SIR

#define W5500_SIR   0x17

Definition at line 111 of file w5500_driver.h.

◆ W5500_SIR_S0_INT

#define W5500_SIR_S0_INT   0x01

Definition at line 206 of file w5500_driver.h.

◆ W5500_SIR_S1_INT

#define W5500_SIR_S1_INT   0x02

Definition at line 205 of file w5500_driver.h.

◆ W5500_SIR_S2_INT

#define W5500_SIR_S2_INT   0x04

Definition at line 204 of file w5500_driver.h.

◆ W5500_SIR_S3_INT

#define W5500_SIR_S3_INT   0x08

Definition at line 203 of file w5500_driver.h.

◆ W5500_SIR_S4_INT

#define W5500_SIR_S4_INT   0x10

Definition at line 202 of file w5500_driver.h.

◆ W5500_SIR_S5_INT

#define W5500_SIR_S5_INT   0x20

Definition at line 201 of file w5500_driver.h.

◆ W5500_SIR_S6_INT

#define W5500_SIR_S6_INT   0x40

Definition at line 200 of file w5500_driver.h.

◆ W5500_SIR_S7_INT

#define W5500_SIR_S7_INT   0x80

Definition at line 199 of file w5500_driver.h.

◆ W5500_Sn_CR

#define W5500_Sn_CR   0x01

Definition at line 139 of file w5500_driver.h.

◆ W5500_Sn_CR_CLOSE

#define W5500_Sn_CR_CLOSE   0x10

Definition at line 256 of file w5500_driver.h.

◆ W5500_Sn_CR_CONNECT

#define W5500_Sn_CR_CONNECT   0x04

Definition at line 254 of file w5500_driver.h.

◆ W5500_Sn_CR_DISCON

#define W5500_Sn_CR_DISCON   0x08

Definition at line 255 of file w5500_driver.h.

◆ W5500_Sn_CR_LISTEN

#define W5500_Sn_CR_LISTEN   0x02

Definition at line 253 of file w5500_driver.h.

◆ W5500_Sn_CR_OPEN

#define W5500_Sn_CR_OPEN   0x01

Definition at line 252 of file w5500_driver.h.

◆ W5500_Sn_CR_RECV

#define W5500_Sn_CR_RECV   0x40

Definition at line 260 of file w5500_driver.h.

◆ W5500_Sn_CR_SEND

#define W5500_Sn_CR_SEND   0x20

Definition at line 257 of file w5500_driver.h.

◆ W5500_Sn_CR_SEND_KEEP

#define W5500_Sn_CR_SEND_KEEP   0x22

Definition at line 259 of file w5500_driver.h.

◆ W5500_Sn_CR_SEND_MAC

#define W5500_Sn_CR_SEND_MAC   0x21

Definition at line 258 of file w5500_driver.h.

◆ W5500_Sn_DHAR0

#define W5500_Sn_DHAR0   0x06

Definition at line 144 of file w5500_driver.h.

◆ W5500_Sn_DHAR1

#define W5500_Sn_DHAR1   0x07

Definition at line 145 of file w5500_driver.h.

◆ W5500_Sn_DHAR2

#define W5500_Sn_DHAR2   0x08

Definition at line 146 of file w5500_driver.h.

◆ W5500_Sn_DHAR3

#define W5500_Sn_DHAR3   0x09

Definition at line 147 of file w5500_driver.h.

◆ W5500_Sn_DHAR4

#define W5500_Sn_DHAR4   0x0A

Definition at line 148 of file w5500_driver.h.

◆ W5500_Sn_DHAR5

#define W5500_Sn_DHAR5   0x0B

Definition at line 149 of file w5500_driver.h.

◆ W5500_Sn_DIPR0

#define W5500_Sn_DIPR0   0x0C

Definition at line 150 of file w5500_driver.h.

◆ W5500_Sn_DIPR1

#define W5500_Sn_DIPR1   0x0D

Definition at line 151 of file w5500_driver.h.

◆ W5500_Sn_DIPR2

#define W5500_Sn_DIPR2   0x0E

Definition at line 152 of file w5500_driver.h.

◆ W5500_Sn_DIPR3

#define W5500_Sn_DIPR3   0x0F

Definition at line 153 of file w5500_driver.h.

◆ W5500_Sn_DPORT0

#define W5500_Sn_DPORT0   0x10

Definition at line 154 of file w5500_driver.h.

◆ W5500_Sn_DPORT1

#define W5500_Sn_DPORT1   0x11

Definition at line 155 of file w5500_driver.h.

◆ W5500_Sn_FRAG0

#define W5500_Sn_FRAG0   0x2D

Definition at line 175 of file w5500_driver.h.

◆ W5500_Sn_FRAG1

#define W5500_Sn_FRAG1   0x2E

Definition at line 176 of file w5500_driver.h.

◆ W5500_Sn_IMR

#define W5500_Sn_IMR   0x2C

Definition at line 174 of file w5500_driver.h.

◆ W5500_Sn_IMR_CON

#define W5500_Sn_IMR_CON   0x01

Definition at line 305 of file w5500_driver.h.

◆ W5500_Sn_IMR_DISCON

#define W5500_Sn_IMR_DISCON   0x02

Definition at line 304 of file w5500_driver.h.

◆ W5500_Sn_IMR_RECV

#define W5500_Sn_IMR_RECV   0x04

Definition at line 303 of file w5500_driver.h.

◆ W5500_Sn_IMR_SEND_OK

#define W5500_Sn_IMR_SEND_OK   0x10

Definition at line 301 of file w5500_driver.h.

◆ W5500_Sn_IMR_TIMEOUT

#define W5500_Sn_IMR_TIMEOUT   0x08

Definition at line 302 of file w5500_driver.h.

◆ W5500_Sn_IR

#define W5500_Sn_IR   0x02

Definition at line 140 of file w5500_driver.h.

◆ W5500_Sn_IR_CON

#define W5500_Sn_IR_CON   0x01

Definition at line 267 of file w5500_driver.h.

◆ W5500_Sn_IR_DISCON

#define W5500_Sn_IR_DISCON   0x02

Definition at line 266 of file w5500_driver.h.

◆ W5500_Sn_IR_RECV

#define W5500_Sn_IR_RECV   0x04

Definition at line 265 of file w5500_driver.h.

◆ W5500_Sn_IR_SEND_OK

#define W5500_Sn_IR_SEND_OK   0x10

Definition at line 263 of file w5500_driver.h.

◆ W5500_Sn_IR_TIMEOUT

#define W5500_Sn_IR_TIMEOUT   0x08

Definition at line 264 of file w5500_driver.h.

◆ W5500_Sn_KPALVTR

#define W5500_Sn_KPALVTR   0x2F

Definition at line 177 of file w5500_driver.h.

◆ W5500_Sn_MR

#define W5500_Sn_MR   0x00

Definition at line 138 of file w5500_driver.h.

◆ W5500_Sn_MR_BCASTB

#define W5500_Sn_MR_BCASTB   0x40

Definition at line 239 of file w5500_driver.h.

◆ W5500_Sn_MR_MC

#define W5500_Sn_MR_MC   0x20

Definition at line 241 of file w5500_driver.h.

◆ W5500_Sn_MR_MFEN

#define W5500_Sn_MR_MFEN   0x80

Definition at line 238 of file w5500_driver.h.

◆ W5500_Sn_MR_MIP6B

#define W5500_Sn_MR_MIP6B   0x10

Definition at line 244 of file w5500_driver.h.

◆ W5500_Sn_MR_MMB

#define W5500_Sn_MR_MMB   0x20

Definition at line 242 of file w5500_driver.h.

◆ W5500_Sn_MR_MULTI

#define W5500_Sn_MR_MULTI   0x80

Definition at line 237 of file w5500_driver.h.

◆ W5500_Sn_MR_ND

#define W5500_Sn_MR_ND   0x20

Definition at line 240 of file w5500_driver.h.

◆ W5500_Sn_MR_PROTOCOL

#define W5500_Sn_MR_PROTOCOL   0x0F

Definition at line 245 of file w5500_driver.h.

◆ W5500_Sn_MR_PROTOCOL_CLOSED

#define W5500_Sn_MR_PROTOCOL_CLOSED   0x00

Definition at line 246 of file w5500_driver.h.

◆ W5500_Sn_MR_PROTOCOL_MACRAW

#define W5500_Sn_MR_PROTOCOL_MACRAW   0x04

Definition at line 249 of file w5500_driver.h.

◆ W5500_Sn_MR_PROTOCOL_TCP

#define W5500_Sn_MR_PROTOCOL_TCP   0x01

Definition at line 247 of file w5500_driver.h.

◆ W5500_Sn_MR_PROTOCOL_UDP

#define W5500_Sn_MR_PROTOCOL_UDP   0x02

Definition at line 248 of file w5500_driver.h.

◆ W5500_Sn_MR_UCASTB

#define W5500_Sn_MR_UCASTB   0x10

Definition at line 243 of file w5500_driver.h.

◆ W5500_Sn_MSSR0

#define W5500_Sn_MSSR0   0x12

Definition at line 156 of file w5500_driver.h.

◆ W5500_Sn_MSSR1

#define W5500_Sn_MSSR1   0x13

Definition at line 157 of file w5500_driver.h.

◆ W5500_Sn_PORT0

#define W5500_Sn_PORT0   0x04

Definition at line 142 of file w5500_driver.h.

◆ W5500_Sn_PORT1

#define W5500_Sn_PORT1   0x05

Definition at line 143 of file w5500_driver.h.

◆ W5500_Sn_RX_RD0

#define W5500_Sn_RX_RD0   0x28

Definition at line 170 of file w5500_driver.h.

◆ W5500_Sn_RX_RD1

#define W5500_Sn_RX_RD1   0x29

Definition at line 171 of file w5500_driver.h.

◆ W5500_Sn_RX_RSR0

#define W5500_Sn_RX_RSR0   0x26

Definition at line 168 of file w5500_driver.h.

◆ W5500_Sn_RX_RSR1

#define W5500_Sn_RX_RSR1   0x27

Definition at line 169 of file w5500_driver.h.

◆ W5500_Sn_RX_WR0

#define W5500_Sn_RX_WR0   0x2A

Definition at line 172 of file w5500_driver.h.

◆ W5500_Sn_RX_WR1

#define W5500_Sn_RX_WR1   0x2B

Definition at line 173 of file w5500_driver.h.

◆ W5500_Sn_RXBUF_SIZE

#define W5500_Sn_RXBUF_SIZE   0x1E

Definition at line 160 of file w5500_driver.h.

◆ W5500_Sn_RXBUF_SIZE_0KB

#define W5500_Sn_RXBUF_SIZE_0KB   0x00

Definition at line 285 of file w5500_driver.h.

◆ W5500_Sn_RXBUF_SIZE_16KB

#define W5500_Sn_RXBUF_SIZE_16KB   0x10

Definition at line 290 of file w5500_driver.h.

◆ W5500_Sn_RXBUF_SIZE_1KB

#define W5500_Sn_RXBUF_SIZE_1KB   0x01

Definition at line 286 of file w5500_driver.h.

◆ W5500_Sn_RXBUF_SIZE_2KB

#define W5500_Sn_RXBUF_SIZE_2KB   0x02

Definition at line 287 of file w5500_driver.h.

◆ W5500_Sn_RXBUF_SIZE_4KB

#define W5500_Sn_RXBUF_SIZE_4KB   0x04

Definition at line 288 of file w5500_driver.h.

◆ W5500_Sn_RXBUF_SIZE_8KB

#define W5500_Sn_RXBUF_SIZE_8KB   0x08

Definition at line 289 of file w5500_driver.h.

◆ W5500_Sn_SR

#define W5500_Sn_SR   0x03

Definition at line 141 of file w5500_driver.h.

◆ W5500_Sn_SR_SOCK_CLOSE_WAIT

#define W5500_Sn_SR_SOCK_CLOSE_WAIT   0x1C

Definition at line 279 of file w5500_driver.h.

◆ W5500_Sn_SR_SOCK_CLOSED

#define W5500_Sn_SR_SOCK_CLOSED   0x00

Definition at line 270 of file w5500_driver.h.

◆ W5500_Sn_SR_SOCK_CLOSING

#define W5500_Sn_SR_SOCK_CLOSING   0x1A

Definition at line 277 of file w5500_driver.h.

◆ W5500_Sn_SR_SOCK_ESTABLISHED

#define W5500_Sn_SR_SOCK_ESTABLISHED   0x17

Definition at line 275 of file w5500_driver.h.

◆ W5500_Sn_SR_SOCK_FIN_WAIT

#define W5500_Sn_SR_SOCK_FIN_WAIT   0x18

Definition at line 276 of file w5500_driver.h.

◆ W5500_Sn_SR_SOCK_INIT

#define W5500_Sn_SR_SOCK_INIT   0x13

Definition at line 271 of file w5500_driver.h.

◆ W5500_Sn_SR_SOCK_LAST_ACK

#define W5500_Sn_SR_SOCK_LAST_ACK   0x1D

Definition at line 280 of file w5500_driver.h.

◆ W5500_Sn_SR_SOCK_LISTEN

#define W5500_Sn_SR_SOCK_LISTEN   0x14

Definition at line 272 of file w5500_driver.h.

◆ W5500_Sn_SR_SOCK_MACRAW

#define W5500_Sn_SR_SOCK_MACRAW   0x42

Definition at line 282 of file w5500_driver.h.

◆ W5500_Sn_SR_SOCK_SYNRECV

#define W5500_Sn_SR_SOCK_SYNRECV   0x16

Definition at line 274 of file w5500_driver.h.

◆ W5500_Sn_SR_SOCK_SYNSENT

#define W5500_Sn_SR_SOCK_SYNSENT   0x15

Definition at line 273 of file w5500_driver.h.

◆ W5500_Sn_SR_SOCK_TIME_WAIT

#define W5500_Sn_SR_SOCK_TIME_WAIT   0x1B

Definition at line 278 of file w5500_driver.h.

◆ W5500_Sn_SR_SOCK_UDP

#define W5500_Sn_SR_SOCK_UDP   0x22

Definition at line 281 of file w5500_driver.h.

◆ W5500_Sn_TOS

#define W5500_Sn_TOS   0x15

Definition at line 158 of file w5500_driver.h.

◆ W5500_Sn_TTL

#define W5500_Sn_TTL   0x16

Definition at line 159 of file w5500_driver.h.

◆ W5500_Sn_TX_FSR0

#define W5500_Sn_TX_FSR0   0x20

Definition at line 162 of file w5500_driver.h.

◆ W5500_Sn_TX_FSR1

#define W5500_Sn_TX_FSR1   0x21

Definition at line 163 of file w5500_driver.h.

◆ W5500_Sn_TX_RD0

#define W5500_Sn_TX_RD0   0x22

Definition at line 164 of file w5500_driver.h.

◆ W5500_Sn_TX_RD1

#define W5500_Sn_TX_RD1   0x23

Definition at line 165 of file w5500_driver.h.

◆ W5500_Sn_TX_WR0

#define W5500_Sn_TX_WR0   0x24

Definition at line 166 of file w5500_driver.h.

◆ W5500_Sn_TX_WR1

#define W5500_Sn_TX_WR1   0x25

Definition at line 167 of file w5500_driver.h.

◆ W5500_Sn_TXBUF_SIZE

#define W5500_Sn_TXBUF_SIZE   0x1F

Definition at line 161 of file w5500_driver.h.

◆ W5500_Sn_TXBUF_SIZE_0KB

#define W5500_Sn_TXBUF_SIZE_0KB   0x00

Definition at line 293 of file w5500_driver.h.

◆ W5500_Sn_TXBUF_SIZE_16KB

#define W5500_Sn_TXBUF_SIZE_16KB   0x10

Definition at line 298 of file w5500_driver.h.

◆ W5500_Sn_TXBUF_SIZE_1KB

#define W5500_Sn_TXBUF_SIZE_1KB   0x01

Definition at line 294 of file w5500_driver.h.

◆ W5500_Sn_TXBUF_SIZE_2KB

#define W5500_Sn_TXBUF_SIZE_2KB   0x02

Definition at line 295 of file w5500_driver.h.

◆ W5500_Sn_TXBUF_SIZE_4KB

#define W5500_Sn_TXBUF_SIZE_4KB   0x04

Definition at line 296 of file w5500_driver.h.

◆ W5500_Sn_TXBUF_SIZE_8KB

#define W5500_Sn_TXBUF_SIZE_8KB   0x08

Definition at line 297 of file w5500_driver.h.

◆ W5500_SUBR0

#define W5500_SUBR0   0x05

Definition at line 93 of file w5500_driver.h.

◆ W5500_SUBR1

#define W5500_SUBR1   0x06

Definition at line 94 of file w5500_driver.h.

◆ W5500_SUBR2

#define W5500_SUBR2   0x07

Definition at line 95 of file w5500_driver.h.

◆ W5500_SUBR3

#define W5500_SUBR3   0x08

Definition at line 96 of file w5500_driver.h.

◆ W5500_UIPR0

#define W5500_UIPR0   0x28

Definition at line 128 of file w5500_driver.h.

◆ W5500_UIPR1

#define W5500_UIPR1   0x29

Definition at line 129 of file w5500_driver.h.

◆ W5500_UIPR2

#define W5500_UIPR2   0x2A

Definition at line 130 of file w5500_driver.h.

◆ W5500_UIPR3

#define W5500_UIPR3   0x2B

Definition at line 131 of file w5500_driver.h.

◆ W5500_UPORTR0

#define W5500_UPORTR0   0x2C

Definition at line 132 of file w5500_driver.h.

◆ W5500_UPORTR1

#define W5500_UPORTR1   0x2D

Definition at line 133 of file w5500_driver.h.

◆ W5500_VERSIONR

#define W5500_VERSIONR   0x39

Definition at line 135 of file w5500_driver.h.

◆ W5500_VERSIONR_DEFAULT

#define W5500_VERSIONR_DEFAULT   0x04

Definition at line 234 of file w5500_driver.h.

Function Documentation

◆ w5500DisableIrq()

void w5500DisableIrq ( NetInterface interface)

Disable interrupts.

Parameters
[in]interfaceUnderlying network interface

Definition at line 264 of file w5500_driver.c.

◆ w5500DumpReg()

void w5500DumpReg ( NetInterface interface)

Dump registers for debugging purpose.

Parameters
[in]interfaceUnderlying network interface

Definition at line 726 of file w5500_driver.c.

◆ w5500EnableIrq()

void w5500EnableIrq ( NetInterface interface)

Enable interrupts.

Parameters
[in]interfaceUnderlying network interface

Definition at line 249 of file w5500_driver.c.

◆ w5500EventHandler()

void w5500EventHandler ( NetInterface interface)

W5500 event handler.

Parameters
[in]interfaceUnderlying network interface

Definition at line 342 of file w5500_driver.c.

◆ w5500Init()

error_t w5500Init ( NetInterface interface)

W5500 controller initialization.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 71 of file w5500_driver.c.

◆ w5500InitHook()

void w5500InitHook ( NetInterface interface)

W5500 custom configuration.

Parameters
[in]interfaceUnderlying network interface

Definition at line 182 of file w5500_driver.c.

◆ w5500IrqHandler()

bool_t w5500IrqHandler ( NetInterface interface)

W5500 interrupt service routine.

Parameters
[in]interfaceUnderlying network interface
Returns
TRUE if a higher priority task must be woken. Else FALSE is returned

Definition at line 280 of file w5500_driver.c.

◆ w5500ReadBuffer()

void w5500ReadBuffer ( NetInterface interface,
uint8_t  control,
uint16_t  address,
uint8_t *  data,
size_t  length 
)

Read RX buffer.

Parameters
[in]interfaceUnderlying network interface
[in]controlControl byte
[in]addressBuffer address
[out]dataBuffer where to store the incoming data
[in]lengthNumber of data to read

Definition at line 694 of file w5500_driver.c.

◆ w5500ReadReg16()

uint16_t w5500ReadReg16 ( NetInterface interface,
uint8_t  control,
uint16_t  address 
)

Read 16-bit register.

Parameters
[in]interfaceUnderlying network interface
[in]controlControl byte
[in]addressRegister address
Returns
Register value

Definition at line 621 of file w5500_driver.c.

◆ w5500ReadReg8()

uint8_t w5500ReadReg8 ( NetInterface interface,
uint8_t  control,
uint16_t  address 
)

Read 8-bit register.

Parameters
[in]interfaceUnderlying network interface
[in]controlControl byte
[in]addressRegister address
Returns
Register value

Definition at line 555 of file w5500_driver.c.

◆ w5500ReceivePacket()

error_t w5500ReceivePacket ( NetInterface interface)

Receive a packet.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 432 of file w5500_driver.c.

◆ w5500SendPacket()

error_t w5500SendPacket ( NetInterface interface,
const NetBuffer buffer,
size_t  offset,
NetTxAncillary ancillary 
)

Send a packet.

Parameters
[in]interfaceUnderlying network interface
[in]bufferMulti-part buffer containing the data to send
[in]offsetOffset to the first data byte
[in]ancillaryAdditional options passed to the stack along with the packet
Returns
Error code

Definition at line 367 of file w5500_driver.c.

◆ w5500Tick()

void w5500Tick ( NetInterface interface)

W5500 timer handler.

Parameters
[in]interfaceUnderlying network interface

Definition at line 192 of file w5500_driver.c.

◆ w5500UpdateMacAddrFilter()

error_t w5500UpdateMacAddrFilter ( NetInterface interface)

Configure MAC address filtering.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 510 of file w5500_driver.c.

◆ w5500WriteBuffer()

void w5500WriteBuffer ( NetInterface interface,
uint8_t  control,
uint16_t  address,
const uint8_t *  data,
size_t  length 
)

Write TX buffer.

Parameters
[in]interfaceUnderlying network interface
[in]controlControl byte
[in]addressBuffer address
[in]dataPointer to the data being written
[in]lengthNumber of data to write

Definition at line 658 of file w5500_driver.c.

◆ w5500WriteReg16()

void w5500WriteReg16 ( NetInterface interface,
uint8_t  control,
uint16_t  address,
uint16_t  data 
)

Write 16-bit register.

Parameters
[in]interfaceUnderlying network interface
[in]controlControl byte
[in]addressRegister address
[in]dataRegister value

Definition at line 590 of file w5500_driver.c.

◆ w5500WriteReg8()

void w5500WriteReg8 ( NetInterface interface,
uint8_t  control,
uint16_t  address,
uint8_t  data 
)

Write 8-bit register.

Parameters
[in]interfaceUnderlying network interface
[in]controlControl byte
[in]addressRegister address
[in]dataRegister value

Definition at line 525 of file w5500_driver.c.

Variable Documentation

◆ w5500Driver

const NicDriver w5500Driver
extern

W5500 driver.

Definition at line 44 of file w5500_driver.c.