From eedb0dec01233835fa983faa7dab18e4387bbe90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20van=20Dorst?= Date: Sun, 15 Feb 2026 21:09:16 +0100 Subject: [PATCH 1/3] SWGT024 v2.0: Fix LED and RESET defines for managed version Original firmware used for RJ45: * Amber leds only for 2.5GBit link/act. * Green leds only for other speeds. --- machine.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/machine.c b/machine.c index 5b809f5..7d0167d 100644 --- a/machine.c +++ b/machine.c @@ -149,29 +149,29 @@ __code const struct machine machine = { .is_sfp= {0, 0, 0, 2, 0, 0, 0, 0, 1}, // Left SFP port (J4) .sfp_port[0].pin_detect = GPIO30_ACL_BIT3_EN, - .sfp_port[0].pin_los = GPIO37, + .sfp_port[0].pin_los = GPIO_NA, .sfp_port[0].pin_tx_disable = GPIO_NA, .sfp_port[0].sds = 1, .sfp_port[0].i2c = { .sda = GPIO39_I2C_SDA4, .scl = GPIO40_I2C_SCL3_MDC1 }, /* GPIO 39 */ // Right SFP port (J2) .sfp_port[1].pin_detect = GPIO50_I2C_SCL2_UART1_TX, - .sfp_port[1].pin_los = GPIO51_I2C_SDA2_UART1_RX, + .sfp_port[1].pin_los = GPIO_NA, .sfp_port[1].pin_tx_disable = GPIO_NA, .sfp_port[1].sds = 0, .sfp_port[1].i2c = { .sda = GPIO41_I2C_SDA3_MDIO1, .scl = GPIO40_I2C_SCL3_MDC1 }, /* GPIO 40 */ - .reset_pin = GPIO36_PWM_OUT, + .reset_pin = GPIO54_ACL_BIT2_EN, .high_leds = { .mux = LED_27 | LED_29, .enable = LED_28_SYS | LED_29 }, .port_led_set = { 0, 0, 0, 0, 0, 0, 0, 0, 0}, - /* Conditions for LED on: - * dual led orange: ledset_0 & ledset_2 - * dual led green: ledset_2 & !ledset_0 - * single right led green: ledset_0 & !ledset_1 - */ - .led_sets = { { LEDS_2G5 | LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT | LEDS_10G, - LEDS_2G5 | LEDS_LINK | LEDS_10G, - LEDS_1G | LEDS_LINK, - 0 }, - }, + .led_sets = { + { + /* Green LED */ + LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT | LEDS_10G, + 0, + /* Amber LED */ + LEDS_2G5 | LEDS_LINK | LEDS_ACT, + 0 + }, + }, }; void machine_custom_init(void) { } From bfab8cbba3d1f4f98f47e3756772b920abfe8e41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20van=20Dorst?= Date: Sun, 29 Mar 2026 16:10:20 +0200 Subject: [PATCH 2/3] Rename MACHINE_SWGT024_V2_0 to MACHINE_SWGT024_V2_0_MANAGED. So we can support other versions too. --- machine.c | 4 ++-- machine.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/machine.c b/machine.c index 7d0167d..ffc09d2 100644 --- a/machine.c +++ b/machine.c @@ -137,9 +137,9 @@ __code const struct machine machine = { void machine_custom_init(void) { } -#elif defined MACHINE_SWGT024_V2_0 +#elif defined MACHINE_SWGT024_V2_0_MANAGED __code const struct machine machine = { - .machine_name = "SWGT024 V2.0", + .machine_name = "SWGT024 V2.0 Managed", .isRTL8373 = 0, .min_port = 3, .max_port = 8, diff --git a/machine.h b/machine.h index 1a49363..1cac0cc 100644 --- a/machine.h +++ b/machine.h @@ -10,7 +10,7 @@ // #define MACHINE_KP_9000_6XH_X // #define MACHINE_KP_9000_9XH_X_EU // #define MACHINE_KP_9000_9XHML_X -// #define MACHINE_SWGT024_V2_0 +// #define MACHINE_SWGT024_V2_0_MANAGED // #define MACHINE_HORACO_ZX_SG4T2 // #define MACHINE_TRENDNET_TEG_S562 // #define MACHINE_HG0402XG_V1_1 From 73f92f2e126264bb2cb72f29a0abf5acd02e6414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20van=20Dorst?= Date: Sun, 29 Mar 2026 16:35:31 +0200 Subject: [PATCH 3/3] Add SWGT024_V2_0 Unmanaged pinout and machine type. --- machine.c | 39 +++++++++++++++++++++++++++++++++++++++ machine.h | 1 + 2 files changed, 40 insertions(+) diff --git a/machine.c b/machine.c index ffc09d2..b3a10b0 100644 --- a/machine.c +++ b/machine.c @@ -176,6 +176,45 @@ __code const struct machine machine = { void machine_custom_init(void) { } +#elif defined MACHINE_SWGT024_V2_0_UNMANAGED +__code const struct machine machine = { + .machine_name = "SWGT024 V2.0 Unmanaged", + .isRTL8373 = 0, + .min_port = 3, + .max_port = 8, + .n_sfp = 2, + .log_to_phys_port = {0, 0, 0, 6, 1, 2, 3, 4, 5}, + .phys_to_log_port = {4, 5, 6, 7, 8, 3, 0, 0, 0}, + .is_sfp= {0, 0, 0, 2, 0, 0, 0, 0, 1}, + // Left SFP port (J4) + .sfp_port[0].pin_detect = GPIO30_ACL_BIT3_EN, + .sfp_port[0].pin_los = GPIO37, + .sfp_port[0].pin_tx_disable = GPIO_NA, + .sfp_port[0].sds = 1, + .sfp_port[0].i2c = { .sda = GPIO39_I2C_SDA4, .scl = GPIO40_I2C_SCL3_MDC1 }, /* GPIO 39 */ + // Right SFP port (J2) + .sfp_port[1].pin_detect = GPIO50_I2C_SCL2_UART1_TX, + .sfp_port[1].pin_los = GPIO51_I2C_SDA2_UART1_RX, + .sfp_port[1].pin_tx_disable = GPIO_NA, + .sfp_port[1].sds = 0, + .sfp_port[1].i2c = { .sda = GPIO41_I2C_SDA3_MDIO1, .scl = GPIO40_I2C_SCL3_MDC1 }, /* GPIO 40 */ + .reset_pin = GPIO_NA, + .high_leds = { .mux = LED_27 | LED_29, .enable = LED_28_SYS | LED_29 }, + .port_led_set = { 0, 0, 0, 0, 0, 0, 0, 0, 0}, + .led_sets = { + { + /* Green LED */ + LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT | LEDS_10G, + 0, + /* Amber LED */ + LEDS_2G5 | LEDS_LINK | LEDS_ACT, + 0 + }, + }, +}; + +void machine_custom_init(void) { } + #elif defined MACHINE_SWTG018AS_A_V_2_0 __code const struct machine machine = { .machine_name = "SWTG018AS-A V2.0", diff --git a/machine.h b/machine.h index 1cac0cc..1540c41 100644 --- a/machine.h +++ b/machine.h @@ -11,6 +11,7 @@ // #define MACHINE_KP_9000_9XH_X_EU // #define MACHINE_KP_9000_9XHML_X // #define MACHINE_SWGT024_V2_0_MANAGED +// #define MACHINE_SWGT024_V2_0_UNMANAGED // #define MACHINE_HORACO_ZX_SG4T2 // #define MACHINE_TRENDNET_TEG_S562 // #define MACHINE_HG0402XG_V1_1