extracted ONT-S207CW-62TS-SE into separate device

This commit is contained in:
Andreas Erhard committed 2026-09-18 22:16:06 +02:00
1 parent c514eb8bf3
commit a4e3b4368b
4 files changed
+362 -397

No files matched your search

+70 -11
View File
@@ -864,9 +864,6 @@ __code const struct machine machine = {
#elif defined MACHINE_PCB_SWTG024AS_A_2_0_1
// NOTE: ONT-S207CW-62TS-SE and Binardat 2G06-04210GSM use this same configuration
// Both devices share identical PCB (PCB-SWTG024AS-A-2.0.1) with RTL8372N CPU
// See doc/devices/SWTG024AS.md section "PCB-SWTG024AS-A-2.0.1 Variant" for details
__code const struct machine machine = {
.machine_name = "PCB-SWTG024AS-A-2.0.1",
.isRTL8373 = 0,
@@ -894,19 +891,18 @@ __code const struct machine machine = {
.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, 1, 0, 0, 0, 0, 1},
// ONT-S207CW LED fix: RJ45=green@2.5G/orange@1G, SFP=green@10G/orange@1G/2.5G
.led_sets = {
{ // SET0: RJ45 - Green for 2.5G, Orange for 1G/100M/10M
{
LEDS_2G5 | LEDS_LINK | LEDS_ACT,
LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT,
0,
0
LEDS_DUPLEX,
LEDS_2G5 | LEDS_LINK | LEDS_ACT
},
{ // SET1: SFP+ - Green for 10G, Orange for 1G/2.5G
{
LEDS_2G5 | LEDS_1G | LEDS_100M | LEDS_LINK | LEDS_ACT,
LEDS_10G | LEDS_LINK | LEDS_ACT,
LEDS_2G5 | LEDS_1G | LEDS_LINK | LEDS_ACT,
0,
0
LEDS_2G5 | LEDS_LINK,
LEDS_COL | LEDS_DUPLEX
},
},
.led_mux_custom = 1,
@@ -915,6 +911,69 @@ __code const struct machine machine = {
},
};
#elif defined MACHINE_ONT_S207CW_62TS_SE
// ONT-S207CW-62TS-SE and Binardat 2G06-04210GSM
// RTL8372N, 4x2.5G RJ45 + 2x10G SFP+, GD25Q128E (16MB)
// Physical ports: 1-4 = RJ45, 5-6 = SFP
// Logical ports: 0-3 = RJ45 (phys 1-4), 4-5 = SFP (phys 5-6)
// LED colors: RJ45 = Green@2.5G, Orange@1G/100M/10M; SFP = Green@10G, Orange@1G/2.5G
// LED mux values extracted from original firmware
__code const struct machine machine = {
.machine_name = "ONT-S207CW-62TS-SE / Binardat 2G06-04210GSM",
.isRTL8373 = 0,
.mac_flash_offset = 0x1FC000,
.min_port = 0,
.max_port = 5,
.n_sfp = 2,
.log_to_phys_port = {1, 2, 3, 4, 5, 6, 0, 0, 0},
.phys_to_log_port = {0, 1, 2, 3, 4, 5, 0, 0, 0},
.is_sfp = {0, 0, 0, 0, 1, 1, 0, 0, 0},
// SFP port on SDS0 / logical port 4 / physical port 5
.sfp_port[0].pin_detect = GPIO37,
.sfp_port[0].pin_los = GPIO_NA,
.sfp_port[0].pin_tx_disable = GPIO_NA,
.sfp_port[0].sds = 0,
.sfp_port[0].i2c = { .sda = GPIO41_I2C_SDA3_MDIO1, .scl = GPIO40_I2C_SCL3_MDC1 },
// SFP port on SDS1 / logical port 5 / physical port 6
.sfp_port[1].pin_detect = GPIO38,
.sfp_port[1].pin_los = GPIO_NA,
.sfp_port[1].pin_tx_disable = GPIO_NA,
.sfp_port[1].sds = 1,
.sfp_port[1].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, 1, 1, 0, 0, 0 },
/* LED Configuration:
* RJ45 ports (0-3, phys 1-4): SET0
* LED0 (Green): 2.5G Link+Activity
* LED1 (Orange): 1G/100M/10M Link+Activity
* SFP+ ports (4-5, phys 5-6): SET1
* LED0 (Green): 10G Link+Activity
* LED1 (Orange): 1G/2.5G Link+Activity
*/
.led_sets = {
{ // SET0: RJ45 Ports
LEDS_2G5 | LEDS_LINK | LEDS_ACT, // Green: 2.5G
LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT, // Orange: 1G/100M/10M
0,
0 },
{ // SET1: SFP+ Ports
LEDS_10G | LEDS_LINK | LEDS_ACT, // Green: 10G
LEDS_2G5 | LEDS_1G | LEDS_LINK | LEDS_ACT, // Orange: 1G/2.5G
0,
0 },
},
.led_mux_custom = 1,
// LED mux configuration from original firmware
.led_mux = { 0x08, 0x14, 0x40, 0x40, 0x10, 0x37, 0xf3, 0x09,
0x12, 0x45, 0x43, 0x91, 0x19, 0x61, 0x65, 0x55,
0x1c, 0x79, 0xd6, 0x5a, 0x00, 0x02, 0x18, 0x1d,
0x00, 0x00, 0x00, 0x00 },
};
#elif defined MACHINE_SWTG024AS_A_2_0_1_5C_1SFP
__code const struct machine machine = {
.machine_name = "SWTG024AS-A-V2.0.1-5C-1SFP",