summaryrefslogtreecommitdiffstats
path: root/libs/Network/include/Network.h
diff options
context:
space:
mode:
authorEvan Lojewski <github@meklort.com>2020-02-29 09:27:22 -0700
committerGitHub <noreply@github.com>2020-02-29 09:27:22 -0700
commitd6577dec26661b219e8d85443bdeedac8e0ec9b8 (patch)
tree76eb4bf1be97b7ee7bc4fe5b2b61b6b016de24b7 /libs/Network/include/Network.h
parent278bd0be064a643ea3574a2c291b6eefc7ced920 (diff)
downloadbcm5719-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.h9
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);
OpenPOWER on IntegriCloud