![]() |
Mbed OS Reference
|
Configuration structure for a generic Ethernet PHY. More...
#include <GenericEthPhy.h>
Data Fields | |
| uint32_t | OUI |
| 24-bit OUI of the organization that produced the ethernet PHY. | |
| uint8_t | model_min |
| Range of 5-bit model number of the phy. | |
| uint8_t | address |
| MDIO address of the phy chip. | |
| std::chrono::microseconds | resetLowTime = std::chrono::microseconds(100) |
| Time to hold reset low on this phy. | |
| std::chrono::microseconds | resetHighTime = std::chrono::milliseconds(500) |
| Time to wait after resetting the phy before trying to talk to it. | |
| bool | autonegEnabled = true |
| Whether autonegotiation shall be enabled on the phy. | |
| bool | advertiseFullDuplex = true |
| Whether the PHY should advertise full duplex modes. | |
| bool | advertiseHalfDuplex = true |
| Whether the PHY should advertise half duplex modes. | |
| bool | advertise100M = true |
| Whether the PHY should advertise 100Mbit modes. | |
| bool | advertise10M = true |
| Whether the PHY should advertise 10Mbit modes. | |
| std::pair< CompositeEMAC::LinkSpeed, CompositeEMAC::Duplex > | fixedEthSettings = {CompositeEMAC::LinkSpeed::LINK_100MBIT, CompositeEMAC::Duplex::FULL} |
| If autonegEnabled is false, this gives the fixed link settings to advertise. | |
Configuration structure for a generic Ethernet PHY.
Definition at line 84 of file GenericEthPhy.h.
| uint32_t OUI |
24-bit OUI of the organization that produced the ethernet PHY.
Definition at line 86 of file GenericEthPhy.h.
| uint8_t model_min |
Range of 5-bit model number of the phy.
This plus the OUI is used to verify that the chip in hardware matches what's expected.
Definition at line 90 of file GenericEthPhy.h.
| uint8_t address |
MDIO address of the phy chip.
NOTE: 0 is supposed to be reserved as the general call address but lots of phy chips use it anyway.
Definition at line 96 of file GenericEthPhy.h.
| std::chrono::microseconds resetLowTime = std::chrono::microseconds(100) |
Time to hold reset low on this phy.
Definition at line 99 of file GenericEthPhy.h.
| std::chrono::microseconds resetHighTime = std::chrono::milliseconds(500) |
Time to wait after resetting the phy before trying to talk to it.
Also used as the time to wait for power on reset if there is no reset pin. Note that standards compliant PHYs must reset in <500ms.
Definition at line 104 of file GenericEthPhy.h.
| bool autonegEnabled = true |
Whether autonegotiation shall be enabled on the phy.
NOTE: If this is set to false, the other end of the connection MUST be manually configured to match. Otherwise you will get sporadic data loss due to an Ethernet duplex mismatch! However, setting this to false will make the Ethernet link come up much faster (milliseconds instead of seconds, at least if you don't do DHCP)
Definition at line 110 of file GenericEthPhy.h.
| bool advertiseFullDuplex = true |
Whether the PHY should advertise full duplex modes.
Definition at line 113 of file GenericEthPhy.h.
| bool advertiseHalfDuplex = true |
Whether the PHY should advertise half duplex modes.
Half duplex allows running only over 1 or 2 twisted pairs, but introduces the possibility of collisions.
Definition at line 117 of file GenericEthPhy.h.
| bool advertise100M = true |
Whether the PHY should advertise 100Mbit modes.
Definition at line 120 of file GenericEthPhy.h.
| bool advertise10M = true |
Whether the PHY should advertise 10Mbit modes.
10Mbit can be a fallback if signal conditions are poor, but this fallback may not be desired.
Definition at line 124 of file GenericEthPhy.h.
| std::pair<CompositeEMAC::LinkSpeed, CompositeEMAC::Duplex> fixedEthSettings = {CompositeEMAC::LinkSpeed::LINK_100MBIT, CompositeEMAC::Duplex::FULL} |
If autonegEnabled is false, this gives the fixed link settings to advertise.
Definition at line 127 of file GenericEthPhy.h.