Loading...
Searching...
No Matches
encx24j600_defines.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2015 Ell-i open source co-operative
3 * SPDX-FileCopyrightText: 2015 Kaspar Schleiser <kaspar@schleiser.de>
4 * SPDX-License-Identifier: LGPL-2.1-only
5 */
6
7#pragma once
8
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
27#define ENC_RCR 0x00 /* read control register */
28#define ENC_WCR 0x04 /* write control register */
29
30#define ENC_RCRU 0x20 /* read control register unbanked */
31#define ENC_WCRU 0x22 /* write control register unbanked */
32
33#define ENC_BFSU 0x24 /* set bits unbanked */
34#define ENC_BFCU 0x26 /* clear bits unbanked */
35
36#define ENC_RGPDATA 0x28 /* Read EGPDATA */
37#define ENC_WGPDATA 0x2a /* Write EGPDATA */
38
39#define ENC_RRXDATA 0x2c /* Read ERXDATA */
40#define ENC_WRXDATA 0x2e /* Write ERXDATA */
41
42#define ENC_RUDADATA 0x30 /* Read EUDADATA */
43#define ENC_WUDADATA 0x32 /* Write EUDADATA */
44
45#define ENC_BFS 0x80 /* Bit Field Set */
46#define ENC_BFC 0xa0 /* Bit Field Clear */
47
48#define ENC_SETETHRST 0xca /* System Reset */
49#define ENC_SETPKTDEC 0xcc /* Decrements PKTCNT by setting PKTDEC (ECON1<5>) */
50#define ENC_ENABLERX 0xe8 /* Enables packet reception by setting RXEN (ECON1<0>) */
51#define ENC_DISABLERX 0xea /* Disable packet reception by clearing RXEN (ECON1<0>) */
52#define ENC_SETEIE 0xec /* Enable Ethernet Interrupts by setting INT (ESTAT<16>) */
53#define ENC_CLREIE 0xee /* Disable Ethernet Interrupts by clearing INT (ESTAT<16>) */
54
55#define ENC_B0SEL 0xc0 /* select bank 0 */
56#define ENC_B1SEL 0xc2 /* select bank 0 */
57#define ENC_B2SEL 0xc4 /* select bank 0 */
58#define ENC_B3SEL 0xc6 /* select bank 0 */
59#define ENC_RBSEL 0xc8 /* Read Bank Select */
60
61#define ENC_SETTXRTS 0xd4 /* Sets TXRTS (ECON1<1>), sends an Ethernet packet */
63
68#define ENC_ETXST 0x00
69#define ENC_ETXLEN 0x02
70#define ENC_ERXST 0x04
71#define ENC_ERXTAIL 0x06
72#define ENC_ERXHEAD 0x08
73#define ENC_ETXSTAT 0x12
74#define ENC_ETXWIRE 0x14
75#define ENC_EUDAST 0x16
76#define ENC_ESTAT 0x1a
77#define ENC_EIR 0x1c /* Interrupt Flag Register */
78#define ENC_ECON1 0x1e
79
80#define ENC_ERXFCON 0x34 /* Receive filter control register */
81
82#define ENC_MACON2 0x42
83#define ENC_MAMXFL 0x4a /* MAC maximum frame length */
84
85#define ENC_MAADR3 0x60 /* MAC address byte 5&6 */
86#define ENC_MAADR2 0x62 /* MAC address byte 3&4 */
87#define ENC_MAADR1 0x64 /* MAC address byte 1&2 */
88
89#define ENC_MIWR 0x66
90#define ENC_MIREGADR 0x54
91
92#define ENC_ECON2 0x6e
93
94#define ENC_EIE 0x72 /* Interrupt Enable Register */
95
96#define ENC_EGPRDPT 0x86 /* General Purpose SRAM read pointer */
97#define ENC_EGPWRPT 0x88 /* General Purpose SRAM write pointer */
98
99#define ENC_ERXRDPT 0x8a /* RX buffer read pointer */
100#define ENC_ERXWRPT 0x8c /* RX buffer write pointer */
102
110#define ENC_PHCON1 0x00
111#define ENC_PHSTAT1 0x01
112#define ENC_PHANA 0x04
113#define ENC_PHANLPA 0x05
114#define ENC_PHANE 0x06
115#define ENC_PHCON2 0x11
116#define ENC_PHSTAT2 0x1b
117#define ENC_PHSTAT3 0x1f
119
124#define ENC_PHYLNK (1<<8)
125#define ENC_CLKRDY (1<<12)
127
132#define ENC_RXEN (1<<0)
133#define ENC_TXRTS (1<<1)
134#define ENC_DMANOCS (1<<2)
135#define ENC_DMACSSD (1<<3)
136#define ENC_DMACPY (1<<4)
137#define ENC_DMAST (1<<5)
138#define ENC_FCOP0 (1<<6)
139#define ENC_FCOP1 (1<<7)
140#define ENC_PKTDEC (1<<8)
141#define ENC_AESOP0 (1<<9)
142#define ENC_AESOP1 (1<<10)
143#define ENC_AESST (1<<11)
144#define ENC_HASHLST (1<<12)
145#define ENC_HASHOP (1<<13)
146#define ENC_HASHEN (1<<14)
147#define ENC_MODEXST (1<<15)
149
154#define ENC_ETHRST (1<<4)
155#define ENC_AUTOFC (1<<7) /* automatic flow control enable bit */
157
162#define ENC_PCFULIE (1<<0)
163#define ENC_RXABTIE (1<<1)
164#define ENC_TXABTIE (1<<2)
165#define ENC_TXIE (1<<3)
166#define ENC_DMAIE (1<<5)
167#define ENC_PKTIE (1<<6)
168#define ENC_LINKIE (1<<11)
169#define ENC_AESIE (1<<12)
170#define ENC_HASHIE (1<<13)
171#define ENC_MODEXIE (1<<14)
172#define ENC_INTIE (1<<15)
174
179#define ENC_PCFULIF (1<<0)
180#define ENC_RXABTIF (1<<1)
181#define ENC_TXABTIF (1<<2)
182#define ENC_TXIF (1<<3)
183#define ENC_DMAIF (1<<5)
184#define ENC_PKTIF (1<<6)
185#define ENC_LINKIF (1<<11)
186#define ENC_AESIF (1<<12)
187#define ENC_HASHIF (1<<13)
188#define ENC_MODEXIF (1<<14)
189#define ENC_CRYPTEN (1<<15)
191
196#define ENC_MCEN (1<<1)
198
199#ifdef __cplusplus
200}
201#endif