summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorEvan Lojewski <github@meklort.com>2020-04-04 14:02:58 -0600
committerGitHub <noreply@github.com>2020-04-04 14:02:58 -0600
commit81b42e1743cecbdd1d76c78b9fb2b0589afce9b3 (patch)
tree03b38f7829a2b7321be818ccb8b744762c15dd23 /libs
parent6fb10d00bc16b69eeb87eb29e1595b8b95692b6c (diff)
downloadbcm5719-ortega-81b42e1743cecbdd1d76c78b9fb2b0589afce9b3.tar.gz
bcm5719-ortega-81b42e1743cecbdd1d76c78b9fb2b0589afce9b3.zip
network: Initialize APE.Mode2 when using port2 or port3. (#69)
Diffstat (limited to 'libs')
-rw-r--r--libs/Network/include/Network.h1
-rw-r--r--libs/Network/ports.c21
2 files changed, 18 insertions, 4 deletions
diff --git a/libs/Network/include/Network.h b/libs/Network/include/Network.h
index 522b5b9..24e8e77 100644
--- a/libs/Network/include/Network.h
+++ b/libs/Network/include/Network.h
@@ -83,6 +83,7 @@ typedef struct
/* APE Registers */
VOLATILE RegAPEMode_t APEModeEnable;
+ VOLATILE RegAPEMode2_t APEMode2Enable;
/* State Trackking */
bool link_state_printed;
diff --git a/libs/Network/ports.c b/libs/Network/ports.c
index 86ac14a..2b0c614 100644
--- a/libs/Network/ports.c
+++ b/libs/Network/ports.c
@@ -88,7 +88,10 @@ NetworkPort_t gPort0 = {
#ifndef CXX_SIMULATOR
.APEModeEnable = {
.r32 = APE_MODE_CHANNEL_0_ENABLE_MASK | APE_MODE_CHANNEL_2_ENABLE_MASK,
- }
+ },
+ .APEMode2Enable = {
+ .r32 = 0,
+ },
#endif
};
@@ -112,7 +115,10 @@ NetworkPort_t gPort1 = {
#ifndef CXX_SIMULATOR
.APEModeEnable = {
.r32 = APE_MODE_CHANNEL_1_ENABLE_MASK | APE_MODE_CHANNEL_3_ENABLE_MASK,
- }
+ },
+ .APEMode2Enable = {
+ .r32 = 0,
+ },
#endif
};
@@ -136,7 +142,10 @@ NetworkPort_t gPort2 = {
#ifndef CXX_SIMULATOR
.APEModeEnable = {
.r32 = APE_MODE_CHANNEL_0_ENABLE_MASK | APE_MODE_CHANNEL_2_ENABLE_MASK,
- }
+ },
+ .APEMode2Enable = {
+ .r32 = APE_MODE_2_CHANNEL_0_ENABLE_MASK | APE_MODE_2_CHANNEL_2_ENABLE_MASK,
+ },
#endif
};
@@ -160,7 +169,10 @@ NetworkPort_t gPort3 = {
#ifndef CXX_SIMULATOR
.APEModeEnable = {
.r32 = APE_MODE_CHANNEL_1_ENABLE_MASK | APE_MODE_CHANNEL_3_ENABLE_MASK,
- }
+ },
+ .APEMode2Enable = {
+ .r32 = APE_MODE_2_CHANNEL_1_ENABLE_MASK | APE_MODE_2_CHANNEL_3_ENABLE_MASK,
+ },
#endif
};
@@ -828,6 +840,7 @@ void Network_InitPort(NetworkPort_t *port, reload_type_t reset_phy)
Network_resetRX(port);
APE.Mode.r32 |= port->APEModeEnable.r32;
+ APE.Mode2.r32 |= port->APEMode2Enable.r32;
// Ensure REG_RECEIVE_MAC_MODE has ENABLE set.
// I recommend also setting APE_PROMISCUOUS_MODE and PROMISCUOUS_MODE,
OpenPOWER on IntegriCloud