 |
io6Library
WIZnet Dual Stack TCP/IP Ethernet Controller Driver
|
Go to the documentation of this file.
46 #if (_WIZCHIP_ == W6100)
49 #define _W6100_SPI_READ_ (0x00 << 2)
50 #define _W6100_SPI_WRITE_ (0x01 << 2)
52 #define WIZCHIP_CREG_BLOCK (0x00 <<3)
53 #define WIZCHIP_SREG_BLOCK(N) ((1+4*N)<<3)
54 #define WIZCHIP_TXBUF_BLOCK(N) ((2+4*N)<<3)
55 #define WIZCHIP_RXBUF_BLOCK(N) ((3+4*N)<<3)
57 #define WIZCHIP_OFFSET_INC(ADDR, N) (ADDR + (N<<8))
59 #if (_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_INDIR_)
60 #define IDM_AR0 ((_WIZCHIP_IO_BASE_ + 0x0000))
61 #define IDM_AR1 ((_WIZCHIP_IO_BASE_ + 0x0001))
62 #define IDM_BSR ((_WIZCHIP_IO_BASE_ + 0x0002))
63 #define IDM_DR ((_WIZCHIP_IO_BASE_ + 0x0003))
64 #define _W6100_IO_BASE_ _WIZCHIP_IO_BASE_
65 #elif (_WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_SPI_)
66 #define _W6100_IO_BASE_ 0x00000000
222 #define _CIDR_ (_W6100_IO_BASE_ + (0x0000 << 8) + WIZCHIP_CREG_BLOCK)
228 #define _VER_ (_W6100_IO_BASE_ + (0x0002 << 8) + WIZCHIP_CREG_BLOCK)
247 #define _SYSR_ (_W6100_IO_BASE_ + (0x2000 << 8) + WIZCHIP_CREG_BLOCK)
262 #define _SYCR0_ (_W6100_IO_BASE_ + (0x2004 << 8) + WIZCHIP_CREG_BLOCK)
278 #define _SYCR1_ (WIZCHIP_OFFSET_INC(_SYCR0_,1))
286 #define _TCNTR_ (_W6100_IO_BASE_ + (0x2016 << 8) + WIZCHIP_CREG_BLOCK)
293 #define _TCNTRCLR_ (_W6100_IO_BASE_ + (0x2020 << 8) + WIZCHIP_CREG_BLOCK)
313 #define _IR_ (_W6100_IO_BASE_ + (0x2100 << 8) + WIZCHIP_CREG_BLOCK)
323 #define _SIR_ (_W6100_IO_BASE_ + (0x2101 << 8) + WIZCHIP_CREG_BLOCK)
345 #define _SLIR_ (_W6100_IO_BASE_ + (0x2102 << 8) + WIZCHIP_CREG_BLOCK)
355 #define _IMR_ (_W6100_IO_BASE_ + (0x2104 << 8) + WIZCHIP_CREG_BLOCK)
363 #define _IRCLR_ (_W6100_IO_BASE_ + (0x2108 << 8) + WIZCHIP_CREG_BLOCK)
374 #define _SIMR_ (_W6100_IO_BASE_ + (0x2114 << 8) + WIZCHIP_CREG_BLOCK)
384 #define _SLIMR_ (_W6100_IO_BASE_ + (0x2124 << 8) + WIZCHIP_CREG_BLOCK)
393 #define _SLIRCLR_ (_W6100_IO_BASE_ + (0x2128 << 8) + WIZCHIP_CREG_BLOCK)
404 #define _SLPSR_ (_W6100_IO_BASE_ + (0x212C << 8) + WIZCHIP_CREG_BLOCK)
425 #define _SLCR_ (_W6100_IO_BASE_ + (0x2130 << 8) + WIZCHIP_CREG_BLOCK)
439 #define _PHYSR_ (_W6100_IO_BASE_ + (0x3000 << 8) + WIZCHIP_CREG_BLOCK)
449 #define _PHYRAR_ (_W6100_IO_BASE_ + (0x3008 << 8) + WIZCHIP_CREG_BLOCK)
457 #define _PHYDIR_ (_W6100_IO_BASE_ + (0x300C << 8) + WIZCHIP_CREG_BLOCK)
465 #define _PHYDOR_ (_W6100_IO_BASE_ + (0x3010 << 8) + WIZCHIP_CREG_BLOCK)
475 #define _PHYACR_ (_W6100_IO_BASE_ + (0x3014 << 8) + WIZCHIP_CREG_BLOCK)
486 #define _PHYDIVR_ (_W6100_IO_BASE_ + (0x3018 << 8) + WIZCHIP_CREG_BLOCK)
502 #define _PHYCR0_ (_W6100_IO_BASE_ + (0x301C << 8) + WIZCHIP_CREG_BLOCK)
519 #define _PHYCR1_ WIZCHIP_OFFSET_INC(_PHYCR0_,1)
537 #define _NET4MR_ (_W6100_IO_BASE_ + (0x4000 << 8) + WIZCHIP_CREG_BLOCK)
555 #define _NET6MR_ (_W6100_IO_BASE_ + (0x4004 << 8) + WIZCHIP_CREG_BLOCK)
578 #define _NETMR_ (_W6100_IO_BASE_ + (0x4008 << 8) + WIZCHIP_CREG_BLOCK)
592 #define _NETMR2_ (_W6100_IO_BASE_ + (0x4009 << 8) + WIZCHIP_CREG_BLOCK)
601 #define _PTMR_ (_W6100_IO_BASE_ + (0x4100 << 8) + WIZCHIP_CREG_BLOCK)
609 #define _PMNR_ (_W6100_IO_BASE_ + (0x4104 << 8) + WIZCHIP_CREG_BLOCK)
617 #define _PHAR_ (_W6100_IO_BASE_ + (0x4108 << 8) + WIZCHIP_CREG_BLOCK)
625 #define _PSIDR_ (_W6100_IO_BASE_ + (0x4110 << 8) + WIZCHIP_CREG_BLOCK)
633 #define _PMRUR_ (_W6100_IO_BASE_ + (0x4114 << 8) + WIZCHIP_CREG_BLOCK)
642 #define _SHAR_ (_W6100_IO_BASE_ + (0x4120 << 8) + WIZCHIP_CREG_BLOCK)
651 #define _GAR_ (_W6100_IO_BASE_ + (0x4130 << 8) + WIZCHIP_CREG_BLOCK)
652 #define _GA4R_ (_GAR_)
660 #define _SUBR_ (_W6100_IO_BASE_ + (0x4134 << 8) + WIZCHIP_CREG_BLOCK)
661 #define _SUB4R_ (_SUBR_)
670 #define _SIPR_ (_W6100_IO_BASE_ + (0x4138 << 8) + WIZCHIP_CREG_BLOCK)
671 #define _SIP4R_ (_SIPR_)
680 #define _LLAR_ (_W6100_IO_BASE_ + (0x4140 << 8) + WIZCHIP_CREG_BLOCK)
689 #define _GUAR_ (_W6100_IO_BASE_ + (0x4150 << 8) + WIZCHIP_CREG_BLOCK)
698 #define _SUB6R_ (_W6100_IO_BASE_ + (0x4160 << 8) + WIZCHIP_CREG_BLOCK)
706 #define _GA6R_ (_W6100_IO_BASE_ + (0x4170 << 8) + WIZCHIP_CREG_BLOCK)
715 #define _SLDIP6R_ (_W6100_IO_BASE_ + (0x4180 << 8) + WIZCHIP_CREG_BLOCK)
724 #define _SLDIPR_ (_W6100_IO_BASE_ + (0x418C << 8) + WIZCHIP_CREG_BLOCK)
725 #define _SLDIP4R_ (_SLDIPR_)
735 #define _SLDHAR_ (_W6100_IO_BASE_ + (0x4190 << 8) + WIZCHIP_CREG_BLOCK)
744 #define _PINGIDR_ (_W6100_IO_BASE_ + (0x4198 << 8) + WIZCHIP_CREG_BLOCK)
753 #define _PINGSEQR_ (_W6100_IO_BASE_ + (0x419C << 8) + WIZCHIP_CREG_BLOCK)
761 #define _UIPR_ (_W6100_IO_BASE_ + (0x41A0 << 8) + WIZCHIP_CREG_BLOCK)
762 #define _UIP4R_ (_UIPR_)
770 #define _UPORTR_ (_W6100_IO_BASE_ + (0x41A4 << 8) + WIZCHIP_CREG_BLOCK)
771 #define _UPORT4R_ (_UPORTR_)
778 #define _UIP6R_ (_W6100_IO_BASE_ + (0x41B0 << 8) + WIZCHIP_CREG_BLOCK)
786 #define _UPORT6R_ (_W6100_IO_BASE_ + (0x41C0 << 8) + WIZCHIP_CREG_BLOCK)
797 #define _INTPTMR_ (_W6100_IO_BASE_ + (0x41C5 << 8) + WIZCHIP_CREG_BLOCK)
805 #define _PLR_ (_W6100_IO_BASE_ + (0x41D0 << 8) + WIZCHIP_CREG_BLOCK)
813 #define _PFR_ (_W6100_IO_BASE_ + (0x41D4 << 8) + WIZCHIP_CREG_BLOCK)
821 #define _VLTR_ (_W6100_IO_BASE_ + (0x41D8 << 8) + WIZCHIP_CREG_BLOCK)
829 #define _PLTR_ (_W6100_IO_BASE_ + (0x41DC << 8) + WIZCHIP_CREG_BLOCK)
837 #define _PAR_ (_W6100_IO_BASE_ + (0x41E0 << 8) + WIZCHIP_CREG_BLOCK)
857 #define _ICMP6BLKR_ (_W6100_IO_BASE_ + (0x41F0 << 8) + WIZCHIP_CREG_BLOCK)
866 #define _CHPLCKR_ (_W6100_IO_BASE_ + (0x41F4 << 8) + WIZCHIP_CREG_BLOCK)
876 #define _NETLCKR_ (_W6100_IO_BASE_ + (0x41F5 << 8) + WIZCHIP_CREG_BLOCK)
885 #define _PHYLCKR_ (_W6100_IO_BASE_ + (0x41F6 << 8) + WIZCHIP_CREG_BLOCK)
895 #define _RTR_ (_W6100_IO_BASE_ + (0x4200 << 8) + WIZCHIP_CREG_BLOCK)
905 #define _RCR_ (_W6100_IO_BASE_ + (0x4204 << 8) + WIZCHIP_CREG_BLOCK)
913 #define _SLRTR_ (_W6100_IO_BASE_ + (0x4208 << 8) + WIZCHIP_CREG_BLOCK)
921 #define _SLRCR_ (_W6100_IO_BASE_ + (0x420C << 8) + WIZCHIP_CREG_BLOCK)
929 #define _SLHOPR_ (_W6100_IO_BASE_ + (0x420F << 8) + WIZCHIP_CREG_BLOCK)
987 #define _Sn_MR_(N) (_W6100_IO_BASE_ + (0x0000 << 8) + WIZCHIP_SREG_BLOCK(N))
999 #define _Sn_PSR_(N) (_W6100_IO_BASE_ + (0x0004 << 8) + WIZCHIP_SREG_BLOCK(N))
1022 #define _Sn_CR_(N) (_W6100_IO_BASE_ + (0x0010 << 8) + WIZCHIP_SREG_BLOCK(N))
1043 #define _Sn_IR_(N) (_W6100_IO_BASE_ + (0x0020 << 8) + WIZCHIP_SREG_BLOCK(N))
1051 #define _Sn_IMR_(N) (_W6100_IO_BASE_ + (0x0024 << 8) + WIZCHIP_SREG_BLOCK(N))
1059 #define _Sn_IRCLR_(N) (_W6100_IO_BASE_ + (0x0028 << 8) + WIZCHIP_SREG_BLOCK(N))
1092 #define _Sn_SR_(N) (_W6100_IO_BASE_ + (0x0030 << 8) + WIZCHIP_SREG_BLOCK(N))
1110 #define _Sn_ESR_(N) (_W6100_IO_BASE_ + (0x0031 << 8) + WIZCHIP_SREG_BLOCK(N))
1120 #define _Sn_PNR_(N) (_W6100_IO_BASE_ + (0x0100 << 8) + WIZCHIP_SREG_BLOCK(N))
1121 #define _Sn_NHR_(N) (_Sn_PNR_(N))
1128 #define _Sn_TOSR_(N) (_W6100_IO_BASE_ + (0x0104 << 8) + WIZCHIP_SREG_BLOCK(N))
1136 #define _Sn_TTLR_(N) (_W6100_IO_BASE_ + (0x0108 << 8) + WIZCHIP_SREG_BLOCK(N))
1137 #define _Sn_HOPR_(N) (_Sn_TTLR_(N))
1145 #define _Sn_FRGR_(N) (_W6100_IO_BASE_ + (0x010C << 8) + WIZCHIP_SREG_BLOCK(N))
1166 #define _Sn_MSSR_(N) (_W6100_IO_BASE_ + (0x0110 << 8) + WIZCHIP_SREG_BLOCK(N))
1176 #define _Sn_PORTR_(N) (_W6100_IO_BASE_ + (0x0114 << 8) + WIZCHIP_SREG_BLOCK(N))
1190 #define _Sn_DHAR_(N) (_W6100_IO_BASE_ + (0x0118 << 8) + WIZCHIP_SREG_BLOCK(N))
1204 #define _Sn_DIPR_(N) (_W6100_IO_BASE_ + (0x0120 << 8) + WIZCHIP_SREG_BLOCK(N))
1205 #define _Sn_DIP4R_(N) (_Sn_DIPR_(N))
1219 #define _Sn_DIP6R_(N) (_W6100_IO_BASE_ + (0x0130 << 8) + WIZCHIP_SREG_BLOCK(N))
1236 #define _Sn_DPORTR_(N) (_W6100_IO_BASE_ + (0x0140 << 8) + WIZCHIP_SREG_BLOCK(N))
1251 #define _Sn_MR2_(N) (_W6100_IO_BASE_ + (0x0144 << 8) + WIZCHIP_SREG_BLOCK(N))
1262 #define _Sn_RTR_(N) (_W6100_IO_BASE_ + (0x0180 << 8) + WIZCHIP_SREG_BLOCK(N))
1272 #define _Sn_RCR_(N) (_W6100_IO_BASE_ + (0x0184 << 8) + WIZCHIP_SREG_BLOCK(N))
1286 #define _Sn_KPALVTR_(N) (_W6100_IO_BASE_ + (0x0188 << 8) + WIZCHIP_SREG_BLOCK(N))
1298 #define _Sn_TX_BSR_(N) (_W6100_IO_BASE_ + (0x0200 << 8) + WIZCHIP_SREG_BLOCK(N))
1315 #define _Sn_TX_FSR_(N) (_W6100_IO_BASE_ + (0x0204 << 8) + WIZCHIP_SREG_BLOCK(N))
1329 #define _Sn_TX_RD_(N) (_W6100_IO_BASE_ + (0x0208 << 8) + WIZCHIP_SREG_BLOCK(N))
1349 #define _Sn_TX_WR_(N) (_W6100_IO_BASE_ + (0x020C << 8) + WIZCHIP_SREG_BLOCK(N))
1361 #define _Sn_RX_BSR_(N) (_W6100_IO_BASE_ + (0x0220 << 8) + WIZCHIP_SREG_BLOCK(N))
1375 #define _Sn_RX_RSR_(N) (_W6100_IO_BASE_ + (0x0224 << 8) + WIZCHIP_SREG_BLOCK(N))
1390 #define _Sn_RX_RD_(N) (_W6100_IO_BASE_ + (0x0228 << 8) + WIZCHIP_SREG_BLOCK(N))
1405 #define _Sn_RX_WR_(N) (_W6100_IO_BASE_ + (0x022C << 8) + WIZCHIP_SREG_BLOCK(N))
1423 #define SYSR_CHPL (1 << 7)
1438 #define SYSR_NETL (1 << 6)
1449 #define SYSR_PHYL (1 << 5)
1458 #define SYSR_IND (1 << 5)
1467 #define SYSR_SPI (1 << 0)
1480 #define SYCR0_RST (0x00)
1491 #define SYCR1_IEN (1 << 7)
1505 #define SYCR1_CLKSEL (1 << 0)
1514 #define SYCR1_CLKSEL_25M 1
1523 #define SYCR1_CLKSEL_100M 0
1533 #define IR_WOL (1<<7)
1541 #define IR_UNR6 (1<<4)
1549 #define IR_IPCONF (1<<2)
1557 #define IR_UNR4 (1<<1)
1565 #define IR_PTERM (1<<0)
1575 #define SIR_INT(N) (1<<N)
1585 #define SLIR_TOUT (1<<7)
1595 #define SLIR_ARP4 (1<<6)
1605 #define SLIR_PING4 (1<<5)
1615 #define SLIR_ARP6 (1<<4)
1625 #define SLIR_PING6 (1<<3)
1636 #define SLIR_NS (1<<2)
1656 #define SLIR_RS (1<<1)
1672 #define SLIR_RA (1<<0)
1685 #define PSR_AUTO (0x00)
1694 #define PSR_LLA (0x02)
1703 #define PSR_GUA (0x03)
1718 #define SLCR_ARP4 (1<<6)
1731 #define SLCR_PING4 (1<<5)
1744 #define SLCR_ARP6 (1<<4)
1757 #define SLCR_PING6 (1<<3)
1770 #define SLCR_NS (1<<2)
1784 #define SLCR_RS (1<<1)
1795 #define SLCR_UNA (1<<0)
1808 #define PHYSR_CAB (1<<7)
1817 #define PHYSR_CAB_OFF (1<<7)
1825 #define PHYSR_CAB_ON (0<<7)
1839 #define PHYSR_MODE (7<<3)
1847 #define PHYSR_MODE_AUTO (0<<3)
1855 #define PHYSR_MODE_100F (4<<3)
1863 #define PHYSR_MODE_100H (5<<3)
1871 #define PHYSR_MODE_10F (6<<3)
1879 #define PHYSR_MODE_10H (7<<3)
1890 #define PHYSR_DPX (1<<2)
1898 #define PHYSR_DPX_HALF (1<<2)
1906 #define PHYSR_DPX_FULL (0<<2)
1916 #define PHYSR_SPD (1<<1)
1924 #define PHYSR_SPD_10M (1<<1)
1932 #define PHYSR_SPD_100M (0<<1)
1942 #define PHYSR_LNK (1<<0)
1950 #define PHYSR_LNK_UP (1<<0)
1958 #define PHYSR_LNK_DOWN (0<<0)
1966 #define PHYACR_READ (0x02)
1973 #define PHYACR_WRITE (0x01)
1980 #define PHYDIVR_32 (0x00)
1987 #define PHYDIVR_64 (0x01)
1994 #define PHYDIVR_128 (0xFF)
2007 #define PHYCR0_AUTO (0x00)
2018 #define PHYCR0_100F (0x04)
2029 #define PHYCR0_100H (0x05)
2040 #define PHYCR0_10F (0x06)
2051 #define PHYCR0_10H (0x07)
2064 #define PHYCR1_PWDN (1<<5)
2074 #define PHYCR1_TE (1<<3)
2087 #define PHYCR1_RST (1<<0)
2098 #define NETxMR_UNRB (1<<3)
2106 #define NETxMR_PARP (1<<2)
2115 #define NETxMR_RSTB (1<<1)
2123 #define NETxMR_PB (1<<0)
2133 #define NETMR_ANB (1<<5)
2141 #define NETMR_M6B (1<<4)
2149 #define NETMR_WOL (1<<2)
2157 #define NETMR_IP6B (1<<1)
2165 #define NETMR_IP4B (1<<0)
2179 #define NETMR2_DHAS (1<<7)
2187 #define NETMR2_DHAS_ARP (1<<7)
2195 #define NETMR2_DHAS_ETH (0<<7)
2207 #define NETMR2_PPPoE (1<<0)
2216 #define ICMP6BLKR_PING6 (1<<4)
2224 #define ICMP6BLKR_MLD (1<<3)
2232 #define ICMP6BLKR_RA (1<<2)
2240 #define ICMP6BLKR_NA (1<<1)
2248 #define ICMP6BLKR_NS (1<<0)
2263 #define Sn_MR_MULTI (1<<7)
2276 #define Sn_MR_MF (1<<7)
2287 #define Sn_MR_BRDB (1<<6)
2299 #define Sn_MR_FPSH (1<<6)
2312 #define Sn_MR_ND (1<<5)
2325 #define Sn_MR_MC (1<<5)
2336 #define Sn_MR_SMB (1<<5)
2347 #define Sn_MR_MMB (1<<5)
2348 #define Sn_MR_MMB4 (Sn_MR_MMB)
2359 #define Sn_MR_UNIB (1<<4)
2370 #define Sn_MR_MMB6 (1<<4)
2379 #define Sn_MR_CLOSE (0x00)
2391 #define Sn_MR_TCP (0x01)
2392 #define Sn_MR_TCP4 (Sn_MR_TCP)
2403 #define Sn_MR_UDP (0x02)
2404 #define Sn_MR_UDP4 (Sn_MR_UDP)
2415 #define Sn_MR_IPRAW (0x03)
2416 #define Sn_MR_IPRAW4 (Sn_MR_IPRAW)
2427 #define Sn_MR_MACRAW (0x07)
2439 #define Sn_MR_TCP6 (0x09)
2450 #define Sn_MR_UDP6 (0x0A)
2461 #define Sn_MR_IPRAW6 (0x0B)
2485 #define Sn_MR_TCPD (0x0D)
2499 #define Sn_MR_UDPD (0x0E)
2524 #define Sn_CR_OPEN (0x01)
2540 #define Sn_CR_LISTEN (0x02)
2557 #define Sn_CR_CONNECT (0x04)
2573 #define Sn_CR_CONNECT6 (0x84)
2594 #define Sn_CR_DISCON (0x08)
2604 #define Sn_CR_CLOSE (0x10)
2636 #define Sn_CR_SEND (0x20)
2663 #define Sn_CR_SEND6 (0xA0)
2675 #define Sn_CR_SEND_KEEP (0x22)
2691 #define Sn_CR_RECV (0x40)
2704 #define Sn_IR_SENDOK (0x10)
2714 #define Sn_IR_TIMEOUT (0x08)
2723 #define Sn_IR_RECV (0x04)
2735 #define Sn_IR_DISCON (0x02)
2744 #define Sn_IR_CON (0x01)
2755 #define SOCK_CLOSED (0x00)
2767 #define SOCK_INIT (0x13)
2781 #define SOCK_LISTEN (0x14)
2795 #define SOCK_SYNSENT (0x15)
2808 #define SOCK_SYNRECV (0x16)
2826 #define SOCK_ESTABLISHED (0x17)
2839 #define SOCK_FIN_WAIT (0x18)
2851 #define SOCK_TIME_WAIT (0x1B)
2863 #define SOCK_CLOSE_WAIT (0x1C)
2875 #define SOCK_LAST_ACK (0x1D)
2893 #define SOCK_UDP (0x22)
2911 #define SOCK_IPRAW4 (0x32)
2912 #define SOCK_IPRAW (SOCK_IPRAW4)
2931 #define SOCK_IPRAW6 (0x33)
2942 #define SOCK_MACRAW (0x42)
2955 #define Sn_ESR_TCPM (1<<2)
2963 #define Sn_ESR_TCPM_IPV4 (0<<2)
2971 #define Sn_ESR_TCPM_IPV6 (1<<2)
2982 #define Sn_ESR_TCPOP (1<<1)
2991 #define Sn_ESR_TCPOP_SVR (0<<1)
3000 #define Sn_ESR_TCPOP_CLT (1<<1)
3013 #define Sn_ESR_IP6T (1<<0)
3022 #define Sn_ESR_IP6T_LLA (0<<0)
3031 #define Sn_ESR_IP6T_GUA (1<<0)
3043 #define Sn_MR2_DHAM (1<<1)
3051 #define Sn_MR2_DHAM_AUTO (0<<1)
3059 #define Sn_MR2_DHAM_MANUAL (1<<1)
3073 #define Sn_MR2_FARP (1<<0)
3104 #define PHYRAR_BMCR (0x00)
3135 #define PHYRAR_BMSR (0x01)
3150 #define BMCR_RST (1<<15)
3159 #define BMCR_LB (1<<14)
3168 #define BMCR_SPD (1<<13)
3178 #define BMCR_ANE (1<<12)
3187 #define BMCR_PWDN (1<<11)
3197 #define BMCR_ISOL (1<<10)
3206 #define BMCR_REAN (1<<9)
3215 #define BMCR_DPX (1<<8)
3224 #define BMCR_COLT (1<<7)
3235 #define BMSR_100_T4 (1<<15)
3243 #define BMSR_100_FDX (1<<14)
3251 #define BMSR_100_HDX (1<<13)
3259 #define BMSR_10_FDX (1<<12)
3267 #define BMSR_10_HDX (1<<11)
3276 #define BMSR_MF_SUP (1<<6)
3286 #define BMSR_AN_COMP (1<<5)
3295 #define BMSR_REMOTE_FAULT (1<<4)
3303 #define BMSR_AN_ABILITY (1<<3)
3313 #define BMSR_LINK_STATUS (1<<2)
3323 #define BMSR_JABBER_DETECT (1<<1)
3333 #define BMSR_EXT_CAPA (1<<0)
3348 #define WIZCHIP_CRITICAL_ENTER() WIZCHIP.CRIS._e_n_t_e_r_()
3363 #define WIZCHIP_CRITICAL_EXIT() WIZCHIP.CRIS._e_x_i_t_()
3423 ((((uint16_t)WIZCHIP_READ(_CIDR_)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_CIDR_,1)))
3426 ((((uint16_t)WIZCHIP_READ(_VER_)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_VER_,1)))
3429 WIZCHIP_READ(_SYSR_)
3431 #define getSYCR0() \
3432 WIZCHIP_READ(_SYCR0_)
3434 #define setSYCR0(sycr0) \
3435 WIZCHIP_WRITE(_SYCR0_, (sycr0))
3437 #define getSYCR1() \
3438 WIZCHIP_READ(_SYCR1_)
3440 #define setSYCR1(sycr1) \
3441 WIZCHIP_WRITE(_SYCR1_, (sycr1))
3443 #define getTCNTR() \
3444 ((((uint16_t)WIZCHIP_READ(_TCNTR_)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_TCNTR_,1)))
3446 #define setTCNTRCLR(tcntrclr) \
3447 WIZCHIP_WRITE(_TCNTRCLR_,(tcntrclr))
3456 WIZCHIP_READ(_SLIR_)
3458 #define setIMR(imr) \
3459 WIZCHIP_WRITE(_IMR_,(imr))
3464 #define setIRCLR(irclr) \
3465 WIZCHIP_WRITE(_IRCLR_,(irclr))
3466 #define setIR(ir) setIRCLR(ir)
3468 #define setSIMR(simr) \
3469 WIZCHIP_WRITE(_SIMR_,(simr))
3472 WIZCHIP_READ(_SIMR_)
3474 #define setSLIMR(slimr) \
3475 WIZCHIP_WRITE(_SLIMR_,(slimr))
3477 #define getSLIMR() \
3478 WIZCHIP_READ(_SLIMR_)
3480 #define setSLIRCLR(slirclr) \
3481 WIZCHIP_WRITE(_SLIRCLR_,(slirclr))
3482 #define setSLIR(slir) setSLIRCLR(slir)
3484 #define setSLPSR(slpsr) \
3485 WIZCHIP_WRITE(_SLPSR_,(slpsr))
3487 #define getSLPSR() \
3488 WIZCHIP_READ(_SLPSR_)
3490 #define setSLCR(slcr) \
3491 WIZCHIP_WRITE(_SLCR_,(slcr))
3494 WIZCHIP_READ(_SLCR_)
3496 #define getPHYSR() \
3497 WIZCHIP_READ(_PHYSR_)
3499 #define setPHYRAR(phyrar) \
3500 WIZCHIP_WRITE(_PHYRAR_,(phyrar))
3502 #define getPHYRAR() \
3503 WIZCHIP_READ(_PHYRAR_)
3505 #define setPHYDIR(phydir) \
3507 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_PHYDIR_,1), (uint8_t)((phydir)>>8)); \
3508 WIZCHIP_WRITE(_PHYDIR_, (uint8_t)(phydir)); \
3511 #define getPHYDOR() \
3512 ((((uint16_t)WIZCHIP_READ(WIZCHIP_OFFSET_INC(_PHYDOR_,1))) << 8) + WIZCHIP_READ(_PHYDOR_))
3514 #define setPHYACR(phyacr) \
3515 WIZCHIP_WRITE(_PHYACR_,(phyacr))
3517 #define getPHYACR() \
3518 WIZCHIP_READ(_PHYACR_)
3520 #define setPHYDIVR(phydivr) \
3521 WIZCHIP_WRITE(_PHYDIVR_,(phydivr))
3523 #define getPHYDIVR() \
3524 WIZCHIP_READ(_PHYDIVR_)
3526 #define setPHYCR0(phycr0) \
3527 WIZCHIP_WRITE(_PHYCR0_,(phycr0))
3529 #define setPHYCR1(phycr1) \
3530 WIZCHIP_WRITE(_PHYCR1_,(phycr1))
3532 #define getPHYCR1() \
3533 WIZCHIP_READ(_PHYCR1_)
3535 #define setNET4MR(net4mr) \
3536 WIZCHIP_WRITE(_NET4MR_,(net4mr))
3538 #define setNET6MR(net6mr) \
3539 WIZCHIP_WRITE(_NET6MR_,(net6mr))
3541 #define setNETMR(netmr) \
3542 WIZCHIP_WRITE(_NETMR_,(netmr))
3544 #define setNETMR2(netmr2) \
3545 WIZCHIP_WRITE(_NETMR2_,(netmr2))
3547 #define getNET4MR() \
3548 WIZCHIP_READ(_NET4MR_)
3550 #define getNET6MR() \
3551 WIZCHIP_READ(_NET6MR_)
3553 #define getNETMR() \
3554 WIZCHIP_READ(_NETMR_)
3556 #define getNETMR2() \
3557 WIZCHIP_READ(_NETMR2_)
3559 #define setPTMR(ptmr) \
3560 WIZCHIP_WRITE(_PTMR_, (ptmr))
3563 WIZCHIP_READ(_PTMR_)
3565 #define setPMNR(pmnr) \
3566 WIZCHIP_WRITE(_PMNR_, (pmnr))
3569 WIZCHIP_READ(_PMNR_)
3571 #define setPHAR(phar) \
3572 WIZCHIP_WRITE_BUF(_PHAR_,(phar),6)
3574 #define getPHAR(phar) \
3575 WIZCHIP_READ_BUF(_PHAR_,(phar),6)
3577 #define setPSIDR(psidr) \
3579 WIZCHIP_WRITE(_PSIDR_,(uint8_t)((psidr) >> 8)); \
3580 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_PSIDR_,1),(uint8_t)(psidr)); \
3583 #define getPSIDR() \
3584 ((((uint16_t)WIZCHIP_READ(_PSIDR_)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_PSIDR_,1)))
3586 #define setPMRUR(pmrur) \
3588 WIZCHIP_WRITE(_PMRUR_,(uint8_t)((pmrur) >> 8)); \
3589 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_PMRUR_,1),(uint8_t)(pmrur)); \
3592 #define getPMRUR() \
3593 ((((uint16_t)WIZCHIP_READ(_PMRUR_)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_PMRUR_,1)))
3595 #define setSHAR(shar) \
3596 WIZCHIP_WRITE_BUF(_SHAR_,(shar),6)
3598 #define getSHAR(shar) \
3599 WIZCHIP_READ_BUF(_SHAR_,(shar),6)
3601 #define setGAR(gar) \
3602 WIZCHIP_WRITE_BUF(_GAR_,(gar),4)
3604 #define getGAR(gar) \
3605 WIZCHIP_READ_BUF(_GAR_,(gar),4)
3607 #define setGA4R(ga4r) setGAR(ga4r)
3608 #define getGA4R(ga4r) getGAR(ga4r)
3610 #define setSUBR(subr) \
3611 WIZCHIP_WRITE_BUF(_SUBR_,(subr),4)
3613 #define getSUBR(subr) \
3614 WIZCHIP_READ_BUF(_SUBR_,(subr),4)
3616 #define setSUB4R(sub4r) setSUBR(sub4r)
3617 #define getSUB4R(sub4r) getSUBR(sub4r)
3619 #define setSIPR(sipr) \
3620 WIZCHIP_WRITE_BUF(_SIPR_,(sipr),4)
3622 #define getSIPR(sipr) \
3623 WIZCHIP_READ_BUF(_SIPR_,(sipr),4)
3625 #define setLLAR(llar) \
3626 WIZCHIP_WRITE_BUF(_LLAR_,(llar),16)
3628 #define getLLAR(llar) \
3629 WIZCHIP_READ_BUF(_LLAR_,(llar),16)
3631 #define setGUAR(guar) \
3632 WIZCHIP_WRITE_BUF(_GUAR_,(guar),16)
3634 #define getGUAR(guar) \
3635 WIZCHIP_READ_BUF(_GUAR_,(guar),16)
3637 #define setSUB6R(sub6r) \
3638 WIZCHIP_WRITE_BUF(_SUB6R_,(sub6r),16)
3640 #define getSUB6R(sub6r) \
3641 WIZCHIP_READ_BUF(_SUB6R_,(sub6r),16)
3643 #define setGA6R(ga6r) \
3644 WIZCHIP_WRITE_BUF(_GA6R_,(ga6r),16)
3646 #define getGA6R(ga6r) \
3647 WIZCHIP_READ_BUF(_GA6R_,(ga6r),16)
3649 #define setSLDIPR(sldipr) \
3650 WIZCHIP_WRITE_BUF(_SLDIPR_,(sldipr),4)
3651 #define setSLDIP4R(sldip4r) setSLDIPR((sldip4r))
3653 #define getSLDIPR(sldipr) \
3654 WIZCHIP_READ_BUF(_SLDIPR_,(sldipr),4)
3655 #define getSLDIP4R(sldip4r) getSLDIPR((sldip4r))
3657 #define setSLDIP6R(sldip6r) \
3658 WIZCHIP_WRITE_BUF(_SLDIP6R_, (sldip6r),16)
3660 #define getSLDIP6R(sldip6r) \
3661 WIZCHIP_READ_BUF(_SLDIP6R_,(sldip6r),16)
3663 #define getSLDHAR(sldhar) \
3664 WIZCHIP_READ_BUF(_SLDHAR_,(sldhar),6)
3666 #define setPINGIDR(pingidr) \
3668 WIZCHIP_WRITE(_PINGIDR_,(uint8_t)((pingidr)>>8)); \
3669 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_PINGIDR_,1),(uint8_t)(pingidr)); \
3672 #define getPINGIDR() \
3673 (((int16_t)(WIZCHIP_READ(_PINGIDR_) << 8)) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_PINGIDR_,1)))
3675 #define setPINGSEQR(pingseqr) \
3677 WIZCHIP_WRITE(_PINGSEQR_,(uint8_t)((pingseqr)>>8)); \
3678 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_PINGSEQR_,1),(uint8_t)(pingseqr)); \
3681 #define getPINGSEQR() \
3682 (((int16_t)(WIZCHIP_READ(_PINGSEQR_) << 8)) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_PINGSEQR_,1)))
3684 #define getUIPR(uipr) \
3685 WIZCHIP_READ_BUF(_UIPR_, (uipr), 4)
3687 #define getUIP4R(uip4r) getUIPR(uip4r)
3689 #define getUPORTR() \
3690 ((((uint16_t)WIZCHIP_READ(_UPORTR_)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_UPORTR_,1)))
3692 #define getUPORT4R() getUPORTR()
3694 #define getUIP6R(uip6r) \
3695 WIZCHIP_READ_BUF(_UIP6R_,(uip6r),16)
3697 #define getUPORT6R(uport6r) \
3698 ((((uint16_t)WIZCHIP_READ(_UPORT6R_)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_UPORT6R_,1)))
3700 #define setINTPTMR(intptmr) \
3702 WIZCHIP_WRITE(_INTPTMR_,(uint8_t)((intptmr) >> 8)); \
3703 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_INTPTMR_,1),(uint8_t)(intptmr)); \
3706 #define getINTPTMR() \
3707 ((((uint16_t)WIZCHIP_READ(_INTPTMR_)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_INTPTMR_,1)))
3716 ( (((uint32_t)WIZCHIP_READ(_VLTR_)) << 24) + \
3717 (((uint32_t)WIZCHIP_READ(WIZCHIP_OFFSET_INC(_VLTR_,1))) << 16) + \
3718 (((uint32_t)WIZCHIP_READ(WIZCHIP_OFFSET_INC(_VLTR_,2))) << 16) + \
3719 (((uint32_t)WIZCHIP_READ(WIZCHIP_OFFSET_INC(_VLTR_,3))) << 16) )
3722 ( (((uint32_t)WIZCHIP_READ(_PLTR_)) << 24) + \
3723 (((uint32_t)WIZCHIP_READ(WIZCHIP_OFFSET_INC(_PLTR_,1))) << 16) + \
3724 (((uint32_t)WIZCHIP_READ(WIZCHIP_OFFSET_INC(_PLTR_,2))) << 16) + \
3725 (((uint32_t)WIZCHIP_READ(WIZCHIP_OFFSET_INC(_PLTR_,3))) << 16) )
3727 #define getPAR(par) \
3728 WIZCHIP_READ_BUF(_PAR_, (par), 16)
3730 #define setICMP6BLKR(icmp6blkr) \
3731 WIZCHIP_WRITE(_ICMP6BLKR_,(icmp6blkr))
3733 #define getICMP6BLKR() \
3734 WIZCHIP_READ(_ICMP6BLKR_)
3736 #define setCHPLCKR(chplckr) \
3737 WIZCHIP_WRITE(_CHPLCKR_, (chplckr))
3739 #define getCHPLCKR() \
3740 ((getSYSR() & SYSR_CHPL) >> 7)
3742 #define CHIPLOCK() setCHPLCKR(0xFF)
3743 #define CHIPUNLOCK() setCHPLCKR(0xCE)
3745 #define setNETLCKR(netlckr) \
3746 WIZCHIP_WRITE(_NETLCKR_, (netlckr))
3748 #define getNETLCKR() \
3749 ((getSYSR() & SYSR_NETL) >> 6)
3751 #define NETLOCK() setNETLCKR(0xC5)
3752 #define NETUNLOCK() setNETLCKR(0x3A)
3754 #define setPHYLCKR(phylckr) \
3755 WIZCHIP_WRITE(_PHYLCKR_,(phylckr))
3757 #define getPHYLCKR() \
3758 ((getSYSR() & SYSR_PHYL) >> 5)
3760 #define PHYLOCK() setPHYLCKR(0xFF)
3761 #define PHYUNLOCK() setPHYLCKR(0x53)
3763 #define setRTR(rtr) \
3765 WIZCHIP_WRITE(_RTR_,(uint8_t)((rtr)>>8)); \
3766 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_RTR_,1),(uint8_t)(rtr)); \
3770 ((((uint16_t)WIZCHIP_READ(_RTR_)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_RTR_,1)))
3772 #define setRCR(rcr) \
3773 WIZCHIP_WRITE(_RCR_,(rcr))
3778 #define setSLRTR(slrtr) \
3780 WIZCHIP_WRITE(_SLRTR_,(uint8_t)((slrtr)>>8)); \
3781 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_SLRTR_,1),(uint8_t)(slrtr)); \
3784 #define getSLRTR() \
3785 ((((uint16_t)WIZCHIP_READ(_SLRTR_)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_SLRTR_,1)))
3787 #define setSLRCR(slrcr) \
3788 WIZCHIP_WRITE(_SLRCR_,(slrcr))
3790 #define getSLRCR() \
3791 WIZCHIP_READ(_SLRCR_)
3793 #define setSLHOPR(slhopr) \
3794 WIZCHIP_WRITE(_SLHOPR_,(slhopr))
3796 #define getSLHOPR() \
3797 WIZCHIP_READ(_SLHOPR_)
3810 #define setSn_MR(sn,mr) \
3811 WIZCHIP_WRITE(_Sn_MR_(sn),(mr))
3812 #define getSn_MR(sn) \
3813 WIZCHIP_READ(_Sn_MR_(sn))
3815 #define setSn_PSR(sn,psr) \
3816 WIZCHIP_WRITE(_Sn_PSR_(sn),(psr))
3817 #define getSn_PSR(sn) \
3818 WIZCHIP_READ(_Sn_PSR_(sn))
3820 #define setSn_CR(sn,cr) \
3821 WIZCHIP_WRITE(_Sn_CR_(sn),(cr))
3822 #define getSn_CR(sn) \
3823 WIZCHIP_READ(_Sn_CR_(sn))
3825 #define getSn_IR(sn) \
3826 WIZCHIP_READ(_Sn_IR_(sn))
3828 #define setSn_IMR(sn,imr) \
3829 WIZCHIP_WRITE(_Sn_IMR_(sn),(imr))
3830 #define getSn_IMR(sn) \
3831 WIZCHIP_READ(_Sn_IMR_(sn))
3833 #define setSn_IRCLR(sn,irclr) \
3834 WIZCHIP_WRITE(_Sn_IRCLR_(sn),(irclr))
3835 #define setSn_IR(sn,ir) setSn_IRCLR(sn,(ir))
3837 #define getSn_SR(sn) \
3838 WIZCHIP_READ(_Sn_SR_(sn))
3840 #define getSn_ESR(sn) \
3841 WIZCHIP_READ(_Sn_ESR_(sn))
3843 #define setSn_PNR(sn,pnr) \
3844 WIZCHIP_WRITE(_Sn_PNR_(sn),(pnr))
3845 #define setSn_NHR(sn,nhr) setSn_PNR(_Sn_PNR_(sn),(nhr))
3847 #define getSn_PNR(sn) \
3848 WIZCHIP_READ(_Sn_PNR_(sn))
3849 #define getSn_NHR(sn) getSn_PNR(sn)
3851 #define setSn_TOSR(sn,tosr) \
3852 WIZCHIP_WRITE(_Sn_TOSR_(sn),(tosr))
3853 #define getSn_TOSR(sn) \
3854 WIZCHIP_READ(_Sn_TOSR_(sn))
3856 #define setSn_TTLR(sn,ttlr) \
3857 WIZCHIP_WRITE(_Sn_TTLR_(sn),(ttlr))
3858 #define getSn_TTLR(sn) \
3859 WIZCHIP_READ(_Sn_TTLR_(sn))
3861 #define setSn_HOPR(sn,hopr) setSn_TTLR(sn),(ttlr))
3862 #define getSn_HOPR(sn) getSn_TTLR(sn)
3864 #define setSn_FRGR(sn,frgr) \
3866 WIZCHIP_WRITE(_Sn_FRGR_(sn),(uint8_t)((frgr)>>8)); \
3867 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_Sn_FRGR_(sn),1),(uint8_t)(frgr)); \
3869 #define getSn_FRGR(sn,frgr) \
3870 ((((uint16_t)WIZCHIP_READ(_Sn_FRGR_(sn))) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_Sn_FRGR_(sn),1)))
3872 #define setSn_MSSR(sn,mssr) \
3874 WIZCHIP_WRITE(_Sn_MSSR_(sn),(uint8_t)((mssr)>>8)); \
3875 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_Sn_MSSR_(sn),1),(uint8_t)(mssr)); \
3877 #define getSn_MSSR(sn) \
3878 ((((uint16_t)WIZCHIP_READ(_Sn_MSSR_(sn))) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_Sn_MSSR_(sn),1)))
3880 #define setSn_PORTR(sn,portr) \
3882 WIZCHIP_WRITE(_Sn_PORTR_(sn),(uint8_t)((portr)>>8)); \
3883 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_Sn_PORTR_(sn),1),(uint8_t)(portr)); \
3885 #define getSn_PORTR(sn) \
3886 ((((uint16_t)WIZCHIP_READ(_Sn_PORTR_(sn))) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_Sn_PORTR_(sn),1)))
3888 #define setSn_DHAR(sn,dhar) \
3889 WIZCHIP_WRITE_BUF(_Sn_DHAR_(sn),(dhar),6)
3890 #define getSn_DHAR(sn,dhar) \
3891 WIZCHIP_READ_BUF(_Sn_DHAR_(sn),(dhar),6)
3893 #define setSn_DIPR(sn,dipr) \
3894 WIZCHIP_WRITE_BUF(_Sn_DIPR_(sn),(dipr),4)
3895 #define getSn_DIPR(sn,dipr) \
3896 WIZCHIP_READ_BUF(_Sn_DIPR_(sn),(dipr),4)
3898 #define setSn_DIP4R(sn,dipr) setSn_DIPR(sn,(dipr))
3899 #define getSn_DIP4R(sn,dipr) getSn_DIPR(sn,(dipr))
3901 #define setSn_DIP6R(sn,dip6r) \
3902 WIZCHIP_WRITE_BUF(_Sn_DIP6R_(sn),(dip6r),16)
3903 #define getSn_DIP6R(sn,dip6r) \
3904 WIZCHIP_READ_BUF(_Sn_DIP6R_(sn),(dip6r),16)
3906 #define setSn_DPORTR(sn,dportr) \
3908 WIZCHIP_WRITE(_Sn_DPORTR_(sn),(uint8_t)((dportr)>>8)); \
3909 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_Sn_DPORTR_(sn),1),(uint8_t)(dportr)); \
3911 #define getSn_DPORTR(sn) \
3912 ((((uint16_t)WIZCHIP_READ(_Sn_DPORTR_(sn))) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_Sn_DPORTR_(sn),1)))
3914 #define setSn_MR2(sn,mr2) \
3915 WIZCHIP_WRITE(_Sn_MR2_(sn),(mr2))
3916 #define getSn_MR2(sn) \
3917 WIZCHIP_READ(_Sn_MR2_(sn))
3919 #define setSn_RTR(sn,rtr) \
3921 WIZCHIP_WRITE(_Sn_RTR_(sn),(uint8_t)((rtr)>>8)); \
3922 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_Sn_RTR_(sn),1),(uint8_t)(rtr)); \
3924 #define getSn_RTR(sn) \
3925 ((((uint16_t)WIZCHIP_READ(_Sn_RTR_(sn))) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_Sn_RTR_(sn),1)))
3927 #define setSn_RCR(sn,rcr) \
3928 WIZCHIP_WRITE(_Sn_RCR_(sn),(rcr))
3929 #define getSn_RCR(sn) \
3930 WIZCHIP_READ(_Sn_RCR_(sn))
3932 #define setSn_KPALVTR(sn,kpalvtr) \
3933 WIZCHIP_WRITE(_Sn_KPALVTR_(sn),(kpalvtr))
3934 #define getSn_KPALVTR(sn) \
3935 WIZCHIP_READ(_Sn_KPALVTR_(sn))
3937 #define setSn_TX_BSR(sn, tmsr) \
3938 WIZCHIP_WRITE(_Sn_TX_BSR_(sn),(tmsr))
3939 #define setSn_TXBUF_SIZE(sn, tmsr) setSn_TX_BSR(sn,(tmsr))
3941 #define getSn_TX_BSR(sn) \
3942 WIZCHIP_READ(_Sn_TX_BSR_(sn))
3943 #define getSn_TXBUF_SIZE(sn) getSn_TX_BSR(sn)
3945 #define getSn_TxMAX(sn) \
3946 (getSn_TX_BSR(sn) << 10)
3950 #define getSn_TX_RD(sn) \
3951 ((((uint16_t)WIZCHIP_READ(_Sn_TX_RD_(sn))) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_Sn_TX_RD_(sn),1)))
3953 #define setSn_TX_WR(sn,txwr) \
3955 WIZCHIP_WRITE(_Sn_TX_WR_(sn), (uint8_t)((txwr)>>8)); \
3956 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_Sn_TX_WR_(sn),1), (uint8_t)(txwr)); \
3958 #define getSn_TX_WR(sn) \
3959 (((uint16_t)WIZCHIP_READ(_Sn_TX_WR_(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_Sn_TX_WR_(sn),1)))
3961 #define setSn_RX_BSR(sn,rmsr) \
3962 WIZCHIP_WRITE(_Sn_RX_BSR_(sn),(rmsr))
3963 #define setSn_RXBUF_SIZE(sn,rmsr) setSn_RX_BSR(sn,(rmsr))
3965 #define getSn_RX_BSR(sn) \
3966 WIZCHIP_READ(_Sn_RX_BSR_(sn))
3967 #define getSn_RXBUF_SIZE(sn) getSn_RX_BSR(sn)
3969 #define getSn_RxMAX(sn) \
3970 (getSn_RX_BSR(sn) <<10)
3974 #define setSn_RX_RD(sn,rxrd) \
3976 WIZCHIP_WRITE(_Sn_RX_RD_(sn), (uint8_t)((rxrd)>>8)); \
3977 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_Sn_RX_RD_(sn),1), (uint8_t)(rxrd)) ; \
3980 #define getSn_RX_RD(sn) \
3981 (((uint16_t)WIZCHIP_READ(_Sn_RX_RD_(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_Sn_RX_RD_(sn),1)))
3983 #define getSn_RX_WR(sn) \
3984 (((uint16_t)WIZCHIP_READ(_Sn_RX_WR_(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_Sn_RX_WR_(sn),1)))
4005 void wiz_send_data(uint8_t sn, uint8_t *wizdata, datasize_t len);
4019 void wiz_recv_data(uint8_t sn, uint8_t *wizdata, datasize_t len);
4031 #if (_PHY_IO_MODE_ == _PHY_IO_MODE_MII_)
4057 #endif // _WIZCHIP_ == 6100
uint16_t wiz_mdio_read(uint8_t phyregaddr)
Read data from the PHY via MDC/MDIO interface.
void WIZCHIP_WRITE(uint32_t AddrSel, uint8_t wb)
It writes 1 byte value to a register.
void WIZCHIP_WRITE_BUF(uint32_t AddrSel, uint8_t *pBuf, datasize_t len)
It writes sequential data to registers.
datasize_t getSn_RX_RSR(uint8_t s)
void WIZCHIP_READ_BUF(uint32_t AddrSel, uint8_t *pBuf, datasize_t len)
It reads sequentail data from registers.
datasize_t getSn_TX_FSR(uint8_t sn)
void wiz_send_data(uint8_t sn, uint8_t *wizdata, datasize_t len)
It saves data to be sent in the SOCKETn TX buffer.
void wiz_recv_ignore(uint8_t sn, datasize_t len)
It discards the received data in the SOCKETn RX buffer.
void wiz_mdio_write(uint8_t phyregaddr, uint16_t var)
Write data to the PHY via MDC/MDIO interface.
uint8_t WIZCHIP_READ(uint32_t AddrSel)
It reads 1 byte value from a register.
WIZCHIP Config Header File.
void wiz_recv_data(uint8_t sn, uint8_t *wizdata, datasize_t len)
It reads the received data from the SOCKETn RX buffer and copies the data to your system memory speci...