Merge pull request #723 from zoeimogen/main

SWTG024AS-V2.1.0 support (Xikestor SKS3200-4E2X, Sodola SL902-SWTG024AS)
This commit is contained in:
René van Dorst authored and GitHub committed 2026-10-28 08:09:02 +01:00
commit 7ca4d2c8dc
8 files changed
+133

No files matched your search

+54
View File
@@ -0,0 +1,54 @@
#include "machine_defs.h"
__code const struct machine machine = {
MACHINE_COMMON_SETTING,
.n_sfp = 2,
.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, 1, 0, 0, 0, 0, 2},
// SFP port on SDS0 / logical port 3
.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 = I2CBUS( GPIO41_I2C_SDA3_MDIO1, GPIO40_I2C_SCL3_MDC1 ),
// SFP port on SDS1 / logical port 8
.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 = I2CBUS( GPIO39_I2C_SDA4, 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, 1, 0, 0, 0, 0, 1 },
.led_sets = {
{
LEDS_2G5 | LEDS_LINK | LEDS_ACT,
LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT,
0,
0
},
{
LEDS_2G5 | LEDS_1G | LEDS_100M | LEDS_LINK | LEDS_ACT,
LEDS_10G | LEDS_LINK | LEDS_ACT,
0,
0
},
},
.led_mux_custom = 1,
.led_mux = {
0x00, 0x01, 0x04, 0x05, 0x08,
0x09, 0x0c, 0x3f, 0x0d, 0x10,
0x11, 0x3f, 0x14, 0x3f, 0x3f,
0x15, 0x3f, 0x3f, 0x18, 0x3f,
0x3f, 0x19, 0x3f, 0x3f, 0x1c,
0x1d, 0x20, 0x21
},
};
// Boot 1-4G 6Y
// 1-4Y 5G 6Y
+7
View File
@@ -0,0 +1,7 @@
#ifndef _MACHINE_SWTG024AS_V2_1_0_H_
#define _MACHINE_SWTG024AS_V2_1_0_H_
#define MACHINE_MODEL "SWTG024AS-V2.1.0"
#define MACHINE_CHIPSET RTL8372
#endif
+22
View File
@@ -0,0 +1,22 @@
#include "machine_init_defs.h"
void machine_custom_init(void) __banked
{
// Stock LED_MODE: [8:5]=1, [12:9]=2 (leds_setup hard-codes 5/3); same as clearing bits 7 and 9
reg_bit_set(RTL837X_REG_LED_MODE, 17);
reg_bit_clear(RTL837X_REG_LED_MODE, 9);
reg_bit_clear(RTL837X_REG_LED_MODE, 7);
// Stock LED_GLB_IO_EN [27:0] = 0x0f249740: enable LED pins 6, 8, 9, 10, 12, 15, 18, 21, 24-27
reg_bit_set(RTL837X_REG_LED_GLB_IO_EN, 6);
reg_bit_set(RTL837X_REG_LED_GLB_IO_EN, 8);
reg_bit_set(RTL837X_REG_LED_GLB_IO_EN, 9);
reg_bit_set(RTL837X_REG_LED_GLB_IO_EN, 10);
reg_bit_set(RTL837X_REG_LED_GLB_IO_EN, 12);
reg_bit_set(RTL837X_REG_LED_GLB_IO_EN, 15);
reg_bit_set(RTL837X_REG_LED_GLB_IO_EN, 18);
reg_bit_set(RTL837X_REG_LED_GLB_IO_EN, 21);
reg_bit_set(RTL837X_REG_LED_GLB_IO_EN, 24);
reg_bit_set(RTL837X_REG_LED_GLB_IO_EN, 25);
reg_bit_set(RTL837X_REG_LED_GLB_IO_EN, 26);
}