libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
MAC STM32Fxx7 Defines

Defined Constants and Types for the Ethernet MAC for STM32Fxx7 chips More...

Macros

#define ETH_MACCR   MMIO32(ETHERNET_BASE + 0x00)
 
#define ETH_MACFFR   MMIO32(ETHERNET_BASE + 0x04)
 
#define ETH_MACHTHR   MMIO32(ETHERNET_BASE + 0x08)
 
#define ETH_MACHTLR   MMIO32(ETHERNET_BASE + 0x0C)
 
#define ETH_MACMIIAR   MMIO32(ETHERNET_BASE + 0x10)
 
#define ETH_MACMIIDR   MMIO32(ETHERNET_BASE + 0x14)
 
#define ETH_MACFCR   MMIO32(ETHERNET_BASE + 0x18)
 
#define ETH_MACVLANTR   MMIO32(ETHERNET_BASE + 0x1C)
 
#define ETH_MACRWUFFR   MMIO32(ETHERNET_BASE + 0x28)
 
#define ETH_MACPMTCSR   MMIO32(ETHERNET_BASE + 0x2C)
 
#define ETH_MACDBGR   MMIO32(ETHERNET_BASE + 0x34) /* Not on STM32F1 */
 
#define ETH_MACSR   MMIO32(ETHERNET_BASE + 0x38)
 
#define ETH_MACIMR   MMIO32(ETHERNET_BASE + 0x3C)
 
#define ETH_MACAHR(i)   MMIO32(ETHERNET_BASE + 0x40+(i)*8)
 
#define ETH_MACALR(i)   MMIO32(ETHERNET_BASE + 0x44+(i)*8)
 
#define ETH_MMCCR   MMIO32(ETHERNET_BASE + 0x100)
 
#define ETH_MMCRIR   MMIO32(ETHERNET_BASE + 0x104)
 
#define ETH_MMCTIR   MMIO32(ETHERNET_BASE + 0x108)
 
#define ETH_MMCRIMR   MMIO32(ETHERNET_BASE + 0x10C)
 
#define ETH_MMCTIMR   MMIO32(ETHERNET_BASE + 0x110)
 
#define ETH_MMCTGFSCCR   MMIO32(ETHERNET_BASE + 0x14C)
 
#define ETH_MMCTGFMSCCR   MMIO32(ETHERNET_BASE + 0x150)
 
#define ETH_MMCTGFCR   MMIO32(ETHERNET_BASE + 0x168)
 
#define ETH_MMCRFCECR   MMIO32(ETHERNET_BASE + 0x194)
 
#define ETH_MMCRFAECR   MMIO32(ETHERNET_BASE + 0x198)
 
#define ETH_MMCRGUFCR   MMIO32(ETHERNET_BASE + 0x1C4)
 
#define ETH_PTPTSCR   MMIO32(ETHERNET_BASE + 0x700)
 
#define ETH_PTPSSIR   MMIO32(ETHERNET_BASE + 0x704)
 
#define ETH_PTPTSHR   MMIO32(ETHERNET_BASE + 0x708)
 
#define ETH_PTPTSLR   MMIO32(ETHERNET_BASE + 0x70C)
 
#define ETH_PTPTSHUR   MMIO32(ETHERNET_BASE + 0x710)
 
#define ETH_PTPTSLUR   MMIO32(ETHERNET_BASE + 0x714)
 
#define ETH_PTPTSAR   MMIO32(ETHERNET_BASE + 0x718)
 
#define ETH_PTPTTHR   MMIO32(ETHERNET_BASE + 0x71C)
 
#define ETH_PTPTTLR   MMIO32(ETHERNET_BASE + 0x720)
 
#define ETH_PTPTSSR   MMIO32(ETHERNET_BASE + 0x728) /* Not on STM32F1 */
 
#define ETH_PTPPPSCR   MMIO32(ETHERNET_BASE + 0x72C) /* Not on STM32F1 */
 
#define ETH_DMABMR   MMIO32(ETHERNET_BASE + 0x1000)
 
#define ETH_DMATPDR   MMIO32(ETHERNET_BASE + 0x1004)
 
#define ETH_DMARPDR   MMIO32(ETHERNET_BASE + 0x1008)
 
#define ETH_DMARDLAR   MMIO32(ETHERNET_BASE + 0x100C)
 
#define ETH_DMATDLAR   MMIO32(ETHERNET_BASE + 0x1010)
 
#define ETH_DMASR   MMIO32(ETHERNET_BASE + 0x1014)
 
#define ETH_DMAOMR   MMIO32(ETHERNET_BASE + 0x1018)
 
#define ETH_DMAIER   MMIO32(ETHERNET_BASE + 0x101C)
 
#define ETH_DMAMFBOCR   MMIO32(ETHERNET_BASE + 0x1020)
 
#define ETH_DMARSWTR   MMIO32(ETHERNET_BASE + 0x1024) /* Not on STM32F1 */
 
#define ETH_DMACHTDR   MMIO32(ETHERNET_BASE + 0x1048)
 
#define ETH_DMACHRDR   MMIO32(ETHERNET_BASE + 0x104C)
 
#define ETH_DMACHTBAR   MMIO32(ETHERNET_BASE + 0x1050)
 
#define ETH_DMACHRBAR   MMIO32(ETHERNET_BASE + 0x1054)
 
#define ETH_DES(n, base)   MMIO32((base) + (n)*4)
 
#define ETH_DES0(base)   ETH_DES(0, base)
 
#define ETH_DES1(base)   ETH_DES(1, base)
 
#define ETH_DES2(base)   ETH_DES(2, base)
 
#define ETH_DES3(base)   ETH_DES(3, base)
 
#define ETH_DES4(base)   ETH_DES(4, base)
 
#define ETH_DES5(base)   ETH_DES(5, base)
 
#define ETH_DES6(base)   ETH_DES(6, base)
 
#define ETH_DES7(base)   ETH_DES(7, base)
 
#define ETH_MACCR_RE   (1<<2)
 
#define ETH_MACCR_TE   (1<<3)
 
#define ETH_MACCR_DC   (1<<4)
 
#define ETH_MACCR_BL_SHIFT   5
 
#define ETH_MACCR_BL   (3 << ETH_MACCR_BL_SHIFT)
 
#define ETH_MACCR_BL_MIN10   (0 << ETH_MACCR_BL_SHIFT)
 
#define ETH_MACCR_BL_MIN8   (1 << ETH_MACCR_BL_SHIFT)
 
#define ETH_MACCR_BL_MIN4   (2 << ETH_MACCR_BL_SHIFT)
 
#define ETH_MACCR_BL_MIN1   (3 << ETH_MACCR_BL_SHIFT)
 
#define ETH_MACCR_APCS   (1<<7)
 
#define ETH_MACCR_RD   (1<<9)
 
#define ETH_MACCR_IPCO   (1<<10)
 
#define ETH_MACCR_DM   (1<<11)
 
#define ETH_MACCR_LM   (1<<12)
 
#define ETH_MACCR_ROD   (1<<13)
 
#define ETH_MACCR_FES   (1<<14)
 
#define ETH_MACCR_CSD   (1<<16)
 
#define ETH_MACCR_IFG_SHIFT   17
 
#define ETH_MACCR_IFG   (7<<ETH_MACCR_IFG_SHIFT)
 
#define ETH_MACCR_JD   (1<<22)
 
#define ETH_MACCR_WD   (1<<23)
 
#define ETH_MACCR_CSTF   (1<<25) /* Not on STM32F1 */
 
#define ETH_MACFFR_PM   (1<<0)
 
#define ETH_MACFFR_HU   (1<<1)
 
#define ETH_MACFFR_HM   (1<<2)
 
#define ETH_MACFFR_DAIF   (1<<3)
 
#define ETH_MACFFR_PAM   (1<<4)
 
#define ETH_MACFFR_BFD   (1<<5)
 
#define ETH_MACFFR_PCF_SHIFT   6
 
#define ETH_MACFFR_PCF   (3<<ETH_MACFFR_PCF_SHIFT)
 
#define ETH_MACFFR_PCF_DISABLE   (0<<ETH_MACFFR_PCF_SHIFT)
 
#define ETH_MACFFR_PCF_NOPAUSE   (1<<ETH_MACFFR_PCF_SHIFT)
 
#define ETH_MACFFR_PCF_ALL   (2<<ETH_MACFFR_PCF_SHIFT)
 
#define ETH_MACFFR_PCF_PASS   (3<<ETH_MACFFR_PCF_SHIFT)
 
#define ETH_MACFFR_SAIF   (1<<8)
 
#define ETH_MACFFR_SAF   (1<<9)
 
#define ETH_MACFFR_HPF   (1<<10)
 
#define ETH_MACFFR_RA   (1<<31)
 
#define ETH_MACMIIAR_MB   (1<<0)
 
#define ETH_MACMIIAR_MW   (1<<1)
 
#define ETH_MACMIIAR_CR_SHIFT   2
 
#define ETH_MACMIIAR_CR   (7<<ETH_MACMIIAR_CR_SHIFT)
 
#define ETH_MACMIIAR_CR_HCLK_DIV_42   (0<<ETH_MACMIIAR_CR_SHIFT)
 
#define ETH_MACMIIAR_CR_HCLK_DIV_62   (1<<ETH_MACMIIAR_CR_SHIFT)
 
#define ETH_MACMIIAR_CR_HCLK_DIV_16   (2<<ETH_MACMIIAR_CR_SHIFT)
 
#define ETH_MACMIIAR_CR_HCLK_DIV_26   (3<<ETH_MACMIIAR_CR_SHIFT)
 
#define ETH_MACMIIAR_CR_HCLK_DIV_102   (4<<ETH_MACMIIAR_CR_SHIFT)
 
#define ETH_MACMIIAR_MR_SHIFT   6
 
#define ETH_MACMIIAR_MR   (0x1F << ETH_MACMIIAR_MR_SHIFT)
 
#define ETH_MACMIIAR_PA_SHIFT   11
 
#define ETH_MACMIIAR_PA   (0x1F << ETH_MACMIIAR_MR_SHIFT)
 
#define ETH_MACMIIDR_MD   0xFFFF
 
#define ETH_MACFCR_FCB   (1<<0)
 
#define ETH_MACFCR_BPA   (1<<0)
 
#define ETH_MACFCR_TFCE   (1<<1)
 
#define ETH_MACFCR_RFCE   (1<<2)
 
#define ETH_MACFCR_UPFD   (1<<3)
 
#define ETH_MACFCR_PLT_SHIFT   4
 
#define ETH_MACFCR_PLT   (0x03 << ETH_MACFCR_PLT_SHIFT)
 
#define ETH_MACFCR_PLT_4   (0 << ETH_MACFCR_PLT_SHIFT)
 
#define ETH_MACFCR_PLT_28   (1 << ETH_MACFCR_PLT_SHIFT)
 
#define ETH_MACFCR_PLT_144   (2 << ETH_MACFCR_PLT_SHIFT)
 
#define ETH_MACFCR_PLT_256   (3 << ETH_MACFCR_PLT_SHIFT)
 
#define ETH_MACFCR_ZQPD   (1<<7)
 
#define ETH_MACFCR_PT_SHIFT   16
 
#define ETH_MACFCR_PT   (0xFFFF << ETH_MACFCR_PT)
 
#define ETH_MACVLANTR_VLANTI_SHIFT   0
 
#define ETH_MACVLANTR_VLANTI   (0xFFFF << ETH_MACVLANTR_VLANTI_SHIFT)
 
#define ETH_MACVLANTR_VLANTC   (1<<16)
 
#define ETH_MACPMTCSR_PD   (1<<0)
 
#define ETH_MACPMTCSR_MPE   (1<<1)
 
#define ETH_MACPMTCSR_WFE   (1<<2)
 
#define ETH_MACPMTCSR_MPR   (1<<5)
 
#define ETH_MACPMTCSR_WFR   (1<<6)
 
#define ETH_MACPMTCSR_GU   (1<<9)
 
#define ETH_MACPMTCSR_WFFRPR   (1<<31)
 
#define ETH_MACDBGR_MMRPEA   (1<<0)
 
#define ETH_MACDBGR_MSFRWCS   (3<<1)
 
#define ETH_MACDBGR_RFWRA   (1<<4)
 
#define ETH_MACDBGR_RFRCS_SHIFT   5
 
#define ETH_MACDBGR_RFRCS   (3<<ETH_MACDBGR_RFRCS_SHIFT)
 
#define ETH_MACDBGR_RFRCS_IDLE   (0<<ETH_MACDBGR_RFRCS_SHIFT)
 
#define ETH_MACDBGR_RFRCS_RDATA   (1<<ETH_MACDBGR_RFRCS_SHIFT)
 
#define ETH_MACDBGR_RFRCS_RSTAT   (2<<ETH_MACDBGR_RFRCS_SHIFT)
 
#define ETH_MACDBGR_RFRCS_FLUSH   (3<<ETH_MACDBGR_RFRCS_SHIFT)
 
#define ETH_MACDBGR_RFFL_SHIFT   8
 
#define ETH_MACDBGR_RFFL   (3<<ETH_MACDBGR_RFFL_SHIFT)
 
#define ETH_MACDBGR_RFFL_EMPTY   (0<<ETH_MACDBGR_RFFL_SHIFT)
 
#define ETH_MACDBGR_RFFL_BELOW   (1<<ETH_MACDBGR_RFFL_SHIFT)
 
#define ETH_MACDBGR_RFFL_ABOVE   (2<<ETH_MACDBGR_RFFL_SHIFT)
 
#define ETH_MACDBGR_RFFL_FULL   (3<<ETH_MACDBGR_RFFL_SHIFT)
 
#define ETH_MACDBGR_MMTEA   (1<<16)
 
#define ETH_MACDBGR_MTFCS_SHIFT   17
 
#define ETH_MACDBGR_MTFCS   (3 << ETH_MACDBGR_MTFCS_SHIFT)
 
#define ETH_MACDBGR_MTFCS_IDLE   (0 << ETH_MACDBGR_MTFCS_SHIFT)
 
#define ETH_MACDBGR_MTFCS_WAIT   (1 << ETH_MACDBGR_MTFCS_SHIFT)
 
#define ETH_MACDBGR_MTFCS_PAUSE   (2 << ETH_MACDBGR_MTFCS_SHIFT)
 
#define ETH_MACDBGR_MTFCS_TRANSFER   (3 << ETH_MACDBGR_MTFCS_SHIFT)
 
#define ETH_MACDBGR_MTP   (1<<19)
 
#define ETH_MACDBGR_TFRS_SHIFT   20
 
#define ETH_MACDBGR_TFRS   (3<<ETH_MACDBGR_TFRS_SHIFT)
 
#define ETH_MACDBGR_TFRS_IDLE   (0<<ETH_MACDBGR_TFRS_SHIFT)
 
#define ETH_MACDBGR_TFRS_READ   (1<<ETH_MACDBGR_TFRS_SHIFT)
 
#define ETH_MACDBGR_TFRS_WAIT   (2<<ETH_MACDBGR_TFRS_SHIFT)
 
#define ETH_MACDBGR_TFRS_FLUSH   (3<<ETH_MACDBGR_TFRS_SHIFT)
 
#define ETH_MACDBGR_TFWA   (1<<22)
 
#define ETH_MACDBGR_TFNE   (1<<24)
 
#define ETH_MACDBGR_TFF   (1<<25)
 
#define ETH_MACSR_PMTS   (1<<3)
 
#define ETH_MACSR_MMCS   (1<<4)
 
#define ETH_MACSR_MMCRS   (1<<5)
 
#define ETH_MACSR_MMCTS   (1<<6)
 
#define ETH_MACSR_TSTS   (1<<9)
 
#define ETH_MACIMR_PMTIM   (1<<3)
 
#define ETH_MACIMR_TSTIM   (1<<9)
 
#define ETH_MACA0HR_MACA0H   (0xFFFF<<0)
 
#define ETH_MACA0HR_MO   (1<<31)
 
#define ETH_MACAHR_MACAH   (0xFFFF<<0)
 
#define ETH_MACAHR_MBC_ALL   (63<<24)
 
#define ETH_MACAHR_MBC_0   (1<<24)
 
#define ETH_MACAHR_MBC_1   (1<<25)
 
#define ETH_MACAHR_MBC_2   (1<<26)
 
#define ETH_MACAHR_MBC_3   (1<<27)
 
#define ETH_MACAHR_MBC_4   (1<<28)
 
#define ETH_MACAHR_MBC_5   (1<<29)
 
#define ETH_MACAHR_SA   (1<<30)
 
#define ETH_MACAHR_AE   (1<<31)
 
#define ETH_MMCCR_CR   (1<<0)
 
#define ETH_MMCCR_CSR   (1<<1)
 
#define ETH_MMCCR_ROR   (1<<2)
 
#define ETH_MMCCR_MCF   (1<<3)
 
#define ETH_MMCCR_MCP   (1<<4) /* Not on STM32F1 */
 
#define ETH_MMCCR_MCFHP   (1<<5) /* Not on STM32F1 */
 
#define ETH_MMCRIR_RFCES   (1<<5)
 
#define ETH_MMCRIR_RFAES   (1<<6)
 
#define ETH_MMCRIR_RGUFS   (1<<17)
 
#define ETH_MMCTIR_TGFSCS   (1<<14)
 
#define ETH_MMCTIR_TGFMSCS   (1<<15)
 
#define ETH_MMCTIR_TGFS   (1<<21)
 
#define ETH_MMCRIMR_RFCEM   (1<<5)
 
#define ETH_MMCRIMR_RFAEM   (1<<6)
 
#define ETH_MMCRIMR_RGUFM   (1<<17)
 
#define ETH_MMCTIMR_TGFSCS   (1<<14)
 
#define ETH_MMCTIMR_TGFMSCS   (1<<15)
 
#define ETH_MMCTIMR_TGFS   (1<<21)
 
#define ETH_PTPTSCR_TSE   (1<<0)
 
#define ETH_PTPTSCR_TSFCU   (1<<1)
 
#define ETH_PTPTSCR_TSSTI   (1<<2)
 
#define ETH_PTPTSCR_TSSTU   (1<<3)
 
#define ETH_PTPTSCR_TSITE   (1<<4)
 
#define ETH_PTPTSCR_TTSARU   (1<<5)
 
#define ETH_PTPTSCR_TSSARFE   (1<<8)
 
#define ETH_PTPTSCR_TSSSR   (1<<9)
 
#define ETH_PTPTSCR_TSPTPPSV2E   (1<<10)
 
#define ETH_PTPTSCR_TSSPTPOEFE   (1<<11)
 
#define ETH_PTPTSCR_TSSIPV6FE   (1<<12)
 
#define ETH_PTPTSCR_TSSIPV4FE   (1<<13)
 
#define ETH_PTPTSCR_TSSEME   (1<<14)
 
#define ETH_PTPTSCR_TSSMRME   (1<<15)
 
#define ETH_PTPTSCR_TSCNT_SHIFT   16
 
#define ETH_PTPTSCR_TSCNT   (3 << ETH_PTPTSCR_TSCNT_SHIFT)
 
#define ETH_PTPTSCR_TSCNT_ORD   (0 << ETH_PTPTSCR_TSCNT_SHIFT)
 
#define ETH_PTPTSCR_TSCNT_BOUND   (1 << ETH_PTPTSCR_TSCNT_SHIFT)
 
#define ETH_PTPTSCR_TSCNT_ETETC   (2 << ETH_PTPTSCR_TSCNT_SHIFT)
 
#define ETH_PTPTSCR_TSCNT_PTPTC   (3 << ETH_PTPTSCR_TSCNT_SHIFT)
 
#define ETH_PTPTSCR_TSPFFMAE   (1<<18)
 
#define ETH_PTPSSIR_STSSI   0xFF
 
#define ETH_PTPTSLR_STSS   0x7FFFFFFF
 
#define ETH_PTPTSLR_STPNS   (1<<31)
 
#define ETH_PTPTSLUR_TSUSS   0x7FFFFFFF
 
#define ETH_PTPTSLUR_TSUPNS   (1<<31)
 
#define ETH_PTPTSSR_TSSO   (1<<0)
 
#define ETH_PTPTSSR_TSTTR   (1<<1)
 
#define ETH_PTPPPSCR_PPSFREQ_MASK   (0x0F<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_1HZ   (0x00<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_2HZ   (0x01<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_4HZ   (0x02<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_8HZ   (0x03<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_16HZ   (0x04<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_32HZ   (0x05<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_64HZ   (0x06<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_128HZ   (0x07<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_256HZ   (0x08<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_512HZ   (0x09<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_1024HZ   (0x0A<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_2048HZ   (0x0B<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_4096HZ   (0x0C<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_8192HZ   (0x0D<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_16384HZ   (0x0E<<0)
 
#define ETH_PTPPPSCR_PPSFREQ_32768HZ   (0x0F<<0)
 
#define ETH_DMABMR_SR   (1<<0)
 
#define ETH_DMABMR_DA   (1<<1)
 
#define ETH_DMABMR_DSL_SHIFT   2
 
#define ETH_DMABMR_DSL   (0x1F << ETH_DMABR_DSL_SHIFT)
 
#define ETH_DMABMR_EDFE   (1<<7)
 
#define ETH_DMABMR_PBL_SHIFT   8
 
#define ETH_DMABMR_PBL   (0x3F << ETH_DMABR_PBL_SHIFT)
 
#define ETH_DMABMR_PM_SHIFT   14
 
#define ETH_DMABMR_PM   (0x03 << ETH_DMABMR_PM_SHIFT)
 
#define ETH_DMABMR_PM_1_1   (0 << ETH_DMABMR_PM_SHIFT)
 
#define ETH_DMABMR_PM_2_1   (1 << ETH_DMABMR_PM_SHIFT)
 
#define ETH_DMABMR_PM_3_1   (2 << ETH_DMABMR_PM_SHIFT)
 
#define ETH_DMABMR_PM_4_1   (3 << ETH_DMABMR_PM_SHIFT)
 
#define ETH_DMABMR_FB   (1<<16)
 
#define ETH_DMABMR_RDP_SHIFT   17
 
#define ETH_DMABMR_RDP   (0x3F << ETH_DMABMR_RDP_SHIFT)
 
#define ETH_DMABMR_USP   (1<<23)
 
#define ETH_DMABMR_FPM   (1<<24)
 
#define ETH_DMABMR_AAB   (1<<25)
 
#define ETH_DMABMR_MB   (1<<26) /* Not on STM32F1 */
 
#define ETH_DMASR_TS   (1<<0)
 
#define ETH_DMASR_TPSS   (1<<1)
 
#define ETH_DMASR_TBUS   (1<<2)
 
#define ETH_DMASR_TJTS   (1<<3)
 
#define ETH_DMASR_ROS   (1<<4)
 
#define ETH_DMASR_TUS   (1<<5)
 
#define ETH_DMASR_RS   (1<<6)
 
#define ETH_DMASR_RBUS   (1<<7)
 
#define ETH_DMASR_RPSS   (1<<8)
 
#define ETH_DMASR_RWTS   (1<<9)
 
#define ETH_DMASR_ETS   (1<<10)
 
#define ETH_DMASR_FBES   (1<<13)
 
#define ETH_DMASR_ERS   (1<<14)
 
#define ETH_DMASR_AIS   (1<<15)
 
#define ETH_DMASR_NIS   (1<<16)
 
#define ETH_DMASR_RPS_SHIFT   17
 
#define ETH_DMASR_RPS   (7<<ETH_DMASR_RPS_SHIFT)
 
#define ETH_DMASR_RPS_STOP   (0<<ETH_DMASR_RPS_SHIFT)
 
#define ETH_DMASR_RPS_FETCH   (1<<ETH_DMASR_RPS_SHIFT)
 
#define ETH_DMASR_RPS_WAIT   (3<<ETH_DMASR_RPS_SHIFT)
 
#define ETH_DMASR_RPS_SUSPEND   (4<<ETH_DMASR_RPS_SHIFT)
 
#define ETH_DMASR_RPS_CLOSE   (5<<ETH_DMASR_RPS_SHIFT)
 
#define ETH_DMASR_RPS_TRANSFER   (7<<ETH_DMASR_RPS_SHIFT)
 
#define ETH_DMASR_TPS_SHIFT   20
 
#define ETH_DMASR_TPS   (7<<ETH_DMASR_TPS_SHIFT)
 
#define ETH_DMASR_TPS_STOP   (0<<ETH_DMASR_TPS_SHIFT)
 
#define ETH_DMASR_TPS_FETCH   (1<<ETH_DMASR_TPS_SHIFT)
 
#define ETH_DMASR_TPS_WAIT   (2<<ETH_DMASR_TPS_SHIFT)
 
#define ETH_DMASR_TPS_TRANSFER   (3<<ETH_DMASR_TPS_SHIFT)
 
#define ETH_DMASR_TPS_SUSPEND   (6<<ETH_DMASR_TPS_SHIFT)
 
#define ETH_DMASR_TPS_CLOSE   (7<<ETH_DMASR_TPS_SHIFT)
 
#define ETH_DMASR_EBS_SHIFT   23
 
#define ETH_DMASR_EBS   (7<<ETH_DMASR_EBS_SHIFT)
 
#define ETH_DMASR_MMCS   (1<<27)
 
#define ETH_DMASR_PMTS   (1<<28)
 
#define ETH_DMASR_TSTS   (1<<29)
 
#define ETH_DMAOMR_SR   (1<<1)
 
#define ETH_DMAOMR_OSF   (1<<2)
 
#define ETH_DMAOMR_RTC_SHIFT   3
 
#define ETH_DMAOMR_RTC   (3 << ETH_DMAOMR_RTC_SHIFT)
 
#define ETH_DMAOMR_RTC_64   (0 << ETH_DMAOMR_RTC_SHIFT)
 
#define ETH_DMAOMR_RTC_32   (1 << ETH_DMAOMR_RTC_SHIFT)
 
#define ETH_DMAOMR_RTC_96   (2 << ETH_DMAOMR_RTC_SHIFT)
 
#define ETH_DMAOMR_RTC_128   (3 << ETH_DMAOMR_RTC_SHIFT)
 
#define ETH_DMAOMR_FUGF   (1<<6)
 
#define ETH_DMAOMR_FEF   (1<<7)
 
#define ETH_DMAOMR_ST   (1<<13)
 
#define ETH_DMAOMR_TTC_SHIFT   14
 
#define ETH_DMAOMR_TTC   (0x07 << ETH_DMAOMR_TTC_SHIFT)
 
#define ETH_DMAOMR_TTC_64   (0 << ETH_DMAOMR_TTC_SHIFT)
 
#define ETH_DMAOMR_TTC_128   (1 << ETH_DMAOMR_TTC_SHIFT)
 
#define ETH_DMAOMR_TTC_192   (2 << ETH_DMAOMR_TTC_SHIFT)
 
#define ETH_DMAOMR_TTC_256   (3 << ETH_DMAOMR_TTC_SHIFT)
 
#define ETH_DMAOMR_TTC_40   (4 << ETH_DMAOMR_TTC_SHIFT)
 
#define ETH_DMAOMR_TTC_32   (5 << ETH_DMAOMR_TTC_SHIFT)
 
#define ETH_DMAOMR_TTC_24   (6 << ETH_DMAOMR_TTC_SHIFT)
 
#define ETH_DMAOMR_TTC_16   (7 << ETH_DMAOMR_TTC_SHIFT)
 
#define ETH_DMAOMR_FTF   (1<<20)
 
#define ETH_DMAOMR_TSF   (1<<21)
 
#define ETH_DMAOMR_DFRF   (1<<24)
 
#define ETH_DMAOMR_RSF   (1<<25)
 
#define ETH_DMAOMR_DTCEFD   (1<<26)
 
#define ETH_DMAIER_TIE   (1<<0)
 
#define ETH_DMAIER_TPSIE   (1<<1)
 
#define ETH_DMAIER_TBUIE   (1<<2)
 
#define ETH_DMAIER_TJTIE   (1<<3)
 
#define ETH_DMAIER_ROIE   (1<<4)
 
#define ETH_DMAIER_TUIE   (1<<5)
 
#define ETH_DMAIER_RIE   (1<<6)
 
#define ETH_DMAIER_RBUIE   (1<<7)
 
#define ETH_DMAIER_RPSIE   (1<<8)
 
#define ETH_DMAIER_RWTIE   (1<<9)
 
#define ETH_DMAIER_ETIE   (1<<10)
 
#define ETH_DMAIER_FBEIE   (1<<13)
 
#define ETH_DMAIER_ERIE   (1<<14)
 
#define ETH_DMAIER_AISE   (1<<15)
 
#define ETH_DMAIER_NISE   (1<<16)
 
#define ETH_DMAMFBOCR_MFC_SHIFT   0
 
#define ETH_DMAMFBOCR_MFC   (0xFFFF << ETH_DMAMFBOCR_MFC_SHIFT)
 
#define ETH_DMAMFBOCR_OMFC   (1<<16)
 
#define ETH_DMAMFBOCR_MFA   (0x7FF << ETH_DMAMFBOCR_MFA_SHIFT)
 
#define ETH_DMAMFBOCR_OFOC   (1<<28)
 
#define ETH_DMARSWTR_RSWTC   0xFF
 
#define ETH_DES_STD_SIZE   16
 
#define ETH_DES_EXT_SIZE   32
 
#define ETH_TDES0_DB   (1<<0)
 
#define ETH_TDES0_UF   (1<<1)
 
#define ETH_TDES0_ED   (1<<2)
 
#define ETH_TDES0_CC_SHIFT   3
 
#define ETH_TDES0_CC   (0x0F << ETH_TDES0_CC_SHIFT)
 
#define ETH_TDES0_VF   (1<<7)
 
#define ETH_TDES0_EC   (1<<8)
 
#define ETH_TDES0_LCO   (1<<9)
 
#define ETH_TDES0_NC   (1<<10)
 
#define ETH_TDES0_LCA   (1<<11)
 
#define ETH_TDES0_IPE   (1<<12)
 
#define ETH_TDES0_FF   (1<<13)
 
#define ETH_TDES0_JT   (1<<14)
 
#define ETH_TDES0_ES   (1<<15)
 
#define ETH_TDES0_IHE   (1<<16)
 
#define ETH_TDES0_TTSS   (1<<17)
 
#define ETH_TDES0_TCH   (1<<20)
 
#define ETH_TDES0_TER   (1<<21)
 
#define ETH_TDES0_CIC_SHIFT   22
 
#define ETH_TDES0_CIC   (3<<ETH_TDES0_CIC_SHIFT)
 
#define ETH_TDES0_CIC_DISABLED   (0<<ETH_TDES0_CIC_SHIFT)
 
#define ETH_TDES0_CIC_IP   (1<<ETH_TDES0_CIC_SHIFT)
 
#define ETH_TDES0_CIC_IPPL   (2<<ETH_TDES0_CIC_SHIFT)
 
#define ETH_TDES0_CIC_IPPLPH   (3<<ETH_TDES0_CIC_SHIFT)
 
#define ETH_TDES0_TTSE   (1<<25)
 
#define ETH_TDES0_DP   (1<<26)
 
#define ETH_TDES0_DC   (1<<27)
 
#define ETH_TDES0_FS   (1<<28)
 
#define ETH_TDES0_LS   (1<<29)
 
#define ETH_TDES0_IC   (1<<30)
 
#define ETH_TDES0_OWN   (1<<31)
 
#define ETH_TDES1_TBS1_SHIFT   0
 
#define ETH_TDES1_TBS1   (0x1FFF<<ETH_TDES1_TBS1_SHIFT)
 
#define ETH_TDES1_TBS2_SHIFT   16
 
#define ETH_TDES1_TBS2   (0x1FFF<<ETH_TDES1_TBS1_SHIFT)
 
#define ETH_RDES0_PCE   (1<<0)
 
#define ETH_RDES0_ESA   (1<<0)
 
#define ETH_RDES0_CE   (1<<1)
 
#define ETH_RDES0_DE   (1<<2)
 
#define ETH_RDES0_RE   (1<<3)
 
#define ETH_RDES0_RWT   (1<<4)
 
#define ETH_RDES0_FT   (1<<5)
 
#define ETH_RDES0_LCO   (1<<6)
 
#define ETH_RDES0_IPHCE   (1<<7)
 
#define ETH_RDES0_TSV   (1<<7)
 
#define ETH_RDES0_LS   (1<<8)
 
#define ETH_RDES0_FS   (1<<9)
 
#define ETH_RDES0_VLAN   (1<<10)
 
#define ETH_RDES0_OE   (1<<11)
 
#define ETH_RDES0_LE   (1<<12)
 
#define ETH_RDES0_SAF   (1<<13)
 
#define ETH_RDES0_DCE   (1<<14)
 
#define ETH_RDES0_ES   (1<<15)
 
#define ETH_RDES0_FL_SHIFT   16
 
#define ETH_RDES0_FL   (0x3FFF<<ETH_RDES0_FL_SHIFT)
 
#define ETH_RDES0_AFM   (1<<30)
 
#define ETH_RDES0_OWN   (1<<31)
 
#define ETH_RDES1_RBS1_SHIFT   0
 
#define ETH_RDES1_RBS1   (0x1FFF<<ETH_RDES1_RBS1_SHIFT)
 
#define ETH_RDES1_RCH   (1<<14)
 
#define ETH_RDES1_RER   (1<<15)
 
#define ETH_RDES1_RBS2_SHIFT   16
 
#define ETH_RDES1_RBS2   (0x1FFF<<ETH_RDES1_RBS2_SHIFT)
 
#define ETH_RDES1_DIC   (1<<31)
 
#define ETH_RDES4_IPPT_SHIFT   0
 
#define ETH_RDES4_IPPT   (7<<ETH_RDES4_IPPT_SHIFT)
 
#define ETH_RDES4_IPPT_UNKNOWN   (0<<ETH_RDES4_IPPT_SHIFT)
 
#define ETH_RDES4_IPPT_UDP   (1<<ETH_RDES4_IPPT_SHIFT)
 
#define ETH_RDES4_IPPT_TCP   (2<<ETH_RDES4_IPPT_SHIFT)
 
#define ETH_RDES4_IPPT_ICMP   (3<<ETH_RDES4_IPPT_SHIFT)
 
#define ETH_RDES4_IPHE   (1<<3)
 
#define ETH_RDES4_IPPE   (1<<4)
 
#define ETH_RDES4_IPCB   (1<<5)
 
#define ETH_RDES4_IPV4PR   (1<<6)
 
#define ETH_RDES4_IPV6PR   (1<<7)
 
#define ETH_RDES4_PMT_SHIFT   8
 
#define ETH_RDES4_PMT   (0x0F<<ETH_RDES4_PMT_SHIFT)
 
#define ETH_RDES4_PMT_NO   (0x00<<ETH_RDES4_PMT_SHIFT)
 
#define ETH_RDES4_PMT_SYNC   (0x01<<ETH_RDES4_PMT_SHIFT)
 
#define ETH_RDES4_PMT_FOLLOW   (0x02<<ETH_RDES4_PMT_SHIFT)
 
#define ETH_RDES4_PMT_DLYRQ   (0x03<<ETH_RDES4_PMT_SHIFT)
 
#define ETH_RDES4_PMT_DLYRSP   (0x04<<ETH_RDES4_PMT_SHIFT)
 
#define ETH_RDES4_PMT_PDLYRQ   (0x05<<ETH_RDES4_PMT_SHIFT)
 
#define ETH_RDES4_PMT_PDLYRSP   (0x06<<ETH_RDES4_PMT_SHIFT)
 
#define ETH_RDES4_PMT_PDLYRSPFUP   (0x07<<ETH_RDES4_PMT_SHIFT)
 
#define ETH_RDES4_PFT   (1<<12)
 
#define ETH_RDES4_PV   (1<<13)
 

Enumerations

enum  eth_clk {
  ETH_CLK_025_035MHZ = ETH_MACMIIAR_CR_HCLK_DIV_16 , ETH_CLK_035_060MHZ = ETH_MACMIIAR_CR_HCLK_DIV_26 , ETH_CLK_060_100MHZ = ETH_MACMIIAR_CR_HCLK_DIV_42 , ETH_CLK_100_150MHZ = ETH_MACMIIAR_CR_HCLK_DIV_62 ,
  ETH_CLK_150_168MHZ = ETH_MACMIIAR_CR_HCLK_DIV_102
}
 

Functions

void eth_smi_write (uint8_t phy, uint8_t reg, uint16_t data)
 Write 16-bit register to the PHY. More...
 
uint16_t eth_smi_read (uint8_t phy, uint8_t reg)
 Read the 16-bit register from the PHY. More...
 
void eth_smi_bit_op (uint8_t phy, uint8_t reg, uint16_t bits, uint16_t mask)
 Process the bit-operation on PHY register. More...
 
void eth_smi_bit_clear (uint8_t phy, uint8_t reg, uint16_t clearbits)
 Clear bits in the register. More...
 
void eth_smi_bit_set (uint8_t phy, uint8_t reg, uint16_t setbits)
 Set bits in the register. More...
 
void eth_set_mac (const uint8_t *mac)
 Set MAC to the PHY. More...
 
void eth_desc_init (uint8_t *buf, uint32_t nTx, uint32_t nRx, uint32_t cTx, uint32_t cRx, bool isext)
 Initialize buffers and descriptors. More...
 
bool eth_tx (uint8_t *ppkt, uint32_t n)
 Transmit packet. More...
 
bool eth_rx (uint8_t *ppkt, uint32_t *len, uint32_t maxlen)
 Receive packet. More...
 
void eth_init (uint8_t phy, enum eth_clk clock)
 Initialize ethernet. More...
 
void eth_start (void)
 Start the Ethernet DMA processing. More...
 
void eth_enable_checksum_offload (void)
 Enable checksum offload feature. More...
 
void eth_irq_enable (uint32_t reason)
 Enable the Ethernet IRQ. More...
 
void eth_irq_disable (uint32_t reason)
 Disable the Ethernet IRQ. More...
 
bool eth_irq_is_pending (uint32_t reason)
 Check if IRQ is pending. More...
 
bool eth_irq_ack_pending (uint32_t reason)
 Check if IRQ is pending, and acknowledge it. More...
 

Detailed Description

Defined Constants and Types for the Ethernet MAC for STM32Fxx7 chips

Version
1.0.0
Author
© 2013 Frantisek Burian BuFra.nosp@m.n@se.nosp@m.znam..nosp@m.cz
Date
1 September 2013

LGPL License Terms libopencm3 License

Macro Definition Documentation

◆ ETH_DES

#define ETH_DES (   n,
  base 
)    MMIO32((base) + (n)*4)

Definition at line 113 of file mac_stm32fxx7.h.

◆ ETH_DES0

#define ETH_DES0 (   base)    ETH_DES(0, base)

Definition at line 114 of file mac_stm32fxx7.h.

◆ ETH_DES1

#define ETH_DES1 (   base)    ETH_DES(1, base)

Definition at line 115 of file mac_stm32fxx7.h.

◆ ETH_DES2

#define ETH_DES2 (   base)    ETH_DES(2, base)

Definition at line 116 of file mac_stm32fxx7.h.

◆ ETH_DES3

#define ETH_DES3 (   base)    ETH_DES(3, base)

Definition at line 117 of file mac_stm32fxx7.h.

◆ ETH_DES4

#define ETH_DES4 (   base)    ETH_DES(4, base)

Definition at line 120 of file mac_stm32fxx7.h.

◆ ETH_DES5

#define ETH_DES5 (   base)    ETH_DES(5, base)

Definition at line 121 of file mac_stm32fxx7.h.

◆ ETH_DES6

#define ETH_DES6 (   base)    ETH_DES(6, base)

Definition at line 122 of file mac_stm32fxx7.h.

◆ ETH_DES7

#define ETH_DES7 (   base)    ETH_DES(7, base)

Definition at line 123 of file mac_stm32fxx7.h.

◆ ETH_DES_EXT_SIZE

#define ETH_DES_EXT_SIZE   32

Definition at line 594 of file mac_stm32fxx7.h.

◆ ETH_DES_STD_SIZE

#define ETH_DES_STD_SIZE   16

Definition at line 593 of file mac_stm32fxx7.h.

◆ ETH_DMABMR

#define ETH_DMABMR   MMIO32(ETHERNET_BASE + 0x1000)

Definition at line 97 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_AAB

#define ETH_DMABMR_AAB   (1<<25)

Definition at line 473 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_DA

#define ETH_DMABMR_DA   (1<<1)

Definition at line 449 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_DSL

#define ETH_DMABMR_DSL   (0x1F << ETH_DMABR_DSL_SHIFT)

Definition at line 452 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_DSL_SHIFT

#define ETH_DMABMR_DSL_SHIFT   2

Definition at line 451 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_EDFE

#define ETH_DMABMR_EDFE   (1<<7)

Definition at line 454 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_FB

#define ETH_DMABMR_FB   (1<<16)

Definition at line 466 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_FPM

#define ETH_DMABMR_FPM   (1<<24)

Definition at line 472 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_MB

#define ETH_DMABMR_MB   (1<<26) /* Not on STM32F1 */

Definition at line 474 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_PBL

#define ETH_DMABMR_PBL   (0x3F << ETH_DMABR_PBL_SHIFT)

Definition at line 457 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_PBL_SHIFT

#define ETH_DMABMR_PBL_SHIFT   8

Definition at line 456 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_PM

#define ETH_DMABMR_PM   (0x03 << ETH_DMABMR_PM_SHIFT)

Definition at line 460 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_PM_1_1

#define ETH_DMABMR_PM_1_1   (0 << ETH_DMABMR_PM_SHIFT)

Definition at line 461 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_PM_2_1

#define ETH_DMABMR_PM_2_1   (1 << ETH_DMABMR_PM_SHIFT)

Definition at line 462 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_PM_3_1

#define ETH_DMABMR_PM_3_1   (2 << ETH_DMABMR_PM_SHIFT)

Definition at line 463 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_PM_4_1

#define ETH_DMABMR_PM_4_1   (3 << ETH_DMABMR_PM_SHIFT)

Definition at line 464 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_PM_SHIFT

#define ETH_DMABMR_PM_SHIFT   14

Definition at line 459 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_RDP

#define ETH_DMABMR_RDP   (0x3F << ETH_DMABMR_RDP_SHIFT)

Definition at line 469 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_RDP_SHIFT

#define ETH_DMABMR_RDP_SHIFT   17

Definition at line 468 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_SR

#define ETH_DMABMR_SR   (1<<0)

Definition at line 448 of file mac_stm32fxx7.h.

◆ ETH_DMABMR_USP

#define ETH_DMABMR_USP   (1<<23)

Definition at line 471 of file mac_stm32fxx7.h.

◆ ETH_DMACHRBAR

#define ETH_DMACHRBAR   MMIO32(ETHERNET_BASE + 0x1054)

Definition at line 110 of file mac_stm32fxx7.h.

◆ ETH_DMACHRDR

#define ETH_DMACHRDR   MMIO32(ETHERNET_BASE + 0x104C)

Definition at line 108 of file mac_stm32fxx7.h.

◆ ETH_DMACHTBAR

#define ETH_DMACHTBAR   MMIO32(ETHERNET_BASE + 0x1050)

Definition at line 109 of file mac_stm32fxx7.h.

◆ ETH_DMACHTDR

#define ETH_DMACHTDR   MMIO32(ETHERNET_BASE + 0x1048)

Definition at line 107 of file mac_stm32fxx7.h.

◆ ETH_DMAIER

#define ETH_DMAIER   MMIO32(ETHERNET_BASE + 0x101C)

Definition at line 104 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_AISE

#define ETH_DMAIER_AISE   (1<<15)

Definition at line 570 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_ERIE

#define ETH_DMAIER_ERIE   (1<<14)

Definition at line 569 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_ETIE

#define ETH_DMAIER_ETIE   (1<<10)

Definition at line 567 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_FBEIE

#define ETH_DMAIER_FBEIE   (1<<13)

Definition at line 568 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_NISE

#define ETH_DMAIER_NISE   (1<<16)

Definition at line 571 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_RBUIE

#define ETH_DMAIER_RBUIE   (1<<7)

Definition at line 564 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_RIE

#define ETH_DMAIER_RIE   (1<<6)

Definition at line 563 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_ROIE

#define ETH_DMAIER_ROIE   (1<<4)

Definition at line 561 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_RPSIE

#define ETH_DMAIER_RPSIE   (1<<8)

Definition at line 565 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_RWTIE

#define ETH_DMAIER_RWTIE   (1<<9)

Definition at line 566 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_TBUIE

#define ETH_DMAIER_TBUIE   (1<<2)

Definition at line 559 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_TIE

#define ETH_DMAIER_TIE   (1<<0)

Definition at line 557 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_TJTIE

#define ETH_DMAIER_TJTIE   (1<<3)

Definition at line 560 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_TPSIE

#define ETH_DMAIER_TPSIE   (1<<1)

Definition at line 558 of file mac_stm32fxx7.h.

◆ ETH_DMAIER_TUIE

#define ETH_DMAIER_TUIE   (1<<5)

Definition at line 562 of file mac_stm32fxx7.h.

◆ ETH_DMAMFBOCR

#define ETH_DMAMFBOCR   MMIO32(ETHERNET_BASE + 0x1020)

Definition at line 105 of file mac_stm32fxx7.h.

◆ ETH_DMAMFBOCR_MFA

#define ETH_DMAMFBOCR_MFA   (0x7FF << ETH_DMAMFBOCR_MFA_SHIFT)

Definition at line 579 of file mac_stm32fxx7.h.

◆ ETH_DMAMFBOCR_MFC

#define ETH_DMAMFBOCR_MFC   (0xFFFF << ETH_DMAMFBOCR_MFC_SHIFT)

Definition at line 577 of file mac_stm32fxx7.h.

◆ ETH_DMAMFBOCR_MFC_SHIFT

#define ETH_DMAMFBOCR_MFC_SHIFT   0

Definition at line 576 of file mac_stm32fxx7.h.

◆ ETH_DMAMFBOCR_OFOC

#define ETH_DMAMFBOCR_OFOC   (1<<28)

Definition at line 580 of file mac_stm32fxx7.h.

◆ ETH_DMAMFBOCR_OMFC

#define ETH_DMAMFBOCR_OMFC   (1<<16)

Definition at line 578 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR

#define ETH_DMAOMR   MMIO32(ETHERNET_BASE + 0x1018)

Definition at line 103 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_DFRF

#define ETH_DMAOMR_DFRF   (1<<24)

Definition at line 550 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_DTCEFD

#define ETH_DMAOMR_DTCEFD   (1<<26)

Definition at line 552 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_FEF

#define ETH_DMAOMR_FEF   (1<<7)

Definition at line 534 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_FTF

#define ETH_DMAOMR_FTF   (1<<20)

Definition at line 548 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_FUGF

#define ETH_DMAOMR_FUGF   (1<<6)

Definition at line 533 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_OSF

#define ETH_DMAOMR_OSF   (1<<2)

Definition at line 524 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_RSF

#define ETH_DMAOMR_RSF   (1<<25)

Definition at line 551 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_RTC

#define ETH_DMAOMR_RTC   (3 << ETH_DMAOMR_RTC_SHIFT)

Definition at line 527 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_RTC_128

#define ETH_DMAOMR_RTC_128   (3 << ETH_DMAOMR_RTC_SHIFT)

Definition at line 531 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_RTC_32

#define ETH_DMAOMR_RTC_32   (1 << ETH_DMAOMR_RTC_SHIFT)

Definition at line 529 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_RTC_64

#define ETH_DMAOMR_RTC_64   (0 << ETH_DMAOMR_RTC_SHIFT)

Definition at line 528 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_RTC_96

#define ETH_DMAOMR_RTC_96   (2 << ETH_DMAOMR_RTC_SHIFT)

Definition at line 530 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_RTC_SHIFT

#define ETH_DMAOMR_RTC_SHIFT   3

Definition at line 526 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_SR

#define ETH_DMAOMR_SR   (1<<1)

Definition at line 523 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_ST

#define ETH_DMAOMR_ST   (1<<13)

Definition at line 535 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_TSF

#define ETH_DMAOMR_TSF   (1<<21)

Definition at line 549 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_TTC

#define ETH_DMAOMR_TTC   (0x07 << ETH_DMAOMR_TTC_SHIFT)

Definition at line 538 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_TTC_128

#define ETH_DMAOMR_TTC_128   (1 << ETH_DMAOMR_TTC_SHIFT)

Definition at line 540 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_TTC_16

#define ETH_DMAOMR_TTC_16   (7 << ETH_DMAOMR_TTC_SHIFT)

Definition at line 546 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_TTC_192

#define ETH_DMAOMR_TTC_192   (2 << ETH_DMAOMR_TTC_SHIFT)

Definition at line 541 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_TTC_24

#define ETH_DMAOMR_TTC_24   (6 << ETH_DMAOMR_TTC_SHIFT)

Definition at line 545 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_TTC_256

#define ETH_DMAOMR_TTC_256   (3 << ETH_DMAOMR_TTC_SHIFT)

Definition at line 542 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_TTC_32

#define ETH_DMAOMR_TTC_32   (5 << ETH_DMAOMR_TTC_SHIFT)

Definition at line 544 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_TTC_40

#define ETH_DMAOMR_TTC_40   (4 << ETH_DMAOMR_TTC_SHIFT)

Definition at line 543 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_TTC_64

#define ETH_DMAOMR_TTC_64   (0 << ETH_DMAOMR_TTC_SHIFT)

Definition at line 539 of file mac_stm32fxx7.h.

◆ ETH_DMAOMR_TTC_SHIFT

#define ETH_DMAOMR_TTC_SHIFT   14

Definition at line 537 of file mac_stm32fxx7.h.

◆ ETH_DMARDLAR

#define ETH_DMARDLAR   MMIO32(ETHERNET_BASE + 0x100C)

Definition at line 100 of file mac_stm32fxx7.h.

◆ ETH_DMARPDR

#define ETH_DMARPDR   MMIO32(ETHERNET_BASE + 0x1008)

Definition at line 99 of file mac_stm32fxx7.h.

◆ ETH_DMARSWTR

#define ETH_DMARSWTR   MMIO32(ETHERNET_BASE + 0x1024) /* Not on STM32F1 */

Definition at line 106 of file mac_stm32fxx7.h.

◆ ETH_DMARSWTR_RSWTC

#define ETH_DMARSWTR_RSWTC   0xFF

Definition at line 586 of file mac_stm32fxx7.h.

◆ ETH_DMASR

#define ETH_DMASR   MMIO32(ETHERNET_BASE + 0x1014)

Definition at line 102 of file mac_stm32fxx7.h.

◆ ETH_DMASR_AIS

#define ETH_DMASR_AIS   (1<<15)

Definition at line 492 of file mac_stm32fxx7.h.

◆ ETH_DMASR_EBS

#define ETH_DMASR_EBS   (7<<ETH_DMASR_EBS_SHIFT)

Definition at line 514 of file mac_stm32fxx7.h.

◆ ETH_DMASR_EBS_SHIFT

#define ETH_DMASR_EBS_SHIFT   23

Definition at line 513 of file mac_stm32fxx7.h.

◆ ETH_DMASR_ERS

#define ETH_DMASR_ERS   (1<<14)

Definition at line 491 of file mac_stm32fxx7.h.

◆ ETH_DMASR_ETS

#define ETH_DMASR_ETS   (1<<10)

Definition at line 489 of file mac_stm32fxx7.h.

◆ ETH_DMASR_FBES

#define ETH_DMASR_FBES   (1<<13)

Definition at line 490 of file mac_stm32fxx7.h.

◆ ETH_DMASR_MMCS

#define ETH_DMASR_MMCS   (1<<27)

Definition at line 516 of file mac_stm32fxx7.h.

◆ ETH_DMASR_NIS

#define ETH_DMASR_NIS   (1<<16)

Definition at line 493 of file mac_stm32fxx7.h.

◆ ETH_DMASR_PMTS

#define ETH_DMASR_PMTS   (1<<28)

Definition at line 517 of file mac_stm32fxx7.h.

◆ ETH_DMASR_RBUS

#define ETH_DMASR_RBUS   (1<<7)

Definition at line 486 of file mac_stm32fxx7.h.

◆ ETH_DMASR_ROS

#define ETH_DMASR_ROS   (1<<4)

Definition at line 483 of file mac_stm32fxx7.h.

◆ ETH_DMASR_RPS

#define ETH_DMASR_RPS   (7<<ETH_DMASR_RPS_SHIFT)

Definition at line 496 of file mac_stm32fxx7.h.

◆ ETH_DMASR_RPS_CLOSE

#define ETH_DMASR_RPS_CLOSE   (5<<ETH_DMASR_RPS_SHIFT)

Definition at line 501 of file mac_stm32fxx7.h.

◆ ETH_DMASR_RPS_FETCH

#define ETH_DMASR_RPS_FETCH   (1<<ETH_DMASR_RPS_SHIFT)

Definition at line 498 of file mac_stm32fxx7.h.

◆ ETH_DMASR_RPS_SHIFT

#define ETH_DMASR_RPS_SHIFT   17

Definition at line 495 of file mac_stm32fxx7.h.

◆ ETH_DMASR_RPS_STOP

#define ETH_DMASR_RPS_STOP   (0<<ETH_DMASR_RPS_SHIFT)

Definition at line 497 of file mac_stm32fxx7.h.

◆ ETH_DMASR_RPS_SUSPEND

#define ETH_DMASR_RPS_SUSPEND   (4<<ETH_DMASR_RPS_SHIFT)

Definition at line 500 of file mac_stm32fxx7.h.

◆ ETH_DMASR_RPS_TRANSFER

#define ETH_DMASR_RPS_TRANSFER   (7<<ETH_DMASR_RPS_SHIFT)

Definition at line 502 of file mac_stm32fxx7.h.

◆ ETH_DMASR_RPS_WAIT

#define ETH_DMASR_RPS_WAIT   (3<<ETH_DMASR_RPS_SHIFT)

Definition at line 499 of file mac_stm32fxx7.h.

◆ ETH_DMASR_RPSS

#define ETH_DMASR_RPSS   (1<<8)

Definition at line 487 of file mac_stm32fxx7.h.

◆ ETH_DMASR_RS

#define ETH_DMASR_RS   (1<<6)

Definition at line 485 of file mac_stm32fxx7.h.

◆ ETH_DMASR_RWTS

#define ETH_DMASR_RWTS   (1<<9)

Definition at line 488 of file mac_stm32fxx7.h.

◆ ETH_DMASR_TBUS

#define ETH_DMASR_TBUS   (1<<2)

Definition at line 481 of file mac_stm32fxx7.h.

◆ ETH_DMASR_TJTS

#define ETH_DMASR_TJTS   (1<<3)

Definition at line 482 of file mac_stm32fxx7.h.

◆ ETH_DMASR_TPS

#define ETH_DMASR_TPS   (7<<ETH_DMASR_TPS_SHIFT)

Definition at line 505 of file mac_stm32fxx7.h.

◆ ETH_DMASR_TPS_CLOSE

#define ETH_DMASR_TPS_CLOSE   (7<<ETH_DMASR_TPS_SHIFT)

Definition at line 511 of file mac_stm32fxx7.h.

◆ ETH_DMASR_TPS_FETCH

#define ETH_DMASR_TPS_FETCH   (1<<ETH_DMASR_TPS_SHIFT)

Definition at line 507 of file mac_stm32fxx7.h.

◆ ETH_DMASR_TPS_SHIFT

#define ETH_DMASR_TPS_SHIFT   20

Definition at line 504 of file mac_stm32fxx7.h.

◆ ETH_DMASR_TPS_STOP

#define ETH_DMASR_TPS_STOP   (0<<ETH_DMASR_TPS_SHIFT)

Definition at line 506 of file mac_stm32fxx7.h.

◆ ETH_DMASR_TPS_SUSPEND

#define ETH_DMASR_TPS_SUSPEND   (6<<ETH_DMASR_TPS_SHIFT)

Definition at line 510 of file mac_stm32fxx7.h.

◆ ETH_DMASR_TPS_TRANSFER

#define ETH_DMASR_TPS_TRANSFER   (3<<ETH_DMASR_TPS_SHIFT)

Definition at line 509 of file mac_stm32fxx7.h.

◆ ETH_DMASR_TPS_WAIT

#define ETH_DMASR_TPS_WAIT   (2<<ETH_DMASR_TPS_SHIFT)

Definition at line 508 of file mac_stm32fxx7.h.

◆ ETH_DMASR_TPSS

#define ETH_DMASR_TPSS   (1<<1)

Definition at line 480 of file mac_stm32fxx7.h.

◆ ETH_DMASR_TS

#define ETH_DMASR_TS   (1<<0)

Definition at line 479 of file mac_stm32fxx7.h.

◆ ETH_DMASR_TSTS

#define ETH_DMASR_TSTS   (1<<29)

Definition at line 518 of file mac_stm32fxx7.h.

◆ ETH_DMASR_TUS

#define ETH_DMASR_TUS   (1<<5)

Definition at line 484 of file mac_stm32fxx7.h.

◆ ETH_DMATDLAR

#define ETH_DMATDLAR   MMIO32(ETHERNET_BASE + 0x1010)

Definition at line 101 of file mac_stm32fxx7.h.

◆ ETH_DMATPDR

#define ETH_DMATPDR   MMIO32(ETHERNET_BASE + 0x1004)

Definition at line 98 of file mac_stm32fxx7.h.

◆ ETH_MACA0HR_MACA0H

#define ETH_MACA0HR_MACA0H   (0xFFFF<<0)

Definition at line 311 of file mac_stm32fxx7.h.

◆ ETH_MACA0HR_MO

#define ETH_MACA0HR_MO   (1<<31)

Definition at line 312 of file mac_stm32fxx7.h.

◆ ETH_MACAHR

#define ETH_MACAHR (   i)    MMIO32(ETHERNET_BASE + 0x40+(i)*8)

Definition at line 66 of file mac_stm32fxx7.h.

◆ ETH_MACAHR_AE

#define ETH_MACAHR_AE   (1<<31)

Definition at line 326 of file mac_stm32fxx7.h.

◆ ETH_MACAHR_MACAH

#define ETH_MACAHR_MACAH   (0xFFFF<<0)

Definition at line 317 of file mac_stm32fxx7.h.

◆ ETH_MACAHR_MBC_0

#define ETH_MACAHR_MBC_0   (1<<24)

Definition at line 319 of file mac_stm32fxx7.h.

◆ ETH_MACAHR_MBC_1

#define ETH_MACAHR_MBC_1   (1<<25)

Definition at line 320 of file mac_stm32fxx7.h.

◆ ETH_MACAHR_MBC_2

#define ETH_MACAHR_MBC_2   (1<<26)

Definition at line 321 of file mac_stm32fxx7.h.

◆ ETH_MACAHR_MBC_3

#define ETH_MACAHR_MBC_3   (1<<27)

Definition at line 322 of file mac_stm32fxx7.h.

◆ ETH_MACAHR_MBC_4

#define ETH_MACAHR_MBC_4   (1<<28)

Definition at line 323 of file mac_stm32fxx7.h.

◆ ETH_MACAHR_MBC_5

#define ETH_MACAHR_MBC_5   (1<<29)

Definition at line 324 of file mac_stm32fxx7.h.

◆ ETH_MACAHR_MBC_ALL

#define ETH_MACAHR_MBC_ALL   (63<<24)

Definition at line 318 of file mac_stm32fxx7.h.

◆ ETH_MACAHR_SA

#define ETH_MACAHR_SA   (1<<30)

Definition at line 325 of file mac_stm32fxx7.h.

◆ ETH_MACALR

#define ETH_MACALR (   i)    MMIO32(ETHERNET_BASE + 0x44+(i)*8)

Definition at line 68 of file mac_stm32fxx7.h.

◆ ETH_MACCR

#define ETH_MACCR   MMIO32(ETHERNET_BASE + 0x00)

Definition at line 51 of file mac_stm32fxx7.h.

◆ ETH_MACCR_APCS

#define ETH_MACCR_APCS   (1<<7)

Definition at line 143 of file mac_stm32fxx7.h.

◆ ETH_MACCR_BL

#define ETH_MACCR_BL   (3 << ETH_MACCR_BL_SHIFT)

Definition at line 137 of file mac_stm32fxx7.h.

◆ ETH_MACCR_BL_MIN1

#define ETH_MACCR_BL_MIN1   (3 << ETH_MACCR_BL_SHIFT)

Definition at line 141 of file mac_stm32fxx7.h.

◆ ETH_MACCR_BL_MIN10

#define ETH_MACCR_BL_MIN10   (0 << ETH_MACCR_BL_SHIFT)

Definition at line 138 of file mac_stm32fxx7.h.

◆ ETH_MACCR_BL_MIN4

#define ETH_MACCR_BL_MIN4   (2 << ETH_MACCR_BL_SHIFT)

Definition at line 140 of file mac_stm32fxx7.h.

◆ ETH_MACCR_BL_MIN8

#define ETH_MACCR_BL_MIN8   (1 << ETH_MACCR_BL_SHIFT)

Definition at line 139 of file mac_stm32fxx7.h.

◆ ETH_MACCR_BL_SHIFT

#define ETH_MACCR_BL_SHIFT   5

Definition at line 136 of file mac_stm32fxx7.h.

◆ ETH_MACCR_CSD

#define ETH_MACCR_CSD   (1<<16)

Definition at line 150 of file mac_stm32fxx7.h.

◆ ETH_MACCR_CSTF

#define ETH_MACCR_CSTF   (1<<25) /* Not on STM32F1 */

Definition at line 157 of file mac_stm32fxx7.h.

◆ ETH_MACCR_DC

#define ETH_MACCR_DC   (1<<4)

Definition at line 134 of file mac_stm32fxx7.h.

◆ ETH_MACCR_DM

#define ETH_MACCR_DM   (1<<11)

Definition at line 146 of file mac_stm32fxx7.h.

◆ ETH_MACCR_FES

#define ETH_MACCR_FES   (1<<14)

Definition at line 149 of file mac_stm32fxx7.h.

◆ ETH_MACCR_IFG

#define ETH_MACCR_IFG   (7<<ETH_MACCR_IFG_SHIFT)

Definition at line 153 of file mac_stm32fxx7.h.

◆ ETH_MACCR_IFG_SHIFT

#define ETH_MACCR_IFG_SHIFT   17

Definition at line 152 of file mac_stm32fxx7.h.

◆ ETH_MACCR_IPCO

#define ETH_MACCR_IPCO   (1<<10)

Definition at line 145 of file mac_stm32fxx7.h.

◆ ETH_MACCR_JD

#define ETH_MACCR_JD   (1<<22)

Definition at line 155 of file mac_stm32fxx7.h.

◆ ETH_MACCR_LM

#define ETH_MACCR_LM   (1<<12)

Definition at line 147 of file mac_stm32fxx7.h.

◆ ETH_MACCR_RD

#define ETH_MACCR_RD   (1<<9)

Definition at line 144 of file mac_stm32fxx7.h.

◆ ETH_MACCR_RE

#define ETH_MACCR_RE   (1<<2)

Definition at line 132 of file mac_stm32fxx7.h.

◆ ETH_MACCR_ROD

#define ETH_MACCR_ROD   (1<<13)

Definition at line 148 of file mac_stm32fxx7.h.

◆ ETH_MACCR_TE

#define ETH_MACCR_TE   (1<<3)

Definition at line 133 of file mac_stm32fxx7.h.

◆ ETH_MACCR_WD

#define ETH_MACCR_WD   (1<<23)

Definition at line 156 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR

#define ETH_MACDBGR   MMIO32(ETHERNET_BASE + 0x34) /* Not on STM32F1 */

Definition at line 61 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_MMRPEA

#define ETH_MACDBGR_MMRPEA   (1<<0)

Definition at line 251 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_MMTEA

#define ETH_MACDBGR_MMTEA   (1<<16)

Definition at line 269 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_MSFRWCS

#define ETH_MACDBGR_MSFRWCS   (3<<1)

Definition at line 252 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_MTFCS

#define ETH_MACDBGR_MTFCS   (3 << ETH_MACDBGR_MTFCS_SHIFT)

Definition at line 272 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_MTFCS_IDLE

#define ETH_MACDBGR_MTFCS_IDLE   (0 << ETH_MACDBGR_MTFCS_SHIFT)

Definition at line 273 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_MTFCS_PAUSE

#define ETH_MACDBGR_MTFCS_PAUSE   (2 << ETH_MACDBGR_MTFCS_SHIFT)

Definition at line 275 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_MTFCS_SHIFT

#define ETH_MACDBGR_MTFCS_SHIFT   17

Definition at line 271 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_MTFCS_TRANSFER

#define ETH_MACDBGR_MTFCS_TRANSFER   (3 << ETH_MACDBGR_MTFCS_SHIFT)

Definition at line 276 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_MTFCS_WAIT

#define ETH_MACDBGR_MTFCS_WAIT   (1 << ETH_MACDBGR_MTFCS_SHIFT)

Definition at line 274 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_MTP

#define ETH_MACDBGR_MTP   (1<<19)

Definition at line 278 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_RFFL

#define ETH_MACDBGR_RFFL   (3<<ETH_MACDBGR_RFFL_SHIFT)

Definition at line 263 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_RFFL_ABOVE

#define ETH_MACDBGR_RFFL_ABOVE   (2<<ETH_MACDBGR_RFFL_SHIFT)

Definition at line 266 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_RFFL_BELOW

#define ETH_MACDBGR_RFFL_BELOW   (1<<ETH_MACDBGR_RFFL_SHIFT)

Definition at line 265 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_RFFL_EMPTY

#define ETH_MACDBGR_RFFL_EMPTY   (0<<ETH_MACDBGR_RFFL_SHIFT)

Definition at line 264 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_RFFL_FULL

#define ETH_MACDBGR_RFFL_FULL   (3<<ETH_MACDBGR_RFFL_SHIFT)

Definition at line 267 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_RFFL_SHIFT

#define ETH_MACDBGR_RFFL_SHIFT   8

Definition at line 262 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_RFRCS

#define ETH_MACDBGR_RFRCS   (3<<ETH_MACDBGR_RFRCS_SHIFT)

Definition at line 256 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_RFRCS_FLUSH

#define ETH_MACDBGR_RFRCS_FLUSH   (3<<ETH_MACDBGR_RFRCS_SHIFT)

Definition at line 260 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_RFRCS_IDLE

#define ETH_MACDBGR_RFRCS_IDLE   (0<<ETH_MACDBGR_RFRCS_SHIFT)

Definition at line 257 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_RFRCS_RDATA

#define ETH_MACDBGR_RFRCS_RDATA   (1<<ETH_MACDBGR_RFRCS_SHIFT)

Definition at line 258 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_RFRCS_RSTAT

#define ETH_MACDBGR_RFRCS_RSTAT   (2<<ETH_MACDBGR_RFRCS_SHIFT)

Definition at line 259 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_RFRCS_SHIFT

#define ETH_MACDBGR_RFRCS_SHIFT   5

Definition at line 255 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_RFWRA

#define ETH_MACDBGR_RFWRA   (1<<4)

Definition at line 253 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_TFF

#define ETH_MACDBGR_TFF   (1<<25)

Definition at line 289 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_TFNE

#define ETH_MACDBGR_TFNE   (1<<24)

Definition at line 288 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_TFRS

#define ETH_MACDBGR_TFRS   (3<<ETH_MACDBGR_TFRS_SHIFT)

Definition at line 281 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_TFRS_FLUSH

#define ETH_MACDBGR_TFRS_FLUSH   (3<<ETH_MACDBGR_TFRS_SHIFT)

Definition at line 285 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_TFRS_IDLE

#define ETH_MACDBGR_TFRS_IDLE   (0<<ETH_MACDBGR_TFRS_SHIFT)

Definition at line 282 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_TFRS_READ

#define ETH_MACDBGR_TFRS_READ   (1<<ETH_MACDBGR_TFRS_SHIFT)

Definition at line 283 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_TFRS_SHIFT

#define ETH_MACDBGR_TFRS_SHIFT   20

Definition at line 280 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_TFRS_WAIT

#define ETH_MACDBGR_TFRS_WAIT   (2<<ETH_MACDBGR_TFRS_SHIFT)

Definition at line 284 of file mac_stm32fxx7.h.

◆ ETH_MACDBGR_TFWA

#define ETH_MACDBGR_TFWA   (1<<22)

Definition at line 287 of file mac_stm32fxx7.h.

◆ ETH_MACFCR

#define ETH_MACFCR   MMIO32(ETHERNET_BASE + 0x18)

Definition at line 57 of file mac_stm32fxx7.h.

◆ ETH_MACFCR_BPA

#define ETH_MACFCR_BPA   (1<<0)

Definition at line 213 of file mac_stm32fxx7.h.

◆ ETH_MACFCR_FCB

#define ETH_MACFCR_FCB   (1<<0)

Definition at line 212 of file mac_stm32fxx7.h.

◆ ETH_MACFCR_PLT

#define ETH_MACFCR_PLT   (0x03 << ETH_MACFCR_PLT_SHIFT)

Definition at line 219 of file mac_stm32fxx7.h.

◆ ETH_MACFCR_PLT_144

#define ETH_MACFCR_PLT_144   (2 << ETH_MACFCR_PLT_SHIFT)

Definition at line 222 of file mac_stm32fxx7.h.

◆ ETH_MACFCR_PLT_256

#define ETH_MACFCR_PLT_256   (3 << ETH_MACFCR_PLT_SHIFT)

Definition at line 223 of file mac_stm32fxx7.h.

◆ ETH_MACFCR_PLT_28

#define ETH_MACFCR_PLT_28   (1 << ETH_MACFCR_PLT_SHIFT)

Definition at line 221 of file mac_stm32fxx7.h.

◆ ETH_MACFCR_PLT_4

#define ETH_MACFCR_PLT_4   (0 << ETH_MACFCR_PLT_SHIFT)

Definition at line 220 of file mac_stm32fxx7.h.

◆ ETH_MACFCR_PLT_SHIFT

#define ETH_MACFCR_PLT_SHIFT   4

Definition at line 218 of file mac_stm32fxx7.h.

◆ ETH_MACFCR_PT

#define ETH_MACFCR_PT   (0xFFFF << ETH_MACFCR_PT)

Definition at line 228 of file mac_stm32fxx7.h.

◆ ETH_MACFCR_PT_SHIFT

#define ETH_MACFCR_PT_SHIFT   16

Definition at line 227 of file mac_stm32fxx7.h.

◆ ETH_MACFCR_RFCE

#define ETH_MACFCR_RFCE   (1<<2)

Definition at line 215 of file mac_stm32fxx7.h.

◆ ETH_MACFCR_TFCE

#define ETH_MACFCR_TFCE   (1<<1)

Definition at line 214 of file mac_stm32fxx7.h.

◆ ETH_MACFCR_UPFD

#define ETH_MACFCR_UPFD   (1<<3)

Definition at line 216 of file mac_stm32fxx7.h.

◆ ETH_MACFCR_ZQPD

#define ETH_MACFCR_ZQPD   (1<<7)

Definition at line 225 of file mac_stm32fxx7.h.

◆ ETH_MACFFR

#define ETH_MACFFR   MMIO32(ETHERNET_BASE + 0x04)

Definition at line 52 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_BFD

#define ETH_MACFFR_BFD   (1<<5)

Definition at line 166 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_DAIF

#define ETH_MACFFR_DAIF   (1<<3)

Definition at line 164 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_HM

#define ETH_MACFFR_HM   (1<<2)

Definition at line 163 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_HPF

#define ETH_MACFFR_HPF   (1<<10)

Definition at line 177 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_HU

#define ETH_MACFFR_HU   (1<<1)

Definition at line 162 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_PAM

#define ETH_MACFFR_PAM   (1<<4)

Definition at line 165 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_PCF

#define ETH_MACFFR_PCF   (3<<ETH_MACFFR_PCF_SHIFT)

Definition at line 169 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_PCF_ALL

#define ETH_MACFFR_PCF_ALL   (2<<ETH_MACFFR_PCF_SHIFT)

Definition at line 172 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_PCF_DISABLE

#define ETH_MACFFR_PCF_DISABLE   (0<<ETH_MACFFR_PCF_SHIFT)

Definition at line 170 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_PCF_NOPAUSE

#define ETH_MACFFR_PCF_NOPAUSE   (1<<ETH_MACFFR_PCF_SHIFT)

Definition at line 171 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_PCF_PASS

#define ETH_MACFFR_PCF_PASS   (3<<ETH_MACFFR_PCF_SHIFT)

Definition at line 173 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_PCF_SHIFT

#define ETH_MACFFR_PCF_SHIFT   6

Definition at line 168 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_PM

#define ETH_MACFFR_PM   (1<<0)

Definition at line 161 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_RA

#define ETH_MACFFR_RA   (1<<31)

Definition at line 178 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_SAF

#define ETH_MACFFR_SAF   (1<<9)

Definition at line 176 of file mac_stm32fxx7.h.

◆ ETH_MACFFR_SAIF

#define ETH_MACFFR_SAIF   (1<<8)

Definition at line 175 of file mac_stm32fxx7.h.

◆ ETH_MACHTHR

#define ETH_MACHTHR   MMIO32(ETHERNET_BASE + 0x08)

Definition at line 53 of file mac_stm32fxx7.h.

◆ ETH_MACHTLR

#define ETH_MACHTLR   MMIO32(ETHERNET_BASE + 0x0C)

Definition at line 54 of file mac_stm32fxx7.h.

◆ ETH_MACIMR

#define ETH_MACIMR   MMIO32(ETHERNET_BASE + 0x3C)

Definition at line 63 of file mac_stm32fxx7.h.

◆ ETH_MACIMR_PMTIM

#define ETH_MACIMR_PMTIM   (1<<3)

Definition at line 305 of file mac_stm32fxx7.h.

◆ ETH_MACIMR_TSTIM

#define ETH_MACIMR_TSTIM   (1<<9)

Definition at line 306 of file mac_stm32fxx7.h.

◆ ETH_MACMIIAR

#define ETH_MACMIIAR   MMIO32(ETHERNET_BASE + 0x10)

Definition at line 55 of file mac_stm32fxx7.h.

◆ ETH_MACMIIAR_CR

#define ETH_MACMIIAR_CR   (7<<ETH_MACMIIAR_CR_SHIFT)

Definition at line 187 of file mac_stm32fxx7.h.

◆ ETH_MACMIIAR_CR_HCLK_DIV_102

#define ETH_MACMIIAR_CR_HCLK_DIV_102   (4<<ETH_MACMIIAR_CR_SHIFT)

Definition at line 197 of file mac_stm32fxx7.h.

◆ ETH_MACMIIAR_CR_HCLK_DIV_16

#define ETH_MACMIIAR_CR_HCLK_DIV_16   (2<<ETH_MACMIIAR_CR_SHIFT)

Definition at line 193 of file mac_stm32fxx7.h.

◆ ETH_MACMIIAR_CR_HCLK_DIV_26

#define ETH_MACMIIAR_CR_HCLK_DIV_26   (3<<ETH_MACMIIAR_CR_SHIFT)

Definition at line 195 of file mac_stm32fxx7.h.

◆ ETH_MACMIIAR_CR_HCLK_DIV_42

#define ETH_MACMIIAR_CR_HCLK_DIV_42   (0<<ETH_MACMIIAR_CR_SHIFT)

Definition at line 189 of file mac_stm32fxx7.h.

◆ ETH_MACMIIAR_CR_HCLK_DIV_62

#define ETH_MACMIIAR_CR_HCLK_DIV_62   (1<<ETH_MACMIIAR_CR_SHIFT)

Definition at line 191 of file mac_stm32fxx7.h.

◆ ETH_MACMIIAR_CR_SHIFT

#define ETH_MACMIIAR_CR_SHIFT   2

Definition at line 186 of file mac_stm32fxx7.h.

◆ ETH_MACMIIAR_MB

#define ETH_MACMIIAR_MB   (1<<0)

Definition at line 183 of file mac_stm32fxx7.h.

◆ ETH_MACMIIAR_MR

#define ETH_MACMIIAR_MR   (0x1F << ETH_MACMIIAR_MR_SHIFT)

Definition at line 200 of file mac_stm32fxx7.h.

◆ ETH_MACMIIAR_MR_SHIFT

#define ETH_MACMIIAR_MR_SHIFT   6

Definition at line 199 of file mac_stm32fxx7.h.

◆ ETH_MACMIIAR_MW

#define ETH_MACMIIAR_MW   (1<<1)

Definition at line 184 of file mac_stm32fxx7.h.

◆ ETH_MACMIIAR_PA

#define ETH_MACMIIAR_PA   (0x1F << ETH_MACMIIAR_MR_SHIFT)

Definition at line 203 of file mac_stm32fxx7.h.

◆ ETH_MACMIIAR_PA_SHIFT

#define ETH_MACMIIAR_PA_SHIFT   11

Definition at line 202 of file mac_stm32fxx7.h.

◆ ETH_MACMIIDR

#define ETH_MACMIIDR   MMIO32(ETHERNET_BASE + 0x14)

Definition at line 56 of file mac_stm32fxx7.h.

◆ ETH_MACMIIDR_MD

#define ETH_MACMIIDR_MD   0xFFFF

Definition at line 208 of file mac_stm32fxx7.h.

◆ ETH_MACPMTCSR

#define ETH_MACPMTCSR   MMIO32(ETHERNET_BASE + 0x2C)

Definition at line 60 of file mac_stm32fxx7.h.

◆ ETH_MACPMTCSR_GU

#define ETH_MACPMTCSR_GU   (1<<9)

Definition at line 244 of file mac_stm32fxx7.h.

◆ ETH_MACPMTCSR_MPE

#define ETH_MACPMTCSR_MPE   (1<<1)

Definition at line 240 of file mac_stm32fxx7.h.

◆ ETH_MACPMTCSR_MPR

#define ETH_MACPMTCSR_MPR   (1<<5)

Definition at line 242 of file mac_stm32fxx7.h.

◆ ETH_MACPMTCSR_PD

#define ETH_MACPMTCSR_PD   (1<<0)

Definition at line 239 of file mac_stm32fxx7.h.

◆ ETH_MACPMTCSR_WFE

#define ETH_MACPMTCSR_WFE   (1<<2)

Definition at line 241 of file mac_stm32fxx7.h.

◆ ETH_MACPMTCSR_WFFRPR

#define ETH_MACPMTCSR_WFFRPR   (1<<31)

Definition at line 245 of file mac_stm32fxx7.h.

◆ ETH_MACPMTCSR_WFR

#define ETH_MACPMTCSR_WFR   (1<<6)

Definition at line 243 of file mac_stm32fxx7.h.

◆ ETH_MACRWUFFR

#define ETH_MACRWUFFR   MMIO32(ETHERNET_BASE + 0x28)

Definition at line 59 of file mac_stm32fxx7.h.

◆ ETH_MACSR

#define ETH_MACSR   MMIO32(ETHERNET_BASE + 0x38)

Definition at line 62 of file mac_stm32fxx7.h.

◆ ETH_MACSR_MMCRS

#define ETH_MACSR_MMCRS   (1<<5)

Definition at line 297 of file mac_stm32fxx7.h.

◆ ETH_MACSR_MMCS

#define ETH_MACSR_MMCS   (1<<4)

Definition at line 296 of file mac_stm32fxx7.h.

◆ ETH_MACSR_MMCTS

#define ETH_MACSR_MMCTS   (1<<6)

Definition at line 298 of file mac_stm32fxx7.h.

◆ ETH_MACSR_PMTS

#define ETH_MACSR_PMTS   (1<<3)

Definition at line 295 of file mac_stm32fxx7.h.

◆ ETH_MACSR_TSTS

#define ETH_MACSR_TSTS   (1<<9)

Definition at line 299 of file mac_stm32fxx7.h.

◆ ETH_MACVLANTR

#define ETH_MACVLANTR   MMIO32(ETHERNET_BASE + 0x1C)

Definition at line 58 of file mac_stm32fxx7.h.

◆ ETH_MACVLANTR_VLANTC

#define ETH_MACVLANTR_VLANTC   (1<<16)

Definition at line 234 of file mac_stm32fxx7.h.

◆ ETH_MACVLANTR_VLANTI

#define ETH_MACVLANTR_VLANTI   (0xFFFF << ETH_MACVLANTR_VLANTI_SHIFT)

Definition at line 233 of file mac_stm32fxx7.h.

◆ ETH_MACVLANTR_VLANTI_SHIFT

#define ETH_MACVLANTR_VLANTI_SHIFT   0

Definition at line 232 of file mac_stm32fxx7.h.

◆ ETH_MMCCR

#define ETH_MMCCR   MMIO32(ETHERNET_BASE + 0x100)

Definition at line 71 of file mac_stm32fxx7.h.

◆ ETH_MMCCR_CR

#define ETH_MMCCR_CR   (1<<0)

Definition at line 331 of file mac_stm32fxx7.h.

◆ ETH_MMCCR_CSR

#define ETH_MMCCR_CSR   (1<<1)

Definition at line 332 of file mac_stm32fxx7.h.

◆ ETH_MMCCR_MCF

#define ETH_MMCCR_MCF   (1<<3)

Definition at line 334 of file mac_stm32fxx7.h.

◆ ETH_MMCCR_MCFHP

#define ETH_MMCCR_MCFHP   (1<<5) /* Not on STM32F1 */

Definition at line 336 of file mac_stm32fxx7.h.

◆ ETH_MMCCR_MCP

#define ETH_MMCCR_MCP   (1<<4) /* Not on STM32F1 */

Definition at line 335 of file mac_stm32fxx7.h.

◆ ETH_MMCCR_ROR

#define ETH_MMCCR_ROR   (1<<2)

Definition at line 333 of file mac_stm32fxx7.h.

◆ ETH_MMCRFAECR

#define ETH_MMCRFAECR   MMIO32(ETHERNET_BASE + 0x198)

Definition at line 80 of file mac_stm32fxx7.h.

◆ ETH_MMCRFCECR

#define ETH_MMCRFCECR   MMIO32(ETHERNET_BASE + 0x194)

Definition at line 79 of file mac_stm32fxx7.h.

◆ ETH_MMCRGUFCR

#define ETH_MMCRGUFCR   MMIO32(ETHERNET_BASE + 0x1C4)

Definition at line 81 of file mac_stm32fxx7.h.

◆ ETH_MMCRIMR

#define ETH_MMCRIMR   MMIO32(ETHERNET_BASE + 0x10C)

Definition at line 74 of file mac_stm32fxx7.h.

◆ ETH_MMCRIMR_RFAEM

#define ETH_MMCRIMR_RFAEM   (1<<6)

Definition at line 357 of file mac_stm32fxx7.h.

◆ ETH_MMCRIMR_RFCEM

#define ETH_MMCRIMR_RFCEM   (1<<5)

Definition at line 356 of file mac_stm32fxx7.h.

◆ ETH_MMCRIMR_RGUFM

#define ETH_MMCRIMR_RGUFM   (1<<17)

Definition at line 358 of file mac_stm32fxx7.h.

◆ ETH_MMCRIR

#define ETH_MMCRIR   MMIO32(ETHERNET_BASE + 0x104)

Definition at line 72 of file mac_stm32fxx7.h.

◆ ETH_MMCRIR_RFAES

#define ETH_MMCRIR_RFAES   (1<<6)

Definition at line 343 of file mac_stm32fxx7.h.

◆ ETH_MMCRIR_RFCES

#define ETH_MMCRIR_RFCES   (1<<5)

Definition at line 342 of file mac_stm32fxx7.h.

◆ ETH_MMCRIR_RGUFS

#define ETH_MMCRIR_RGUFS   (1<<17)

Definition at line 344 of file mac_stm32fxx7.h.

◆ ETH_MMCTGFCR

#define ETH_MMCTGFCR   MMIO32(ETHERNET_BASE + 0x168)

Definition at line 78 of file mac_stm32fxx7.h.

◆ ETH_MMCTGFMSCCR

#define ETH_MMCTGFMSCCR   MMIO32(ETHERNET_BASE + 0x150)

Definition at line 77 of file mac_stm32fxx7.h.

◆ ETH_MMCTGFSCCR

#define ETH_MMCTGFSCCR   MMIO32(ETHERNET_BASE + 0x14C)

Definition at line 76 of file mac_stm32fxx7.h.

◆ ETH_MMCTIMR

#define ETH_MMCTIMR   MMIO32(ETHERNET_BASE + 0x110)

Definition at line 75 of file mac_stm32fxx7.h.

◆ ETH_MMCTIMR_TGFMSCS

#define ETH_MMCTIMR_TGFMSCS   (1<<15)

Definition at line 364 of file mac_stm32fxx7.h.

◆ ETH_MMCTIMR_TGFS

#define ETH_MMCTIMR_TGFS   (1<<21)

Definition at line 365 of file mac_stm32fxx7.h.

◆ ETH_MMCTIMR_TGFSCS

#define ETH_MMCTIMR_TGFSCS   (1<<14)

Definition at line 363 of file mac_stm32fxx7.h.

◆ ETH_MMCTIR

#define ETH_MMCTIR   MMIO32(ETHERNET_BASE + 0x108)

Definition at line 73 of file mac_stm32fxx7.h.

◆ ETH_MMCTIR_TGFMSCS

#define ETH_MMCTIR_TGFMSCS   (1<<15)

Definition at line 350 of file mac_stm32fxx7.h.

◆ ETH_MMCTIR_TGFS

#define ETH_MMCTIR_TGFS   (1<<21)

Definition at line 351 of file mac_stm32fxx7.h.

◆ ETH_MMCTIR_TGFSCS

#define ETH_MMCTIR_TGFSCS   (1<<14)

Definition at line 349 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR

#define ETH_PTPPPSCR   MMIO32(ETHERNET_BASE + 0x72C) /* Not on STM32F1 */

Definition at line 94 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_1024HZ

#define ETH_PTPPPSCR_PPSFREQ_1024HZ   (0x0A<<0)

Definition at line 437 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_128HZ

#define ETH_PTPPPSCR_PPSFREQ_128HZ   (0x07<<0)

Definition at line 434 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_16384HZ

#define ETH_PTPPPSCR_PPSFREQ_16384HZ   (0x0E<<0)

Definition at line 441 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_16HZ

#define ETH_PTPPPSCR_PPSFREQ_16HZ   (0x04<<0)

Definition at line 431 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_1HZ

#define ETH_PTPPPSCR_PPSFREQ_1HZ   (0x00<<0)

Definition at line 427 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_2048HZ

#define ETH_PTPPPSCR_PPSFREQ_2048HZ   (0x0B<<0)

Definition at line 438 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_256HZ

#define ETH_PTPPPSCR_PPSFREQ_256HZ   (0x08<<0)

Definition at line 435 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_2HZ

#define ETH_PTPPPSCR_PPSFREQ_2HZ   (0x01<<0)

Definition at line 428 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_32768HZ

#define ETH_PTPPPSCR_PPSFREQ_32768HZ   (0x0F<<0)

Definition at line 442 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_32HZ

#define ETH_PTPPPSCR_PPSFREQ_32HZ   (0x05<<0)

Definition at line 432 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_4096HZ

#define ETH_PTPPPSCR_PPSFREQ_4096HZ   (0x0C<<0)

Definition at line 439 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_4HZ

#define ETH_PTPPPSCR_PPSFREQ_4HZ   (0x02<<0)

Definition at line 429 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_512HZ

#define ETH_PTPPPSCR_PPSFREQ_512HZ   (0x09<<0)

Definition at line 436 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_64HZ

#define ETH_PTPPPSCR_PPSFREQ_64HZ   (0x06<<0)

Definition at line 433 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_8192HZ

#define ETH_PTPPPSCR_PPSFREQ_8192HZ   (0x0D<<0)

Definition at line 440 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_8HZ

#define ETH_PTPPPSCR_PPSFREQ_8HZ   (0x03<<0)

Definition at line 430 of file mac_stm32fxx7.h.

◆ ETH_PTPPPSCR_PPSFREQ_MASK

#define ETH_PTPPPSCR_PPSFREQ_MASK   (0x0F<<0)

Definition at line 426 of file mac_stm32fxx7.h.

◆ ETH_PTPSSIR

#define ETH_PTPSSIR   MMIO32(ETHERNET_BASE + 0x704)

Definition at line 85 of file mac_stm32fxx7.h.

◆ ETH_PTPSSIR_STSSI

#define ETH_PTPSSIR_STSSI   0xFF

Definition at line 400 of file mac_stm32fxx7.h.

◆ ETH_PTPTSAR

#define ETH_PTPTSAR   MMIO32(ETHERNET_BASE + 0x718)

Definition at line 90 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR

#define ETH_PTPTSCR   MMIO32(ETHERNET_BASE + 0x700)

Definition at line 84 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSCNT

#define ETH_PTPTSCR_TSCNT   (3 << ETH_PTPTSCR_TSCNT_SHIFT)

Definition at line 388 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSCNT_BOUND

#define ETH_PTPTSCR_TSCNT_BOUND   (1 << ETH_PTPTSCR_TSCNT_SHIFT)

Definition at line 390 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSCNT_ETETC

#define ETH_PTPTSCR_TSCNT_ETETC   (2 << ETH_PTPTSCR_TSCNT_SHIFT)

Definition at line 391 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSCNT_ORD

#define ETH_PTPTSCR_TSCNT_ORD   (0 << ETH_PTPTSCR_TSCNT_SHIFT)

Definition at line 389 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSCNT_PTPTC

#define ETH_PTPTSCR_TSCNT_PTPTC   (3 << ETH_PTPTSCR_TSCNT_SHIFT)

Definition at line 392 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSCNT_SHIFT

#define ETH_PTPTSCR_TSCNT_SHIFT   16

Definition at line 387 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSE

#define ETH_PTPTSCR_TSE   (1<<0)

Definition at line 370 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSFCU

#define ETH_PTPTSCR_TSFCU   (1<<1)

Definition at line 371 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSITE

#define ETH_PTPTSCR_TSITE   (1<<4)

Definition at line 374 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSPFFMAE

#define ETH_PTPTSCR_TSPFFMAE   (1<<18)

Definition at line 394 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSPTPPSV2E

#define ETH_PTPTSCR_TSPTPPSV2E   (1<<10)

Definition at line 380 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSSARFE

#define ETH_PTPTSCR_TSSARFE   (1<<8)

Definition at line 378 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSSEME

#define ETH_PTPTSCR_TSSEME   (1<<14)

Definition at line 384 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSSIPV4FE

#define ETH_PTPTSCR_TSSIPV4FE   (1<<13)

Definition at line 383 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSSIPV6FE

#define ETH_PTPTSCR_TSSIPV6FE   (1<<12)

Definition at line 382 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSSMRME

#define ETH_PTPTSCR_TSSMRME   (1<<15)

Definition at line 385 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSSPTPOEFE

#define ETH_PTPTSCR_TSSPTPOEFE   (1<<11)

Definition at line 381 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSSSR

#define ETH_PTPTSCR_TSSSR   (1<<9)

Definition at line 379 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSSTI

#define ETH_PTPTSCR_TSSTI   (1<<2)

Definition at line 372 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TSSTU

#define ETH_PTPTSCR_TSSTU   (1<<3)

Definition at line 373 of file mac_stm32fxx7.h.

◆ ETH_PTPTSCR_TTSARU

#define ETH_PTPTSCR_TTSARU   (1<<5)

Definition at line 375 of file mac_stm32fxx7.h.

◆ ETH_PTPTSHR

#define ETH_PTPTSHR   MMIO32(ETHERNET_BASE + 0x708)

Definition at line 86 of file mac_stm32fxx7.h.

◆ ETH_PTPTSHUR

#define ETH_PTPTSHUR   MMIO32(ETHERNET_BASE + 0x710)

Definition at line 88 of file mac_stm32fxx7.h.

◆ ETH_PTPTSLR

#define ETH_PTPTSLR   MMIO32(ETHERNET_BASE + 0x70C)

Definition at line 87 of file mac_stm32fxx7.h.

◆ ETH_PTPTSLR_STPNS

#define ETH_PTPTSLR_STPNS   (1<<31)

Definition at line 406 of file mac_stm32fxx7.h.

◆ ETH_PTPTSLR_STSS

#define ETH_PTPTSLR_STSS   0x7FFFFFFF

Definition at line 405 of file mac_stm32fxx7.h.

◆ ETH_PTPTSLUR

#define ETH_PTPTSLUR   MMIO32(ETHERNET_BASE + 0x714)

Definition at line 89 of file mac_stm32fxx7.h.

◆ ETH_PTPTSLUR_TSUPNS

#define ETH_PTPTSLUR_TSUPNS   (1<<31)

Definition at line 412 of file mac_stm32fxx7.h.

◆ ETH_PTPTSLUR_TSUSS

#define ETH_PTPTSLUR_TSUSS   0x7FFFFFFF

Definition at line 411 of file mac_stm32fxx7.h.

◆ ETH_PTPTSSR

#define ETH_PTPTSSR   MMIO32(ETHERNET_BASE + 0x728) /* Not on STM32F1 */

Definition at line 93 of file mac_stm32fxx7.h.

◆ ETH_PTPTSSR_TSSO

#define ETH_PTPTSSR_TSSO   (1<<0)

Definition at line 418 of file mac_stm32fxx7.h.

◆ ETH_PTPTSSR_TSTTR

#define ETH_PTPTSSR_TSTTR   (1<<1)

Definition at line 419 of file mac_stm32fxx7.h.

◆ ETH_PTPTTHR

#define ETH_PTPTTHR   MMIO32(ETHERNET_BASE + 0x71C)

Definition at line 91 of file mac_stm32fxx7.h.

◆ ETH_PTPTTLR

#define ETH_PTPTTLR   MMIO32(ETHERNET_BASE + 0x720)

Definition at line 92 of file mac_stm32fxx7.h.

◆ ETH_RDES0_AFM

#define ETH_RDES0_AFM   (1<<30)

Definition at line 673 of file mac_stm32fxx7.h.

◆ ETH_RDES0_CE

#define ETH_RDES0_CE   (1<<1)

Definition at line 653 of file mac_stm32fxx7.h.

◆ ETH_RDES0_DCE

#define ETH_RDES0_DCE   (1<<14)

Definition at line 667 of file mac_stm32fxx7.h.

◆ ETH_RDES0_DE

#define ETH_RDES0_DE   (1<<2)

Definition at line 654 of file mac_stm32fxx7.h.

◆ ETH_RDES0_ES

#define ETH_RDES0_ES   (1<<15)

Definition at line 668 of file mac_stm32fxx7.h.

◆ ETH_RDES0_ESA

#define ETH_RDES0_ESA   (1<<0)

Definition at line 652 of file mac_stm32fxx7.h.

◆ ETH_RDES0_FL

#define ETH_RDES0_FL   (0x3FFF<<ETH_RDES0_FL_SHIFT)

Definition at line 671 of file mac_stm32fxx7.h.

◆ ETH_RDES0_FL_SHIFT

#define ETH_RDES0_FL_SHIFT   16

Definition at line 670 of file mac_stm32fxx7.h.

◆ ETH_RDES0_FS

#define ETH_RDES0_FS   (1<<9)

Definition at line 662 of file mac_stm32fxx7.h.

◆ ETH_RDES0_FT

#define ETH_RDES0_FT   (1<<5)

Definition at line 657 of file mac_stm32fxx7.h.

◆ ETH_RDES0_IPHCE

#define ETH_RDES0_IPHCE   (1<<7)

Definition at line 659 of file mac_stm32fxx7.h.

◆ ETH_RDES0_LCO

#define ETH_RDES0_LCO   (1<<6)

Definition at line 658 of file mac_stm32fxx7.h.

◆ ETH_RDES0_LE

#define ETH_RDES0_LE   (1<<12)

Definition at line 665 of file mac_stm32fxx7.h.

◆ ETH_RDES0_LS

#define ETH_RDES0_LS   (1<<8)

Definition at line 661 of file mac_stm32fxx7.h.

◆ ETH_RDES0_OE

#define ETH_RDES0_OE   (1<<11)

Definition at line 664 of file mac_stm32fxx7.h.

◆ ETH_RDES0_OWN

#define ETH_RDES0_OWN   (1<<31)

Definition at line 674 of file mac_stm32fxx7.h.

◆ ETH_RDES0_PCE

#define ETH_RDES0_PCE   (1<<0)

Definition at line 651 of file mac_stm32fxx7.h.

◆ ETH_RDES0_RE

#define ETH_RDES0_RE   (1<<3)

Definition at line 655 of file mac_stm32fxx7.h.

◆ ETH_RDES0_RWT

#define ETH_RDES0_RWT   (1<<4)

Definition at line 656 of file mac_stm32fxx7.h.

◆ ETH_RDES0_SAF

#define ETH_RDES0_SAF   (1<<13)

Definition at line 666 of file mac_stm32fxx7.h.

◆ ETH_RDES0_TSV

#define ETH_RDES0_TSV   (1<<7)

Definition at line 660 of file mac_stm32fxx7.h.

◆ ETH_RDES0_VLAN

#define ETH_RDES0_VLAN   (1<<10)

Definition at line 663 of file mac_stm32fxx7.h.

◆ ETH_RDES1_DIC

#define ETH_RDES1_DIC   (1<<31)

Definition at line 688 of file mac_stm32fxx7.h.

◆ ETH_RDES1_RBS1

#define ETH_RDES1_RBS1   (0x1FFF<<ETH_RDES1_RBS1_SHIFT)

Definition at line 680 of file mac_stm32fxx7.h.

◆ ETH_RDES1_RBS1_SHIFT

#define ETH_RDES1_RBS1_SHIFT   0

Definition at line 679 of file mac_stm32fxx7.h.

◆ ETH_RDES1_RBS2

#define ETH_RDES1_RBS2   (0x1FFF<<ETH_RDES1_RBS2_SHIFT)

Definition at line 686 of file mac_stm32fxx7.h.

◆ ETH_RDES1_RBS2_SHIFT

#define ETH_RDES1_RBS2_SHIFT   16

Definition at line 685 of file mac_stm32fxx7.h.

◆ ETH_RDES1_RCH

#define ETH_RDES1_RCH   (1<<14)

Definition at line 682 of file mac_stm32fxx7.h.

◆ ETH_RDES1_RER

#define ETH_RDES1_RER   (1<<15)

Definition at line 683 of file mac_stm32fxx7.h.

◆ ETH_RDES4_IPCB

#define ETH_RDES4_IPCB   (1<<5)

Definition at line 702 of file mac_stm32fxx7.h.

◆ ETH_RDES4_IPHE

#define ETH_RDES4_IPHE   (1<<3)

Definition at line 700 of file mac_stm32fxx7.h.

◆ ETH_RDES4_IPPE

#define ETH_RDES4_IPPE   (1<<4)

Definition at line 701 of file mac_stm32fxx7.h.

◆ ETH_RDES4_IPPT

#define ETH_RDES4_IPPT   (7<<ETH_RDES4_IPPT_SHIFT)

Definition at line 694 of file mac_stm32fxx7.h.

◆ ETH_RDES4_IPPT_ICMP

#define ETH_RDES4_IPPT_ICMP   (3<<ETH_RDES4_IPPT_SHIFT)

Definition at line 698 of file mac_stm32fxx7.h.

◆ ETH_RDES4_IPPT_SHIFT

#define ETH_RDES4_IPPT_SHIFT   0

Definition at line 693 of file mac_stm32fxx7.h.

◆ ETH_RDES4_IPPT_TCP

#define ETH_RDES4_IPPT_TCP   (2<<ETH_RDES4_IPPT_SHIFT)

Definition at line 697 of file mac_stm32fxx7.h.

◆ ETH_RDES4_IPPT_UDP

#define ETH_RDES4_IPPT_UDP   (1<<ETH_RDES4_IPPT_SHIFT)

Definition at line 696 of file mac_stm32fxx7.h.

◆ ETH_RDES4_IPPT_UNKNOWN

#define ETH_RDES4_IPPT_UNKNOWN   (0<<ETH_RDES4_IPPT_SHIFT)

Definition at line 695 of file mac_stm32fxx7.h.

◆ ETH_RDES4_IPV4PR

#define ETH_RDES4_IPV4PR   (1<<6)

Definition at line 703 of file mac_stm32fxx7.h.

◆ ETH_RDES4_IPV6PR

#define ETH_RDES4_IPV6PR   (1<<7)

Definition at line 704 of file mac_stm32fxx7.h.

◆ ETH_RDES4_PFT

#define ETH_RDES4_PFT   (1<<12)

Definition at line 717 of file mac_stm32fxx7.h.

◆ ETH_RDES4_PMT

#define ETH_RDES4_PMT   (0x0F<<ETH_RDES4_PMT_SHIFT)

Definition at line 707 of file mac_stm32fxx7.h.

◆ ETH_RDES4_PMT_DLYRQ

#define ETH_RDES4_PMT_DLYRQ   (0x03<<ETH_RDES4_PMT_SHIFT)

Definition at line 711 of file mac_stm32fxx7.h.

◆ ETH_RDES4_PMT_DLYRSP

#define ETH_RDES4_PMT_DLYRSP   (0x04<<ETH_RDES4_PMT_SHIFT)

Definition at line 712 of file mac_stm32fxx7.h.

◆ ETH_RDES4_PMT_FOLLOW

#define ETH_RDES4_PMT_FOLLOW   (0x02<<ETH_RDES4_PMT_SHIFT)

Definition at line 710 of file mac_stm32fxx7.h.

◆ ETH_RDES4_PMT_NO

#define ETH_RDES4_PMT_NO   (0x00<<ETH_RDES4_PMT_SHIFT)

Definition at line 708 of file mac_stm32fxx7.h.

◆ ETH_RDES4_PMT_PDLYRQ

#define ETH_RDES4_PMT_PDLYRQ   (0x05<<ETH_RDES4_PMT_SHIFT)

Definition at line 713 of file mac_stm32fxx7.h.

◆ ETH_RDES4_PMT_PDLYRSP

#define ETH_RDES4_PMT_PDLYRSP   (0x06<<ETH_RDES4_PMT_SHIFT)

Definition at line 714 of file mac_stm32fxx7.h.

◆ ETH_RDES4_PMT_PDLYRSPFUP

#define ETH_RDES4_PMT_PDLYRSPFUP   (0x07<<ETH_RDES4_PMT_SHIFT)

Definition at line 715 of file mac_stm32fxx7.h.

◆ ETH_RDES4_PMT_SHIFT

#define ETH_RDES4_PMT_SHIFT   8

Definition at line 706 of file mac_stm32fxx7.h.

◆ ETH_RDES4_PMT_SYNC

#define ETH_RDES4_PMT_SYNC   (0x01<<ETH_RDES4_PMT_SHIFT)

Definition at line 709 of file mac_stm32fxx7.h.

◆ ETH_RDES4_PV

#define ETH_RDES4_PV   (1<<13)

Definition at line 718 of file mac_stm32fxx7.h.

◆ ETH_TDES0_CC

#define ETH_TDES0_CC   (0x0F << ETH_TDES0_CC_SHIFT)

Definition at line 603 of file mac_stm32fxx7.h.

◆ ETH_TDES0_CC_SHIFT

#define ETH_TDES0_CC_SHIFT   3

Definition at line 602 of file mac_stm32fxx7.h.

◆ ETH_TDES0_CIC

#define ETH_TDES0_CIC   (3<<ETH_TDES0_CIC_SHIFT)

Definition at line 620 of file mac_stm32fxx7.h.

◆ ETH_TDES0_CIC_DISABLED

#define ETH_TDES0_CIC_DISABLED   (0<<ETH_TDES0_CIC_SHIFT)

Definition at line 621 of file mac_stm32fxx7.h.

◆ ETH_TDES0_CIC_IP

#define ETH_TDES0_CIC_IP   (1<<ETH_TDES0_CIC_SHIFT)

Definition at line 622 of file mac_stm32fxx7.h.

◆ ETH_TDES0_CIC_IPPL

#define ETH_TDES0_CIC_IPPL   (2<<ETH_TDES0_CIC_SHIFT)

Definition at line 623 of file mac_stm32fxx7.h.

◆ ETH_TDES0_CIC_IPPLPH

#define ETH_TDES0_CIC_IPPLPH   (3<<ETH_TDES0_CIC_SHIFT)

Definition at line 624 of file mac_stm32fxx7.h.

◆ ETH_TDES0_CIC_SHIFT

#define ETH_TDES0_CIC_SHIFT   22

Definition at line 619 of file mac_stm32fxx7.h.

◆ ETH_TDES0_DB

#define ETH_TDES0_DB   (1<<0)

Definition at line 598 of file mac_stm32fxx7.h.

◆ ETH_TDES0_DC

#define ETH_TDES0_DC   (1<<27)

Definition at line 628 of file mac_stm32fxx7.h.

◆ ETH_TDES0_DP

#define ETH_TDES0_DP   (1<<26)

Definition at line 627 of file mac_stm32fxx7.h.

◆ ETH_TDES0_EC

#define ETH_TDES0_EC   (1<<8)

Definition at line 606 of file mac_stm32fxx7.h.

◆ ETH_TDES0_ED

#define ETH_TDES0_ED   (1<<2)

Definition at line 600 of file mac_stm32fxx7.h.

◆ ETH_TDES0_ES

#define ETH_TDES0_ES   (1<<15)

Definition at line 613 of file mac_stm32fxx7.h.

◆ ETH_TDES0_FF

#define ETH_TDES0_FF   (1<<13)

Definition at line 611 of file mac_stm32fxx7.h.

◆ ETH_TDES0_FS

#define ETH_TDES0_FS   (1<<28)

Definition at line 629 of file mac_stm32fxx7.h.

◆ ETH_TDES0_IC

#define ETH_TDES0_IC   (1<<30)

Definition at line 631 of file mac_stm32fxx7.h.

◆ ETH_TDES0_IHE

#define ETH_TDES0_IHE   (1<<16)

Definition at line 614 of file mac_stm32fxx7.h.

◆ ETH_TDES0_IPE

#define ETH_TDES0_IPE   (1<<12)

Definition at line 610 of file mac_stm32fxx7.h.

◆ ETH_TDES0_JT

#define ETH_TDES0_JT   (1<<14)

Definition at line 612 of file mac_stm32fxx7.h.

◆ ETH_TDES0_LCA

#define ETH_TDES0_LCA   (1<<11)

Definition at line 609 of file mac_stm32fxx7.h.

◆ ETH_TDES0_LCO

#define ETH_TDES0_LCO   (1<<9)

Definition at line 607 of file mac_stm32fxx7.h.

◆ ETH_TDES0_LS

#define ETH_TDES0_LS   (1<<29)

Definition at line 630 of file mac_stm32fxx7.h.

◆ ETH_TDES0_NC

#define ETH_TDES0_NC   (1<<10)

Definition at line 608 of file mac_stm32fxx7.h.

◆ ETH_TDES0_OWN

#define ETH_TDES0_OWN   (1<<31)

Definition at line 632 of file mac_stm32fxx7.h.

◆ ETH_TDES0_TCH

#define ETH_TDES0_TCH   (1<<20)

Definition at line 616 of file mac_stm32fxx7.h.

◆ ETH_TDES0_TER

#define ETH_TDES0_TER   (1<<21)

Definition at line 617 of file mac_stm32fxx7.h.

◆ ETH_TDES0_TTSE

#define ETH_TDES0_TTSE   (1<<25)

Definition at line 626 of file mac_stm32fxx7.h.

◆ ETH_TDES0_TTSS

#define ETH_TDES0_TTSS   (1<<17)

Definition at line 615 of file mac_stm32fxx7.h.

◆ ETH_TDES0_UF

#define ETH_TDES0_UF   (1<<1)

Definition at line 599 of file mac_stm32fxx7.h.

◆ ETH_TDES0_VF

#define ETH_TDES0_VF   (1<<7)

Definition at line 605 of file mac_stm32fxx7.h.

◆ ETH_TDES1_TBS1

#define ETH_TDES1_TBS1   (0x1FFF<<ETH_TDES1_TBS1_SHIFT)

Definition at line 638 of file mac_stm32fxx7.h.

◆ ETH_TDES1_TBS1_SHIFT

#define ETH_TDES1_TBS1_SHIFT   0

Definition at line 637 of file mac_stm32fxx7.h.

◆ ETH_TDES1_TBS2

#define ETH_TDES1_TBS2   (0x1FFF<<ETH_TDES1_TBS1_SHIFT)

Definition at line 641 of file mac_stm32fxx7.h.

◆ ETH_TDES1_TBS2_SHIFT

#define ETH_TDES1_TBS2_SHIFT   16

Definition at line 640 of file mac_stm32fxx7.h.

Enumeration Type Documentation

◆ eth_clk

enum eth_clk
Enumerator
ETH_CLK_025_035MHZ 
ETH_CLK_035_060MHZ 
ETH_CLK_060_100MHZ 
ETH_CLK_100_150MHZ 
ETH_CLK_150_168MHZ 

Definition at line 724 of file mac_stm32fxx7.h.

Function Documentation

◆ eth_desc_init()

void eth_desc_init ( uint8_t *  buf,
uint32_t  nTx,
uint32_t  nRx,
uint32_t  cTx,
uint32_t  cRx,
bool  isext 
)

Initialize buffers and descriptors.

Parameters
[in]bufuint8_t* Memory area for the descriptors and data buffers
[in]nTxuint32_t Count of transmit descriptors (equal to count of buffers)
[in]nRxuint32_t Count of receive descriptors (equal to count of buffers)
[in]cTxuint32_t Bytes in each transmit buffer, must be a multiple of 4
[in]cRxuint32_t Bytes in each receive buffer, must be a multiple of 4
[in]isextbool true if extended descriptors should be used

Note, the space passed via buf pointer must be large enough to hold all the buffers and one descriptor per buffer.

Definition at line 73 of file mac_stm32fxx7.c.

References ETH_DES0, ETH_DES1, ETH_DES2, ETH_DES3, ETH_DES_EXT_SIZE, ETH_DES_STD_SIZE, ETH_DMABMR, ETH_DMABMR_EDFE, ETH_DMARDLAR, ETH_DMATDLAR, ETH_RDES0_OWN, ETH_RDES1_RCH, ETH_TDES0_TCH, RxBD, and TxBD.

◆ eth_enable_checksum_offload()

void eth_enable_checksum_offload ( void  )

Enable checksum offload feature.

This function will enable the Checksum offload feature for all of the transmit descriptors. Note to use this feature, descriptors must be in extended format.

Definition at line 279 of file mac_stm32fxx7.c.

References ETH_DES0, ETH_DES3, ETH_MACCR, ETH_MACCR_IPCO, ETH_TDES0_CIC_IPPLPH, and TxBD.

◆ eth_init()

void eth_init ( uint8_t  phy,
enum eth_clk  clock 
)

Initialize ethernet.

This function will initialize ethernet, set up clocks, and initialize DMA.

Parameters
[in]phyphy id
[in]clockenum eth_clk Core clock speed

Definition at line 209 of file mac_stm32fxx7.c.

References ETH_DMABMR, ETH_DMABMR_AAB, ETH_DMABMR_FB, ETH_DMABMR_PBL_SHIFT, ETH_DMABMR_PM_2_1, ETH_DMABMR_RDP_SHIFT, ETH_DMABMR_USP, ETH_DMAOMR, ETH_DMAOMR_DFRF, ETH_DMAOMR_DTCEFD, ETH_DMAOMR_FEF, ETH_DMAOMR_OSF, ETH_DMAOMR_RSF, ETH_DMAOMR_TSF, ETH_MACCR, ETH_MACCR_APCS, ETH_MACCR_CSTF, ETH_MACCR_DM, ETH_MACCR_FES, ETH_MACCR_RD, ETH_MACFCR, ETH_MACFCR_PT_SHIFT, ETH_MACFFR, ETH_MACFFR_PM, ETH_MACFFR_RA, ETH_MACHTHR, ETH_MACHTLR, ETH_MACMIIAR, ETH_MACVLANTR, and phy_reset().

Here is the call graph for this function:

◆ eth_irq_ack_pending()

bool eth_irq_ack_pending ( uint32_t  reason)

Check if IRQ is pending, and acknowledge it.

Parameters
[in]reasonuint32_t Which irq type has to be tested
Returns
bool true, if IRQ is pending

Definition at line 265 of file mac_stm32fxx7.c.

References ETH_DMASR.

◆ eth_irq_disable()

void eth_irq_disable ( uint32_t  reason)

Disable the Ethernet IRQ.

Parameters
[in]reasonuint32_t Which irq will be disabled

Definition at line 243 of file mac_stm32fxx7.c.

References ETH_DMAIER.

◆ eth_irq_enable()

void eth_irq_enable ( uint32_t  reason)

Enable the Ethernet IRQ.

Parameters
[in]reasonuint32_t Which irq will be enabled

Definition at line 233 of file mac_stm32fxx7.c.

References ETH_DMAIER.

◆ eth_irq_is_pending()

bool eth_irq_is_pending ( uint32_t  reason)

Check if IRQ is pending.

Parameters
[in]reasonuint32_t Which irq type has to be tested
Returns
bool true, if IRQ is pending

Definition at line 254 of file mac_stm32fxx7.c.

References ETH_DMASR.

◆ eth_rx()

bool eth_rx ( uint8_t *  ppkt,
uint32_t *  len,
uint32_t  maxlen 
)

Receive packet.

Parameters
[in,out]ppktuint8_t* Pointer to the data buffer where to store data
[in,out]lenuint32_t* Pointer to the variable with the packet length
[in]maxlenuint32_t Maximum length of the packet
Returns
bool true, if the buffer contains readed packet data

Definition at line 154 of file mac_stm32fxx7.c.

References ETH_DES0, ETH_DES2, ETH_DES3, ETH_DMARPDR, ETH_DMASR, ETH_DMASR_RBUS, ETH_RDES0_FL, ETH_RDES0_FL_SHIFT, ETH_RDES0_FS, ETH_RDES0_LS, ETH_RDES0_OWN, and RxBD.

◆ eth_set_mac()

void eth_set_mac ( const uint8_t *  mac)

Set MAC to the PHY.

Parameters
[in]macuint8_t* Desired MAC

Definition at line 50 of file mac_stm32fxx7.c.

References ETH_MACA0HR_MACA0H, ETH_MACAHR, and ETH_MACALR.

◆ eth_smi_bit_clear()

void eth_smi_bit_clear ( uint8_t  phy,
uint8_t  reg,
uint16_t  clearbits 
)

Clear bits in the register.

Parameters
[in]phyuint8_t ID of the PHY (defaults to 1)
[in]reguint8_t Register address
[in]clearbitsuint16_t Bits that have to be cleared

Definition at line 363 of file mac_stm32fxx7.c.

References eth_smi_read(), and eth_smi_write().

Here is the call graph for this function:

◆ eth_smi_bit_op()

void eth_smi_bit_op ( uint8_t  phy,
uint8_t  reg,
uint16_t  bits,
uint16_t  mask 
)

Process the bit-operation on PHY register.

Parameters
[in]phyuint8_t ID of the PHY (defaults to 1)
[in]reguint8_t Register address
[in]bitsuint16_t Bits that have to be set (or'ed)
[in]maskuint16_t Bits that have to be clear (and'ed)

Definition at line 350 of file mac_stm32fxx7.c.

References eth_smi_read(), and eth_smi_write().

Referenced by phy_autoneg_force().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ eth_smi_bit_set()

void eth_smi_bit_set ( uint8_t  phy,
uint8_t  reg,
uint16_t  setbits 
)

Set bits in the register.

Parameters
[in]phyuint8_t ID of the PHY (defaults to 1)
[in]reguint8_t Register address
[in]setbitsuint16_t Bits that have to be set (or'ed)

Definition at line 376 of file mac_stm32fxx7.c.

References eth_smi_read(), and eth_smi_write().

Referenced by phy_autoneg_enable().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ eth_smi_read()

uint16_t eth_smi_read ( uint8_t  phy,
uint8_t  reg 
)

Read the 16-bit register from the PHY.

Parameters
[in]phyuint8_t ID of the PHY (defaults to 1)
[in]reguint8_t Register address
Returns
uint16_t Readed data

Definition at line 330 of file mac_stm32fxx7.c.

References ETH_MACMIIAR, ETH_MACMIIAR_CR, ETH_MACMIIAR_MR_SHIFT, ETH_MACMIIAR_PA_SHIFT, ETH_MACMIIDR, ETH_MACMIIDR_MD, and eth_smi_transact().

Referenced by eth_smi_bit_clear(), eth_smi_bit_op(), eth_smi_bit_set(), phy_link_isup(), phy_link_status(), and phy_reset().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ eth_smi_write()

void eth_smi_write ( uint8_t  phy,
uint8_t  reg,
uint16_t  data 
)

Write 16-bit register to the PHY.

Parameters
[in]phyuint8_t ID of the PHY (defaults to 1)
[in]reguint8_t Register address
[in]datauint16_t Data to write

Definition at line 310 of file mac_stm32fxx7.c.

References ETH_MACMIIAR, ETH_MACMIIAR_CR, ETH_MACMIIAR_MR_SHIFT, ETH_MACMIIAR_MW, ETH_MACMIIAR_PA_SHIFT, ETH_MACMIIDR, ETH_MACMIIDR_MD, and eth_smi_transact().

Referenced by eth_smi_bit_clear(), eth_smi_bit_op(), eth_smi_bit_set(), and phy_reset().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ eth_start()

void eth_start ( void  )

Start the Ethernet DMA processing.

Definition at line 191 of file mac_stm32fxx7.c.

References ETH_DMAOMR, ETH_DMAOMR_FTF, ETH_DMAOMR_SR, ETH_DMAOMR_ST, ETH_MACCR, ETH_MACCR_RE, and ETH_MACCR_TE.

◆ eth_tx()

bool eth_tx ( uint8_t *  ppkt,
uint32_t  n 
)

Transmit packet.

Parameters
[in]ppktuint8_t* Pointer to the beginning of the packet
[in]nuint32_t Size of the packet
Returns
bool true, if success

Definition at line 126 of file mac_stm32fxx7.c.

References ETH_DES0, ETH_DES1, ETH_DES2, ETH_DES3, ETH_DMASR, ETH_DMASR_TBUS, ETH_DMATPDR, ETH_TDES0_FS, ETH_TDES0_LS, ETH_TDES0_OWN, ETH_TDES1_TBS1, and TxBD.