'**************************************************************** '* Name : W5100_defs.pbp * '* Author : Henrik Olsson. * '* Notice : Supplied as is. * '* : See the W5100 datasheet for details on each entry.* '* Date : 2011-05-24 * '* Version : 1.0 * '* Notes : This file contains register definitions for the * '* W5100 ethernet controler. Since we're using the * '* chip in SPI-mode there's no need to take the * '* chips base adress (adress on the external bus) * '* into concideration so this is all pretty much * '* taken directly out of the datasheet for the W5100.* '* * '* * '* If the RSMR and/or TMSR registers are changed from* '* their respective default value of $55 make sure * '* to change the constants for the start-adress, * '* end-adress and the mask value for each socket. * '* These values are at the very end of this file. * '**************************************************************** 'OP codes for read and write of W5100. W5100_READ_OP CON $0F W5100_WRITE_OP CON $F0 '****************************************************************************** '- - - - - - - W 5 1 0 0 C O M M O N R E G I S T E R S - - - - - - - - - - '****************************************************************************** 'Mode register W5100_MODE CON $0000 'Gateway adress register (adress of router etc) W5100_GAR0 CON $0001 W5100_GAR1 CON $0002 W5100_GAR2 CON $0003 W5100_GAR3 CON $0004 'Subnet maks register W5100_SUBR0 CON $0005 W5100_SUBR1 CON $0006 W5100_SUBR2 CON $0007 W5100_SUBR3 CON $0008 'Source hardware adress register (MAC) W5100_SHAR0 CON $0009 W5100_SHAR1 CON $000A W5100_SHAR2 CON $000B W5100_SHAR3 CON $000C W5100_SHAR4 CON $000D W5100_SHAR5 CON $000E 'Source IP adress register (adress of W5100) W5100_SIPR0 CON $000F W5100_SIPR1 CON $0010 W5100_SIPR2 CON $0011 W5100_SIPR3 CON $0012 'Interrupt register W5100_IR CON $0015 'Interrupt mask register W5100_IMR CON $0016 'Retry time registers W5100_RTR0 CON $0017 W5100_RTR1 CON $0018 'Retry count register W5100_RCR CON $0019 'RX memory Size. This defaults to $55 which is 2k per socket. 'If this is changed make sure to change the W5100_Sn_RX_START, 'W5100_Sn_RX_END and the W5100_Sn_RX_MASK for each socket. 'These constants are defined at the end of this file. W5100_RMSR CON $001A 'TX memory Size. This defaults to $55 which is 2k per socket. 'If this is changed make sure to change the W5100_Sn_TX_START, 'W5100_Sn_TX_END and the W5100_Sn_TX_MASK for each socket. 'These constants are defined at the end of this file. W5100_TMSR CON $001B 'Authentication Type in PPPoE W5100_PATR0 CON $001C W5100_PATR1 CON $001D 'PPP LCP Request Timer W5100_PTIMER CON $0028 'PPP LCP Magic Number W5100_PMAGIC CON $0029 'Unreachable IP Adress register W5100_UIPR0 CON $002A W5100_UIPR1 CON $002B W5100_UIPR2 CON $002C W5100_UIPR3 CON $002D 'Unreachable port register W5100_UPORT0 CON $002E W5100_UPORT1 CON $002F '****************************************************************************** '****************************************************************************** '- - - - - - - - - - S O C K E T 0 R E G I S T E R S - - - - - - - - - - - - '****************************************************************************** 'Socket 0 Mode register W5100_S0_MR CON $0400 'Socket 0 Command register W5100_S0_CR CON $0401 'Socket 0 Interrupt register W5100_S0_IR CON $0402 'Socket 0 Status register W5100_S0_SR CON $0403 'Socket 0 Source Port W5100_S0_PORT0 CON $0404 W5100_S0_PORT1 CON $0405 'Socket 0 Destination Hardware Adress register W5100_S0_DHAR0 CON $0406 W5100_S0_DHAR1 CON $0407 W5100_S0_DHAR2 CON $0408 W5100_S0_DHAR3 CON $0409 W5100_S0_DHAR4 CON $040A W5100_S0_DHAR5 CON $040B 'Socket 0 Destination IP Adress register W5100_S0_DIPR0 CON $040C W5100_S0_DIPR1 CON $040D W5100_S0_DIPR2 CON $040E W5100_S0_DIPR3 CON $040F 'Socket 0 destination port register W5100_S0_DPORT0 CON $0410 W5100_S0_DPORT1 CON $0411 'Socket 0 Maximum Segment size register W5100_S0_MSSR0 CON $0412 W5100_S0_MSSR1 CON $0413 'Socket 0 Protocol in IP RAW mode register W5100_S0_PROTO CON $0414 'Socket 0 IP Tos register W5100_S0_TOS CON $0415 'Socket 0 IP TTL register W5100_S0_TTL CON $0416 'Socket 0 TX Free Size register W5100_S0_TX_FSR0 CON $0420 W5100_S0_TX_FSR1 CON $0421 'Socket 0 TX Read Pointer register W5100_S0_TX_RD0 CON $0422 W5100_S0_TX_RD1 CON $0423 'Socket 0 TX write Pointer register W5100_S0_TX_WR0 CON $0424 W5100_S0_TX_WR1 CON $0425 'Socket 0 RX Received Size register W5100_S0_RX_RSR0 CON $0426 W5100_S0_RX_RSR1 CON $0427 'Socket 0 RX Read Pointer W5100_S0_RX_RD0 CON $0428 W5100_S0_RX_RD1 CON $0429 '****************************************************************************** '****************************************************************************** '- - - - - - - - - - S O C K E T 1 R E G I S T E R S - - - - - - - - - - - - '****************************************************************************** 'Socket 0 Mode register W5100_S1_MR CON $0500 'Socket 0 Command register W5100_S1_CR CON $0501 'Socket 0 Interrupt register W5100_S1_IR CON $0502 'Socket 0 Status register W5100_S1_SR CON $0503 'Socket 0 Source Port W5100_S1_PORT0 CON $0504 W5100_S1_PORT1 CON $0505 'Socket 0 Destination Hardware Adress register W5100_S1_DHAR0 CON $0506 W5100_S1_DHAR1 CON $0507 W5100_S1_DHAR2 CON $0508 W5100_S1_DHAR3 CON $0509 W5100_S1_DHAR4 CON $050A W5100_S1_DHAR5 CON $050B 'Socket 0 Destination IP Adress register W5100_S1_DIPR0 CON $050C W5100_S1_DIPR1 CON $050D W5100_S1_DIPR2 CON $050E W5100_S1_DIPR3 CON $050F 'Socket destination port register W5100_S1_DPORT0 CON $0510 W5100_S1_DPORT1 CON $0511 'Socket 0 Maximum Segment size register W5100_S1_MSSR0 CON $0512 W5100_S1_MSSR1 CON $0513 'Socket 0 Protocol in IP RAW mode register W5100_S1_PROTO CON $0514 'Socket 0 IP Tos register W5100_S1_TOS CON $0515 'Socket 0 IP TTL register W5100_S1_TTL CON $0516 'Socket 0 TX Free Size register W5100_S1_TX_FSR0 CON $0520 W5100_S1_TX_FSR1 CON $0521 'Socket 0 TX Read Pointer register W5100_S1_TX_RD0 CON $0522 W5100_S1_TX_RD1 CON $0523 'Socket 0 TX write Pointer register W5100_S1_TX_WR0 CON $0524 W5100_S1_TX_WR1 CON $0525 'Socket 0 RX Received Size register W5100_S1_RX_RSR0 CON $0526 W5100_S1_RX_RSR1 CON $0527 'Socket 0 RX Read Pointer W5100_S1_RX_RD0 CON $0528 W5100_S1_RX_RD1 CON $0529 '****************************************************************************** '****************************************************************************** '- - - - - - - - - - S O C K E T 2 R E G I S T E R S - - - - - - - - - - - - '****************************************************************************** 'Socket 0 Mode register W5100_S2_MR CON $0600 'Socket 0 Command register W5100_S2_CR CON $0601 'Socket 0 Interrupt register W5100_S2_IR CON $0602 'Socket 0 Status register W5100_S2_SR CON $0603 'Socket 0 Source Port W5100_S2_PORT0 CON $0604 W5100_S2_PORT1 CON $0605 'Socket 0 Destination Hardware Adress register W5100_S2_DHAR0 CON $0606 W5100_S2_DHAR1 CON $0607 W5100_S2_DHAR2 CON $0608 W5100_S2_DHAR3 CON $0609 W5100_S2_DHAR4 CON $060A W5100_S2_DHAR5 CON $060B 'Socket 0 Destination IP Adress register W5100_S2_DIPR0 CON $060C W5100_S2_DIPR1 CON $060D W5100_S2_DIPR2 CON $060E W5100_S2_DIPR3 CON $060F 'Socket destination port register W5100_S2_DPORT0 CON $0610 W5100_S2_DPORT1 CON $0611 'Socket 0 Maximum Segment size register W5100_S2_MSSR0 CON $0612 W5100_S2_MSSR1 CON $0613 'Socket 0 Protocol in IP RAW mode register W5100_S2_PROTO CON $0614 'Socket 0 IP Tos register W5100_S2_TOS CON $0615 'Socket 0 IP TTL register W5100_S2_TTL CON $0616 'Socket 0 TX Free Size register W5100_S2_TX_FSR0 CON $0620 W5100_S2_TX_FSR1 CON $0621 'Socket 0 TX Read Pointer register W5100_S2_TX_RD0 CON $0622 W5100_S2_TX_RD1 CON $0623 'Socket 0 TX write Pointer register W5100_S2_TX_WR0 CON $0624 W5100_S2_TX_WR1 CON $0625 'Socket 0 RX Received Size register W5100_S2_RX_RSR0 CON $0626 W5100_S2_RX_RSR1 CON $0627 'Socket 0 RX Read Pointer W5100_S2_RX_RD0 CON $0628 W5100_S2_RX_RD1 CON $0629 '****************************************************************************** '****************************************************************************** '- - - - - - - - - - S O C K E T 3 R E G I S T E R S - - - - - - - - - - - - '****************************************************************************** 'Socket 0 Mode register W5100_S3_MR CON $0700 'Socket 0 Command register W5100_S3_CR CON $0701 'Socket 0 Interrupt register W5100_S3_IR CON $0702 'Socket 0 Status register W5100_S3_SR CON $0703 'Socket 0 Source Port W5100_S3_PORT0 CON $0704 W5100_S3_PORT1 CON $0705 'Socket 0 Destination Hardware Adress register W5100_S3_DHAR0 CON $0706 W5100_S3_DHAR1 CON $0707 W5100_S3_DHAR2 CON $0708 W5100_S3_DHAR3 CON $0709 W5100_S3_DHAR4 CON $070A W5100_S3_DHAR5 CON $070B 'Socket 0 Destination IP Adress register W5100_S3_DIPR0 CON $070C W5100_S3_DIPR1 CON $070D W5100_S3_DIPR2 CON $070E W5100_S3_DIPR3 CON $070F 'Socket destination port register W5100_S3_DPORT0 CON $0710 W5100_S3_DPORT1 CON $0711 'Socket 0 Maximum Segment size register W5100_S3_MSSR0 CON $0712 W5100_S3_MSSR1 CON $0713 'Socket 0 Protocol in IP RAW mode register W5100_S3_PROTO CON $0714 'Socket 0 IP Tos register W5100_S3_TOS CON $0715 'Socket 0 IP TTL register W5100_S3_TTL CON $0716 'Socket 0 TX Free Size register W5100_S3_TX_FSR0 CON $0720 W5100_S3_TX_FSR1 CON $0721 'Socket 0 TX Read Pointer register W5100_S3_TX_RD0 CON $0722 W5100_S3_TX_RD1 CON $0723 'Socket 0 TX write Pointer register W5100_S3_TX_WR0 CON $0724 W5100_S3_TX_WR1 CON $0725 'Socket 0 RX Received Size register W5100_S3_RX_RSR0 CON $0726 W5100_S3_RX_RSR1 CON $0727 'Socket 0 RX Read Pointer W5100_S3_RX_RD0 CON $0728 W5100_S3_RX_RD1 CON $0729 '****************************************************************************** 'Socket n commands to be written to W5100_Sn_CR, where n is the socket number. W5100_Sn_OPEN CON $01 W5100_Sn_LISTEN CON $02 W5100_Sn_CONNECT CON $04 W5100_Sn_DISCON CON $08 W5100_Sn_CLOSE CON $10 W5100_Sn_SEND CON $20 W5100_Sn_SEND_MAC CON $21 W5100_Sn_SEND_KEEP CON $22 W5100_Sn_RECV CON $40 'Socket n status that can be read from W5100_Sn_SR, where n is the socket number. W5100_SOCK_CLOSED CON $00 W5100_SOCK_INIT CON $13 W5100_SOCK_LISTEN CON $14 W5100_SOCK_ESTABLISHED CON $17 W5100_SOCK_CLOSE_WAIT CON $1C W5100_SOCK_UDP CON $22 W5100_SOCK_IPRAW CON $32 W5100_SOCK_MACRAW CON $42 W5100_SOCK_PPPOE CON $5F 'Socket n status values during actual change status. W5100_SOCK_SYNSENT CON $15 W5100_SOCK_SYNRECV CON $16 W5100_SOCK_FIN_WAIT CON $18 W5100_SOCK_CLOSING CON $1A W5100_SOCK_TIME_WAIT CON $1B W5100_SOCK_LAST_ACK CON $1C W5100_SOCK_ARP CON $11 '************************************************************************************** ' ----------- THESE VALUES MAY NEED TO BE CHANGED BY THE USER OF THIS FILE ------------ '************************************************************************************** 'Socket 0-3 RX memory START & END adresses ans MASK values for calculating pointer. 'Make sure to change these if the TMSR value is changed from its default value of $55 W5100_S0_TX_START CON $4000 'Start adress of Socket 0 (not changeable) W5100_S0_TX_END CON $47FF 'End adress of Socket 0 (depends on the TMSR register) W5100_S0_TX_MASK CON $07FF 'Mask value for 2k W5100_S1_TX_START CON $4800 'Start adress of Socket 1 (depends on the size of socket 0) W5100_S1_TX_END CON $4FFF W5100_S1_TX_MASK CON $07FF 'Mask value for 2k W5100_S2_TX_START CON $5000 'Start adress of socket 2 (depends on the size of sockets 0 & 1) W5100_S2_TX_END CON $57FF W5100_S2_TX_MASK CON $07FF 'Mask value for 2k W5100_S3_TX_START CON $5800 'Start adress of socket 3 (depends on the size of sockets 0, 1 & 2) W5100_S3_TX_END CON $5FFF W5100_S3_TX_MASK CON $07FF 'Mask value for 2k '************************************************************************************** '************************************************************************************** ' ----------- THESE VALUES MAY NEED TO BE CHANGED BY THE USER OF THIS FILE ------------ '************************************************************************************** ' Socket 0-3 RX memory START & END adresses and MASK values for calculating pointer. ' Make sure to change these if the RMSR value is changed from its default value of $55 W5100_S0_RX_START CON $6000 'Start adress of Socket 0 (not changeable) W5100_S0_RX_END CON $67FF W5100_S0_RX_MASK CON $07FF 'Mask value for 2k W5100_S1_RX_START CON $6800 'Start adress of Socket 1 (depends on the size of socket 0) W5100_S1_RX_END CON $6FFF W5100_S1_RX_MASK CON $07FF 'Mask value for 2k W5100_S2_RX_START CON $7000 'Start adress of socket 2 (depends on the size of sockets 0 & 1) W5100_S2_RX_END CON $77FF W5100_S2_RX_MASK CON $07FF 'Mask value for 2k W5100_S3_RX_START CON $8000 'Start adress of socket 3 (depends on the size of sockets 0, 1 & 2) W5100_S3_RX_END CON $8FFF W5100_S3_RX_MASK CON $07FF 'Mask value for 2k '**************************************************************************************