diff options
author | Evan Lojewski <github@meklort.com> | 2020-04-04 14:02:58 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-04 14:02:58 -0600 |
commit | 81b42e1743cecbdd1d76c78b9fb2b0589afce9b3 (patch) | |
tree | 03b38f7829a2b7321be818ccb8b744762c15dd23 /libs | |
parent | 6fb10d00bc16b69eeb87eb29e1595b8b95692b6c (diff) | |
download | bcm5719-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.h | 1 | ||||
-rw-r--r-- | libs/Network/ports.c | 21 |
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, |