diff options
author | Evan Lojewski <github@meklort.com> | 2020-02-29 09:27:22 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-29 09:27:22 -0700 |
commit | d6577dec26661b219e8d85443bdeedac8e0ec9b8 (patch) | |
tree | 76eb4bf1be97b7ee7bc4fe5b2b61b6b016de24b7 /libs/Network/include/Network.h | |
parent | 278bd0be064a643ea3574a2c291b6eefc7ced920 (diff) | |
download | bcm5719-ortega-d6577dec26661b219e8d85443bdeedac8e0ec9b8.tar.gz bcm5719-ortega-d6577dec26661b219e8d85443bdeedac8e0ec9b8.zip |
ape: Improve handling of reconfiguration event to make the network link more robust. (#50)
Diffstat (limited to 'libs/Network/include/Network.h')
-rw-r--r-- | libs/Network/include/Network.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libs/Network/include/Network.h b/libs/Network/include/Network.h index b90e96e..9b51526 100644 --- a/libs/Network/include/Network.h +++ b/libs/Network/include/Network.h @@ -95,12 +95,18 @@ typedef union } bits; } network_control_t; +typedef enum { + NEVER_RESET, /* Host up, do not reset the PHY */ + AS_NEEDED, /* Reset the phy if no link */ + ALWAYS_RESET /* Host was just turned off, reset phy */ +} reload_type_t; + extern NetworkPort_t gPort0; extern NetworkPort_t gPort1; extern NetworkPort_t gPort2; extern NetworkPort_t gPort3; -void Network_InitPort(NetworkPort_t *port); +void Network_InitPort(NetworkPort_t *port, reload_type_t force_reset); void Network_resetTX(NetworkPort_t *port); void Network_resetRX(NetworkPort_t *port); @@ -109,6 +115,7 @@ void Network_checkPortState(NetworkPort_t *port); bool Network_updatePortState(NetworkPort_t *port); bool Network_isLinkUp(NetworkPort_t *port); +void Network_resetLink(NetworkPort_t *port); uint32_t Network_TX_numBlocksNeeded(uint32_t frame_size); |