Detect 2nd SFP-slot RX-Los on KP-9000-6XHML-2X

This commit is contained in:
logicog
2025-12-08 08:39:54 +01:00
parent 101b4937e1
commit 636981c3b8
+13 -2
View File
@@ -950,7 +950,7 @@ void handle_sfp(void)
sfp_pins_last |= 0x02;
print_string("\n<SFP-RX LOS>\n");
}
#if NSFP == 2
reg_read_m(RTL837X_REG_GPIO_32_63_INPUT);
if ((sfp_pins_last & 0x10) && (!(sfr_data[1] & 0x04))) {
sfp_pins_last &= ~0x10;
@@ -969,6 +969,17 @@ void handle_sfp(void)
sfp_pins_last |= 0x10;
print_string("\n<MODULE 2 REMOVED>\n");
}
reg_read_m(RTL837X_REG_GPIO_00_31_INPUT);
if ((sfp_pins_last & 0x20) && (!(sfr_data[2] & 0x08))) {
sfp_pins_last &= ~0x20;
print_string("\n<SFP2-RX OK>\n");
}
if ((!(sfp_pins_last & 0x20)) && (sfr_data[2] & 0x08)) {
sfp_pins_last |= 0x20;
print_string("\n<SFP2-RX LOS>\n");
}
#endif
}
@@ -1021,7 +1032,7 @@ void idle(void)
print_byte(sfr_data[2]); print_byte(sfr_data[3]);
print_string(", was ");
print_byte(linkbits_last_p89); print_byte(linkbits_last[0]); print_byte(linkbits_last[1]);
print_byte(linkbits_last[2]); print_byte(linkbits_last[3]);
print_byte(linkbits_last[2]); print_byte(linkbits_last[3]);
print_string(">\n");
linkbits_last_p89 = linkbits_p89;
if (!isRTL8373 && nSFPPorts != 2) {