diff --git a/doc/devices/SIRIVISION_S25G2206FP_V1_1.md b/doc/devices/SIRIVISION_S25G2206FP_V1_1.md new file mode 100644 index 00000000..fb97fb87 --- /dev/null +++ b/doc/devices/SIRIVISION_S25G2206FP_V1_1.md @@ -0,0 +1,32 @@ +### SIRIVISION_S25G2206FP_V1_1 + +## Brands +|Brand|Type|Managed|PCB|Flash|Chip RTL| +|---|---|---|---|---|---| +| YuanLey | YS25-0402M | Yes | SIRIVISION_S25G2206FP_V1_1 | 2M | ??? | + +### Label specifications + +- **Name**: +- **Ports**: + - 4 × RJ45: 10/100/1000/2500 Mbps + - 2 × SFP+: 1000 / 2500 / 10000 Mbps +- **Power**: 12V DC, 1A 5525 connector + +### What works +The device is fully supported: +- ALL 2.5GBASE-T RJ45 ports work at 10/100/1000/2500 Mbps +- ALL SFP+ ports support 1G, 2.5G and 10G modules +- LEDs work with the same indiciations as the OEM firmware +### PCB overview + +**Board markings** +- Top silkscreen: SIRIVISION S25G2206FP V1.1 + +Top side + + + +## Power supply + +Input power is delivered via barell plug, `12V 1A` adapter was provided. diff --git a/doc/devices/SWTG024AS-V2.0.md b/doc/devices/SWTG024AS-V2.0.md index c787428b..69724577 100644 --- a/doc/devices/SWTG024AS-V2.0.md +++ b/doc/devices/SWTG024AS-V2.0.md @@ -46,4 +46,4 @@ Note,`R52`、`R53`may not be installed.You need to bridge them using either sold ## Power supply -Input power is delivered via barell plug, `12V 1A` adapter was provided. \ No newline at end of file +Input power is delivered via barell plug, `12V 1A` adapter was provided. diff --git a/doc/devices/photos/SIRIVISION_S25G2206FP_V1_1/dev_pcb_top.jpg b/doc/devices/photos/SIRIVISION_S25G2206FP_V1_1/dev_pcb_top.jpg new file mode 100644 index 00000000..dfa6ec8f Binary files /dev/null and b/doc/devices/photos/SIRIVISION_S25G2206FP_V1_1/dev_pcb_top.jpg differ diff --git a/doc/supported_devices.md b/doc/supported_devices.md index f0b11c63..9cd62f61 100644 --- a/doc/supported_devices.md +++ b/doc/supported_devices.md @@ -44,6 +44,7 @@ The following devices have been tested and are fully working: | XikeStor | SKS3200-8E1X | Yes | [SWTG118AS-V2.1-17462](devices/SWTGW218AS.md) | 2M | 8 + 1 | | YuanLey | YS25-0402 | No | [PCB-K0402WS-V1.0](devices/PCB-K0402WS-V1.0.md) | 2M | 4 + 2 | | YuanLey | YS25-0402 | No | [PCB-K0402WS-V3.0](devices/PCB-K0402WS-V3.0.md) | 2M | 4 + 2 | +| YuanLey | YS25-0402M | Yes | [SIRIVISION_S25G2206FP_V1_1](devices/SIRIVISION_S25G2206FP_V1_1.md) | 2M | 4 + 2 | | Ztyuav | Z-QWYT0402 | No | [PCB-K0402WS-V3.0](devices/PCB-K0402WS-V3.0.md) | | 4 + 2 | For KP-9000-6XH-X2 / KP-9000-6XHML-X2 / Mokerlink 2G040210GSM devices, select diff --git a/machine/SIRIVISION_S25G2206FP_V1_1.c b/machine/SIRIVISION_S25G2206FP_V1_1.c new file mode 100644 index 00000000..874837ad --- /dev/null +++ b/machine/SIRIVISION_S25G2206FP_V1_1.c @@ -0,0 +1,41 @@ +#include "machine_defs.h" + +__code const struct machine machine = { + .machine_name = MACHINE_MODEL, + .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 = I2CBUS( GPIO39_I2C_SDA4, 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 = I2CBUS( GPIO41_I2C_SDA3_MDIO1, GPIO40_I2C_SCL3_MDC1 ), /* GPIO 40 */ + .reset_pin = GPIO_NA, // TODO: Figure out which GPIO is reset + .high_leds = { .mux = LED_27 | LED_29, .enable = LED_28_SYS | LED_29 }, + .port_led_set = { 0, 0, 0, 1, 0, 0, 0, 0, 1}, + .led_sets = { + { /* RJ45: Green LED */ + LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT | LEDS_10G, + 0, + /* Amber LED */ + LEDS_2G5 | LEDS_LINK | LEDS_ACT, + 0 + }, { /* SFP PORT: SINGLE GREEN LED */ + LEDS_10M | LEDS_100M | LEDS_1G | LEDS_2G5 | LEDS_10G | LEDS_LINK | LEDS_ACT, + 0, + 0, + 0, + }, + }, +}; diff --git a/machine/SIRIVISION_S25G2206FP_V1_1.h b/machine/SIRIVISION_S25G2206FP_V1_1.h new file mode 100644 index 00000000..6dbb7c71 --- /dev/null +++ b/machine/SIRIVISION_S25G2206FP_V1_1.h @@ -0,0 +1,6 @@ +#ifndef _MACHINE_SIRIVISION_S25G2206FP_V1_1_H_ +#define _MACHINE_SIRIVISION_S25G2206FP_V1_1_H_ + +#define MACHINE_MODEL "SIRIVISION S25G2206FP V1.1" + +#endif diff --git a/machine/YS25_0402M.c b/machine/YS25_0402M.c new file mode 120000 index 00000000..ebd3a9a3 --- /dev/null +++ b/machine/YS25_0402M.c @@ -0,0 +1 @@ +SIRIVISION_S25G2206FP_V1_1.c \ No newline at end of file diff --git a/machine/YS25_0402M.h b/machine/YS25_0402M.h new file mode 100644 index 00000000..1df79241 --- /dev/null +++ b/machine/YS25_0402M.h @@ -0,0 +1,6 @@ +#ifndef _MACHINE_YS25_0402M_H_ +#define _MACHINE_YS25_0402M_H_ + +#define MACHINE_MODEL "YuanLey YS25-0402M" + +#endif