diff --git a/machine.c b/machine.c index 5b809f5..b3a10b0 100644 --- a/machine.c +++ b/machine.c @@ -137,9 +137,48 @@ __code const struct machine machine = { void machine_custom_init(void) { } -#elif defined MACHINE_SWGT024_V2_0 +#elif defined MACHINE_SWGT024_V2_0_MANAGED __code const struct machine machine = { - .machine_name = "SWGT024 V2.0", + .machine_name = "SWGT024 V2.0 Managed", + .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 = 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 }, /* GPIO 39 */ + // Right SFP port (J2) + .sfp_port[1].pin_detect = GPIO50_I2C_SCL2_UART1_TX, + .sfp_port[1].pin_los = GPIO_NA, + .sfp_port[1].pin_tx_disable = GPIO_NA, + .sfp_port[1].sds = 0, + .sfp_port[1].i2c = { .sda = GPIO41_I2C_SDA3_MDIO1, .scl = GPIO40_I2C_SCL3_MDC1 }, /* GPIO 40 */ + .reset_pin = GPIO54_ACL_BIT2_EN, + .high_leds = { .mux = LED_27 | LED_29, .enable = LED_28_SYS | LED_29 }, + .port_led_set = { 0, 0, 0, 0, 0, 0, 0, 0, 0}, + .led_sets = { + { + /* Green LED */ + LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT | LEDS_10G, + 0, + /* Amber LED */ + LEDS_2G5 | LEDS_LINK | LEDS_ACT, + 0 + }, + }, +}; + +void machine_custom_init(void) { } + +#elif defined MACHINE_SWGT024_V2_0_UNMANAGED +__code const struct machine machine = { + .machine_name = "SWGT024 V2.0 Unmanaged", .isRTL8373 = 0, .min_port = 3, .max_port = 8, @@ -159,19 +198,19 @@ __code const struct machine machine = { .sfp_port[1].pin_tx_disable = GPIO_NA, .sfp_port[1].sds = 0, .sfp_port[1].i2c = { .sda = GPIO41_I2C_SDA3_MDIO1, .scl = GPIO40_I2C_SCL3_MDC1 }, /* GPIO 40 */ - .reset_pin = GPIO36_PWM_OUT, + .reset_pin = GPIO_NA, .high_leds = { .mux = LED_27 | LED_29, .enable = LED_28_SYS | LED_29 }, .port_led_set = { 0, 0, 0, 0, 0, 0, 0, 0, 0}, - /* Conditions for LED on: - * dual led orange: ledset_0 & ledset_2 - * dual led green: ledset_2 & !ledset_0 - * single right led green: ledset_0 & !ledset_1 - */ - .led_sets = { { LEDS_2G5 | LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT | LEDS_10G, - LEDS_2G5 | LEDS_LINK | LEDS_10G, - LEDS_1G | LEDS_LINK, - 0 }, - }, + .led_sets = { + { + /* Green LED */ + LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT | LEDS_10G, + 0, + /* Amber LED */ + LEDS_2G5 | LEDS_LINK | LEDS_ACT, + 0 + }, + }, }; void machine_custom_init(void) { } diff --git a/machine.h b/machine.h index 1a49363..1540c41 100644 --- a/machine.h +++ b/machine.h @@ -10,7 +10,8 @@ // #define MACHINE_KP_9000_6XH_X // #define MACHINE_KP_9000_9XH_X_EU // #define MACHINE_KP_9000_9XHML_X -// #define MACHINE_SWGT024_V2_0 +// #define MACHINE_SWGT024_V2_0_MANAGED +// #define MACHINE_SWGT024_V2_0_UNMANAGED // #define MACHINE_HORACO_ZX_SG4T2 // #define MACHINE_TRENDNET_TEG_S562 // #define MACHINE_HG0402XG_V1_1