 |
io6Library
WIZnet Dual Stack TCP/IP Ethernet Controller Driver
|
Go to the documentation of this file.
38 #define _WIZCHIP_SPI_VDM_OP_ 0x00
39 #define _WIZCHIP_SPI_FDM_LEN1_ 0x01
40 #define _WIZCHIP_SPI_FDM_LEN2_ 0x02
41 #define _WIZCHIP_SPI_FDM_LEN4_ 0x03
51 #define _W6100_SPI_OP_ _WIZCHIP_SPI_VDM_OP_
57 tAD[0] = (uint8_t)((AddrSel & 0x00FF0000) >> 16);
58 tAD[1] = (uint8_t)((AddrSel & 0x0000FF00) >> 8);
59 tAD[2] = (uint8_t)(AddrSel & 0x000000ff);
65 #if( (_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_SPI_VDM_))
69 #elif ( (_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_INDIR_) )
72 #error "Unknown _WIZCHIP_IO_MODE_ in W5100. !!!"
83 tAD[0] = (uint8_t)((AddrSel & 0x00FF0000) >> 16);
84 tAD[1] = (uint8_t)((AddrSel & 0x0000FF00) >> 8);
85 tAD[2] = (uint8_t)(AddrSel & 0x000000ff);
90 #if( (_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_SPI_VDM_))
94 #elif ( (_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_INDIR_) )
98 #error "Unknown _WIZCHIP_IO_MODE_ in W6100. !!!"
109 tAD[0] = (uint8_t)((AddrSel & 0x00FF0000) >> 16);
110 tAD[1] = (uint8_t)((AddrSel & 0x0000FF00) >> 8);
111 tAD[2] = (uint8_t)(AddrSel & 0x000000ff);
117 #if((_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_SPI_VDM_))
123 #elif ( (_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_INDIR_) )
127 #error "Unknown _WIZCHIP_IO_MODE_ in W6100. !!!!"
137 tAD[0] = (uint8_t)((AddrSel & 0x00FF0000) >> 16);
138 tAD[1] = (uint8_t)((AddrSel & 0x0000FF00) >> 8);
139 tAD[2] = (uint8_t)(AddrSel & 0x000000ff);
144 #if((_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_SPI_VDM_))
148 #elif ( (_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_INDIR_) )
152 #error "Unknown _WIZCHIP_IO_MODE_ in W6100. !!!!"
160 datasize_t prev_val=-1,val=0;
166 }
while (val != prev_val);
172 datasize_t prev_val=-1,val=0;
178 }
while (val != prev_val);
182 void wiz_send_data(uint8_t sn, uint8_t *wizdata, datasize_t len)
185 uint32_t addrsel = 0;
193 void wiz_recv_data(uint8_t sn, uint8_t *wizdata, datasize_t len)
196 uint32_t addrsel = 0;
212 #if (_PHY_IO_MODE_ == _PHY_IO_MODE_MII_)
uint16_t wiz_mdio_read(uint8_t phyregaddr)
Read data from the PHY via MDC/MDIO interface.
#define setPHYRAR(phyrar)
#define setSn_TX_WR(sn, txwr)
void WIZCHIP_WRITE(uint32_t AddrSel, uint8_t wb)
It writes 1 byte value to a register.
void(* _write_byte_buf)(uint8_t *pBuf, datasize_t len)
Write byte data as many as len to _WIZCHIP_ through SPI.
#define WIZCHIP_CRITICAL_ENTER()
Enter a critical section.
#define WIZCHIP_TXBUF_BLOCK(N)
SOCKETn Tx buffer address block.
void WIZCHIP_WRITE_BUF(uint32_t AddrSel, uint8_t *pBuf, datasize_t len)
It writes sequential data to registers.
void(* _d_e_s_e_l_e_c_t_)(void)
_WIZCHIP_ deselected
void(* _read_data_buf)(uint32_t AddrSel, iodata_t *pBuf, datasize_t len, uint8_t addrinc)
Read iodata_t as many as len from _WIZCHIP_ through BUS.
#define setPHYDIR(phydir)
#define WIZCHIP_CRITICAL_EXIT()
Enter a critical section.
datasize_t getSn_RX_RSR(uint8_t s)
_WIZCHIP_T_ WIZCHIP
_WIZCHIP_T_ instance
#define setSn_RX_RD(sn, rxrd)
void WIZCHIP_READ_BUF(uint32_t AddrSel, uint8_t *pBuf, datasize_t len)
It reads sequentail data from registers.
uint8_t(* _read_byte)(void)
Read 1 byte data from _WIZCHIP_ through SPI.
#define PHYACR_WRITE
Write _PHYDIR_ to the Ethernet PHY register specified by _PHYRAR_.
#define PHYACR_READ
Read a value from the Ethernet PHY register specified by _PHYRAR_. The read value can be checked by ...
datasize_t getSn_TX_FSR(uint8_t sn)
void(* _write_data_buf)(uint32_t AddrSel, iodata_t *pBuf, datasize_t len, uint8_t addrinc)
Write iodata_t data as many as len to _WIZCHIP_ through BUS.
#define WIZCHIP_RXBUF_BLOCK(N)
SOCKETn Rx buffer address block.
struct __WIZCHIP_T__::_IF::_BUS BUS
The callback function of _WIZCHIP_IO_MODE_SPI_ such as _WIZCHIP_IO_MODE_SPI_VDM_ and _WIZCHIP_IO_MODE...
union __WIZCHIP_T__::_IF IF
#define _Sn_RX_RSR_(N)
SOCKETn RX Received Size Register Address [RO][0x0000].
#define WIZCHIP_OFFSET_INC(ADDR, N)
Increase offset address.
#define _W6100_SPI_READ_
SPI interface Read operation in Control Phase.
void wiz_send_data(uint8_t sn, uint8_t *wizdata, datasize_t len)
It saves data to be sent in the SOCKETn TX buffer.
#define _W6100_SPI_WRITE_
SPI interface Write operation in Control Phase.
void wiz_recv_ignore(uint8_t sn, datasize_t len)
It discards the received data in the SOCKETn RX buffer.
void(* _s_e_l_e_c_t_)(void)
_WIZCHIP_ selected
iodata_t(* _read_data)(uint32_t AddrSel)
Read 1 iodata_t from _WIZCHIP_ through BUS.
void(* _read_byte_buf)(uint8_t *pBuf, datasize_t len)
Read byte data as many as len from _WIZCHIP_ through SPI.
struct __WIZCHIP_T__::_CS CS
The set of interface IO callback function.
void wiz_mdio_write(uint8_t phyregaddr, uint16_t var)
Write data to the PHY via MDC/MDIO interface.
#define setPHYACR(phyacr)
#define _Sn_TX_FSR_(N)
SOCKETn TX Free Buffer Size Register Address [RO][0x0800].
#define IDM_DR
Indirect Data Register.
uint8_t WIZCHIP_READ(uint32_t AddrSel)
It reads 1 byte value from a register.
struct __WIZCHIP_T__::_IF::_SPI SPI
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...
#define IDM_AR0
Indirect High Address Register.