54#ifndef _WIZCHIP_CONF_H_
55#define _WIZCHIP_CONF_H_
69#define W5100S 5100 + 5
75#define _WIZCHIP_ W5500
78#define _WIZCHIP_IO_MODE_NONE_ 0x0000
79#define _WIZCHIP_IO_MODE_BUS_ 0x0100
80#define _WIZCHIP_IO_MODE_SPI_ 0x0200
86#define _WIZCHIP_IO_MODE_BUS_DIR_ (_WIZCHIP_IO_MODE_BUS_ + 1)
87#define _WIZCHIP_IO_MODE_BUS_INDIR_ (_WIZCHIP_IO_MODE_BUS_ + 2)
89#define _WIZCHIP_IO_MODE_SPI_VDM_ (_WIZCHIP_IO_MODE_SPI_ + 1)
90#define _WIZCHIP_IO_MODE_SPI_FDM_ (_WIZCHIP_IO_MODE_SPI_ + 2)
91#define _WIZCHIP_IO_MODE_SPI_5500_ (_WIZCHIP_IO_MODE_SPI_ + 3)
93#if (_WIZCHIP_ == W5100)
94#define _WIZCHIP_ID_ "W5100\0"
101#define _WIZCHIP_IO_MODE_ _WIZCHIP_IO_MODE_SPI_
104typedef uint8_t iodata_t;
106#include "W5100/w5100.h"
108#elif (_WIZCHIP_ == W5100S)
109#define _WIZCHIP_ID_ "W5100S\0"
116#define _WIZCHIP_IO_MODE_ _WIZCHIP_IO_MODE_SPI_
119typedef uint8_t iodata_t;
121#include "W5100S/w5100s.h"
122#elif (_WIZCHIP_ == W5200)
123#define _WIZCHIP_ID_ "W5200\0"
128#ifndef _WIZCHIP_IO_MODE_
130#define _WIZCHIP_IO_MODE_ _WIZCHIP_IO_MODE_SPI_
133typedef uint8_t iodata_t;
134#include "W5200/w5200.h"
135#elif (_WIZCHIP_ == W5500)
136#define _WIZCHIP_ID_ "W5500\0"
151#ifndef _WIZCHIP_IO_MODE_
153#define _WIZCHIP_IO_MODE_ _WIZCHIP_IO_MODE_SPI_VDM_
156typedef uint8_t iodata_t;
158#elif (_WIZCHIP_ == W5300)
159#define _WIZCHIP_ID_ "W5300\0"
164#ifndef _WIZCHIP_IO_MODE_
165#define _WIZCHIP_IO_MODE_ _WIZCHIP_IO_MODE_BUS_DIR_
174#ifndef _WIZCHIP_IO_BUS_WIDTH_
175#define _WIZCHIP_IO_BUS_WIDTH_ 16
177#if _WIZCHIP_IO_BUS_WIDTH_ == 8
178typedef uint8_t iodata_t;
179#elif _WIZCHIP_IO_BUS_WIDTH_ == 16
180typedef uint16_t iodata_t;
182#error "Unknown _WIZCHIP_IO_BUS_WIDTH_. It should be 8 or 16."
185#include "W5300/w5300.h"
187#error "Unknown defined _WIZCHIP_. You should define one of 5100, 5200, and 5500 !!!"
190#ifndef _WIZCHIP_IO_MODE_
191#error "Undefined _WIZCHIP_IO_MODE_. You should define it !!!"
200#if _WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_BUS_
202#define _WIZCHIP_IO_BASE_ 0x68000000
203#elif _WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_SPI_
204#define _WIZCHIP_IO_BASE_ 0x00000000
207#ifndef _WIZCHIP_IO_BASE_
208#define _WIZCHIP_IO_BASE_ 0x00000000
213#if _WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_BUS_
214#ifndef _WIZCHIP_IO_BASE_
215#error "You should be define _WIZCHIP_IO_BASE to fit your system memory map."
219#if _WIZCHIP_ >= W5200
220#define _WIZCHIP_SOCK_NUM_ 8
222#define _WIZCHIP_SOCK_NUM_ 4
267 iodata_t (*_read_data)(uint32_t AddrSel);
268 void (*_write_data)(uint32_t AddrSel, iodata_t wb);
276 uint8_t (*_read_byte)(uint32_t addr);
277 void (*_write_byte)(uint32_t addr, uint8_t wb);
278 void (*_read_burst)(uint32_t addr, uint8_t* pBuf, uint16_t len);
279 void (*_write_burst)(uint32_t addr, uint8_t* pBuf, uint16_t len);
339#if _WIZCHIP_ == W5500
341#elif _WIZCHIP_ == W5300
347#
if _WIZCHIP_ != W5200
357#
if _WIZCHIP_ > W5100S
364#
if _WIZCHIP_ > W5100S
371#define PHY_CONFBY_HW 0
372#define PHY_CONFBY_SW 1
373#define PHY_MODE_MANUAL 0
374#define PHY_MODE_AUTONEGO 1
375#define PHY_SPEED_10 0
376#define PHY_SPEED_100 1
377#define PHY_DUPLEX_HALF 0
378#define PHY_DUPLEX_FULL 1
379#define PHY_LINK_OFF 0
381#define PHY_POWER_NORM 0
382#define PHY_POWER_DOWN 1
384#if _WIZCHIP_ == W5100S || _WIZCHIP_ == W5500
428#if _WIZCHIP_ == W5500
474void reg_wizchip_bus_cbfunc(iodata_t (*bus_rb)(uint32_t addr),
void (*bus_wb)(uint32_t addr, iodata_t wb));
494void reg_wizchip_spiburst_cbfunc(
void (*spi_rb)(uint32_t addr, uint8_t* pBuf, uint16_t len),
void (*spi_wb)(uint32_t addr, uint8_t* pBuf, uint16_t len));
574#if _WIZCHIP_ == W5100S || _WIZCHIP_ == W5500
struct wiz_NetInfo_t wiz_NetInfo
struct wiz_NetTimeout_t wiz_NetTimeout
netmode_type
Definition wizchip_conf.h:427
dhcp_mode
Definition wizchip_conf.h:405
ctlnetwork_type
Definition wizchip_conf.h:323
struct wiz_PhyConf_t wiz_PhyConf
struct __WIZCHIP _WIZCHIP
The set of callback functions for W5500:WIZCHIP I/O functions W5200:WIZCHIP_IO_Functions_W5200.
intr_kind
Definition wizchip_conf.h:338
ctlwizchip_type
Definition wizchip_conf.h:293
@ NM_WAKEONLAN
Wake On Lan.
Definition wizchip_conf.h:431
@ NM_FORCEARP
Force to APP send whenever udp data is sent. Valid only in W5500.
Definition wizchip_conf.h:429
@ NM_PPPOE
PPPoE mode.
Definition wizchip_conf.h:433
@ NM_PINGBLOCK
Block ping-request.
Definition wizchip_conf.h:432
@ NETINFO_DHCP
Dynamic IP configruation from a DHCP sever.
Definition wizchip_conf.h:407
@ NETINFO_STATIC
Static IP configuration by manually.
Definition wizchip_conf.h:406
@ CN_GET_NETMODE
Get network mode as WOL, PPPoE, Ping Block, and Force ARP mode.
Definition wizchip_conf.h:327
@ CN_SET_NETMODE
Set network mode as WOL, PPPoE, Ping Block, and Force ARP mode.
Definition wizchip_conf.h:326
@ CN_GET_NETINFO
Get Network with wiz_NetInfo.
Definition wizchip_conf.h:325
@ CN_GET_TIMEOUT
Get network timeout as retry count and time.
Definition wizchip_conf.h:329
@ CN_SET_NETINFO
Set Network with wiz_NetInfo.
Definition wizchip_conf.h:324
@ CN_SET_TIMEOUT
Set network timeout as retry count and time.
Definition wizchip_conf.h:328
@ IK_WOL
Wake On Lan by receiving the magic packet. Valid in W500.
Definition wizchip_conf.h:340
@ IK_SOCK_2
Socket 2 interrupt.
Definition wizchip_conf.h:355
@ IK_SOCK_1
Socket 1 interrupt.
Definition wizchip_conf.h:354
@ IK_SOCK_0
Socket 0 interrupt.
Definition wizchip_conf.h:353
@ IK_SOCK_3
Socket 3 interrupt.
Definition wizchip_conf.h:356
@ IK_SOCK_4
Socket 4 interrupt, No use in 5100.
Definition wizchip_conf.h:358
@ IK_IP_CONFLICT
IP conflict occurred.
Definition wizchip_conf.h:351
@ IK_SOCK_ALL
All Socket interrupt.
Definition wizchip_conf.h:365
@ IK_DEST_UNREACH
Destination IP & Port Unreachable, No use in W5200.
Definition wizchip_conf.h:348
@ IK_PPPOE_TERMINATED
PPPoE Disconnected.
Definition wizchip_conf.h:345
@ IK_SOCK_5
Socket 5 interrupt, No use in 5100.
Definition wizchip_conf.h:359
@ IK_SOCK_7
Socket 7 interrupt, No use in 5100.
Definition wizchip_conf.h:361
@ IK_SOCK_6
Socket 6 interrupt, No use in 5100.
Definition wizchip_conf.h:360
@ CW_GET_INTERRUPT
Get Interrupt status of WIZCHIP.
Definition wizchip_conf.h:296
@ CW_GET_PHYLINK
Get PHY Link status, Valid Only W5100, W5200.
Definition wizchip_conf.h:315
@ CW_GET_INTRTIME
Set interval time between the current and next interrupt.
Definition wizchip_conf.h:301
@ CW_INIT_WIZCHIP
Initializes to WIZCHIP with SOCKET buffer size 2 or 1 dimension array typed uint8_t.
Definition wizchip_conf.h:295
@ CW_SET_PHYCONF
When PHY configured by internal register, PHY operation mode (Manual/Auto, 10/100,...
Definition wizchip_conf.h:307
@ CW_CLR_INTERRUPT
Clears interrupt.
Definition wizchip_conf.h:297
@ CW_GET_ID
Gets WIZCHIP name.
Definition wizchip_conf.h:302
@ CW_SET_INTRTIME
Set interval time between the current and next interrupt.
Definition wizchip_conf.h:300
@ CW_RESET_WIZCHIP
Resets WIZCHIP by softly.
Definition wizchip_conf.h:294
@ CW_RESET_PHY
Resets internal PHY. Valid Only W5500.
Definition wizchip_conf.h:306
@ CW_GET_PHYSTATUS
Get real PHY status on operating. Valid Only W5500.
Definition wizchip_conf.h:309
@ CW_SET_PHYPOWMODE
Set PHY power mode as normal and down when PHYSTATUS.OPMD == 1. Valid Only W5500.
Definition wizchip_conf.h:310
@ CW_SET_INTRMASK
Masks interrupt.
Definition wizchip_conf.h:298
@ CW_GET_PHYCONF
Get PHY operation mode in internal register. Valid Only W5500.
Definition wizchip_conf.h:308
@ CW_GET_INTRMASK
Get interrupt mask.
Definition wizchip_conf.h:299
@ CW_GET_PHYPOWMODE
Get PHY Power mode as down or normal, Valid Only W5100, W5200.
Definition wizchip_conf.h:314
Definition wizchip_conf.h:239
void(* _exit)(void)
critial section exit
Definition wizchip_conf.h:241
void(* _enter)(void)
crtical section enter
Definition wizchip_conf.h:240
Definition wizchip_conf.h:247
void(* _select)(void)
_WIZCHIP_ selected
Definition wizchip_conf.h:248
void(* _deselect)(void)
_WIZCHIP_ deselected
Definition wizchip_conf.h:249
The set of callback functions for W5500:WIZCHIP I/O functions W5200:WIZCHIP_IO_Functions_W5200.
Definition wizchip_conf.h:232
uint16_t if_mode
host interface mode
Definition wizchip_conf.h:233
Definition wizchip_conf.h:414
uint8_t dns[4]
DNS server IP Address.
Definition wizchip_conf.h:419
uint8_t gw[4]
Gateway IP Address.
Definition wizchip_conf.h:418
dhcp_mode dhcp
1 - Static, 2 - DHCP
Definition wizchip_conf.h:420
uint8_t ip[4]
Source IP Address.
Definition wizchip_conf.h:416
uint8_t sn[4]
Subnet Mask.
Definition wizchip_conf.h:417
uint8_t mac[6]
Source Mac Address.
Definition wizchip_conf.h:415
Definition wizchip_conf.h:440
uint8_t retry_cnt
retry count
Definition wizchip_conf.h:441
uint16_t time_100us
time unit 100us
Definition wizchip_conf.h:442
Definition wizchip_conf.h:391
uint8_t mode
set by PHY_MODE_MANUAL or PHY_MODE_AUTONEGO
Definition wizchip_conf.h:393
uint8_t duplex
set by PHY_DUPLEX_HALF PHY_DUPLEX_FULL
Definition wizchip_conf.h:395
uint8_t by
set by PHY_CONFBY_HW or PHY_CONFBY_SW
Definition wizchip_conf.h:392
uint8_t speed
set by PHY_SPEED_10 or PHY_SPEED_100
Definition wizchip_conf.h:394
Definition wizchip_conf.h:255
struct __WIZCHIP::_IF::@0 BUS
struct __WIZCHIP::_IF::@1 SPI
int8_t wizphy_getphypmode(void)
get the power mode of PHY in WIZCHIP. No use in W5100
Definition wizchip_conf.c:615
int8_t wizphy_getphylink(void)
get the link status of phy in WIZCHIP. No use in W5100
Definition wizchip_conf.c:595
void wizphy_reset(void)
Reset phy. Vailid only in W5500.
Definition wizchip_conf.c:703
void reg_wizchip_cs_cbfunc(void(*cs_sel)(void), void(*cs_desel)(void))
Registers call back function for WIZCHIP select & deselect.
Definition wizchip_conf.c:201
void reg_wizchip_cris_cbfunc(void(*cris_en)(void), void(*cris_ex)(void))
Registers call back function for critical section of I/O functions such as WIZCHIP_READ,...
Definition wizchip_conf.c:191
void reg_wizchip_spi_cbfunc(uint8_t(*spi_rb)(uint32_t addr), void(*spi_wb)(uint32_t addr, uint8_t wb))
Registers call back function for SPI interface.
Definition wizchip_conf.c:238
void reg_wizchip_bus_cbfunc(iodata_t(*bus_rb)(uint32_t addr), void(*bus_wb)(uint32_t addr, iodata_t wb))
Registers call back function for bus interface.
Definition wizchip_conf.c:213
void reg_wizchip_spiburst_cbfunc(void(*spi_rb)(uint32_t addr, uint8_t *pBuf, uint16_t len), void(*spi_wb)(uint32_t addr, uint8_t *pBuf, uint16_t len))
Registers call back function for SPI interface.
Definition wizchip_conf.c:252
_WIZCHIP WIZCHIP
Definition wizchip_conf.c:171