123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890 |
- #ifndef __STM32F4x7_ETH_H
- #define __STM32F4x7_ETH_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "stm32f4x7_eth_conf.h"
-
- typedef struct {
-
- uint32_t ETH_AutoNegotiation;
- uint32_t ETH_Watchdog;
-
- uint32_t ETH_Jabber;
- uint32_t ETH_InterFrameGap;
-
- uint32_t ETH_CarrierSense;
- uint32_t ETH_Speed;
- uint32_t ETH_ReceiveOwn;
-
- uint32_t ETH_LoopbackMode;
-
- uint32_t ETH_Mode;
-
- uint32_t ETH_ChecksumOffload;
-
- uint32_t ETH_RetryTransmission;
- uint32_t ETH_AutomaticPadCRCStrip;
-
- uint32_t ETH_BackOffLimit;
- uint32_t ETH_DeferralCheck;
-
- uint32_t ETH_ReceiveAll;
-
- uint32_t ETH_SourceAddrFilter;
-
- uint32_t ETH_PassControlFrames;
-
- uint32_t ETH_BroadcastFramesReception;
- uint32_t ETH_DestinationAddrFilter;
-
- uint32_t ETH_PromiscuousMode;
- uint32_t ETH_MulticastFramesFilter;
-
- uint32_t ETH_UnicastFramesFilter;
-
- uint32_t ETH_HashTableHigh;
- uint32_t ETH_HashTableLow;
- uint32_t ETH_PauseTime;
- uint32_t ETH_ZeroQuantaPause;
-
- uint32_t ETH_PauseLowThreshold;
-
- uint32_t ETH_UnicastPauseFrameDetect;
-
- uint32_t ETH_ReceiveFlowControl;
- uint32_t ETH_TransmitFlowControl;
-
- uint32_t ETH_VLANTagComparison;
-
- uint32_t ETH_VLANTagIdentifier;
-
- uint32_t ETH_DropTCPIPChecksumErrorFrame;
-
- uint32_t ETH_ReceiveStoreForward;
-
- uint32_t ETH_FlushReceivedFrame;
-
- uint32_t ETH_TransmitStoreForward;
-
- uint32_t ETH_TransmitThresholdControl;
- uint32_t ETH_ForwardErrorFrames;
- uint32_t ETH_ForwardUndersizedGoodFrames;
- uint32_t ETH_ReceiveThresholdControl;
- uint32_t ETH_SecondFrameOperate;
- uint32_t ETH_AddressAlignedBeats;
- uint32_t ETH_FixedBurst;
-
- uint32_t ETH_RxDMABurstLength;
-
- uint32_t ETH_TxDMABurstLength;
-
- uint32_t ETH_DescriptorSkipLength;
- uint32_t ETH_DMAArbitration;
-
- }ETH_InitTypeDef;
-
-
- typedef struct {
- __IO uint32_t Status;
- uint32_t ControlBufferSize;
- uint32_t Buffer1Addr;
- uint32_t Buffer2NextDescAddr;
- #ifdef USE_ENHANCED_DMA_DESCRIPTORS
- uint32_t ExtendedStatus;
- uint32_t Reserved1;
- uint32_t TimeStampLow;
- uint32_t TimeStampHigh;
- #endif
- } ETH_DMADESCTypeDef;
- typedef struct{
- u32 length;
- u32 buffer;
- __IO ETH_DMADESCTypeDef *descriptor;
- }FrameTypeDef;
- typedef struct {
- __IO ETH_DMADESCTypeDef *FS_Rx_Desc;
- __IO ETH_DMADESCTypeDef *LS_Rx_Desc;
- __IO uint32_t Seg_Count;
- } ETH_DMA_Rx_Frame_infos;
-
-
-
-
-
- #define ETH_MAX_PACKET_SIZE 1524
- #define ETH_HEADER 14
- #define ETH_CRC 4
- #define ETH_EXTRA 2
- #define VLAN_TAG 4
- #define MIN_ETH_PAYLOAD 46
- #define MAX_ETH_PAYLOAD 1500
- #define JUMBO_FRAME_PAYLOAD 9000
-
-
-
-
- #ifndef ETH_RX_BUF_SIZE
- #define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE
- #endif
-
- #ifndef ETH_RXBUFNB
- #define ETH_RXBUFNB 5
- #endif
-
-
-
-
- #ifndef ETH_TX_BUF_SIZE
- #define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE
- #endif
-
- #ifndef ETH_TXBUFNB
- #define ETH_TXBUFNB 5
- #endif
- #define ETH_DMARxDesc_FrameLengthShift 16
-
-
- #define ETH_DMATxDesc_OWN ((uint32_t)0x80000000)
- #define ETH_DMATxDesc_IC ((uint32_t)0x40000000)
- #define ETH_DMATxDesc_LS ((uint32_t)0x20000000)
- #define ETH_DMATxDesc_FS ((uint32_t)0x10000000)
- #define ETH_DMATxDesc_DC ((uint32_t)0x08000000)
- #define ETH_DMATxDesc_DP ((uint32_t)0x04000000)
- #define ETH_DMATxDesc_TTSE ((uint32_t)0x02000000)
- #define ETH_DMATxDesc_CIC ((uint32_t)0x00C00000)
- #define ETH_DMATxDesc_CIC_ByPass ((uint32_t)0x00000000)
- #define ETH_DMATxDesc_CIC_IPV4Header ((uint32_t)0x00400000)
- #define ETH_DMATxDesc_CIC_TCPUDPICMP_Segment ((uint32_t)0x00800000)
- #define ETH_DMATxDesc_CIC_TCPUDPICMP_Full ((uint32_t)0x00C00000)
- #define ETH_DMATxDesc_TER ((uint32_t)0x00200000)
- #define ETH_DMATxDesc_TCH ((uint32_t)0x00100000)
- #define ETH_DMATxDesc_TTSS ((uint32_t)0x00020000)
- #define ETH_DMATxDesc_IHE ((uint32_t)0x00010000)
- #define ETH_DMATxDesc_ES ((uint32_t)0x00008000)
- #define ETH_DMATxDesc_JT ((uint32_t)0x00004000)
- #define ETH_DMATxDesc_FF ((uint32_t)0x00002000)
- #define ETH_DMATxDesc_PCE ((uint32_t)0x00001000)
- #define ETH_DMATxDesc_LCA ((uint32_t)0x00000800)
- #define ETH_DMATxDesc_NC ((uint32_t)0x00000400)
- #define ETH_DMATxDesc_LCO ((uint32_t)0x00000200)
- #define ETH_DMATxDesc_EC ((uint32_t)0x00000100)
- #define ETH_DMATxDesc_VF ((uint32_t)0x00000080)
- #define ETH_DMATxDesc_CC ((uint32_t)0x00000078)
- #define ETH_DMATxDesc_ED ((uint32_t)0x00000004)
- #define ETH_DMATxDesc_UF ((uint32_t)0x00000002)
- #define ETH_DMATxDesc_DB ((uint32_t)0x00000001)
-
- #define ETH_DMATxDesc_TBS2 ((uint32_t)0x1FFF0000)
- #define ETH_DMATxDesc_TBS1 ((uint32_t)0x00001FFF)
-
- #define ETH_DMATxDesc_B1AP ((uint32_t)0xFFFFFFFF)
-
- #define ETH_DMATxDesc_B2AP ((uint32_t)0xFFFFFFFF)
-
- #define ETH_DMAPTPTxDesc_TTSL ((uint32_t)0xFFFFFFFF)
- #define ETH_DMAPTPTxDesc_TTSH ((uint32_t)0xFFFFFFFF)
-
-
- #define ETH_DMARxDesc_OWN ((uint32_t)0x80000000)
- #define ETH_DMARxDesc_AFM ((uint32_t)0x40000000)
- #define ETH_DMARxDesc_FL ((uint32_t)0x3FFF0000)
- #define ETH_DMARxDesc_ES ((uint32_t)0x00008000)
- #define ETH_DMARxDesc_DE ((uint32_t)0x00004000)
- #define ETH_DMARxDesc_SAF ((uint32_t)0x00002000)
- #define ETH_DMARxDesc_LE ((uint32_t)0x00001000)
- #define ETH_DMARxDesc_OE ((uint32_t)0x00000800)
- #define ETH_DMARxDesc_VLAN ((uint32_t)0x00000400)
- #define ETH_DMARxDesc_FS ((uint32_t)0x00000200)
- #define ETH_DMARxDesc_LS ((uint32_t)0x00000100)
- #define ETH_DMARxDesc_IPV4HCE ((uint32_t)0x00000080)
- #define ETH_DMARxDesc_LC ((uint32_t)0x00000040)
- #define ETH_DMARxDesc_FT ((uint32_t)0x00000020)
- #define ETH_DMARxDesc_RWT ((uint32_t)0x00000010)
- #define ETH_DMARxDesc_RE ((uint32_t)0x00000008)
- #define ETH_DMARxDesc_DBE ((uint32_t)0x00000004)
- #define ETH_DMARxDesc_CE ((uint32_t)0x00000002)
- #define ETH_DMARxDesc_MAMPCE ((uint32_t)0x00000001)
-
- #define ETH_DMARxDesc_DIC ((uint32_t)0x80000000)
- #define ETH_DMARxDesc_RBS2 ((uint32_t)0x1FFF0000)
- #define ETH_DMARxDesc_RER ((uint32_t)0x00008000)
- #define ETH_DMARxDesc_RCH ((uint32_t)0x00004000)
- #define ETH_DMARxDesc_RBS1 ((uint32_t)0x00001FFF)
-
- #define ETH_DMARxDesc_B1AP ((uint32_t)0xFFFFFFFF)
-
- #define ETH_DMARxDesc_B2AP ((uint32_t)0xFFFFFFFF)
- #define ETH_DMAPTPRxDesc_PTPV ((uint32_t)0x00002000)
- #define ETH_DMAPTPRxDesc_PTPFT ((uint32_t)0x00001000)
- #define ETH_DMAPTPRxDesc_PTPMT ((uint32_t)0x00000F00)
- #define ETH_DMAPTPRxDesc_PTPMT_Sync ((uint32_t)0x00000100)
- #define ETH_DMAPTPRxDesc_PTPMT_FollowUp ((uint32_t)0x00000200)
- #define ETH_DMAPTPRxDesc_PTPMT_DelayReq ((uint32_t)0x00000300)
- #define ETH_DMAPTPRxDesc_PTPMT_DelayResp ((uint32_t)0x00000400)
- #define ETH_DMAPTPRxDesc_PTPMT_PdelayReq_Announce ((uint32_t)0x00000500)
- #define ETH_DMAPTPRxDesc_PTPMT_PdelayResp_Manag ((uint32_t)0x00000600)
- #define ETH_DMAPTPRxDesc_PTPMT_PdelayRespFollowUp_Signal ((uint32_t)0x00000700)
- #define ETH_DMAPTPRxDesc_IPV6PR ((uint32_t)0x00000080)
- #define ETH_DMAPTPRxDesc_IPV4PR ((uint32_t)0x00000040)
- #define ETH_DMAPTPRxDesc_IPCB ((uint32_t)0x00000020)
- #define ETH_DMAPTPRxDesc_IPPE ((uint32_t)0x00000010)
- #define ETH_DMAPTPRxDesc_IPHE ((uint32_t)0x00000008)
- #define ETH_DMAPTPRxDesc_IPPT ((uint32_t)0x00000007)
- #define ETH_DMAPTPRxDesc_IPPT_UDP ((uint32_t)0x00000001)
- #define ETH_DMAPTPRxDesc_IPPT_TCP ((uint32_t)0x00000002)
- #define ETH_DMAPTPRxDesc_IPPT_ICMP ((uint32_t)0x00000003)
- #define ETH_DMAPTPRxDesc_RTSL ((uint32_t)0xFFFFFFFF)
- #define ETH_DMAPTPRxDesc_RTSH ((uint32_t)0xFFFFFFFF)
-
-
- #define PHY_READ_TO ((uint32_t)0x0004FFFF)
- #define PHY_WRITE_TO ((uint32_t)0x0004FFFF)
-
- #define PHY_BCR 0
- #define PHY_BSR 1
- #define IS_ETH_PHY_ADDRESS(ADDRESS) ((ADDRESS) <= 0x20)
- #define IS_ETH_PHY_REG(REG) (((REG) == PHY_BCR) || \
- ((REG) == PHY_BSR) || \
- ((REG) == PHY_SR))
-
- #define PHY_Reset ((uint16_t)0x8000)
- #define PHY_Loopback ((uint16_t)0x4000)
- #define PHY_FULLDUPLEX_100M ((uint16_t)0x2100)
- #define PHY_HALFDUPLEX_100M ((uint16_t)0x2000)
- #define PHY_FULLDUPLEX_10M ((uint16_t)0x0100)
- #define PHY_HALFDUPLEX_10M ((uint16_t)0x0000)
- #define PHY_AutoNegotiation ((uint16_t)0x1000)
- #define PHY_Restart_AutoNegotiation ((uint16_t)0x0200)
- #define PHY_Powerdown ((uint16_t)0x0800)
- #define PHY_Isolate ((uint16_t)0x0400)
-
- #define PHY_AutoNego_Complete ((uint16_t)0x0020)
- #define PHY_Linked_Status ((uint16_t)0x0004)
- #define PHY_Jabber_detection ((uint16_t)0x0002)
-
-
- #define ETH_AutoNegotiation_Enable ((uint32_t)0x00000001)
- #define ETH_AutoNegotiation_Disable ((uint32_t)0x00000000)
- #define IS_ETH_AUTONEGOTIATION(CMD) (((CMD) == ETH_AutoNegotiation_Enable) || \
- ((CMD) == ETH_AutoNegotiation_Disable))
-
- #define ETH_Watchdog_Enable ((uint32_t)0x00000000)
- #define ETH_Watchdog_Disable ((uint32_t)0x00800000)
- #define IS_ETH_WATCHDOG(CMD) (((CMD) == ETH_Watchdog_Enable) || \
- ((CMD) == ETH_Watchdog_Disable))
-
- #define ETH_Jabber_Enable ((uint32_t)0x00000000)
- #define ETH_Jabber_Disable ((uint32_t)0x00400000)
- #define IS_ETH_JABBER(CMD) (((CMD) == ETH_Jabber_Enable) || \
- ((CMD) == ETH_Jabber_Disable))
-
- #define ETH_InterFrameGap_96Bit ((uint32_t)0x00000000)
- #define ETH_InterFrameGap_88Bit ((uint32_t)0x00020000)
- #define ETH_InterFrameGap_80Bit ((uint32_t)0x00040000)
- #define ETH_InterFrameGap_72Bit ((uint32_t)0x00060000)
- #define ETH_InterFrameGap_64Bit ((uint32_t)0x00080000)
- #define ETH_InterFrameGap_56Bit ((uint32_t)0x000A0000)
- #define ETH_InterFrameGap_48Bit ((uint32_t)0x000C0000)
- #define ETH_InterFrameGap_40Bit ((uint32_t)0x000E0000)
- #define IS_ETH_INTER_FRAME_GAP(GAP) (((GAP) == ETH_InterFrameGap_96Bit) || \
- ((GAP) == ETH_InterFrameGap_88Bit) || \
- ((GAP) == ETH_InterFrameGap_80Bit) || \
- ((GAP) == ETH_InterFrameGap_72Bit) || \
- ((GAP) == ETH_InterFrameGap_64Bit) || \
- ((GAP) == ETH_InterFrameGap_56Bit) || \
- ((GAP) == ETH_InterFrameGap_48Bit) || \
- ((GAP) == ETH_InterFrameGap_40Bit))
-
- #define ETH_CarrierSense_Enable ((uint32_t)0x00000000)
- #define ETH_CarrierSense_Disable ((uint32_t)0x00010000)
- #define IS_ETH_CARRIER_SENSE(CMD) (((CMD) == ETH_CarrierSense_Enable) || \
- ((CMD) == ETH_CarrierSense_Disable))
-
- #define ETH_Speed_10M ((uint32_t)0x00000000)
- #define ETH_Speed_100M ((uint32_t)0x00004000)
- #define IS_ETH_SPEED(SPEED) (((SPEED) == ETH_Speed_10M) || \
- ((SPEED) == ETH_Speed_100M))
-
- #define ETH_ReceiveOwn_Enable ((uint32_t)0x00000000)
- #define ETH_ReceiveOwn_Disable ((uint32_t)0x00002000)
- #define IS_ETH_RECEIVE_OWN(CMD) (((CMD) == ETH_ReceiveOwn_Enable) || \
- ((CMD) == ETH_ReceiveOwn_Disable))
-
- #define ETH_LoopbackMode_Enable ((uint32_t)0x00001000)
- #define ETH_LoopbackMode_Disable ((uint32_t)0x00000000)
- #define IS_ETH_LOOPBACK_MODE(CMD) (((CMD) == ETH_LoopbackMode_Enable) || \
- ((CMD) == ETH_LoopbackMode_Disable))
-
- #define ETH_Mode_FullDuplex ((uint32_t)0x00000800)
- #define ETH_Mode_HalfDuplex ((uint32_t)0x00000000)
- #define IS_ETH_DUPLEX_MODE(MODE) (((MODE) == ETH_Mode_FullDuplex) || \
- ((MODE) == ETH_Mode_HalfDuplex))
-
- #define ETH_ChecksumOffload_Enable ((uint32_t)0x00000400)
- #define ETH_ChecksumOffload_Disable ((uint32_t)0x00000000)
- #define IS_ETH_CHECKSUM_OFFLOAD(CMD) (((CMD) == ETH_ChecksumOffload_Enable) || \
- ((CMD) == ETH_ChecksumOffload_Disable))
-
- #define ETH_RetryTransmission_Enable ((uint32_t)0x00000000)
- #define ETH_RetryTransmission_Disable ((uint32_t)0x00000200)
- #define IS_ETH_RETRY_TRANSMISSION(CMD) (((CMD) == ETH_RetryTransmission_Enable) || \
- ((CMD) == ETH_RetryTransmission_Disable))
-
- #define ETH_AutomaticPadCRCStrip_Enable ((uint32_t)0x00000080)
- #define ETH_AutomaticPadCRCStrip_Disable ((uint32_t)0x00000000)
- #define IS_ETH_AUTOMATIC_PADCRC_STRIP(CMD) (((CMD) == ETH_AutomaticPadCRCStrip_Enable) || \
- ((CMD) == ETH_AutomaticPadCRCStrip_Disable))
-
- #define ETH_BackOffLimit_10 ((uint32_t)0x00000000)
- #define ETH_BackOffLimit_8 ((uint32_t)0x00000020)
- #define ETH_BackOffLimit_4 ((uint32_t)0x00000040)
- #define ETH_BackOffLimit_1 ((uint32_t)0x00000060)
- #define IS_ETH_BACKOFF_LIMIT(LIMIT) (((LIMIT) == ETH_BackOffLimit_10) || \
- ((LIMIT) == ETH_BackOffLimit_8) || \
- ((LIMIT) == ETH_BackOffLimit_4) || \
- ((LIMIT) == ETH_BackOffLimit_1))
- #define ETH_DeferralCheck_Enable ((uint32_t)0x00000010)
- #define ETH_DeferralCheck_Disable ((uint32_t)0x00000000)
- #define IS_ETH_DEFERRAL_CHECK(CMD) (((CMD) == ETH_DeferralCheck_Enable) || \
- ((CMD) == ETH_DeferralCheck_Disable))
-
- #define ETH_ReceiveAll_Enable ((uint32_t)0x80000000)
- #define ETH_ReceiveAll_Disable ((uint32_t)0x00000000)
- #define IS_ETH_RECEIVE_ALL(CMD) (((CMD) == ETH_ReceiveAll_Enable) || \
- ((CMD) == ETH_ReceiveAll_Disable))
-
- #define ETH_SourceAddrFilter_Normal_Enable ((uint32_t)0x00000200)
- #define ETH_SourceAddrFilter_Inverse_Enable ((uint32_t)0x00000300)
- #define ETH_SourceAddrFilter_Disable ((uint32_t)0x00000000)
- #define IS_ETH_SOURCE_ADDR_FILTER(CMD) (((CMD) == ETH_SourceAddrFilter_Normal_Enable) || \
- ((CMD) == ETH_SourceAddrFilter_Inverse_Enable) || \
- ((CMD) == ETH_SourceAddrFilter_Disable))
-
- #define ETH_PassControlFrames_BlockAll ((uint32_t)0x00000040)
- #define ETH_PassControlFrames_ForwardAll ((uint32_t)0x00000080)
- #define ETH_PassControlFrames_ForwardPassedAddrFilter ((uint32_t)0x000000C0)
- #define IS_ETH_CONTROL_FRAMES(PASS) (((PASS) == ETH_PassControlFrames_BlockAll) || \
- ((PASS) == ETH_PassControlFrames_ForwardAll) || \
- ((PASS) == ETH_PassControlFrames_ForwardPassedAddrFilter))
-
- #define ETH_BroadcastFramesReception_Enable ((uint32_t)0x00000000)
- #define ETH_BroadcastFramesReception_Disable ((uint32_t)0x00000020)
- #define IS_ETH_BROADCAST_FRAMES_RECEPTION(CMD) (((CMD) == ETH_BroadcastFramesReception_Enable) || \
- ((CMD) == ETH_BroadcastFramesReception_Disable))
-
- #define ETH_DestinationAddrFilter_Normal ((uint32_t)0x00000000)
- #define ETH_DestinationAddrFilter_Inverse ((uint32_t)0x00000008)
- #define IS_ETH_DESTINATION_ADDR_FILTER(FILTER) (((FILTER) == ETH_DestinationAddrFilter_Normal) || \
- ((FILTER) == ETH_DestinationAddrFilter_Inverse))
-
- #define ETH_PromiscuousMode_Enable ((uint32_t)0x00000001)
- #define ETH_PromiscuousMode_Disable ((uint32_t)0x00000000)
- #define IS_ETH_PROMISCUOUS_MODE(CMD) (((CMD) == ETH_PromiscuousMode_Enable) || \
- ((CMD) == ETH_PromiscuousMode_Disable))
-
- #define ETH_MulticastFramesFilter_PerfectHashTable ((uint32_t)0x00000404)
- #define ETH_MulticastFramesFilter_HashTable ((uint32_t)0x00000004)
- #define ETH_MulticastFramesFilter_Perfect ((uint32_t)0x00000000)
- #define ETH_MulticastFramesFilter_None ((uint32_t)0x00000010)
- #define IS_ETH_MULTICAST_FRAMES_FILTER(FILTER) (((FILTER) == ETH_MulticastFramesFilter_PerfectHashTable) || \
- ((FILTER) == ETH_MulticastFramesFilter_HashTable) || \
- ((FILTER) == ETH_MulticastFramesFilter_Perfect) || \
- ((FILTER) == ETH_MulticastFramesFilter_None))
-
-
- #define ETH_UnicastFramesFilter_PerfectHashTable ((uint32_t)0x00000402)
- #define ETH_UnicastFramesFilter_HashTable ((uint32_t)0x00000002)
- #define ETH_UnicastFramesFilter_Perfect ((uint32_t)0x00000000)
- #define IS_ETH_UNICAST_FRAMES_FILTER(FILTER) (((FILTER) == ETH_UnicastFramesFilter_PerfectHashTable) || \
- ((FILTER) == ETH_UnicastFramesFilter_HashTable) || \
- ((FILTER) == ETH_UnicastFramesFilter_Perfect))
-
- #define IS_ETH_PAUSE_TIME(TIME) ((TIME) <= 0xFFFF)
-
- #define ETH_ZeroQuantaPause_Enable ((uint32_t)0x00000000)
- #define ETH_ZeroQuantaPause_Disable ((uint32_t)0x00000080)
- #define IS_ETH_ZEROQUANTA_PAUSE(CMD) (((CMD) == ETH_ZeroQuantaPause_Enable) || \
- ((CMD) == ETH_ZeroQuantaPause_Disable))
-
- #define ETH_PauseLowThreshold_Minus4 ((uint32_t)0x00000000)
- #define ETH_PauseLowThreshold_Minus28 ((uint32_t)0x00000010)
- #define ETH_PauseLowThreshold_Minus144 ((uint32_t)0x00000020)
- #define ETH_PauseLowThreshold_Minus256 ((uint32_t)0x00000030)
- #define IS_ETH_PAUSE_LOW_THRESHOLD(THRESHOLD) (((THRESHOLD) == ETH_PauseLowThreshold_Minus4) || \
- ((THRESHOLD) == ETH_PauseLowThreshold_Minus28) || \
- ((THRESHOLD) == ETH_PauseLowThreshold_Minus144) || \
- ((THRESHOLD) == ETH_PauseLowThreshold_Minus256))
-
- #define ETH_UnicastPauseFrameDetect_Enable ((uint32_t)0x00000008)
- #define ETH_UnicastPauseFrameDetect_Disable ((uint32_t)0x00000000)
- #define IS_ETH_UNICAST_PAUSE_FRAME_DETECT(CMD) (((CMD) == ETH_UnicastPauseFrameDetect_Enable) || \
- ((CMD) == ETH_UnicastPauseFrameDetect_Disable))
-
- #define ETH_ReceiveFlowControl_Enable ((uint32_t)0x00000004)
- #define ETH_ReceiveFlowControl_Disable ((uint32_t)0x00000000)
- #define IS_ETH_RECEIVE_FLOWCONTROL(CMD) (((CMD) == ETH_ReceiveFlowControl_Enable) || \
- ((CMD) == ETH_ReceiveFlowControl_Disable))
-
- #define ETH_TransmitFlowControl_Enable ((uint32_t)0x00000002)
- #define ETH_TransmitFlowControl_Disable ((uint32_t)0x00000000)
- #define IS_ETH_TRANSMIT_FLOWCONTROL(CMD) (((CMD) == ETH_TransmitFlowControl_Enable) || \
- ((CMD) == ETH_TransmitFlowControl_Disable))
-
- #define ETH_VLANTagComparison_12Bit ((uint32_t)0x00010000)
- #define ETH_VLANTagComparison_16Bit ((uint32_t)0x00000000)
- #define IS_ETH_VLAN_TAG_COMPARISON(COMPARISON) (((COMPARISON) == ETH_VLANTagComparison_12Bit) || \
- ((COMPARISON) == ETH_VLANTagComparison_16Bit))
- #define IS_ETH_VLAN_TAG_IDENTIFIER(IDENTIFIER) ((IDENTIFIER) <= 0xFFFF)
-
- #define ETH_MAC_FLAG_TST ((uint32_t)0x00000200)
- #define ETH_MAC_FLAG_MMCT ((uint32_t)0x00000040)
- #define ETH_MAC_FLAG_MMCR ((uint32_t)0x00000020)
- #define ETH_MAC_FLAG_MMC ((uint32_t)0x00000010)
- #define ETH_MAC_FLAG_PMT ((uint32_t)0x00000008)
- #define IS_ETH_MAC_GET_FLAG(FLAG) (((FLAG) == ETH_MAC_FLAG_TST) || ((FLAG) == ETH_MAC_FLAG_MMCT) || \
- ((FLAG) == ETH_MAC_FLAG_MMCR) || ((FLAG) == ETH_MAC_FLAG_MMC) || \
- ((FLAG) == ETH_MAC_FLAG_PMT))
-
- #define ETH_MAC_IT_TST ((uint32_t)0x00000200)
- #define ETH_MAC_IT_MMCT ((uint32_t)0x00000040)
- #define ETH_MAC_IT_MMCR ((uint32_t)0x00000020)
- #define ETH_MAC_IT_MMC ((uint32_t)0x00000010)
- #define ETH_MAC_IT_PMT ((uint32_t)0x00000008)
- #define IS_ETH_MAC_IT(IT) ((((IT) & (uint32_t)0xFFFFFDF7) == 0x00) && ((IT) != 0x00))
- #define IS_ETH_MAC_GET_IT(IT) (((IT) == ETH_MAC_IT_TST) || ((IT) == ETH_MAC_IT_MMCT) || \
- ((IT) == ETH_MAC_IT_MMCR) || ((IT) == ETH_MAC_IT_MMC) || \
- ((IT) == ETH_MAC_IT_PMT))
-
- #define ETH_MAC_Address0 ((uint32_t)0x00000000)
- #define ETH_MAC_Address1 ((uint32_t)0x00000008)
- #define ETH_MAC_Address2 ((uint32_t)0x00000010)
- #define ETH_MAC_Address3 ((uint32_t)0x00000018)
- #define IS_ETH_MAC_ADDRESS0123(ADDRESS) (((ADDRESS) == ETH_MAC_Address0) || \
- ((ADDRESS) == ETH_MAC_Address1) || \
- ((ADDRESS) == ETH_MAC_Address2) || \
- ((ADDRESS) == ETH_MAC_Address3))
- #define IS_ETH_MAC_ADDRESS123(ADDRESS) (((ADDRESS) == ETH_MAC_Address1) || \
- ((ADDRESS) == ETH_MAC_Address2) || \
- ((ADDRESS) == ETH_MAC_Address3))
-
- #define ETH_MAC_AddressFilter_SA ((uint32_t)0x00000000)
- #define ETH_MAC_AddressFilter_DA ((uint32_t)0x00000008)
- #define IS_ETH_MAC_ADDRESS_FILTER(FILTER) (((FILTER) == ETH_MAC_AddressFilter_SA) || \
- ((FILTER) == ETH_MAC_AddressFilter_DA))
-
- #define ETH_MAC_AddressMask_Byte6 ((uint32_t)0x20000000)
- #define ETH_MAC_AddressMask_Byte5 ((uint32_t)0x10000000)
- #define ETH_MAC_AddressMask_Byte4 ((uint32_t)0x08000000)
- #define ETH_MAC_AddressMask_Byte3 ((uint32_t)0x04000000)
- #define ETH_MAC_AddressMask_Byte2 ((uint32_t)0x02000000)
- #define ETH_MAC_AddressMask_Byte1 ((uint32_t)0x01000000)
- #define IS_ETH_MAC_ADDRESS_MASK(MASK) (((MASK) == ETH_MAC_AddressMask_Byte6) || \
- ((MASK) == ETH_MAC_AddressMask_Byte5) || \
- ((MASK) == ETH_MAC_AddressMask_Byte4) || \
- ((MASK) == ETH_MAC_AddressMask_Byte3) || \
- ((MASK) == ETH_MAC_AddressMask_Byte2) || \
- ((MASK) == ETH_MAC_AddressMask_Byte1))
-
-
- #define IS_ETH_DMATxDESC_GET_FLAG(FLAG) (((FLAG) == ETH_DMATxDesc_OWN) || \
- ((FLAG) == ETH_DMATxDesc_IC) || \
- ((FLAG) == ETH_DMATxDesc_LS) || \
- ((FLAG) == ETH_DMATxDesc_FS) || \
- ((FLAG) == ETH_DMATxDesc_DC) || \
- ((FLAG) == ETH_DMATxDesc_DP) || \
- ((FLAG) == ETH_DMATxDesc_TTSE) || \
- ((FLAG) == ETH_DMATxDesc_TER) || \
- ((FLAG) == ETH_DMATxDesc_TCH) || \
- ((FLAG) == ETH_DMATxDesc_TTSS) || \
- ((FLAG) == ETH_DMATxDesc_IHE) || \
- ((FLAG) == ETH_DMATxDesc_ES) || \
- ((FLAG) == ETH_DMATxDesc_JT) || \
- ((FLAG) == ETH_DMATxDesc_FF) || \
- ((FLAG) == ETH_DMATxDesc_PCE) || \
- ((FLAG) == ETH_DMATxDesc_LCA) || \
- ((FLAG) == ETH_DMATxDesc_NC) || \
- ((FLAG) == ETH_DMATxDesc_LCO) || \
- ((FLAG) == ETH_DMATxDesc_EC) || \
- ((FLAG) == ETH_DMATxDesc_VF) || \
- ((FLAG) == ETH_DMATxDesc_CC) || \
- ((FLAG) == ETH_DMATxDesc_ED) || \
- ((FLAG) == ETH_DMATxDesc_UF) || \
- ((FLAG) == ETH_DMATxDesc_DB))
-
- #define ETH_DMATxDesc_LastSegment ((uint32_t)0x40000000)
- #define ETH_DMATxDesc_FirstSegment ((uint32_t)0x20000000)
- #define IS_ETH_DMA_TXDESC_SEGMENT(SEGMENT) (((SEGMENT) == ETH_DMATxDesc_LastSegment) || \
- ((SEGMENT) == ETH_DMATxDesc_FirstSegment))
-
- #define ETH_DMATxDesc_ChecksumByPass ((uint32_t)0x00000000)
- #define ETH_DMATxDesc_ChecksumIPV4Header ((uint32_t)0x00400000)
- #define ETH_DMATxDesc_ChecksumTCPUDPICMPSegment ((uint32_t)0x00800000)
- #define ETH_DMATxDesc_ChecksumTCPUDPICMPFull ((uint32_t)0x00C00000)
- #define IS_ETH_DMA_TXDESC_CHECKSUM(CHECKSUM) (((CHECKSUM) == ETH_DMATxDesc_ChecksumByPass) || \
- ((CHECKSUM) == ETH_DMATxDesc_ChecksumIPV4Header) || \
- ((CHECKSUM) == ETH_DMATxDesc_ChecksumTCPUDPICMPSegment) || \
- ((CHECKSUM) == ETH_DMATxDesc_ChecksumTCPUDPICMPFull))
-
- #define IS_ETH_DMATxDESC_BUFFER_SIZE(SIZE) ((SIZE) <= 0x1FFF)
-
- #define IS_ETH_DMARxDESC_GET_FLAG(FLAG) (((FLAG) == ETH_DMARxDesc_OWN) || \
- ((FLAG) == ETH_DMARxDesc_AFM) || \
- ((FLAG) == ETH_DMARxDesc_ES) || \
- ((FLAG) == ETH_DMARxDesc_DE) || \
- ((FLAG) == ETH_DMARxDesc_SAF) || \
- ((FLAG) == ETH_DMARxDesc_LE) || \
- ((FLAG) == ETH_DMARxDesc_OE) || \
- ((FLAG) == ETH_DMARxDesc_VLAN) || \
- ((FLAG) == ETH_DMARxDesc_FS) || \
- ((FLAG) == ETH_DMARxDesc_LS) || \
- ((FLAG) == ETH_DMARxDesc_IPV4HCE) || \
- ((FLAG) == ETH_DMARxDesc_LC) || \
- ((FLAG) == ETH_DMARxDesc_FT) || \
- ((FLAG) == ETH_DMARxDesc_RWT) || \
- ((FLAG) == ETH_DMARxDesc_RE) || \
- ((FLAG) == ETH_DMARxDesc_DBE) || \
- ((FLAG) == ETH_DMARxDesc_CE) || \
- ((FLAG) == ETH_DMARxDesc_MAMPCE))
- #define IS_ETH_DMAPTPRxDESC_GET_EXTENDED_FLAG(FLAG) (((FLAG) == ETH_DMAPTPRxDesc_PTPV) || \
- ((FLAG) == ETH_DMAPTPRxDesc_PTPFT) || \
- ((FLAG) == ETH_DMAPTPRxDesc_PTPMT) || \
- ((FLAG) == ETH_DMAPTPRxDesc_IPV6PR) || \
- ((FLAG) == ETH_DMAPTPRxDesc_IPV4PR) || \
- ((FLAG) == ETH_DMAPTPRxDesc_IPCB) || \
- ((FLAG) == ETH_DMAPTPRxDesc_IPPE) || \
- ((FLAG) == ETH_DMAPTPRxDesc_IPHE) || \
- ((FLAG) == ETH_DMAPTPRxDesc_IPPT))
-
- #define ETH_DMARxDesc_Buffer1 ((uint32_t)0x00000000)
- #define ETH_DMARxDesc_Buffer2 ((uint32_t)0x00000001)
- #define IS_ETH_DMA_RXDESC_BUFFER(BUFFER) (((BUFFER) == ETH_DMARxDesc_Buffer1) || \
- ((BUFFER) == ETH_DMARxDesc_Buffer2))
-
-
- #define ETH_DropTCPIPChecksumErrorFrame_Enable ((uint32_t)0x00000000)
- #define ETH_DropTCPIPChecksumErrorFrame_Disable ((uint32_t)0x04000000)
- #define IS_ETH_DROP_TCPIP_CHECKSUM_FRAME(CMD) (((CMD) == ETH_DropTCPIPChecksumErrorFrame_Enable) || \
- ((CMD) == ETH_DropTCPIPChecksumErrorFrame_Disable))
-
- #define ETH_ReceiveStoreForward_Enable ((uint32_t)0x02000000)
- #define ETH_ReceiveStoreForward_Disable ((uint32_t)0x00000000)
- #define IS_ETH_RECEIVE_STORE_FORWARD(CMD) (((CMD) == ETH_ReceiveStoreForward_Enable) || \
- ((CMD) == ETH_ReceiveStoreForward_Disable))
-
- #define ETH_FlushReceivedFrame_Enable ((uint32_t)0x00000000)
- #define ETH_FlushReceivedFrame_Disable ((uint32_t)0x01000000)
- #define IS_ETH_FLUSH_RECEIVE_FRAME(CMD) (((CMD) == ETH_FlushReceivedFrame_Enable) || \
- ((CMD) == ETH_FlushReceivedFrame_Disable))
-
- #define ETH_TransmitStoreForward_Enable ((uint32_t)0x00200000)
- #define ETH_TransmitStoreForward_Disable ((uint32_t)0x00000000)
- #define IS_ETH_TRANSMIT_STORE_FORWARD(CMD) (((CMD) == ETH_TransmitStoreForward_Enable) || \
- ((CMD) == ETH_TransmitStoreForward_Disable))
-
- #define ETH_TransmitThresholdControl_64Bytes ((uint32_t)0x00000000)
- #define ETH_TransmitThresholdControl_128Bytes ((uint32_t)0x00004000)
- #define ETH_TransmitThresholdControl_192Bytes ((uint32_t)0x00008000)
- #define ETH_TransmitThresholdControl_256Bytes ((uint32_t)0x0000C000)
- #define ETH_TransmitThresholdControl_40Bytes ((uint32_t)0x00010000)
- #define ETH_TransmitThresholdControl_32Bytes ((uint32_t)0x00014000)
- #define ETH_TransmitThresholdControl_24Bytes ((uint32_t)0x00018000)
- #define ETH_TransmitThresholdControl_16Bytes ((uint32_t)0x0001C000)
- #define IS_ETH_TRANSMIT_THRESHOLD_CONTROL(THRESHOLD) (((THRESHOLD) == ETH_TransmitThresholdControl_64Bytes) || \
- ((THRESHOLD) == ETH_TransmitThresholdControl_128Bytes) || \
- ((THRESHOLD) == ETH_TransmitThresholdControl_192Bytes) || \
- ((THRESHOLD) == ETH_TransmitThresholdControl_256Bytes) || \
- ((THRESHOLD) == ETH_TransmitThresholdControl_40Bytes) || \
- ((THRESHOLD) == ETH_TransmitThresholdControl_32Bytes) || \
- ((THRESHOLD) == ETH_TransmitThresholdControl_24Bytes) || \
- ((THRESHOLD) == ETH_TransmitThresholdControl_16Bytes))
-
- #define ETH_ForwardErrorFrames_Enable ((uint32_t)0x00000080)
- #define ETH_ForwardErrorFrames_Disable ((uint32_t)0x00000000)
- #define IS_ETH_FORWARD_ERROR_FRAMES(CMD) (((CMD) == ETH_ForwardErrorFrames_Enable) || \
- ((CMD) == ETH_ForwardErrorFrames_Disable))
-
- #define ETH_ForwardUndersizedGoodFrames_Enable ((uint32_t)0x00000040)
- #define ETH_ForwardUndersizedGoodFrames_Disable ((uint32_t)0x00000000)
- #define IS_ETH_FORWARD_UNDERSIZED_GOOD_FRAMES(CMD) (((CMD) == ETH_ForwardUndersizedGoodFrames_Enable) || \
- ((CMD) == ETH_ForwardUndersizedGoodFrames_Disable))
-
- #define ETH_ReceiveThresholdControl_64Bytes ((uint32_t)0x00000000)
- #define ETH_ReceiveThresholdControl_32Bytes ((uint32_t)0x00000008)
- #define ETH_ReceiveThresholdControl_96Bytes ((uint32_t)0x00000010)
- #define ETH_ReceiveThresholdControl_128Bytes ((uint32_t)0x00000018)
- #define IS_ETH_RECEIVE_THRESHOLD_CONTROL(THRESHOLD) (((THRESHOLD) == ETH_ReceiveThresholdControl_64Bytes) || \
- ((THRESHOLD) == ETH_ReceiveThresholdControl_32Bytes) || \
- ((THRESHOLD) == ETH_ReceiveThresholdControl_96Bytes) || \
- ((THRESHOLD) == ETH_ReceiveThresholdControl_128Bytes))
-
- #define ETH_SecondFrameOperate_Enable ((uint32_t)0x00000004)
- #define ETH_SecondFrameOperate_Disable ((uint32_t)0x00000000)
- #define IS_ETH_SECOND_FRAME_OPERATE(CMD) (((CMD) == ETH_SecondFrameOperate_Enable) || \
- ((CMD) == ETH_SecondFrameOperate_Disable))
-
- #define ETH_AddressAlignedBeats_Enable ((uint32_t)0x02000000)
- #define ETH_AddressAlignedBeats_Disable ((uint32_t)0x00000000)
- #define IS_ETH_ADDRESS_ALIGNED_BEATS(CMD) (((CMD) == ETH_AddressAlignedBeats_Enable) || \
- ((CMD) == ETH_AddressAlignedBeats_Disable))
-
- #define ETH_FixedBurst_Enable ((uint32_t)0x00010000)
- #define ETH_FixedBurst_Disable ((uint32_t)0x00000000)
- #define IS_ETH_FIXED_BURST(CMD) (((CMD) == ETH_FixedBurst_Enable) || \
- ((CMD) == ETH_FixedBurst_Disable))
-
- #define ETH_RxDMABurstLength_1Beat ((uint32_t)0x00020000)
- #define ETH_RxDMABurstLength_2Beat ((uint32_t)0x00040000)
- #define ETH_RxDMABurstLength_4Beat ((uint32_t)0x00080000)
- #define ETH_RxDMABurstLength_8Beat ((uint32_t)0x00100000)
- #define ETH_RxDMABurstLength_16Beat ((uint32_t)0x00200000)
- #define ETH_RxDMABurstLength_32Beat ((uint32_t)0x00400000)
- #define ETH_RxDMABurstLength_4xPBL_4Beat ((uint32_t)0x01020000)
- #define ETH_RxDMABurstLength_4xPBL_8Beat ((uint32_t)0x01040000)
- #define ETH_RxDMABurstLength_4xPBL_16Beat ((uint32_t)0x01080000)
- #define ETH_RxDMABurstLength_4xPBL_32Beat ((uint32_t)0x01100000)
- #define ETH_RxDMABurstLength_4xPBL_64Beat ((uint32_t)0x01200000)
- #define ETH_RxDMABurstLength_4xPBL_128Beat ((uint32_t)0x01400000)
- #define IS_ETH_RXDMA_BURST_LENGTH(LENGTH) (((LENGTH) == ETH_RxDMABurstLength_1Beat) || \
- ((LENGTH) == ETH_RxDMABurstLength_2Beat) || \
- ((LENGTH) == ETH_RxDMABurstLength_4Beat) || \
- ((LENGTH) == ETH_RxDMABurstLength_8Beat) || \
- ((LENGTH) == ETH_RxDMABurstLength_16Beat) || \
- ((LENGTH) == ETH_RxDMABurstLength_32Beat) || \
- ((LENGTH) == ETH_RxDMABurstLength_4xPBL_4Beat) || \
- ((LENGTH) == ETH_RxDMABurstLength_4xPBL_8Beat) || \
- ((LENGTH) == ETH_RxDMABurstLength_4xPBL_16Beat) || \
- ((LENGTH) == ETH_RxDMABurstLength_4xPBL_32Beat) || \
- ((LENGTH) == ETH_RxDMABurstLength_4xPBL_64Beat) || \
- ((LENGTH) == ETH_RxDMABurstLength_4xPBL_128Beat))
-
-
- #define ETH_TxDMABurstLength_1Beat ((uint32_t)0x00000100)
- #define ETH_TxDMABurstLength_2Beat ((uint32_t)0x00000200)
- #define ETH_TxDMABurstLength_4Beat ((uint32_t)0x00000400)
- #define ETH_TxDMABurstLength_8Beat ((uint32_t)0x00000800)
- #define ETH_TxDMABurstLength_16Beat ((uint32_t)0x00001000)
- #define ETH_TxDMABurstLength_32Beat ((uint32_t)0x00002000)
- #define ETH_TxDMABurstLength_4xPBL_4Beat ((uint32_t)0x01000100)
- #define ETH_TxDMABurstLength_4xPBL_8Beat ((uint32_t)0x01000200)
- #define ETH_TxDMABurstLength_4xPBL_16Beat ((uint32_t)0x01000400)
- #define ETH_TxDMABurstLength_4xPBL_32Beat ((uint32_t)0x01000800)
- #define ETH_TxDMABurstLength_4xPBL_64Beat ((uint32_t)0x01001000)
- #define ETH_TxDMABurstLength_4xPBL_128Beat ((uint32_t)0x01002000)
- #define IS_ETH_TXDMA_BURST_LENGTH(LENGTH) (((LENGTH) == ETH_TxDMABurstLength_1Beat) || \
- ((LENGTH) == ETH_TxDMABurstLength_2Beat) || \
- ((LENGTH) == ETH_TxDMABurstLength_4Beat) || \
- ((LENGTH) == ETH_TxDMABurstLength_8Beat) || \
- ((LENGTH) == ETH_TxDMABurstLength_16Beat) || \
- ((LENGTH) == ETH_TxDMABurstLength_32Beat) || \
- ((LENGTH) == ETH_TxDMABurstLength_4xPBL_4Beat) || \
- ((LENGTH) == ETH_TxDMABurstLength_4xPBL_8Beat) || \
- ((LENGTH) == ETH_TxDMABurstLength_4xPBL_16Beat) || \
- ((LENGTH) == ETH_TxDMABurstLength_4xPBL_32Beat) || \
- ((LENGTH) == ETH_TxDMABurstLength_4xPBL_64Beat) || \
- ((LENGTH) == ETH_TxDMABurstLength_4xPBL_128Beat))
-
- #define IS_ETH_DMA_DESC_SKIP_LENGTH(LENGTH) ((LENGTH) <= 0x1F)
-
- #define ETH_DMAArbitration_RoundRobin_RxTx_1_1 ((uint32_t)0x00000000)
- #define ETH_DMAArbitration_RoundRobin_RxTx_2_1 ((uint32_t)0x00004000)
- #define ETH_DMAArbitration_RoundRobin_RxTx_3_1 ((uint32_t)0x00008000)
- #define ETH_DMAArbitration_RoundRobin_RxTx_4_1 ((uint32_t)0x0000C000)
- #define ETH_DMAArbitration_RxPriorTx ((uint32_t)0x00000002)
- #define IS_ETH_DMA_ARBITRATION_ROUNDROBIN_RXTX(RATIO) (((RATIO) == ETH_DMAArbitration_RoundRobin_RxTx_1_1) || \
- ((RATIO) == ETH_DMAArbitration_RoundRobin_RxTx_2_1) || \
- ((RATIO) == ETH_DMAArbitration_RoundRobin_RxTx_3_1) || \
- ((RATIO) == ETH_DMAArbitration_RoundRobin_RxTx_4_1) || \
- ((RATIO) == ETH_DMAArbitration_RxPriorTx))
-
- #define ETH_DMA_FLAG_TST ((uint32_t)0x20000000)
- #define ETH_DMA_FLAG_PMT ((uint32_t)0x10000000)
- #define ETH_DMA_FLAG_MMC ((uint32_t)0x08000000)
- #define ETH_DMA_FLAG_DataTransferError ((uint32_t)0x00800000)
- #define ETH_DMA_FLAG_ReadWriteError ((uint32_t)0x01000000)
- #define ETH_DMA_FLAG_AccessError ((uint32_t)0x02000000)
- #define ETH_DMA_FLAG_NIS ((uint32_t)0x00010000)
- #define ETH_DMA_FLAG_AIS ((uint32_t)0x00008000)
- #define ETH_DMA_FLAG_ER ((uint32_t)0x00004000)
- #define ETH_DMA_FLAG_FBE ((uint32_t)0x00002000)
- #define ETH_DMA_FLAG_ET ((uint32_t)0x00000400)
- #define ETH_DMA_FLAG_RWT ((uint32_t)0x00000200)
- #define ETH_DMA_FLAG_RPS ((uint32_t)0x00000100)
- #define ETH_DMA_FLAG_RBU ((uint32_t)0x00000080)
- #define ETH_DMA_FLAG_R ((uint32_t)0x00000040)
- #define ETH_DMA_FLAG_TU ((uint32_t)0x00000020)
- #define ETH_DMA_FLAG_RO ((uint32_t)0x00000010)
- #define ETH_DMA_FLAG_TJT ((uint32_t)0x00000008)
- #define ETH_DMA_FLAG_TBU ((uint32_t)0x00000004)
- #define ETH_DMA_FLAG_TPS ((uint32_t)0x00000002)
- #define ETH_DMA_FLAG_T ((uint32_t)0x00000001)
- #define IS_ETH_DMA_FLAG(FLAG) ((((FLAG) & (uint32_t)0xFFFE1800) == 0x00) && ((FLAG) != 0x00))
- #define IS_ETH_DMA_GET_FLAG(FLAG) (((FLAG) == ETH_DMA_FLAG_TST) || ((FLAG) == ETH_DMA_FLAG_PMT) || \
- ((FLAG) == ETH_DMA_FLAG_MMC) || ((FLAG) == ETH_DMA_FLAG_DataTransferError) || \
- ((FLAG) == ETH_DMA_FLAG_ReadWriteError) || ((FLAG) == ETH_DMA_FLAG_AccessError) || \
- ((FLAG) == ETH_DMA_FLAG_NIS) || ((FLAG) == ETH_DMA_FLAG_AIS) || \
- ((FLAG) == ETH_DMA_FLAG_ER) || ((FLAG) == ETH_DMA_FLAG_FBE) || \
- ((FLAG) == ETH_DMA_FLAG_ET) || ((FLAG) == ETH_DMA_FLAG_RWT) || \
- ((FLAG) == ETH_DMA_FLAG_RPS) || ((FLAG) == ETH_DMA_FLAG_RBU) || \
- ((FLAG) == ETH_DMA_FLAG_R) || ((FLAG) == ETH_DMA_FLAG_TU) || \
- ((FLAG) == ETH_DMA_FLAG_RO) || ((FLAG) == ETH_DMA_FLAG_TJT) || \
- ((FLAG) == ETH_DMA_FLAG_TBU) || ((FLAG) == ETH_DMA_FLAG_TPS) || \
- ((FLAG) == ETH_DMA_FLAG_T))
-
- #define ETH_DMA_IT_TST ((uint32_t)0x20000000)
- #define ETH_DMA_IT_PMT ((uint32_t)0x10000000)
- #define ETH_DMA_IT_MMC ((uint32_t)0x08000000)
- #define ETH_DMA_IT_NIS ((uint32_t)0x00010000)
- #define ETH_DMA_IT_AIS ((uint32_t)0x00008000)
- #define ETH_DMA_IT_ER ((uint32_t)0x00004000)
- #define ETH_DMA_IT_FBE ((uint32_t)0x00002000)
- #define ETH_DMA_IT_ET ((uint32_t)0x00000400)
- #define ETH_DMA_IT_RWT ((uint32_t)0x00000200)
- #define ETH_DMA_IT_RPS ((uint32_t)0x00000100)
- #define ETH_DMA_IT_RBU ((uint32_t)0x00000080)
- #define ETH_DMA_IT_R ((uint32_t)0x00000040)
- #define ETH_DMA_IT_TU ((uint32_t)0x00000020)
- #define ETH_DMA_IT_RO ((uint32_t)0x00000010)
- #define ETH_DMA_IT_TJT ((uint32_t)0x00000008)
- #define ETH_DMA_IT_TBU ((uint32_t)0x00000004)
- #define ETH_DMA_IT_TPS ((uint32_t)0x00000002)
- #define ETH_DMA_IT_T ((uint32_t)0x00000001)
- #define IS_ETH_DMA_IT(IT) ((((IT) & (uint32_t)0xFFFE1800) == 0x00) && ((IT) != 0x00))
- #define IS_ETH_DMA_GET_IT(IT) (((IT) == ETH_DMA_IT_TST) || ((IT) == ETH_DMA_IT_PMT) || \
- ((IT) == ETH_DMA_IT_MMC) || ((IT) == ETH_DMA_IT_NIS) || \
- ((IT) == ETH_DMA_IT_AIS) || ((IT) == ETH_DMA_IT_ER) || \
- ((IT) == ETH_DMA_IT_FBE) || ((IT) == ETH_DMA_IT_ET) || \
- ((IT) == ETH_DMA_IT_RWT) || ((IT) == ETH_DMA_IT_RPS) || \
- ((IT) == ETH_DMA_IT_RBU) || ((IT) == ETH_DMA_IT_R) || \
- ((IT) == ETH_DMA_IT_TU) || ((IT) == ETH_DMA_IT_RO) || \
- ((IT) == ETH_DMA_IT_TJT) || ((IT) == ETH_DMA_IT_TBU) || \
- ((IT) == ETH_DMA_IT_TPS) || ((IT) == ETH_DMA_IT_T))
-
- #define ETH_DMA_TransmitProcess_Stopped ((uint32_t)0x00000000)
- #define ETH_DMA_TransmitProcess_Fetching ((uint32_t)0x00100000)
- #define ETH_DMA_TransmitProcess_Waiting ((uint32_t)0x00200000)
- #define ETH_DMA_TransmitProcess_Reading ((uint32_t)0x00300000)
- #define ETH_DMA_TransmitProcess_Suspended ((uint32_t)0x00600000)
- #define ETH_DMA_TransmitProcess_Closing ((uint32_t)0x00700000)
-
-
- #define ETH_DMA_ReceiveProcess_Stopped ((uint32_t)0x00000000)
- #define ETH_DMA_ReceiveProcess_Fetching ((uint32_t)0x00020000)
- #define ETH_DMA_ReceiveProcess_Waiting ((uint32_t)0x00060000)
- #define ETH_DMA_ReceiveProcess_Suspended ((uint32_t)0x00080000)
- #define ETH_DMA_ReceiveProcess_Closing ((uint32_t)0x000A0000)
- #define ETH_DMA_ReceiveProcess_Queuing ((uint32_t)0x000E0000)
-
- #define ETH_DMA_Overflow_RxFIFOCounter ((uint32_t)0x10000000)
- #define ETH_DMA_Overflow_MissedFrameCounter ((uint32_t)0x00010000)
- #define IS_ETH_DMA_GET_OVERFLOW(OVERFLOW) (((OVERFLOW) == ETH_DMA_Overflow_RxFIFOCounter) || \
- ((OVERFLOW) == ETH_DMA_Overflow_MissedFrameCounter))
-
-
- #define ETH_PMT_FLAG_WUFFRPR ((uint32_t)0x80000000)
- #define ETH_PMT_FLAG_WUFR ((uint32_t)0x00000040)
- #define ETH_PMT_FLAG_MPR ((uint32_t)0x00000020)
- #define IS_ETH_PMT_GET_FLAG(FLAG) (((FLAG) == ETH_PMT_FLAG_WUFR) || \
- ((FLAG) == ETH_PMT_FLAG_MPR))
-
-
- #define ETH_MMC_IT_TGF ((uint32_t)0x00200000)
- #define ETH_MMC_IT_TGFMSC ((uint32_t)0x00008000)
- #define ETH_MMC_IT_TGFSC ((uint32_t)0x00004000)
- #define ETH_MMC_IT_RGUF ((uint32_t)0x10020000)
- #define ETH_MMC_IT_RFAE ((uint32_t)0x10000040)
- #define ETH_MMC_IT_RFCE ((uint32_t)0x10000020)
- #define IS_ETH_MMC_IT(IT) (((((IT) & (uint32_t)0xFFDF3FFF) == 0x00) || (((IT) & (uint32_t)0xEFFDFF9F) == 0x00)) && \
- ((IT) != 0x00))
- #define IS_ETH_MMC_GET_IT(IT) (((IT) == ETH_MMC_IT_TGF) || ((IT) == ETH_MMC_IT_TGFMSC) || \
- ((IT) == ETH_MMC_IT_TGFSC) || ((IT) == ETH_MMC_IT_RGUF) || \
- ((IT) == ETH_MMC_IT_RFAE) || ((IT) == ETH_MMC_IT_RFCE))
-
- #define ETH_MMCCR ((uint32_t)0x00000100)
- #define ETH_MMCRIR ((uint32_t)0x00000104)
- #define ETH_MMCTIR ((uint32_t)0x00000108)
- #define ETH_MMCRIMR ((uint32_t)0x0000010C)
- #define ETH_MMCTIMR ((uint32_t)0x00000110)
- #define ETH_MMCTGFSCCR ((uint32_t)0x0000014C)
- #define ETH_MMCTGFMSCCR ((uint32_t)0x00000150)
- #define ETH_MMCTGFCR ((uint32_t)0x00000168)
- #define ETH_MMCRFCECR ((uint32_t)0x00000194)
- #define ETH_MMCRFAECR ((uint32_t)0x00000198)
- #define ETH_MMCRGUFCR ((uint32_t)0x000001C4)
-
- #define IS_ETH_MMC_REGISTER(REG) (((REG) == ETH_MMCCR) || ((REG) == ETH_MMCRIR) || \
- ((REG) == ETH_MMCTIR) || ((REG) == ETH_MMCRIMR) || \
- ((REG) == ETH_MMCTIMR) || ((REG) == ETH_MMCTGFSCCR) || \
- ((REG) == ETH_MMCTGFMSCCR) || ((REG) == ETH_MMCTGFCR) || \
- ((REG) == ETH_MMCRFCECR) || ((REG) == ETH_MMCRFAECR) || \
- ((REG) == ETH_MMCRGUFCR))
-
-
- #define ETH_PTP_FineUpdate ((uint32_t)0x00000001)
- #define ETH_PTP_CoarseUpdate ((uint32_t)0x00000000)
- #define IS_ETH_PTP_UPDATE(UPDATE) (((UPDATE) == ETH_PTP_FineUpdate) || \
- ((UPDATE) == ETH_PTP_CoarseUpdate))
-
-
- #define ETH_PTP_FLAG_TSARU ((uint32_t)0x00000020)
- #define ETH_PTP_FLAG_TSITE ((uint32_t)0x00000010)
- #define ETH_PTP_FLAG_TSSTU ((uint32_t)0x00000008)
- #define ETH_PTP_FLAG_TSSTI ((uint32_t)0x00000004)
- #define ETH_PTP_FLAG_TSTTR ((uint32_t)0x10000002)
- #define ETH_PTP_FLAG_TSSO ((uint32_t)0x10000001)
- #define IS_ETH_PTP_GET_FLAG(FLAG) (((FLAG) == ETH_PTP_FLAG_TSARU) || \
- ((FLAG) == ETH_PTP_FLAG_TSITE) || \
- ((FLAG) == ETH_PTP_FLAG_TSSTU) || \
- ((FLAG) == ETH_PTP_FLAG_TSSTI) || \
- ((FLAG) == ETH_PTP_FLAG_TSTTR) || \
- ((FLAG) == ETH_PTP_FLAG_TSSO))
-
- #define IS_ETH_PTP_SUBSECOND_INCREMENT(SUBSECOND) ((SUBSECOND) <= 0xFF)
-
-
- #define ETH_PTP_PositiveTime ((uint32_t)0x00000000)
- #define ETH_PTP_NegativeTime ((uint32_t)0x80000000)
- #define IS_ETH_PTP_TIME_SIGN(SIGN) (((SIGN) == ETH_PTP_PositiveTime) || \
- ((SIGN) == ETH_PTP_NegativeTime))
-
- #define IS_ETH_PTP_TIME_STAMP_UPDATE_SUBSECOND(SUBSECOND) ((SUBSECOND) <= 0x7FFFFFFF)
-
- #define ETH_PTPTSCR ((uint32_t)0x00000700)
- #define ETH_PTPSSIR ((uint32_t)0x00000704)
- #define ETH_PTPTSHR ((uint32_t)0x00000708)
- #define ETH_PTPTSLR ((uint32_t)0x0000070C)
- #define ETH_PTPTSHUR ((uint32_t)0x00000710)
- #define ETH_PTPTSLUR ((uint32_t)0x00000714)
- #define ETH_PTPTSAR ((uint32_t)0x00000718)
- #define ETH_PTPTTHR ((uint32_t)0x0000071C)
- #define ETH_PTPTTLR ((uint32_t)0x00000720)
- #define ETH_PTPTSSR ((uint32_t)0x00000728)
- #define IS_ETH_PTP_REGISTER(REG) (((REG) == ETH_PTPTSCR) || ((REG) == ETH_PTPSSIR) || \
- ((REG) == ETH_PTPTSHR) || ((REG) == ETH_PTPTSLR) || \
- ((REG) == ETH_PTPTSHUR) || ((REG) == ETH_PTPTSLUR) || \
- ((REG) == ETH_PTPTSAR) || ((REG) == ETH_PTPTTHR) || \
- ((REG) == ETH_PTPTTLR) || ((REG) == ETH_PTPTSSR))
-
- #define ETH_PTP_OrdinaryClock ((uint32_t)0x00000000)
- #define ETH_PTP_BoundaryClock ((uint32_t)0x00010000)
- #define ETH_PTP_EndToEndTransparentClock ((uint32_t)0x00020000)
- #define ETH_PTP_PeerToPeerTransparentClock ((uint32_t)0x00030000)
- #define IS_ETH_PTP_TYPE_CLOCK(CLOCK) (((CLOCK) == ETH_PTP_OrdinaryClock) || \
- ((CLOCK) == ETH_PTP_BoundaryClock) || \
- ((CLOCK) == ETH_PTP_EndToEndTransparentClock) || \
- ((CLOCK) == ETH_PTP_PeerToPeerTransparentClock))
- #define ETH_PTP_SnapshotMasterMessage ((uint32_t)0x00008000)
- #define ETH_PTP_SnapshotEventMessage ((uint32_t)0x00004000)
- #define ETH_PTP_SnapshotIPV4Frames ((uint32_t)0x00002000)
- #define ETH_PTP_SnapshotIPV6Frames ((uint32_t)0x00001000)
- #define ETH_PTP_SnapshotPTPOverEthernetFrames ((uint32_t)0x00000800)
- #define ETH_PTP_SnapshotAllReceivedFrames ((uint32_t)0x00000100)
- #define IS_ETH_PTP_SNAPSHOT(SNAPSHOT) (((SNAPSHOT) == ETH_PTP_SnapshotMasterMessage) || \
- ((SNAPSHOT) == ETH_PTP_SnapshotEventMessage) || \
- ((SNAPSHOT) == ETH_PTP_SnapshotIPV4Frames) || \
- ((SNAPSHOT) == ETH_PTP_SnapshotIPV6Frames) || \
- ((SNAPSHOT) == ETH_PTP_SnapshotPTPOverEthernetFrames) || \
- ((SNAPSHOT) == ETH_PTP_SnapshotAllReceivedFrames))
-
- #define ETH_MAC_ADDR_HBASE (ETH_MAC_BASE + 0x40)
- #define ETH_MAC_ADDR_LBASE (ETH_MAC_BASE + 0x44)
- #define MACMIIAR_CR_MASK ((uint32_t)0xFFFFFFE3)
- #define MACCR_CLEAR_MASK ((uint32_t)0xFF20810F)
- #define MACFCR_CLEAR_MASK ((uint32_t)0x0000FF41)
- #define DMAOMR_CLEAR_MASK ((uint32_t)0xF8DE3F23)
- #define ETH_WAKEUP_REGISTER_LENGTH 8
- #define ETH_DMA_RX_OVERFLOW_MISSEDFRAMES_COUNTERSHIFT 17
- #define ETH_DMATXDESC_COLLISION_COUNTSHIFT 3
- #define ETH_DMATXDESC_BUFFER2_SIZESHIFT 16
- #define ETH_DMARXDESC_FRAME_LENGTHSHIFT 16
- #define ETH_DMARXDESC_BUFFER2_SIZESHIFT 16
- #define ETH_ERROR ((uint32_t)0)
- #define ETH_SUCCESS ((uint32_t)1)
-
-
- void ETH_DeInit(void);
- uint32_t ETH_Init(ETH_InitTypeDef* ETH_InitStruct, uint16_t PHYAddress);
- void ETH_StructInit(ETH_InitTypeDef* ETH_InitStruct);
- void ETH_SoftwareReset(void);
- FlagStatus ETH_GetSoftwareResetStatus(void);
- void ETH_Start(void);
- void ETH_Stop(void);
- uint32_t ETH_GetRxPktSize(ETH_DMADESCTypeDef *DMARxDesc);
- #ifdef USE_ENHANCED_DMA_DESCRIPTORS
- void ETH_EnhancedDescriptorCmd(FunctionalState NewState);
- #endif
-
- uint16_t ETH_ReadPHYRegister(uint16_t PHYAddress, uint16_t PHYReg);
- uint32_t ETH_WritePHYRegister(uint16_t PHYAddress, uint16_t PHYReg, uint16_t PHYValue);
- uint32_t ETH_PHYLoopBackCmd(uint16_t PHYAddress, FunctionalState NewState);
-
- void ETH_MACTransmissionCmd(FunctionalState NewState);
- void ETH_MACReceptionCmd(FunctionalState NewState);
- FlagStatus ETH_GetFlowControlBusyStatus(void);
- void ETH_InitiatePauseControlFrame(void);
- void ETH_BackPressureActivationCmd(FunctionalState NewState);
- FlagStatus ETH_GetMACFlagStatus(uint32_t ETH_MAC_FLAG);
- ITStatus ETH_GetMACITStatus(uint32_t ETH_MAC_IT);
- void ETH_MACITConfig(uint32_t ETH_MAC_IT, FunctionalState NewState);
- void ETH_MACAddressConfig(uint32_t MacAddr, uint8_t *Addr);
- void ETH_GetMACAddress(uint32_t MacAddr, uint8_t *Addr);
- void ETH_MACAddressPerfectFilterCmd(uint32_t MacAddr, FunctionalState NewState);
- void ETH_MACAddressFilterConfig(uint32_t MacAddr, uint32_t Filter);
- void ETH_MACAddressMaskBytesFilterConfig(uint32_t MacAddr, uint32_t MaskByte);
-
- void ETH_DMARxDescChainInit(ETH_DMADESCTypeDef *DMARxDescTab, uint8_t *RxBuff, uint32_t RxBuffCount);
- void ETH_DMATxDescChainInit(ETH_DMADESCTypeDef *DMATxDescTab, uint8_t* TxBuff, uint32_t TxBuffCount);
- uint32_t ETH_CheckFrameReceived(void);
- uint32_t ETH_Prepare_Transmit_Descriptors(u16 FrameLength);
- FrameTypeDef ETH_Get_Received_Frame(void);
- FlagStatus ETH_GetDMATxDescFlagStatus(ETH_DMADESCTypeDef *DMATxDesc, uint32_t ETH_DMATxDescFlag);
- uint32_t ETH_GetDMATxDescCollisionCount(ETH_DMADESCTypeDef *DMATxDesc);
- void ETH_SetDMATxDescOwnBit(ETH_DMADESCTypeDef *DMATxDesc);
- void ETH_DMATxDescTransmitITConfig(ETH_DMADESCTypeDef *DMATxDesc, FunctionalState NewState);
- void ETH_DMATxDescFrameSegmentConfig(ETH_DMADESCTypeDef *DMATxDesc, uint32_t DMATxDesc_FrameSegment);
- void ETH_DMATxDescChecksumInsertionConfig(ETH_DMADESCTypeDef *DMATxDesc, uint32_t DMATxDesc_Checksum);
- void ETH_DMATxDescCRCCmd(ETH_DMADESCTypeDef *DMATxDesc, FunctionalState NewState);
- void ETH_DMATxDescSecondAddressChainedCmd(ETH_DMADESCTypeDef *DMATxDesc, FunctionalState NewState);
- void ETH_DMATxDescShortFramePaddingCmd(ETH_DMADESCTypeDef *DMATxDesc, FunctionalState NewState);
- void ETH_DMATxDescBufferSizeConfig(ETH_DMADESCTypeDef *DMATxDesc, uint32_t BufferSize1, uint32_t BufferSize2);
- FlagStatus ETH_GetDMARxDescFlagStatus(ETH_DMADESCTypeDef *DMARxDesc, uint32_t ETH_DMARxDescFlag);
- #ifdef USE_ENHANCED_DMA_DESCRIPTORS
- FlagStatus ETH_GetDMAPTPRxDescExtendedFlagStatus(ETH_DMADESCTypeDef *DMAPTPRxDesc, uint32_t ETH_DMAPTPRxDescExtendedFlag);
- #endif
- void ETH_SetDMARxDescOwnBit(ETH_DMADESCTypeDef *DMARxDesc);
- uint32_t ETH_GetDMARxDescFrameLength(ETH_DMADESCTypeDef *DMARxDesc);
- void ETH_DMARxDescReceiveITConfig(ETH_DMADESCTypeDef *DMARxDesc, FunctionalState NewState);
- void ETH_DMARxDescSecondAddressChainedCmd(ETH_DMADESCTypeDef *DMARxDesc, FunctionalState NewState);
- uint32_t ETH_GetDMARxDescBufferSize(ETH_DMADESCTypeDef *DMARxDesc, uint32_t DMARxDesc_Buffer);
- FrameTypeDef ETH_Get_Received_Frame_interrupt(void);
-
- FlagStatus ETH_GetDMAFlagStatus(uint32_t ETH_DMA_FLAG);
- void ETH_DMAClearFlag(uint32_t ETH_DMA_FLAG);
- ITStatus ETH_GetDMAITStatus(uint32_t ETH_DMA_IT);
- void ETH_DMAClearITPendingBit(uint32_t ETH_DMA_IT);
- uint32_t ETH_GetTransmitProcessState(void);
- uint32_t ETH_GetReceiveProcessState(void);
- void ETH_FlushTransmitFIFO(void);
- FlagStatus ETH_GetFlushTransmitFIFOStatus(void);
- void ETH_DMATransmissionCmd(FunctionalState NewState);
- void ETH_DMAReceptionCmd(FunctionalState NewState);
- void ETH_DMAITConfig(uint32_t ETH_DMA_IT, FunctionalState NewState);
- FlagStatus ETH_GetDMAOverflowStatus(uint32_t ETH_DMA_Overflow);
- uint32_t ETH_GetRxOverflowMissedFrameCounter(void);
- uint32_t ETH_GetBufferUnavailableMissedFrameCounter(void);
- uint32_t ETH_GetCurrentTxDescStartAddress(void);
- uint32_t ETH_GetCurrentRxDescStartAddress(void);
- uint32_t ETH_GetCurrentTxBufferAddress(void);
- uint32_t ETH_GetCurrentRxBufferAddress(void);
- void ETH_ResumeDMATransmission(void);
- void ETH_ResumeDMAReception(void);
- void ETH_SetReceiveWatchdogTimer(uint8_t Value);
-
- void ETH_ResetWakeUpFrameFilterRegisterPointer(void);
- void ETH_SetWakeUpFrameFilterRegister(uint32_t *Buffer);
- void ETH_GlobalUnicastWakeUpCmd(FunctionalState NewState);
- FlagStatus ETH_GetPMTFlagStatus(uint32_t ETH_PMT_FLAG);
- void ETH_WakeUpFrameDetectionCmd(FunctionalState NewState);
- void ETH_MagicPacketDetectionCmd(FunctionalState NewState);
- void ETH_PowerDownCmd(FunctionalState NewState);
-
- void ETH_MMCCounterFullPreset(void);
- void ETH_MMCCounterHalfPreset(void);
- void ETH_MMCCounterFreezeCmd(FunctionalState NewState);
- void ETH_MMCResetOnReadCmd(FunctionalState NewState);
- void ETH_MMCCounterRolloverCmd(FunctionalState NewState);
- void ETH_MMCCountersReset(void);
- void ETH_MMCITConfig(uint32_t ETH_MMC_IT, FunctionalState NewState);
- ITStatus ETH_GetMMCITStatus(uint32_t ETH_MMC_IT);
- uint32_t ETH_GetMMCRegister(uint32_t ETH_MMCReg);
- #ifdef __cplusplus
- }
- #endif
- #endif
-
-
|