diff options
author | Evan Lojewski <github@meklort.com> | 2021-02-06 11:14:18 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-06 11:14:18 -0700 |
commit | 272239fc883f3ae1c2bc908b978a29096cc74cf9 (patch) | |
tree | c6207ad1c639d7157510b88576a685aad0205ae0 | |
parent | c76a40e7f684ab45fc19427936f402b4ea49f382 (diff) | |
download | bcm5719-ortega-272239fc883f3ae1c2bc908b978a29096cc74cf9.tar.gz bcm5719-ortega-272239fc883f3ae1c2bc908b978a29096cc74cf9.zip |
mii: After an MII reset, update the advertise mode to include 1000Mb/s. (#202)
-rw-r--r-- | libs/MII/CMakeLists.txt | 6 | ||||
-rw-r--r-- | libs/MII/mii.c | 9 |
2 files changed, 12 insertions, 3 deletions
diff --git a/libs/MII/CMakeLists.txt b/libs/MII/CMakeLists.txt index 0ddeabc..cf1c6c1 100644 --- a/libs/MII/CMakeLists.txt +++ b/libs/MII/CMakeLists.txt @@ -2,7 +2,7 @@ ### ### @file libs/MII/CMakeLists.txt ### -### @project +### @project ### ### @brief MII CMake file ### @@ -46,17 +46,19 @@ project(MII) # Host Simulation library simulator_add_library(${PROJECT_NAME} STATIC mii.c) -target_link_libraries(${PROJECT_NAME} PRIVATE simulator) +target_link_libraries(${PROJECT_NAME} PRIVATE simulator Timer) target_include_directories(${PROJECT_NAME} PUBLIC ../../include) target_include_directories(${PROJECT_NAME} PUBLIC include) # MIPS Library mips_add_library(${PROJECT_NAME}-mips STATIC mii.c) +target_link_libraries(${PROJECT_NAME}-mips PRIVATE Timer) target_include_directories(${PROJECT_NAME}-mips PUBLIC ../../include) target_include_directories(${PROJECT_NAME}-mips PUBLIC include) # ARM Library arm_add_library(${PROJECT_NAME}-arm STATIC mii.c) +target_link_libraries(${PROJECT_NAME}-arm PRIVATE Timer) target_include_directories(${PROJECT_NAME}-arm PUBLIC ../../include) target_include_directories(${PROJECT_NAME}-arm PUBLIC include) diff --git a/libs/MII/mii.c b/libs/MII/mii.c index 9cd6c18..baf4f82 100644 --- a/libs/MII/mii.c +++ b/libs/MII/mii.c @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2018, Evan Lojewski +/// @copyright Copyright (c) 2018-2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -43,6 +43,7 @@ //////////////////////////////////////////////////////////////////////////////// #include <MII.h> +#include <Timer.h> #ifdef CXX_SIMULATOR #define volatile @@ -343,12 +344,18 @@ bool MII_reset(volatile DEVICE_t *device, uint8_t phy) if (MII_writeRegister(device, phy, (mii_reg_t)REG_MII_CONTROL, MII_CONTROL_RESET_MASK)) { uint16_t val; + do { // Spin val = (uint16_t)MII_readRegister(device, phy, (mii_reg_t)REG_MII_CONTROL); } while ((val & MII_CONTROL_RESET_MASK) == MII_CONTROL_RESET_MASK); + // All reset to settle for 5ms. + Timer_delayMs(5); + + (void)MII_UpdateAdvertisement(device, phy); + return true; } return false; |