modm API documentation
modm::platform::eth< PHY > Class Template Reference
Inheritance diagram for modm::platform::eth< PHY >:

Public Types

enum  MediaInterface : uint32_t { MII = 0x00, RMII = SYSCFG_PMC_MII_RMII_SEL }
 
enum  DuplexMode { Half = 0, Full = 1 }
 
enum  Speed { Speed10M = 0, Speed100M = 1 }
 
enum  LinkStatus { Down = 0, Up }
 
enum  MacAddressIndex : uint32_t { Index0 = 0x00000000, Index1 = 0x00000008, Index2 = 0x00000010, Index3 = 0x00000018 }
 
enum  Interrupt : uint32_t {
  NormalIrqSummary = modm::Bit16, AbnormalIrqSummary = modm::Bit15, EarlyReceive = modm::Bit14, FatalBusError = modm::Bit13,
  EarlyTransmit = modm::Bit10, ReceiveWatchdog = modm::Bit9, ReceiveStopped = modm::Bit8, ReceiveBufferUnavailable = modm::Bit7,
  Receive = modm::Bit6, TransmitUnderflow = modm::Bit5, ReceiveOverflow = modm::Bit4, TransmitJabberTimeout = modm::Bit3,
  TransmitBufferUnavailable = modm::Bit2, TransmitStopped = modm::Bit1, Transmit = modm::Bit0
}
 
enum  InterruptFlags : uint32_t {
  TimeStampTrigger = modm::Bit29, Pmt = modm::Bit28, Mmc = modm::Bit27, ErrorBitStatus2 = modm::Bit25,
  ErrorBitStatus1 = modm::Bit24, ErrorBitStatus0 = modm::Bit23, TransmitProcessState2 = modm::Bit22, TransmitProcessState1 = modm::Bit21,
  TransmitProcessState0 = modm::Bit20, ReceiveProcessState2 = modm::Bit19, ReceiveProcessState1 = modm::Bit18, ReceiveProcessState0 = modm::Bit17,
  NormalIrqSummary = modm::Bit16, AbnormalIrqSummary = modm::Bit15, EarlyReceive = modm::Bit14, FatalBusError = modm::Bit13,
  EarlyTransmit = modm::Bit10, ReceiveWatchdog = modm::Bit9, ReceiveStopped = modm::Bit8, ReceiveBufferUnavailable = modm::Bit7,
  Receive = modm::Bit6, TransmitUnderflow = modm::Bit5, ReceiveOverflow = modm::Bit4, TransmitJabberTimeout = modm::Bit3,
  TransmitBufferUnavailable = modm::Bit2, TransmitStopped = modm::Bit1, Transmit = modm::Bit0
}
 
enum  Event : uint32_t { None = 0x00, Receive = 0x01, Transmit = 0x02, Error = 0x04 }
 

Public Member Functions

 MODM_FLAGS32 (Interrupt)
 
 MODM_FLAGS32 (InterruptFlags)
 
 MODM_FLAGS32 (Event)
 

Static Public Member Functions

template<class... Signals>
static void connect ()
 
template<MediaInterface Interface>
static bool initialize (uint8_t priority=5)
 
static void configureMac (bool autoNegotiationFailed=false)
 
static void configureDma ()
 
static void setMacAddress (MacAddressIndex index, uint8_t const *macAddress)
 
static void configureMacAddresses ()
 
static void start ()
 
static void stop ()
 
static void setDmaTxDescriptorTable (uint32_t address)
 
static void setDmaRxDescriptorTable (uint32_t address)
 
static InterruptFlags getInterruptFlags ()
 
static void acknowledgeInterrupt (InterruptFlags_t irq)
 
static void enableInterrupt (Interrupt_t irq)
 
static bool phyStartAutoNegotiation ()
 
static LinkStatus phyReadLinkStatus ()
 
static LinkStatus getLinkStatus ()
 

Static Protected Member Functions

static constexpr uint32_t i (MediaInterface interface)
 

The documentation for this class was generated from the following file: