Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
enc624j600.h
00001 /** 00002 * @file enc624j600.h 00003 * @brief ENC624J600/ENC424J600 Ethernet controller 00004 * 00005 * @section License 00006 * 00007 * Copyright (C) 2010-2017 Oryx Embedded SARL. All rights reserved. 00008 * 00009 * This file is part of CycloneTCP Open. 00010 * 00011 * This program is free software; you can redistribute it and/or 00012 * modify it under the terms of the GNU General Public License 00013 * as published by the Free Software Foundation; either version 2 00014 * of the License, or (at your option) any later version. 00015 * 00016 * This program is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU General Public License 00022 * along with this program; if not, write to the Free Software Foundation, 00023 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00024 * 00025 * @author Oryx Embedded SARL (www.oryx-embedded.com) 00026 * @version 1.7.6 00027 **/ 00028 00029 #ifndef _ENC624J600_H 00030 #define _ENC624J600_H 00031 00032 //Receive and transmit buffers 00033 #define ENC624J600_TX_BUFFER_START 0x0000 00034 #define ENC624J600_TX_BUFFER_STOP 0x17FE 00035 #define ENC624J600_RX_BUFFER_START 0x1800 00036 #define ENC624J600_RX_BUFFER_STOP 0x5FFE 00037 00038 //SPI command set 00039 #define ENC624J600_CMD_B0SEL 0xC0 //Bank 0 Select 00040 #define ENC624J600_CMD_B1SEL 0xC2 //Bank 1 Select 00041 #define ENC624J600_CMD_B2SEL 0xC4 //Bank 2 Select 00042 #define ENC624J600_CMD_B3SEL 0xC6 //Bank 3 Select 00043 #define ENC624J600_CMD_SETETHRST 0xCA //System Reset 00044 #define ENC624J600_CMD_FCDISABLE 0xE0 //Flow Control Disable 00045 #define ENC624J600_CMD_FCSINGLE 0xE2 //Flow Control Single 00046 #define ENC624J600_CMD_FCMULTIPLE 0xE4 //Flow Control Multiple 00047 #define ENC624J600_CMD_FCCLEAR 0xE6 //Flow Control Clear 00048 #define ENC624J600_CMD_SETPKTDEC 0xCC //Decrement Packet Counter 00049 #define ENC624J600_CMD_DMASTOP 0xD2 //DMA Stop 00050 #define ENC624J600_CMD_DMACKSUM 0xD8 //DMA Start Checksum 00051 #define ENC624J600_CMD_DMACKSUMS 0xDA //DMA Start Checksum with Seed 00052 #define ENC624J600_CMD_DMACOPY 0xDC //DMA Start Copy 00053 #define ENC624J600_CMD_DMACOPYS 0xDE //DMA Start Copy and Checksum with Seed 00054 #define ENC624J600_CMD_SETTXRTS 0xD4 //Request Packet Transmission 00055 #define ENC624J600_CMD_ENABLERX 0xE8 //Enable RX 00056 #define ENC624J600_CMD_DISABLERX 0xEA //Disable RX 00057 #define ENC624J600_CMD_SETEIE 0xEC //Enable Interrupts 00058 #define ENC624J600_CMD_CLREIE 0xEE //Disable Interrupts 00059 #define ENC624J600_CMD_RBSEL 0xC8 //Read Bank Select 00060 #define ENC624J600_CMD_WGPRDPT 0x60 //Write EGPRDPT 00061 #define ENC624J600_CMD_RGPRDPT 0x62 //Read EGPRDPT 00062 #define ENC624J600_CMD_WRXRDPT 0x64 //Write ERXRDPT 00063 #define ENC624J600_CMD_RRXRDPT 0x66 //Read ERXRDPT 00064 #define ENC624J600_CMD_WUDARDPT 0x68 //Write EUDARDPT 00065 #define ENC624J600_CMD_RUDARDPT 0x6A //Read EUDARDPT 00066 #define ENC624J600_CMD_WGPWRPT 0x6C //Write EGPWRPT 00067 #define ENC624J600_CMD_RGPWRPT 0x6E //Read EGPWRPT 00068 #define ENC624J600_CMD_WRXWRPT 0x70 //Write ERXWRPT 00069 #define ENC624J600_CMD_RRXWRPT 0x72 //Read ERXWRPT 00070 #define ENC624J600_CMD_WUDAWRPT 0x74 //Write EUDAWRPT 00071 #define ENC624J600_CMD_RUDAWRPT 0x76 //Read EUDAWRPT 00072 #define ENC624J600_CMD_RCR 0x00 //Read Control Register 00073 #define ENC624J600_CMD_WCR 0x40 //Write Control Register 00074 #define ENC624J600_CMD_RCRU 0x20 //Read Control Register Unbanked 00075 #define ENC624J600_CMD_WCRU 0x22 //Write Control Register Unbanked 00076 #define ENC624J600_CMD_BFS 0x80 //Bit Field Set 00077 #define ENC624J600_CMD_BFC 0xA0 //Bit Field Clear 00078 #define ENC624J600_CMD_BFSU 0x24 //Bit Field Set Unbanked 00079 #define ENC624J600_CMD_BFCU 0x26 //Bit Field Clear Unbanked 00080 #define ENC624J600_CMD_RGPDATA 0x28 //Read EGPDATA 00081 #define ENC624J600_CMD_WGPDATA 0x2A //Write EGPDATA 00082 #define ENC624J600_CMD_RRXDATA 0x2C //Read ERXDATA 00083 #define ENC624J600_CMD_WRXDATA 0x2E //Write ERXDATA 00084 #define ENC624J600_CMD_RUDADATA 0x30 //Read EUDADATA 00085 #define ENC624J600_CMD_WUDADATA 0x32 //Write EUDADATA 00086 00087 //ENC624J600 registers 00088 #define ENC624J600_REG_ETXST 0x00 00089 #define ENC624J600_REG_ETXLEN 0x02 00090 #define ENC624J600_REG_ERXST 0x04 00091 #define ENC624J600_REG_ERXTAIL 0x06 00092 #define ENC624J600_REG_ERXHEAD 0x08 00093 #define ENC624J600_REG_EDMAST 0x0A 00094 #define ENC624J600_REG_EDMALEN 0x0C 00095 #define ENC624J600_REG_EDMADST 0x0E 00096 #define ENC624J600_REG_EDMACS 0x10 00097 #define ENC624J600_REG_ETXSTAT 0x12 00098 #define ENC624J600_REG_ETXWIRE 0x14 00099 #define ENC624J600_REG_EUDAST 0x16 00100 #define ENC624J600_REG_EUDAND 0x18 00101 #define ENC624J600_REG_ESTAT 0x1A 00102 #define ENC624J600_REG_EIR 0x1C 00103 #define ENC624J600_REG_ECON1 0x1E 00104 #define ENC624J600_REG_EHT1 0x20 00105 #define ENC624J600_REG_EHT2 0x22 00106 #define ENC624J600_REG_EHT3 0x24 00107 #define ENC624J600_REG_EHT4 0x26 00108 #define ENC624J600_REG_EPMM1 0x28 00109 #define ENC624J600_REG_EPMM2 0x2A 00110 #define ENC624J600_REG_EPMM3 0x2C 00111 #define ENC624J600_REG_EPMM4 0x2E 00112 #define ENC624J600_REG_EPMCS 0x30 00113 #define ENC624J600_REG_EPMO 0x32 00114 #define ENC624J600_REG_ERXFCON 0x34 00115 #define ENC624J600_REG_MACON1 0x40 00116 #define ENC624J600_REG_MACON2 0x42 00117 #define ENC624J600_REG_MABBIPG 0x44 00118 #define ENC624J600_REG_MAIPG 0x46 00119 #define ENC624J600_REG_MACLCON 0x48 00120 #define ENC624J600_REG_MAMXFL 0x4A 00121 #define ENC624J600_REG_MICMD 0x52 00122 #define ENC624J600_REG_MIREGADR 0x54 00123 #define ENC624J600_REG_MAADR3 0x60 00124 #define ENC624J600_REG_MAADR2 0x62 00125 #define ENC624J600_REG_MAADR1 0x64 00126 #define ENC624J600_REG_MIWR 0x66 00127 #define ENC624J600_REG_MIRD 0x68 00128 #define ENC624J600_REG_MISTAT 0x6A 00129 #define ENC624J600_REG_EPAUS 0x6C 00130 #define ENC624J600_REG_ECON2 0x6E 00131 #define ENC624J600_REG_ERXWM 0x70 00132 #define ENC624J600_REG_EIE 0x72 00133 #define ENC624J600_REG_EIDLED 0x74 00134 #define ENC624J600_REG_EGPDATA 0x80 00135 #define ENC624J600_REG_ERXDATA 0x82 00136 #define ENC624J600_REG_EUDADATA 0x84 00137 #define ENC624J600_REG_EGPRDPT 0x86 00138 #define ENC624J600_REG_EGPWRPT 0x88 00139 #define ENC624J600_REG_ERXRDPT 0x8A 00140 #define ENC624J600_REG_ERXWRPT 0x8C 00141 #define ENC624J600_REG_EUDARDPT 0x8E 00142 #define ENC624J600_REG_EUDAWRPT 0x90 00143 00144 //ENC624J600 PHY registers 00145 #define ENC624J600_PHY_REG_PHCON1 0x00 00146 #define ENC624J600_PHY_REG_PHSTAT1 0x01 00147 #define ENC624J600_PHY_REG_PHANA 0x04 00148 #define ENC624J600_PHY_REG_PHANLPA 0x05 00149 #define ENC624J600_PHY_REG_PHANE 0x06 00150 #define ENC624J600_PHY_REG_PHCON2 0x11 00151 #define ENC624J600_PHY_REG_PHSTAT2 0x1B 00152 #define ENC624J600_PHY_REG_PHSTAT3 0x1F 00153 00154 //ESTAT register 00155 #define ESTAT_INT 0x8000 00156 #define ESTAT_FCIDLE 0x4000 00157 #define ESTAT_RXBUSY 0x2000 00158 #define ESTAT_CLKRDY 0x1000 00159 #define ESTAT_R11 0x0800 00160 #define ESTAT_PHYDPX 0x0400 00161 #define ESTAT_R9 0x0200 00162 #define ESTAT_PHYLNK 0x0100 00163 #define ESTAT_PKTCNT 0x00FF 00164 00165 //EIR register 00166 #define EIR_CRYPTEN 0x8000 00167 #define EIR_MODEXIF 0x4000 00168 #define EIR_HASHIF 0x2000 00169 #define EIR_AESIF 0x1000 00170 #define EIR_LINKIF 0x0800 00171 #define EIR_R10 0x0400 00172 #define EIR_R9 0x0200 00173 #define EIR_R8 0x0100 00174 #define EIR_R7 0x0080 00175 #define EIR_PKTIF 0x0040 00176 #define EIR_DMAIF 0x0020 00177 #define EIR_R4 0x0010 00178 #define EIR_TXIF 0x0008 00179 #define EIR_TXABTIF 0x0004 00180 #define EIR_RXABTIF 0x0002 00181 #define EIR_PCFULIF 0x0001 00182 00183 //ECON1 register 00184 #define ECON1_MODEXST 0x8000 00185 #define ECON1_HASHEN 0x4000 00186 #define ECON1_HASHOP 0x2000 00187 #define ECON1_HASHLST 0x1000 00188 #define ECON1_AESST 0x0800 00189 #define ECON1_AESOP1 0x0400 00190 #define ECON1_AESOP0 0x0200 00191 #define ECON1_PKTDEC 0x0100 00192 #define ECON1_FCOP1 0x0080 00193 #define ECON1_FCOP0 0x0040 00194 #define ECON1_DMAST 0x0020 00195 #define ECON1_DMACPY 0x0010 00196 #define ECON1_DMACSSD 0x0008 00197 #define ECON1_DMANOCS 0x0004 00198 #define ECON1_TXRTS 0x0002 00199 #define ECON1_RXEN 0x0001 00200 00201 //ETXSTAT register 00202 #define ETXSTAT_R12 0x1000 00203 #define ETXSTAT_R11 0x0800 00204 #define ETXSTAT_LATECOL 0x0400 00205 #define ETXSTAT_MAXCOL 0x0200 00206 #define ETXSTAT_EXDEFER 0x0100 00207 #define ETXSTAT_DEFER 0x0080 00208 #define ETXSTAT_R6 0x0040 00209 #define ETXSTAT_R5 0x0020 00210 #define ETXSTAT_CRCBAD 0x0010 00211 #define ETXSTAT_COLCNT 0x000F 00212 00213 //ERXFCON register 00214 #define ERXFCON_HTEN 0x8000 00215 #define ERXFCON_MPEN 0x4000 00216 #define ERXFCON_NOTPM 0x1000 00217 #define ERXFCON_PMEN3 0x0800 00218 #define ERXFCON_PMEN2 0x0400 00219 #define ERXFCON_PMEN1 0x0200 00220 #define ERXFCON_PMEN0 0x0100 00221 #define ERXFCON_CRCEEN 0x0080 00222 #define ERXFCON_CRCEN 0x0040 00223 #define ERXFCON_RUNTEEN 0x0020 00224 #define ERXFCON_RUNTEN 0x0010 00225 #define ERXFCON_UCEN 0x0008 00226 #define ERXFCON_NOTMEEN 0x0004 00227 #define ERXFCON_MCEN 0x0002 00228 #define ERXFCON_BCEN 0x0001 00229 00230 //MACON1 register 00231 #define MACON1_R15 0x8000 00232 #define MACON1_R14 0x4000 00233 #define MACON1_R11 0x0800 00234 #define MACON1_R10 0x0400 00235 #define MACON1_R9 0x0200 00236 #define MACON1_R8 0x0100 00237 #define MACON1_LOOPBK 0x0010 00238 #define MACON1_R3 0x0008 00239 #define MACON1_RXPAUS 0x0004 00240 #define MACON1_PASSALL 0x0002 00241 #define MACON1_R0 0x0001 00242 00243 //MACON2 register 00244 #define MACON2_DEFER 0x4000 00245 #define MACON2_BPEN 0x2000 00246 #define MACON2_NOBKOFF 0x1000 00247 #define MACON2_R9 0x0200 00248 #define MACON2_R8 0x0100 00249 #define MACON2_PADCFG2 0x0080 00250 #define MACON2_PADCFG1 0x0040 00251 #define MACON2_PADCFG0 0x0020 00252 #define MACON2_TXCRCEN 0x0010 00253 #define MACON2_PHDREN 0x0008 00254 #define MACON2_HFRMEN 0x0004 00255 #define MACON2_R1 0x0002 00256 #define MACON2_FULDPX 0x0001 00257 00258 //MABBIPG register 00259 #define MABBIPG_BBIPG 0x007F 00260 00261 //MAIPG register 00262 #define MAIPG_R14 0x4000 00263 #define MAIPG_R13 0x2000 00264 #define MAIPG_R12 0x1000 00265 #define MAIPG_R11 0x0800 00266 #define MAIPG_R10 0x0400 00267 #define MAIPG_R9 0x0200 00268 #define MAIPG_R8 0x0100 00269 #define MAIPG_IPG 0x007F 00270 00271 //MACLCON register 00272 #define MACLCON_R13 0x2000 00273 #define MACLCON_R12 0x1000 00274 #define MACLCON_R11 0x0800 00275 #define MACLCON_R10 0x0400 00276 #define MACLCON_R9 0x0200 00277 #define MACLCON_R8 0x0100 00278 #define MACLCON_MAXRET 0x000F 00279 00280 //MICMD register 00281 #define MICMD_MIISCAN 0x0002 00282 #define MICMD_MIIRD 0x0001 00283 00284 //MIREGADR register 00285 #define MIREGADR_R12 0x1000 00286 #define MIREGADR_R11 0x0800 00287 #define MIREGADR_R10 0x0400 00288 #define MIREGADR_R9 0x0200 00289 #define MIREGADR_R8 0x0100 00290 #define MIREGADR_PHREG 0x001F 00291 00292 //MISTAT register 00293 #define MISTAT_R3 0x0008 00294 #define MISTAT_NVALID 0x0004 00295 #define MISTAT_SCAN 0x0002 00296 #define MISTAT_BUSY 0x0001 00297 00298 //ECON2 register 00299 #define ECON2_ETHEN 0x8000 00300 #define ECON2_STRCH 0x4000 00301 #define ECON2_TXMAC 0x2000 00302 #define ECON2_SHA1MD5 0x1000 00303 #define ECON2_COCON3 0x0800 00304 #define ECON2_COCON2 0x0400 00305 #define ECON2_COCON1 0x0200 00306 #define ECON2_COCON0 0x0100 00307 #define ECON2_AUTOFC 0x0080 00308 #define ECON2_TXRST 0x0040 00309 #define ECON2_RXRST 0x0020 00310 #define ECON2_ETHRST 0x0010 00311 #define ECON2_MODLEN1 0x0008 00312 #define ECON2_MODLEN0 0x0004 00313 #define ECON2_AESLEN1 0x0002 00314 #define ECON2_AESLEN0 0x0001 00315 00316 //ERXWM register 00317 #define ERXWM_RXFWM 0xFF00 00318 #define ERXWM_RXEWM 0x00FF 00319 00320 //EIE register 00321 #define EIE_INTIE 0x8000 00322 #define EIE_MODEXIE 0x4000 00323 #define EIE_HASHIE 0x2000 00324 #define EIE_AESIE 0x1000 00325 #define EIE_LINKIE 0x0800 00326 #define EIE_R10 0x0400 00327 #define EIE_R9 0x0200 00328 #define EIE_R8 0x0100 00329 #define EIE_R7 0x0080 00330 #define EIE_PKTIE 0x0040 00331 #define EIE_DMAIE 0x0020 00332 #define EIE_R4 0x0010 00333 #define EIE_TXIE 0x0008 00334 #define EIE_TXABTIE 0x0004 00335 #define EIE_RXABTIE 0x0002 00336 #define EIE_PCFULIE 0x0001 00337 00338 //EIDLED register 00339 #define EIDLED_LACFG3 0x8000 00340 #define EIDLED_LACFG2 0x4000 00341 #define EIDLED_LACFG1 0x2000 00342 #define EIDLED_LACFG0 0x1000 00343 #define EIDLED_LBCFG3 0x0800 00344 #define EIDLED_LBCFG2 0x0400 00345 #define EIDLED_LBCFG1 0x0200 00346 #define EIDLED_LBCFG0 0x0100 00347 #define EIDLED_DEVID 0x00FF 00348 00349 //PHCON1 register 00350 #define PHCON1_PRST 0x8000 00351 #define PHCON1_PLOOPBK 0x4000 00352 #define PHCON1_SPD100 0x2000 00353 #define PHCON1_ANEN 0x1000 00354 #define PHCON1_PSLEEP 0x0800 00355 #define PHCON1_RENEG 0x0200 00356 #define PHCON1_PFULDPX 0x0100 00357 00358 //PHSTAT1 register 00359 #define PHSTAT1_FULL100 0x4000 00360 #define PHSTAT1_HALF100 0x2000 00361 #define PHSTAT1_FULL10 0x1000 00362 #define PHSTAT1_HALF10 0x0800 00363 #define PHSTAT1_ANDONE 0x0020 00364 #define PHSTAT1_LRFAULT 0x0010 00365 #define PHSTAT1_ANABLE 0x0008 00366 #define PHSTAT1_LLSTAT 0x0004 00367 #define PHSTAT1_EXTREGS 0x0001 00368 00369 //PHANA register 00370 #define PHANA_ADNP 0x8000 00371 #define PHANA_ADFAULT 0x2000 00372 #define PHANA_ADPAUS1 0x0800 00373 #define PHANA_ADPAUS0 0x0400 00374 #define PHANA_AD100FD 0x0100 00375 #define PHANA_AD100 0x0080 00376 #define PHANA_AD10FD 0x0040 00377 #define PHANA_AD10 0x0020 00378 #define PHANA_ADIEEE4 0x0010 00379 #define PHANA_ADIEEE3 0x0008 00380 #define PHANA_ADIEEE2 0x0004 00381 #define PHANA_ADIEEE1 0x0002 00382 #define PHANA_ADIEEE0 0x0001 00383 00384 //PHANLPA register 00385 #define PHANLPA_LPNP 0x8000 00386 #define PHANLPA_LPACK 0x4000 00387 #define PHANLPA_LPFAULT 0x2000 00388 #define PHANLPA_LPPAUS1 0x0800 00389 #define PHANLPA_LPPAUS0 0x0400 00390 #define PHANLPA_LP100T4 0x0200 00391 #define PHANLPA_LP100FD 0x0100 00392 #define PHANLPA_LP100 0x0080 00393 #define PHANLPA_LP10FD 0x0040 00394 #define PHANLPA_LP10 0x0020 00395 #define PHANLPA_LPIEEE 0x001F 00396 #define PHANLPA_LPIEEE4 0x0010 00397 #define PHANLPA_LPIEEE3 0x0008 00398 #define PHANLPA_LPIEEE2 0x0004 00399 #define PHANLPA_LPIEEE1 0x0002 00400 #define PHANLPA_LPIEEE0 0x0001 00401 00402 //PHANE register 00403 #define PHANE_PDFLT 0x0010 00404 #define PHANE_LPARCD 0x0002 00405 #define PHANE_LPANABL 0x0001 00406 00407 //PHCON2 register 00408 #define PHCON2_EDPWRDN 0x2000 00409 #define PHCON2_EDTHRES 0x0800 00410 #define PHCON2_FRCLNK 0x0004 00411 #define PHCON2_EDSTAT 0x0002 00412 00413 //PHSTAT2 register 00414 #define PHSTAT2_PLRITY 0x0010 00415 00416 //PHSTAT3 register 00417 #define PHSTAT3_SPDDPX2 0x0010 00418 #define PHSTAT3_SPDDPX1 0x0008 00419 #define PHSTAT3_SPDDPX0 0x0004 00420 00421 //Receive status vector 00422 #define RSV_UNICAST_FILTER 0x00100000 00423 #define RSV_PATTERN_MATCH_FILTER 0x00080000 00424 #define RSV_MAGIC_PACKET_FILTER 0x00040000 00425 #define RSV_HASH_FILTER 0x00020000 00426 #define RSV_NOT_ME_FILTER 0x00010000 00427 #define RSV_RUNT_FILTER 0x00008000 00428 #define RSV_VLAN_TYPE 0x00004000 00429 #define RSV_UNKNOWN_OPCODE 0x00002000 00430 #define RSV_PAUSE_CONTROL_FRAME 0x00001000 00431 #define RSV_CONTROL_FRAME 0x00000800 00432 #define RSV_DRIBBLE_NIBBLE 0x00000400 00433 #define RSV_BROADCAST_PACKET 0x00000200 00434 #define RSV_MULTICAST_PACKET 0x00000100 00435 #define RSV_RECEIVED_OK 0x00000080 00436 #define RSV_LENGTH_OUT_OF_RANGE 0x00000040 00437 #define RSV_LENGTH_CHECK_ERROR 0x00000020 00438 #define RSV_CRC_ERROR 0x00000010 00439 #define RSV_CARRIER_EVENT 0x00000004 00440 #define RSV_PACKET_IGNORED 0x00000001 00441 00442 00443 /** 00444 * @brief ENC624J600 driver context 00445 **/ 00446 00447 typedef struct 00448 { 00449 uint16_t nextPacket; ///<Next packet in the receive buffer 00450 uint8_t *rxBuffer; ///<Receive buffer 00451 } Enc624j600Context; 00452 00453 00454 //ENC624J600 driver 00455 extern const NicDriver enc624j600Driver; 00456 00457 //ENC624J600 related functions 00458 error_t enc624j600Init(NetInterface *interface); 00459 00460 void enc624j600Tick(NetInterface *interface); 00461 00462 void enc624j600EnableIrq(NetInterface *interface); 00463 void enc624j600DisableIrq(NetInterface *interface); 00464 bool_t enc624j600IrqHandler(NetInterface *interface); 00465 void enc624j600EventHandler(NetInterface *interface); 00466 00467 error_t enc624j600SendPacket(NetInterface *interface, 00468 const NetBuffer *buffer, size_t offset); 00469 00470 error_t enc624j600ReceivePacket(NetInterface *interface); 00471 00472 error_t enc624j600SetMulticastFilter(NetInterface *interface); 00473 void enc624j600UpdateMacConfig(NetInterface *interface); 00474 00475 error_t enc624j600SoftReset(NetInterface *interface); 00476 00477 void enc624j600WriteReg(NetInterface *interface, uint8_t address, uint16_t data); 00478 uint16_t enc624j600ReadReg(NetInterface *interface, uint8_t address); 00479 00480 void enc624j600WritePhyReg(NetInterface *interface, uint8_t address, uint16_t data); 00481 uint16_t enc624j600ReadPhyReg(NetInterface *interface, uint8_t address); 00482 00483 void enc624j600WriteBuffer(NetInterface *interface, 00484 uint8_t opcode, const NetBuffer *buffer, size_t offset); 00485 00486 void enc624j600ReadBuffer(NetInterface *interface, 00487 uint8_t opcode, uint8_t *data, size_t length); 00488 00489 void enc624j600SetBit(NetInterface *interface, uint8_t address, uint16_t mask); 00490 void enc624j600ClearBit(NetInterface *interface, uint8_t address, uint16_t mask); 00491 00492 uint32_t enc624j600CalcCrc(const void *data, size_t length); 00493 00494 void enc624j600DumpReg(NetInterface *interface); 00495 void enc624j600DumpPhyReg(NetInterface *interface); 00496 00497 #endif 00498
Generated on Tue Jul 12 2022 17:10:13 by
1.7.2