7 #ifndef ZRTOS_VFS_MODULE_W5500_DEFINITIONS__H 8 #define ZRTOS_VFS_MODULE_W5500_DEFINITIONS__H 64 #define _W5500_SPI_READ_ (0x00 << 2) //< SPI interface Read operation in Control Phase 65 #define _W5500_SPI_WRITE_ (0x01 << 2) //< SPI interface Write operation in Control Phase 67 #define WIZCHIP_CREG_BLOCK 0x00 //< Common register block 68 #define WIZCHIP_SREG_BLOCK(N) (1+4*N) //< Socket N register block 69 #define WIZCHIP_TXBUF_BLOCK(N) (2+4*N) //< Socket N Tx buffer address block 70 #define WIZCHIP_RXBUF_BLOCK(N) (3+4*N) //< Socket N Rx buffer address block 72 #define WIZCHIP_OFFSET_INC(ADDR, N) (ADDR + (N<<8)) //< Increase offset address 1193 #define WIZCHIP_CRITICAL_ENTER() WIZCHIP.CRIS._enter() 1210 #define WIZCHIP_CRITICAL_EXIT() WIZCHIP.CRIS._exit() 1223 uint8_t WIZCHIP_READ (uint32_t AddrSel);
1232 void WIZCHIP_WRITE(uint32_t AddrSel,
uint8_t wb );
1241 void WIZCHIP_READ_BUF (uint32_t AddrSel,
uint8_t* pBuf, uint16_t len);
1250 void WIZCHIP_WRITE_BUF(uint32_t AddrSel,
uint8_t* pBuf, uint16_t len);
1262 WIZCHIP_WRITE(MR,mr) 1280 #define setGAR(gar) \ 1281 WIZCHIP_WRITE_BUF(GAR,gar,4) 1289 #define getGAR(gar) \ 1290 WIZCHIP_READ_BUF(GAR,gar,4) 1298 #define setSUBR(subr) \ 1299 WIZCHIP_WRITE_BUF(SUBR, subr,4) 1308 #define getSUBR(subr) \ 1309 WIZCHIP_READ_BUF(SUBR, subr, 4) 1317 #define setSHAR(shar) \ 1318 WIZCHIP_WRITE_BUF(SHAR, shar, 6) 1326 #define getSHAR(shar) \ 1327 WIZCHIP_READ_BUF(SHAR, shar, 6) 1335 #define setSIPR(sipr) \ 1336 WIZCHIP_WRITE_BUF(SIPR, sipr, 4) 1344 #define getSIPR(sipr) \ 1345 WIZCHIP_READ_BUF(SIPR, sipr, 4) 1353 #define setINTLEVEL(intlevel) {\ 1354 WIZCHIP_WRITE(INTLEVEL, (uint8_t)(intlevel >> 8)); \ 1355 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(INTLEVEL,1), (uint8_t) intlevel); \ 1370 #define getINTLEVEL() \ 1371 (((uint16_t)WIZCHIP_READ(INTLEVEL) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(INTLEVEL,1))) 1380 WIZCHIP_WRITE(IR, (ir & 0xF0)) 1389 (WIZCHIP_READ(IR) & 0xF0) 1396 #define setIMR(imr) \ 1397 WIZCHIP_WRITE(_IMR_, imr) 1414 #define setSIR(sir) \ 1415 WIZCHIP_WRITE(SIR, sir) 1431 #define setSIMR(simr) \ 1432 WIZCHIP_WRITE(SIMR, simr) 1449 #define setRTR(rtr) {\ 1450 WIZCHIP_WRITE(_RTR_, (uint8_t)(rtr >> 8)); \ 1451 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(_RTR_,1), (uint8_t) rtr); \ 1466 (((uint16_t)WIZCHIP_READ(_RTR_) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(_RTR_,1))) 1475 #define setRCR(rcr) \ 1476 WIZCHIP_WRITE(_RCR_, rcr) 1495 #define setPTIMER(ptimer) \ 1496 WIZCHIP_WRITE(PTIMER, ptimer) 1504 #define getPTIMER() \ 1505 WIZCHIP_READ(PTIMER) 1513 #define setPMAGIC(pmagic) \ 1514 WIZCHIP_WRITE(PMAGIC, pmagic) 1522 #define getPMAGIC() \ 1523 WIZCHIP_READ(PMAGIC) 1531 #define setPHAR(phar) \ 1532 WIZCHIP_WRITE_BUF(PHAR, phar, 6) 1540 #define getPHAR(phar) \ 1541 WIZCHIP_READ_BUF(PHAR, phar, 6) 1549 #define setPSID(psid) {\ 1550 WIZCHIP_WRITE(PSID, (uint8_t)(psid >> 8)); \ 1551 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(PSID,1), (uint8_t) psid); \ 1567 (((uint16_t)WIZCHIP_READ(PSID) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(PSID,1))) 1575 #define setPMRU(pmru) { \ 1576 WIZCHIP_WRITE(PMRU, (uint8_t)(pmru>>8)); \ 1577 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(PMRU,1), (uint8_t) pmru); \ 1592 (((uint16_t)WIZCHIP_READ(PMRU) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(PMRU,1))) 1604 #define getUIPR(uipr) \ 1605 WIZCHIP_READ_BUF(UIPR,uipr,4) 1617 #define getUPORTR() \ 1618 (((uint16_t)WIZCHIP_READ(UPORTR) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(UPORTR,1))) 1626 #define setPHYCFGR(phycfgr) \ 1627 WIZCHIP_WRITE(PHYCFGR, phycfgr) 1635 #define getPHYCFGR() \ 1636 WIZCHIP_READ(PHYCFGR) 1643 #define getVERSIONR() \ 1644 WIZCHIP_READ(VERSIONR) 1658 #define setSn_MR(sn, mr) \ 1659 WIZCHIP_WRITE(Sn_MR(sn),mr) 1668 #define getSn_MR(sn) \ 1669 WIZCHIP_READ(Sn_MR(sn)) 1678 #define setSn_CR(sn, cr) \ 1679 WIZCHIP_WRITE(Sn_CR(sn), cr) 1688 #define getSn_CR(sn) \ 1689 WIZCHIP_READ(Sn_CR(sn)) 1698 #define setSn_IR(sn, ir) \ 1699 WIZCHIP_WRITE(Sn_IR(sn), (ir & 0x1F)) 1708 #define getSn_IR(sn) \ 1709 (WIZCHIP_READ(Sn_IR(sn)) & 0x1F) 1718 #define setSn_IMR(sn, imr) \ 1719 WIZCHIP_WRITE(Sn_IMR(sn), (imr & 0x1F)) 1728 #define getSn_IMR(sn) \ 1729 (WIZCHIP_READ(Sn_IMR(sn)) & 0x1F) 1737 #define getSn_SR(sn) \ 1738 WIZCHIP_READ(Sn_SR(sn)) 1747 #define setSn_PORT(sn, port) { \ 1748 WIZCHIP_WRITE(Sn_PORT(sn), (uint8_t)(port >> 8)); \ 1749 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_PORT(sn),1), (uint8_t) port); \ 1764 #define getSn_PORT(sn) \ 1765 (((uint16_t)WIZCHIP_READ(Sn_PORT(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_PORT(sn),1))) 1774 #define setSn_DHAR(sn, dhar) \ 1775 WIZCHIP_WRITE_BUF(Sn_DHAR(sn), dhar, 6) 1784 #define getSn_DHAR(sn, dhar) \ 1785 WIZCHIP_READ_BUF(Sn_DHAR(sn), dhar, 6) 1794 #define setSn_DIPR(sn, dipr) \ 1795 WIZCHIP_WRITE_BUF(Sn_DIPR(sn), dipr, 4) 1804 #define getSn_DIPR(sn, dipr) \ 1805 WIZCHIP_READ_BUF(Sn_DIPR(sn), dipr, 4) 1814 #define setSn_DPORT(sn, dport) { \ 1815 WIZCHIP_WRITE(Sn_DPORT(sn), (uint8_t) (dport>>8)); \ 1816 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_DPORT(sn),1), (uint8_t) dport); \ 1831 #define getSn_DPORT(sn) \ 1832 (((uint16_t)WIZCHIP_READ(Sn_DPORT(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_DPORT(sn),1))) 1841 #define setSn_MSSR(sn, mss) { \ 1842 WIZCHIP_WRITE(Sn_MSSR(sn), (uint8_t)(mss>>8)); \ 1843 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_MSSR(sn),1), (uint8_t) mss); \ 1858 #define getSn_MSSR(sn) \ 1859 (((uint16_t)WIZCHIP_READ(Sn_MSSR(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_MSSR(sn),1))) 1868 #define setSn_TOS(sn, tos) \ 1869 WIZCHIP_WRITE(Sn_TOS(sn), tos) 1878 #define getSn_TOS(sn) \ 1879 WIZCHIP_READ(Sn_TOS(sn)) 1888 #define setSn_TTL(sn, ttl) \ 1889 WIZCHIP_WRITE(Sn_TTL(sn), ttl) 1899 #define getSn_TTL(sn) \ 1900 WIZCHIP_READ(Sn_TTL(sn)) 1910 #define setSn_RXBUF_SIZE(sn, rxbufsize) \ 1911 WIZCHIP_WRITE(Sn_RXBUF_SIZE(sn),rxbufsize) 1921 #define getSn_RXBUF_SIZE(sn) \ 1922 WIZCHIP_READ(Sn_RXBUF_SIZE(sn)) 1931 #define setSn_TXBUF_SIZE(sn, txbufsize) \ 1932 WIZCHIP_WRITE(Sn_TXBUF_SIZE(sn), txbufsize) 1941 #define getSn_TXBUF_SIZE(sn) \ 1942 WIZCHIP_READ(Sn_TXBUF_SIZE(sn)) 1950 uint16_t getSn_TX_FSR(
uint8_t sn);
1963 #define getSn_TX_RD(sn) \ 1964 (((uint16_t)WIZCHIP_READ(Sn_TX_RD(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_TX_RD(sn),1))) 1973 #define setSn_TX_WR(sn, txwr) { \ 1974 WIZCHIP_WRITE(Sn_TX_WR(sn), (uint8_t)(txwr>>8)); \ 1975 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_TX_WR(sn),1), (uint8_t) txwr); \ 1990 #define getSn_TX_WR(sn) \ 1991 (((uint16_t)WIZCHIP_READ(Sn_TX_WR(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_TX_WR(sn),1))) 2000 uint16_t getSn_RX_RSR(
uint8_t sn);
2010 #define setSn_RX_RD(sn, rxrd) { \ 2011 WIZCHIP_WRITE(Sn_RX_RD(sn), (uint8_t)(rxrd>>8)); \ 2012 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_RX_RD(sn),1), (uint8_t) rxrd); \ 2027 #define getSn_RX_RD(sn) \ 2028 (((uint16_t)WIZCHIP_READ(Sn_RX_RD(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_RX_RD(sn),1))) 2041 #define getSn_RX_WR(sn) \ 2042 (((uint16_t)WIZCHIP_READ(Sn_RX_WR(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_RX_WR(sn),1))) 2051 #define setSn_FRAG(sn, frag) { \ 2052 WIZCHIP_WRITE(Sn_FRAG(sn), (uint8_t)(frag >>8)); \ 2053 WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_FRAG(sn),1), (uint8_t) frag); \ 2068 #define getSn_FRAG(sn) \ 2069 (((uint16_t)WIZCHIP_READ(Sn_FRAG(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_FRAG(sn),1))) 2078 #define setSn_KPALVTR(sn, kpalvt) \ 2079 WIZCHIP_WRITE(Sn_KPALVTR(sn), kpalvt) 2088 #define getSn_KPALVTR(sn) \ 2089 WIZCHIP_READ(Sn_KPALVTR(sn)) 2107 #define getSn_RxMAX(sn) \ 2108 (((uint16_t)getSn_RXBUF_SIZE(sn)) << 10) 2121 #define getSn_TxMAX(sn) \ 2122 (((uint16_t)getSn_TXBUF_SIZE(sn)) << 10) 2163 void wiz_recv_ignore(
uint8_t sn, uint16_t len);
IP Conflict Interrupt Mask.
zrtos_vfs_module_w5500_socket_register_command_t
Support UDP Multicasting.
Mode Register address(R/W) MR is used for S/W reset, ping block mode, PPPoE mode and etc...
zrtos_vfs_module_w5500_register_interrupt_t
zrtos_vfs_module_w5500_register_imr_t
zrtos_vfs_module_w5500_ipproto_t
zrtos_vfs_module_w5500_register_phy_config_t
Initialize or open socket.
zrtos_vfs_module_w5500_register_t
socket Mode register(R/W)
zrtos_vfs_module_w5500_socket_register_interrupt_t
zrtos_vfs_module_w5500_socket_register_t
zrtos_vfs_module_w5500_socket_register_status_t
zrtos_vfs_module_w5500_register_mode_t
zrtos_vfs_module_w5500_socket_register_mode_t