Webserver+3d print
Embed:
(wiki syntax)
Show/hide line numbers
enc624j600.h
Go to the documentation of this file.
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
