diff --git a/doc/devices/SWTG024AS-V2.0.md b/doc/devices/SWTG024AS-V2.0.md
new file mode 100644
index 0000000..91b4ffc
--- /dev/null
+++ b/doc/devices/SWTG024AS-V2.0.md
@@ -0,0 +1,50 @@
+### SWTG024AS-V2.0
+
+## Brands
+|Brand|Type|Managed|PCB|Flash|Chip RTL|
+|---|---|---|---|---|---|
+| hongyavision | LG-SG5T1 | No | PCB-SWTG024AS-V2.0_16895 | 25Q40 | 8272 |
+
+### Label specifications
+
+- **Name**:
+- **Ports**:
+ - 5 × RJ45: 10/100/1000/2500 Mbps
+ - 1 × SFP+: 1000 / 2500 / 10000 Mbps
+- **Power**: 12V DC, 1A 5525 connector
+
+
+
+### What works
+The device is fully supported:
+- Port 1-4 2.5GBASE-T RJ45 ports work at 10/100/1000/2500 Mbps
+- Port 5 2.5GBASE-T RJ45 ports through RTL8221B not work (Wait to fix)
+- The SFP+ port supports 1G, 2.5G and 10G modules
+- LEDs work with the same indiciations as the OEM firmware
+- Online update does not work with 512KiB flash.
+### PCB overview
+
+**Board markings**
+- Top silkscreen: PCB-SWTG024AS-V2.0
+
+Top side
+
+
+
+Bottom
+
+
+
+### J1, serial console
+
+| `J1` pin | Signal |
+| -------- | ----------- |
+| 1 | GND |
+| 2 | RX (Input) |
+| 3 | TX (Output) |
+
+Note,`R52`、`R53`may not be installed.You need to bridge them using either solder or resistors.
+
+## Power supply
+
+Input power is delivered via barell plug, `12V 1A` adapter was provided.
\ No newline at end of file
diff --git a/doc/devices/photos/SWTG024AS-V2.0/label.jpg b/doc/devices/photos/SWTG024AS-V2.0/label.jpg
new file mode 100644
index 0000000..f2c628a
Binary files /dev/null and b/doc/devices/photos/SWTG024AS-V2.0/label.jpg differ
diff --git a/doc/devices/photos/SWTG024AS-V2.0/pcb_bottom.jpg b/doc/devices/photos/SWTG024AS-V2.0/pcb_bottom.jpg
new file mode 100644
index 0000000..c1ac456
Binary files /dev/null and b/doc/devices/photos/SWTG024AS-V2.0/pcb_bottom.jpg differ
diff --git a/doc/devices/photos/SWTG024AS-V2.0/pcb_top.jpg b/doc/devices/photos/SWTG024AS-V2.0/pcb_top.jpg
new file mode 100644
index 0000000..496391b
Binary files /dev/null and b/doc/devices/photos/SWTG024AS-V2.0/pcb_top.jpg differ
diff --git a/machine.c b/machine.c
index 04db39a..d3b2308 100644
--- a/machine.c
+++ b/machine.c
@@ -896,6 +896,57 @@ void machine_custom_init(void)
reg_bit_clear(RTL837X_REG_LED_MODE, 7);
}
+#elif defined MACHINE_SWTG024AS_V2_0
+__code const struct machine machine = {
+ .machine_name = "SWTG024AS-V2.0",
+ .isRTL8373 = 0,
+ .min_port = 3,
+ .max_port = 8,
+ .n_sfp = 1,
+ .log_to_phys_port = {0, 0, 0, 5, 1, 2, 3, 4, 6},
+ .phys_to_log_port = {4, 5, 6, 7, 3, 8, 0, 0, 0},
+ .is_sfp = {0, 0, 0, 0, 0, 0, 0, 0, 1},
+ .sfp_port[0].pin_detect = GPIO38,
+ .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 },
+
+ .reset_pin = GPIO_NA,
+ .high_leds = { .mux = LED_28_SYS | LED_29, .enable = LED_27 | LED_28_SYS | LED_29 },
+ .port_led_set = { 0, 0, 0, 0, 0, 0, 0, 0, 1},
+ /* Ports 1-5 RJ45 use set 0, port 9 SFP uses set 1
+ * Ports 1-5: Green: 2.5GBit, Amber: 10/100/1000MBit
+ * SFP-port: Blue: 10GBit, Amber: 100MBit-2.5GBit
+ */
+ .led_sets = {
+ {
+ LEDS_2G5 | LEDS_LINK | LEDS_ACT,
+ LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT,
+ LEDS_DUPLEX,
+ LEDS_2G5 | LEDS_LINK | LEDS_ACT
+ },
+ {
+ LEDS_2G5 | LEDS_1G | LEDS_100M | LEDS_LINK | LEDS_ACT,
+ LEDS_10G | LEDS_LINK | LEDS_ACT,
+ LEDS_2G5 | LEDS_LINK,
+ LEDS_COL | LEDS_DUPLEX
+ },
+ },
+ .led_mux_custom = 1,
+ .led_mux = {
+ 0x00,0x01,0x04,0x05,0x08,0x09,0x0c,0x3f,0x0d,0x10,0x11,0x0e,0x14,0x11,0x12,0x15,0x15,0x16,0x18,0x19,0x1a,0x19,0x1d,0x1e,0x1c,0x1d,0x20,0x21
+ },
+ };
+
+void machine_custom_init(void)
+{
+ reg_bit_set(RTL837X_REG_LED_GLB_IO_EN, 6);
+ reg_bit_set(RTL837X_REG_LED_MODE, 17);
+ reg_bit_clear(RTL837X_REG_LED_MODE, 9);
+ reg_bit_clear(RTL837X_REG_LED_MODE, 7);
+}
+
#elif defined MACHINE_ZX310S_4T2XT
__code const struct machine machine = {
.machine_name = "ZX310S_4T2XT",
diff --git a/machine.h b/machine.h
index 931a17e..3a2115c 100644
--- a/machine.h
+++ b/machine.h
@@ -28,6 +28,7 @@
// #define MACHINE_HI_K0801WS
// #define MACHINE_FNS1200P
// #define MACHINE_PCB_SWTG024AS_A_2_0_1
+// #define MACHINE_SWTG024AS_V2_0
typedef struct {
// GPIO pins for SDA/SCL