Add additional output.

This commit is contained in:
chriz
2026-02-07 14:06:06 +01:00
parent ed37d75aba
commit 68fd5d41a7
2 changed files with 17 additions and 3 deletions
+7
View File
@@ -664,6 +664,11 @@ void parse_eee(void)
speed = EEE_1000; speed = EEE_1000;
else if (cmd_compare(speed_word, "2g5")) else if (cmd_compare(speed_word, "2g5"))
speed = EEE_2G5; speed = EEE_2G5;
else
{
print_string("Speed word invalid, use: [100m|1g|2g5]\n");
return;
}
} }
if (cmd_words_b[1] > 0 && cmd_compare(1, "on")) { if (cmd_words_b[1] > 0 && cmd_compare(1, "on")) {
if (port >= 0) if (port >= 0)
@@ -680,6 +685,8 @@ void parse_eee(void)
port_eee_status(port); port_eee_status(port);
else else
port_eee_status_all(); port_eee_status_all();
} else {
print_string("eee [on|off|status] [port] [100m|1g|2g5]\n");
} }
} }
+10 -3
View File
@@ -424,12 +424,17 @@ uint16_t port_isolation_get(register uint8_t port)
void port_eee_enable(__xdata uint8_t port,__xdata uint8_t speed) __banked void port_eee_enable(__xdata uint8_t port,__xdata uint8_t speed) __banked
{ {
print_string("EEE on for "); print_byte(port); print_string(" speed "); print_byte(speed); write_char('\n');
if (machine.is_sfp[port])
return;
if (machine.is_sfp[port])
{
print_string("EEE can't be enabled for SFP port "); print_byte(port); print_string("\n");
return;
}
print_string("EEE on for "); print_byte(port); print_string(" speed ");
// Enable all speeds up to the specified speed // Enable all speeds up to the specified speed
if ((speed & (EEE_100 | EEE_1000 | EEE_2G5)) == EEE_100) { if ((speed & (EEE_100 | EEE_1000 | EEE_2G5)) == EEE_100) {
print_string("100m\n");
REG_SET(RTL8373_EEE_CTRL_BASE + (port << 2), EEE_100); REG_SET(RTL8373_EEE_CTRL_BASE + (port << 2), EEE_100);
// Enable EEE advertisement for 100BASE-T via EEE Advertisement Reg // Enable EEE advertisement for 100BASE-T via EEE Advertisement Reg
phy_write(port, PHY_MMD_AN, PHY_EEE_ADV, PHY_EEE_BIT_100M); phy_write(port, PHY_MMD_AN, PHY_EEE_ADV, PHY_EEE_BIT_100M);
@@ -438,6 +443,7 @@ void port_eee_enable(__xdata uint8_t port,__xdata uint8_t speed) __banked
return; return;
} }
if ((speed & (EEE_100 | EEE_1000 | EEE_2G5)) == EEE_1000) { if ((speed & (EEE_100 | EEE_1000 | EEE_2G5)) == EEE_1000) {
print_string("1g\n");
REG_SET(RTL8373_EEE_CTRL_BASE + (port << 2), EEE_100 | EEE_1000); REG_SET(RTL8373_EEE_CTRL_BASE + (port << 2), EEE_100 | EEE_1000);
// Disable EEE advertisement for 2.5GBASE-T via EEE Advertisement Reg 2 // Disable EEE advertisement for 2.5GBASE-T via EEE Advertisement Reg 2
phy_write(port, PHY_MMD_AN, PHY_EEE_ADV2, 0); phy_write(port, PHY_MMD_AN, PHY_EEE_ADV2, 0);
@@ -448,6 +454,7 @@ void port_eee_enable(__xdata uint8_t port,__xdata uint8_t speed) __banked
return; return;
} }
if ((speed & (EEE_100 | EEE_1000 | EEE_2G5)) == EEE_2G5) { if ((speed & (EEE_100 | EEE_1000 | EEE_2G5)) == EEE_2G5) {
print_string("2g5\n");
REG_SET(RTL8373_EEE_CTRL_BASE + (port << 2), EEE_100 | EEE_1000 | EEE_2G5); REG_SET(RTL8373_EEE_CTRL_BASE + (port << 2), EEE_100 | EEE_1000 | EEE_2G5);
// Enable EEE advertisement for 100/1000BASE-T via EEE Advertisement Reg // Enable EEE advertisement for 100/1000BASE-T via EEE Advertisement Reg
phy_write(port, PHY_MMD_AN, PHY_EEE_ADV, PHY_EEE_BIT_1G | PHY_EEE_BIT_100M); phy_write(port, PHY_MMD_AN, PHY_EEE_ADV, PHY_EEE_BIT_1G | PHY_EEE_BIT_100M);