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