diff --git a/rtlplayground.c b/rtlplayground.c index 0bc5f27..fe2b2cf 100644 --- a/rtlplayground.c +++ b/rtlplayground.c @@ -950,7 +950,7 @@ void handle_sfp(void) sfp_pins_last |= 0x02; print_string("\n\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\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\n"); + } + if ((!(sfp_pins_last & 0x20)) && (sfr_data[2] & 0x08)) { + sfp_pins_last |= 0x20; + print_string("\n\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) {