![]() |
io6Library
WIZnet Dual Stack TCP/IP Ethernet Controller Driver
|
Common register group
.
More...
Macros | |
| #define | _CIDR_ (_W6100_IO_BASE_ + (0x0000 << 8) + WIZCHIP_CREG_BLOCK) |
| Chip Identification Register address [RO] [0x6100]. More... | |
| #define | _VER_ (_W6100_IO_BASE_ + (0x0002 << 8) + WIZCHIP_CREG_BLOCK) |
| Chip Version Register address [RO] [0x4661]. More... | |
| #define | _SYSR_ (_W6100_IO_BASE_ + (0x2000 << 8) + WIZCHIP_CREG_BLOCK) |
| System Status Register address [RO] [0xEU]. More... | |
| #define | _SYCR0_ (_W6100_IO_BASE_ + (0x2004 << 8) + WIZCHIP_CREG_BLOCK) |
| System Config Register 0 address [WO][0x80]. More... | |
| #define | _SYCR1_ (WIZCHIP_OFFSET_INC(_SYCR0_,1)) |
| System Config Register 1 address [R=W][0x80]. More... | |
| #define | _TCNTR_ (_W6100_IO_BASE_ + (0x2016 << 8) + WIZCHIP_CREG_BLOCK) |
| Ticker Counter Register address [RO][0x0000]. More... | |
| #define | _TCNTRCLR_ (_W6100_IO_BASE_ + (0x2020 << 8) + WIZCHIP_CREG_BLOCK) |
| Ticker Counter Clear Register address [RO][0x00]. More... | |
| #define | _IR_ (_W6100_IO_BASE_ + (0x2100 << 8) + WIZCHIP_CREG_BLOCK) |
| Interrupt Register address [RO][0x00]. More... | |
| #define | _SIR_ (_W6100_IO_BASE_ + (0x2101 << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET Interrupt Register address [RO][0x00]. More... | |
| #define | _SLIR_ (_W6100_IO_BASE_ + (0x2102 << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET-less Interrupt Register address [RO][0x00]. More... | |
| #define | _IMR_ (_W6100_IO_BASE_ + (0x2104 << 8) + WIZCHIP_CREG_BLOCK) |
| Interrupt Mask Register address [R=W][0x00]. More... | |
| #define | _IRCLR_ (_W6100_IO_BASE_ + (0x2108 << 8) + WIZCHIP_CREG_BLOCK) |
| _IR_ Clear Register address [WO][0x00] More... | |
| #define | _SIMR_ (_W6100_IO_BASE_ + (0x2114 << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET Interrupt Mask Register address [R=W]][0x00]. More... | |
| #define | _SLIMR_ (_W6100_IO_BASE_ + (0x2124 << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET-less Interrupt Mask Register address [R=W][0x00]. More... | |
| #define | _SLIRCLR_ (_W6100_IO_BASE_ + (0x2128 << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET-less Interrupt Clear Register address [WO][0x00]. More... | |
| #define | _SLPSR_ (_W6100_IO_BASE_ + (0x212C << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET-less Prefer Source IPv6 Address Register address [R=W][0x00]. More... | |
| #define | _SLCR_ (_W6100_IO_BASE_ + (0x2130 << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET-less Command Register address [RW,AC][0x00]. More... | |
| #define | _PHYSR_ (_W6100_IO_BASE_ + (0x3000 << 8) + WIZCHIP_CREG_BLOCK) |
| PHY Status Register address [RO][0x00]. More... | |
| #define | _PHYRAR_ (_W6100_IO_BASE_ + (0x3008 << 8) + WIZCHIP_CREG_BLOCK) |
| PHY Internal Register Address Register address(R/W) More... | |
| #define | _PHYDIR_ (_W6100_IO_BASE_ + (0x300C << 8) + WIZCHIP_CREG_BLOCK) |
| PHY Data Input Register address [R=W][0x00]. More... | |
| #define | _PHYDOR_ (_W6100_IO_BASE_ + (0x3010 << 8) + WIZCHIP_CREG_BLOCK) |
| PHY Data Output Register address [WO][0x00]. More... | |
| #define | _PHYACR_ (_W6100_IO_BASE_ + (0x3014 << 8) + WIZCHIP_CREG_BLOCK) |
| PHY Access Register address [RW,AC][0x00]. More... | |
| #define | _PHYDIVR_ (_W6100_IO_BASE_ + (0x3018 << 8) + WIZCHIP_CREG_BLOCK) |
| PHY's MDC Clock Division Register address [R=W][0x01]. More... | |
| #define | _PHYCR0_ (_W6100_IO_BASE_ + (0x301C << 8) + WIZCHIP_CREG_BLOCK) |
| PHY Control Register address [WO][0x00]. More... | |
| #define | _PHYCR1_ WIZCHIP_OFFSET_INC(_PHYCR0_,1) |
| PHY Control Register address [R=W][0x40]. More... | |
| #define | _NET4MR_ (_W6100_IO_BASE_ + (0x4000 << 8) + WIZCHIP_CREG_BLOCK) |
| Network IPv4 Mode Register address [R=W][0x00]. More... | |
| #define | _NET6MR_ (_W6100_IO_BASE_ + (0x4004 << 8) + WIZCHIP_CREG_BLOCK) |
| Network IPv6 Mode Register address [R=W][0x00]. More... | |
| #define | _NETMR_ (_W6100_IO_BASE_ + (0x4008 << 8) + WIZCHIP_CREG_BLOCK) |
| Network Mode Register address [R=W][0x00]. More... | |
| #define | _NETMR2_ (_W6100_IO_BASE_ + (0x4009 << 8) + WIZCHIP_CREG_BLOCK) |
| Network Mode Register 2 address [R=W][0x00]. More... | |
| #define | _PTMR_ (_W6100_IO_BASE_ + (0x4100 << 8) + WIZCHIP_CREG_BLOCK) |
| PPP LCP request Timer Register address [R=W][0x28]. More... | |
| #define | _PMNR_ (_W6100_IO_BASE_ + (0x4104 << 8) + WIZCHIP_CREG_BLOCK) |
| PPP LCP Magic Number Register address [R=W][0x00]. More... | |
| #define | _PHAR_ (_W6100_IO_BASE_ + (0x4108 << 8) + WIZCHIP_CREG_BLOCK) |
| PPPoE Hardware Address Register address [R=W][0x00]. More... | |
| #define | _PSIDR_ (_W6100_IO_BASE_ + (0x4110 << 8) + WIZCHIP_CREG_BLOCK) |
| PPP Session ID Register address [R=W][0X0000]. More... | |
| #define | _PMRUR_ (_W6100_IO_BASE_ + (0x4114 << 8) + WIZCHIP_CREG_BLOCK) |
| PPP Maximum Receive Unit Register address [R=W][0xFFFF]. More... | |
| #define | _SHAR_ (_W6100_IO_BASE_ + (0x4120 << 8) + WIZCHIP_CREG_BLOCK) |
| Source Hardware Address Register address [R=W][00:00:00:00:00:00]. More... | |
| #define | _GAR_ (_W6100_IO_BASE_ + (0x4130 << 8) + WIZCHIP_CREG_BLOCK) |
| IPv4 Gateway Address Register address [R=W][0.0.0.0]. More... | |
| #define | _GA4R_ (_GAR_) |
| Refer to _GAR_. More... | |
| #define | _SUBR_ (_W6100_IO_BASE_ + (0x4134 << 8) + WIZCHIP_CREG_BLOCK) |
| IPv4 Subnet Mask Register address [R=W][0.0.0.0]. More... | |
| #define | _SUB4R_ (_SUBR_) |
| Refer to _SUBR_. More... | |
| #define | _SIPR_ (_W6100_IO_BASE_ + (0x4138 << 8) + WIZCHIP_CREG_BLOCK) |
| IPv4 Source IP Register address [R=W][0.0.0.0]. More... | |
| #define | _SIP4R_ (_SIPR_) |
| Refer to _SIPR_. More... | |
| #define | _LLAR_ (_W6100_IO_BASE_ + (0x4140 << 8) + WIZCHIP_CREG_BLOCK) |
| IPv6 LLA(Link Local Address) Register address [R=W][::]. More... | |
| #define | _GUAR_ (_W6100_IO_BASE_ + (0x4150 << 8) + WIZCHIP_CREG_BLOCK) |
| IPv6 GUA(Global Unicast Address) Register address [R=W][::]. More... | |
| #define | _SUB6R_ (_W6100_IO_BASE_ + (0x4160 << 8) + WIZCHIP_CREG_BLOCK) |
| IPv6 Subnet Mask Register address [R=W][]. More... | |
| #define | _GA6R_ (_W6100_IO_BASE_ + (0x4170 << 8) + WIZCHIP_CREG_BLOCK) |
| IPv6 Gateway Address Register address [R/W][::]. More... | |
| #define | _SLDIP6R_ (_W6100_IO_BASE_ + (0x4180 << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET-less Peer IPv6 Register address [R=W][::]. More... | |
| #define | _SLDIPR_ (_W6100_IO_BASE_ + (0x418C << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET-less Peer IPv6 Register address [R=W][0.0.0.0]. More... | |
| #define | _SLDIP4R_ (_SLDIPR_) |
| Refer to _SLDIPR_. More... | |
| #define | _SLDHAR_ (_W6100_IO_BASE_ + (0x4190 << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET-less Peer Hardware Address Register address [RO][00:00:00:00:00:00]. More... | |
| #define | _PINGIDR_ (_W6100_IO_BASE_ + (0x4198 << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET-less Ping ID Register address [R=W][0x00]. More... | |
| #define | _PINGSEQR_ (_W6100_IO_BASE_ + (0x419C << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET-less ping Sequence number Register address [R=W][0x0000]. More... | |
| #define | _UIPR_ (_W6100_IO_BASE_ + (0x41A0 << 8) + WIZCHIP_CREG_BLOCK) |
| IPv4 Unreachable Address Register address [RO][0.0.0.0]. More... | |
| #define | _UIP4R_ (_UIPR_) |
| Refer to _UPORTR_. More... | |
| #define | _UPORTR_ (_W6100_IO_BASE_ + (0x41A4 << 8) + WIZCHIP_CREG_BLOCK) |
| IPv4 Unreachable Port number Register address [RO][0x0000]. More... | |
| #define | _UPORT4R_ (_UPORTR_) |
| Refer to _UPORTR_. More... | |
| #define | _UIP6R_ (_W6100_IO_BASE_ + (0x41B0 << 8) + WIZCHIP_CREG_BLOCK) |
| IPv6 Unreachable IP Address Register address [RO][::]. More... | |
| #define | _UPORT6R_ (_W6100_IO_BASE_ + (0x41C0 << 8) + WIZCHIP_CREG_BLOCK) |
| IPv6 Unreachable Port number Register address [RO][0x0000]. More... | |
| #define | _INTPTMR_ (_W6100_IO_BASE_ + (0x41C5 << 8) + WIZCHIP_CREG_BLOCK) |
| Interrupt Pending Time Register address [R=w][0x0000]. More... | |
| #define | _PLR_ (_W6100_IO_BASE_ + (0x41D0 << 8) + WIZCHIP_CREG_BLOCK) |
| RA Prefix Length Register address [RO][0x00]. More... | |
| #define | _PFR_ (_W6100_IO_BASE_ + (0x41D4 << 8) + WIZCHIP_CREG_BLOCK) |
| RA Prefix Flag Register address [RO][0x00]. More... | |
| #define | _VLTR_ (_W6100_IO_BASE_ + (0x41D8 << 8) + WIZCHIP_CREG_BLOCK) |
| RA Valid Life Time Register address [RO][0x00000000]. More... | |
| #define | _PLTR_ (_W6100_IO_BASE_ + (0x41DC << 8) + WIZCHIP_CREG_BLOCK) |
| RA Prefered Life Time Register address [RO][0x00000000]. More... | |
| #define | _PAR_ (_W6100_IO_BASE_ + (0x41E0 << 8) + WIZCHIP_CREG_BLOCK) |
| RA Prefix Address Register address[RO][::]. More... | |
| #define | _ICMP6BLKR_ (_W6100_IO_BASE_ + (0x41F0 << 8) + WIZCHIP_CREG_BLOCK) |
| ICMPv6 Block Register address [R=W][0x00]. More... | |
| #define | _CHPLCKR_ (_W6100_IO_BASE_ + (0x41F4 << 8) + WIZCHIP_CREG_BLOCK) |
| Chip configuration Lock Register address [WO][0x00]. More... | |
| #define | _NETLCKR_ (_W6100_IO_BASE_ + (0x41F5 << 8) + WIZCHIP_CREG_BLOCK) |
| Network configuration Lock Register address [WO][0x00]. More... | |
| #define | _PHYLCKR_ (_W6100_IO_BASE_ + (0x41F6 << 8) + WIZCHIP_CREG_BLOCK) |
| PHY configuration Lock Register address [WO][0x00]. More... | |
| #define | _RTR_ (_W6100_IO_BASE_ + (0x4200 << 8) + WIZCHIP_CREG_BLOCK) |
| Retransmission Time Register address [R=W][0x07D0]. More... | |
| #define | _RCR_ (_W6100_IO_BASE_ + (0x4204 << 8) + WIZCHIP_CREG_BLOCK) |
| Retransmission Counter Register address [R=W][0x08]. More... | |
| #define | _SLRTR_ (_W6100_IO_BASE_ + (0x4208 << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET-less Retransmission Time Register address [R=W][0x07D0]. More... | |
| #define | _SLRCR_ (_W6100_IO_BASE_ + (0x420C << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET-less Retransmission Count Register address [R=W][0x00]. More... | |
| #define | _SLHOPR_ (_W6100_IO_BASE_ + (0x420F << 8) + WIZCHIP_CREG_BLOCK) |
| SOCKET-less Hop Limit Register address [R=W][0x80]. More... | |
| #define | PHYRAR_BMCR (0x00) |
| Basic Mode Control Register of Ethernet PHY [RW][0x3100]. More... | |
| #define | PHYRAR_BMSR (0x01) |
| Basic Mode Status Register of Ethernet PHY [RO][0x7809]. More... | |
Common register group
.
It set the general configuration such as interrupt, network information, ICMP, and etc.
| _WIZCHIP_ Information | : _CIDR_, _VER_ |
| _WIZCHIP_ Mode | : _SYSR_, _SYCR0_, _SYCR1_, _CHPLCKR_, _NETLCKR_, _PHYLCKR_ |
| Network Mode | : _NET4MR_, _NET6MR_, _NETMR_, _NETMR2_ |
| Network Information | : _GAR_, _SUBR_, _SHAR_, _SIPR_, _GA6R_, _LLAR_, _GUAR_, _SUB6R_ |
| Interrupt | : _IR_, _IRCLR_, _IMR_, _SIR_, _SIMR_, _SLIR_, _SLIMR_, _SLIRCLR_, _INTPTMR_ |
| Data retransmission | : _RTR_, _RCR_, _SLRTR_, _SLRCR_, _SLHOPR_ |
| PPPoE | : _PHAR_, _PSIDR_, _PMRUR_, _PTMR_, _PMNR_ |
| SOCKET-less command | : _SLCR_, _SLIR_, _SLDIPR_, _SLDIP4R_, _SLDIP6R_, _SLDHAR_, _PINGIDR_, _PINGSEQR_ |
| ICMP v4 & v6 | : _UIPR_, _UPORTR_, _UIP6R_, _UPORT6R_, _ICMP6BLKR_ |
| IPv6 Auto-configuration | : _PLR_, _PFR_, _VLTR_, _PAR_ |
| PHY Configuration | : _PHYSR_, _PHYCR0_, _PHYCR1_, _PHYRAR_, _PHYDIR_, _PHYDOR_, _PHYACR_, _PHYDIVR_ |
| #define _CIDR_ (_W6100_IO_BASE_ + (0x0000 << 8) + WIZCHIP_CREG_BLOCK) |
| #define _VER_ (_W6100_IO_BASE_ + (0x0002 << 8) + WIZCHIP_CREG_BLOCK) |
| #define _SYSR_ (_W6100_IO_BASE_ + (0x2000 << 8) + WIZCHIP_CREG_BLOCK) |
System Status Register address [RO] [0xEU].
_SYSR_ shows the information such as CHIP, NET, PHY Locking and Host I/F
| 7 | 6 | 5 | 4 ~ 2 | 1 | 0 |
| CHPL | NETL | PHYL | Reserved | IND | SPI |
| #define _SYCR0_ (_W6100_IO_BASE_ + (0x2004 << 8) + WIZCHIP_CREG_BLOCK) |
System Config Register 0 address [WO][0x80].
_SYCR0_ softly reset to _WIZCHIP_.
| 7 | 6 ~ 0 |
| RST | Reserved |
| #define _SYCR1_ (WIZCHIP_OFFSET_INC(_SYCR0_,1)) |
System Config Register 1 address [R=W][0x80].
_SYCR1_ controls the global interrupt enable, and selects the system clock.
| 7 | 6 ~ 1 | 0 |
| IEN | Reserved | CLKSEL |
| #define _TCNTR_ (_W6100_IO_BASE_ + (0x2016 << 8) + WIZCHIP_CREG_BLOCK) |
Ticker Counter Register address [RO][0x0000].
_TCNTR_ increase by 1 every 100us after _WIZCHIP_ reset.
| #define _TCNTRCLR_ (_W6100_IO_BASE_ + (0x2020 << 8) + WIZCHIP_CREG_BLOCK) |
Ticker Counter Clear Register address [RO][0x00].
_TCNTRCLR_ clear _TCNTR_.
| #define _IR_ (_W6100_IO_BASE_ + (0x2100 << 8) + WIZCHIP_CREG_BLOCK) |
Interrupt Register address [RO][0x00].
_IR_ indicates the interrupt status. If _IR_ is not equal to x00 INTn PIN is asserted to low until it is x00.
| 7 | 6 ~ 5 | 4 | 3 | 2 | 1 | 0 |
| WOL | Reserved | UNR6 | Reserved | IPCONF | UNR4 | PTERM |
| #define _SIR_ (_W6100_IO_BASE_ + (0x2101 << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET Interrupt Register address [RO][0x00].
_SIR_ indicates whether a socket interrupt is occurred or not.
Each bit of _SIR_ be still until _Sn_IR_ is cleared by _Sn_IRCLR_
| #define _SLIR_ (_W6100_IO_BASE_ + (0x2102 << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET-less Interrupt Register address [RO][0x00].
_SLIR_ indicates the completion of _SLCR_ or timeout.
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| TOUT | ARP4 | PING4 | ARP6 | PING6 | NS | RS | RA |
| #define _IMR_ (_W6100_IO_BASE_ + (0x2104 << 8) + WIZCHIP_CREG_BLOCK) |
Interrupt Mask Register address [R=W][0x00].
_IMR_ is used to mask interrupts of _IR_.
When a bit of _IMR_ and the corresponding bit of _IR_ is set, an interrupt will be issued.
| #define _IRCLR_ (_W6100_IO_BASE_ + (0x2108 << 8) + WIZCHIP_CREG_BLOCK) |
_IR_ Clear Register address [WO][0x00]
| #define _SIMR_ (_W6100_IO_BASE_ + (0x2114 << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET Interrupt Mask Register address [R=W]][0x00].
_SIMR_ is used to mask interrupts of _SIR_.
When a bit of _SIMR_ and the corresponding bit of _SIR_ is set, an interrupt will be issued.
when _Sn_IR_ is not 0, The N-th bit of _SIR_ is set. Otherwise, this bit is automatically clear.
| #define _SLIMR_ (_W6100_IO_BASE_ + (0x2124 << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET-less Interrupt Mask Register address [R=W][0x00].
_SLIMR_ is used to mask interrupts of _SLIR_
When a bit of _SLIMR_ and the corresponding bit of _SLIR_ is set, an interrupt will be issued.
| #define _SLIRCLR_ (_W6100_IO_BASE_ + (0x2128 << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET-less Interrupt Clear Register address [WO][0x00].
| #define _SLPSR_ (_W6100_IO_BASE_ + (0x212C << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET-less Prefer Source IPv6 Address Register address [R=W][0x00].
_SLPSR_ select the Source IPv6 Address to transmit a packet by _SLCR_.
| #define _SLCR_ (_W6100_IO_BASE_ + (0x2130 << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET-less Command Register address [RW,AC][0x00].
_SLCR_ can be request a message such like as ARP, PING, and ICMPv6 without SOCKET.
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | ARP4 | PING4 | ARP6 | PING6 | NS | RS | UNA |
| #define _PHYSR_ (_W6100_IO_BASE_ + (0x3000 << 8) + WIZCHIP_CREG_BLOCK) |
PHY Status Register address [RO][0x00].
_PHYSR_ shows the operation mode of PHY, the link status and etc.
| #define _PHYRAR_ (_W6100_IO_BASE_ + (0x3008 << 8) + WIZCHIP_CREG_BLOCK) |
PHY Internal Register Address Register address(R/W)
_PHYRAR_ specifies the address of register in the Ethernet PHY.
| #define _PHYDIR_ (_W6100_IO_BASE_ + (0x300C << 8) + WIZCHIP_CREG_BLOCK) |
PHY Data Input Register address [R=W][0x00].
_PHYDIR_ specifies the value to write to the register in PHY
| #define _PHYDOR_ (_W6100_IO_BASE_ + (0x3010 << 8) + WIZCHIP_CREG_BLOCK) |
PHY Data Output Register address [WO][0x00].
_PHYDOR_ read the value from the register in PHY
| #define _PHYACR_ (_W6100_IO_BASE_ + (0x3014 << 8) + WIZCHIP_CREG_BLOCK) |
PHY Access Register address [RW,AC][0x00].
_PHYACR_ write(read) to(from) the value of register in the Ethernet PHY
| #define _PHYDIVR_ (_W6100_IO_BASE_ + (0x3018 << 8) + WIZCHIP_CREG_BLOCK) |
PHY's MDC Clock Division Register address [R=W][0x01].
_PHYDIVR_ divides the system clock for the MDC clock of Ethernet PHY'
| #define _PHYCR0_ (_W6100_IO_BASE_ + (0x301C << 8) + WIZCHIP_CREG_BLOCK) |
PHY Control Register address [WO][0x00].
_PHYCR0_ controls the operation mode of PHY. The result will be checked by _PHYSR_ after PHY HW reset by PHYCR1_RST.
| #define _PHYCR1_ WIZCHIP_OFFSET_INC(_PHYCR0_,1) |
PHY Control Register address [R=W][0x40].
_PHYCR1_ controls the Ethernet PHY function such as HW reset, Power down and etc.
| 7 | 6 | 5 | 4 | 3 | 2 ~ 1 | 0 |
| Reserved | Always 1 | PWDN | Reseved | TE | Reserved | RST |
| #define _NET4MR_ (_W6100_IO_BASE_ + (0x4000 << 8) + WIZCHIP_CREG_BLOCK) |
Network IPv4 Mode Register address [R=W][0x00].
_NET4MR_ can block the transmission such like as unreachable message, TCP reset, and ping relay.
It can ARP request before ping relpy.
| 7 ~ 4 | 3 | 2 | 1 | 0 |
| Reserved | UNRB | PARP | RSTB | PB |
| #define _NET6MR_ (_W6100_IO_BASE_ + (0x4004 << 8) + WIZCHIP_CREG_BLOCK) |
Network IPv6 Mode Register address [R=W][0x00].
_NET6MR_ can block the transmission such like as unreachable message, TCP reset, and ping relay.
It can ARP request before ping reply.
| 7 ~ 4 | 3 | 2 | 1 | 0 |
| Reserved | UNRB | PARP | RSTB | PB |
| #define _NETMR_ (_W6100_IO_BASE_ + (0x4008 << 8) + WIZCHIP_CREG_BLOCK) |
Network Mode Register address [R=W][0x00].
_NETMR_ set WOL(Wake On Lan) mode.
It also can block a packet such as
IPv6 PING request from an all-node broadcasting,
IPv6 PING request from a solicited mulitcasting address,
IPv4 packets,
and IPv6 packets.
| 7 ~ 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | ANB | M6B | Always 0 | WOL | IP6B | IP4B |
| #define _NETMR2_ (_W6100_IO_BASE_ + (0x4009 << 8) + WIZCHIP_CREG_BLOCK) |
Network Mode Register 2 address [R=W][0x00].
_NETMR2_ set PPPoE mode.
It also can select the destination hardware address to either Ethernet frame MAC or target MAC in the ARP-reply message
| 7 | 6 ~ 1 | 0 |
| DHAS | 6 ~ 1 | PPPoE |
| #define _PTMR_ (_W6100_IO_BASE_ + (0x4100 << 8) + WIZCHIP_CREG_BLOCK) |
PPP LCP request Timer Register address [R=W][0x28].
_PTMR_ sets the time for sending LCP echo request.
The unit of time is 25ms.
| #define _PMNR_ (_W6100_IO_BASE_ + (0x4104 << 8) + WIZCHIP_CREG_BLOCK) |
PPP LCP Magic Number Register address [R=W][0x00].
_PMNR_ sets the 4bytes magic number to be used in LCP negotiation.
| #define _PHAR_ (_W6100_IO_BASE_ + (0x4108 << 8) + WIZCHIP_CREG_BLOCK) |
PPPoE Hardware Address Register address [R=W][0x00].
_PHAR_ sets the PPPoE server hardware address that is acquired during PPPoE connection process.
| #define _PSIDR_ (_W6100_IO_BASE_ + (0x4110 << 8) + WIZCHIP_CREG_BLOCK) |
PPP Session ID Register address [R=W][0X0000].
_PSIDR_ sets the PPPoE sever session ID acquired during PPPoE connection process.
| #define _PMRUR_ (_W6100_IO_BASE_ + (0x4114 << 8) + WIZCHIP_CREG_BLOCK) |
PPP Maximum Receive Unit Register address [R=W][0xFFFF].
_PMRUR_ sets the maximum receive unit of PPPoE.
| #define _SHAR_ (_W6100_IO_BASE_ + (0x4120 << 8) + WIZCHIP_CREG_BLOCK) |
Source Hardware Address Register address [R=W][00:00:00:00:00:00].
_SHAR_ sets the source hardware address.
| #define _GAR_ (_W6100_IO_BASE_ + (0x4130 << 8) + WIZCHIP_CREG_BLOCK) |
IPv4 Gateway Address Register address [R=W][0.0.0.0].
_GAR_ sets the default gateway IPv4 address.
| #define _SUBR_ (_W6100_IO_BASE_ + (0x4134 << 8) + WIZCHIP_CREG_BLOCK) |
IPv4 Subnet Mask Register address [R=W][0.0.0.0].
_SUBR_ sets the default subnet mask address of IPv4.
| #define _SIPR_ (_W6100_IO_BASE_ + (0x4138 << 8) + WIZCHIP_CREG_BLOCK) |
IPv4 Source IP Register address [R=W][0.0.0.0].
_SIPR_ sets the source IPv4 address.
| #define _LLAR_ (_W6100_IO_BASE_ + (0x4140 << 8) + WIZCHIP_CREG_BLOCK) |
IPv6 LLA(Link Local Address) Register address [R=W][::].
_LLAR_ sets the LLA address of IPv6.
| #define _GUAR_ (_W6100_IO_BASE_ + (0x4150 << 8) + WIZCHIP_CREG_BLOCK) |
IPv6 GUA(Global Unicast Address) Register address [R=W][::].
_GUAR_ sets the GUA address of IPv6.
| #define _SUB6R_ (_W6100_IO_BASE_ + (0x4160 << 8) + WIZCHIP_CREG_BLOCK) |
IPv6 Subnet Mask Register address [R=W][].
_SUB6R_ sets the default subnet mask address of IPv6.
| #define _GA6R_ (_W6100_IO_BASE_ + (0x4170 << 8) + WIZCHIP_CREG_BLOCK) |
| #define _SLDIP6R_ (_W6100_IO_BASE_ + (0x4180 << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET-less Peer IPv6 Register address [R=W][::].
| #define _SLDIPR_ (_W6100_IO_BASE_ + (0x418C << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET-less Peer IPv6 Register address [R=W][0.0.0.0].
_SLDIPR_(= _SLDIP4R_) sets the destination IPv4 address of _SLCR_.
| #define _SLDHAR_ (_W6100_IO_BASE_ + (0x4190 << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET-less Peer Hardware Address Register address [RO][00:00:00:00:00:00].
_SLDHAR_ gets the destination hardware address acquired by of SLCR_ARP4, SLCR_ARP6, SLCR_PING4, and SLCR_PING6.
| #define _PINGIDR_ (_W6100_IO_BASE_ + (0x4198 << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET-less Ping ID Register address [R=W][0x00].
_PINGIDR_ sets the PING-request ID to be sent by SLCR_PING4 or SLCR_PING6.
| #define _PINGSEQR_ (_W6100_IO_BASE_ + (0x419C << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET-less ping Sequence number Register address [R=W][0x0000].
_PINGIDR_ sets the PING-request sequence number to be sent by SLCR_PING4 or SLCR_PING6.
| #define _UIPR_ (_W6100_IO_BASE_ + (0x41A0 << 8) + WIZCHIP_CREG_BLOCK) |
IPv4 Unreachable Address Register address [RO][0.0.0.0].
_UIPR_ is set when a unreachable ICMPv4 message is received.
| #define _UPORTR_ (_W6100_IO_BASE_ + (0x41A4 << 8) + WIZCHIP_CREG_BLOCK) |
IPv4 Unreachable Port number Register address [RO][0x0000].
_UPORTR_ is set when a unreachable ICMPv4 message is received.
| #define _UIP6R_ (_W6100_IO_BASE_ + (0x41B0 << 8) + WIZCHIP_CREG_BLOCK) |
IPv6 Unreachable IP Address Register address [RO][::].
_UIP6R_ is set when a unreachable ICMPv6 message is received.
| #define _UPORT6R_ (_W6100_IO_BASE_ + (0x41C0 << 8) + WIZCHIP_CREG_BLOCK) |
IPv6 Unreachable Port number Register address [RO][0x0000].
_UIP6R_ is set when a unreachable ICMPv6 message is received.
| #define _INTPTMR_ (_W6100_IO_BASE_ + (0x41C5 << 8) + WIZCHIP_CREG_BLOCK) |
Interrupt Pending Time Register address [R=w][0x0000].
_INTPTMR_ pends the next interrupt issued by the INTn pin of _WIZCHIP_.
It is decreased 1 every 4 SYS_CLK.
If it is zero and some interrupt is still remained, the INTn pin is issued.
| #define _PLR_ (_W6100_IO_BASE_ + (0x41D0 << 8) + WIZCHIP_CREG_BLOCK) |
| #define _PFR_ (_W6100_IO_BASE_ + (0x41D4 << 8) + WIZCHIP_CREG_BLOCK) |
| #define _VLTR_ (_W6100_IO_BASE_ + (0x41D8 << 8) + WIZCHIP_CREG_BLOCK) |
| #define _PLTR_ (_W6100_IO_BASE_ + (0x41DC << 8) + WIZCHIP_CREG_BLOCK) |
| #define _PAR_ (_W6100_IO_BASE_ + (0x41E0 << 8) + WIZCHIP_CREG_BLOCK) |
| #define _ICMP6BLKR_ (_W6100_IO_BASE_ + (0x41F0 << 8) + WIZCHIP_CREG_BLOCK) |
ICMPv6 Block Register address [R=W][0x00].
_ICMP6BLKR_ can block ICMPv6 message such like as PING, MLD, RA, NS and NA.
In this blocked case, Sn_MR_IPRAW6 SOCKET can receive it.
| 7 ~ 5 | 4 | 3 | 2 | 1 | 0 |
| 7 ~ 5 | PING6 | MLD | RA | NA | NS |
| #define _CHPLCKR_ (_W6100_IO_BASE_ + (0x41F4 << 8) + WIZCHIP_CREG_BLOCK) |
Chip configuration Lock Register address [WO][0x00].
_CHPLCKR_ can lock or unlock to access _SYCR0_ and _SYCR1_.
The lock state can be checked from SYSR_CHPL.
| #define _NETLCKR_ (_W6100_IO_BASE_ + (0x41F5 << 8) + WIZCHIP_CREG_BLOCK) |
Network configuration Lock Register address [WO][0x00].
_NETLCKR_ can lock or unlock to access the network information register such as _SIPR_, _LLAR_, and etc.
The lock state can be checked from @ SYSR_NETL.
| #define _PHYLCKR_ (_W6100_IO_BASE_ + (0x41F6 << 8) + WIZCHIP_CREG_BLOCK) |
PHY configuration Lock Register address [WO][0x00].
_PHYLCKR_ can lock or unlock to access _PHYCR0_ and _PHYCR1_.
The lock state can be checked from SYSR_PHYL.
| #define _RTR_ (_W6100_IO_BASE_ + (0x4200 << 8) + WIZCHIP_CREG_BLOCK) |
Retransmission Time Register address [R=W][0x07D0].
_RTR_ sets the default timeout value of _Sn_RTR_.
When _Sn_RTR_ is 0, _Sn_RTR_ is reset to _RTR_ after Sn_CR_OPEN.
| #define _RCR_ (_W6100_IO_BASE_ + (0x4204 << 8) + WIZCHIP_CREG_BLOCK) |
Retransmission Counter Register address [R=W][0x08].
_RCR_ sets the default retransmission count of _Sn_RCR_.
When _Sn_RCR_ is 0, _Sn_RCR_ is initialized as _Sn_RTR_ after Sn_CR_OPEN.
| #define _SLRTR_ (_W6100_IO_BASE_ + (0x4208 << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET-less Retransmission Time Register address [R=W][0x07D0].
_SLRTR_ sets the timeout value of packet to be retransmitted by _SLCR_.
| #define _SLRCR_ (_W6100_IO_BASE_ + (0x420C << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET-less Retransmission Count Register address [R=W][0x00].
_SLRCR_ sets the retry counter of packet to be retransmitted by _SLCR_.
| #define _SLHOPR_ (_W6100_IO_BASE_ + (0x420F << 8) + WIZCHIP_CREG_BLOCK) |
SOCKET-less Hop Limit Register address [R=W][0x80].
_SLHOPR_ sets the hop limit value of packet to be transmitted by _SLCR_.
| #define PHYRAR_BMCR (0x00) |
Basic Mode Control Register of Ethernet PHY [RW][0x3100].
PHYRAR_BMCR can be controlled by MDC/MDIO controller of _WIZCHIP_.
Each bit of PHYRAR_BMCR is defined as the following.
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 ~ 0 |
| RST | LB | SPD | ANE | PWDN | ISOL | RAN | DPX | COLT | Reserved |
| #define PHYRAR_BMSR (0x01) |
Basic Mode Status Register of Ethernet PHY [RO][0x7809].
PHYRAR_BMSR gets the status of Ethernet PHY through MDC/MDIO controller of _WIZCHIP_.
Each bit of PHYRAR_BMSR is defined as the following.
| 15 | 14 | 13 | 12 | 11 | 10~7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 100_T4 | 100_FDX | 100_HDX | 10_FDX | 10_HDX | Reserved | MF_SUP | ANG_COMP | REMOTE_FAULT | ANG_ABILITY | LINK_STATUS | JABBER_DETECT | EXT_CAPA |
1.8.17