diff --git a/package/network/config/swconfig/src/cli.c b/package/network/config/swconfig/src/cli.c index eab6c64742..2878d790c2 100644 --- a/package/network/config/swconfig/src/cli.c +++ b/package/network/config/swconfig/src/cli.c @@ -94,6 +94,12 @@ speed_str(int speed) return "100baseT"; case 1000: return "1000baseT"; + case 2500: + return "2500baseT"; + case 5000: + return "5000baseT"; + case 10000: + return "10000baseT"; default: break; } diff --git a/target/linux/generic/files/drivers/net/phy/swconfig_leds.c b/target/linux/generic/files/drivers/net/phy/swconfig_leds.c index df53e5cd4a..ac9f892642 100644 --- a/target/linux/generic/files/drivers/net/phy/swconfig_leds.c +++ b/target/linux/generic/files/drivers/net/phy/swconfig_leds.c @@ -24,10 +24,16 @@ #define SWCONFIG_LED_PORT_SPEED_10 0x02 /* 10 Mbps */ #define SWCONFIG_LED_PORT_SPEED_100 0x04 /* 100 Mbps */ #define SWCONFIG_LED_PORT_SPEED_1000 0x08 /* 1000 Mbps */ +#define SWCONFIG_LED_PORT_SPEED_2500 0x10 /* 2500 Mbps */ +#define SWCONFIG_LED_PORT_SPEED_5000 0x20 /* 5000 Mbps */ +#define SWCONFIG_LED_PORT_SPEED_10000 0x40 /* 10000 Mbps */ #define SWCONFIG_LED_PORT_SPEED_ALL (SWCONFIG_LED_PORT_SPEED_NA | \ SWCONFIG_LED_PORT_SPEED_10 | \ SWCONFIG_LED_PORT_SPEED_100 | \ - SWCONFIG_LED_PORT_SPEED_1000) + SWCONFIG_LED_PORT_SPEED_1000 | \ + SWCONFIG_LED_PORT_SPEED_2500 | \ + SWCONFIG_LED_PORT_SPEED_5000 | \ + SWCONFIG_LED_PORT_SPEED_10000) #define SWCONFIG_LED_MODE_LINK 0x01 #define SWCONFIG_LED_MODE_TX 0x02 @@ -478,6 +484,18 @@ swconfig_led_work_func(struct work_struct *work) sw_trig->link_speed[i] = SWCONFIG_LED_PORT_SPEED_1000; break; + case SWITCH_PORT_SPEED_2500: + sw_trig->link_speed[i] = + SWCONFIG_LED_PORT_SPEED_2500; + break; + case SWITCH_PORT_SPEED_5000: + sw_trig->link_speed[i] = + SWCONFIG_LED_PORT_SPEED_5000; + break; + case SWITCH_PORT_SPEED_10000: + sw_trig->link_speed[i] = + SWCONFIG_LED_PORT_SPEED_10000; + break; } } } diff --git a/target/linux/generic/files/include/linux/switch.h b/target/linux/generic/files/include/linux/switch.h index 4e6238470d..b76a421e63 100644 --- a/target/linux/generic/files/include/linux/switch.h +++ b/target/linux/generic/files/include/linux/switch.h @@ -45,6 +45,9 @@ enum switch_port_speed { SWITCH_PORT_SPEED_10 = 10, SWITCH_PORT_SPEED_100 = 100, SWITCH_PORT_SPEED_1000 = 1000, + SWITCH_PORT_SPEED_2500 = 2500, + SWITCH_PORT_SPEED_5000 = 5000, + SWITCH_PORT_SPEED_10000 = 10000 }; struct switch_port_link {