diff --git a/doc/devices/PB-2132.md b/doc/devices/PB-2132.md new file mode 100644 index 00000000..d3e91d4e --- /dev/null +++ b/doc/devices/PB-2132.md @@ -0,0 +1,53 @@ +# IG108 + +Following is documentation for unmanaged switch marked as `IG108`. + +Original software is running UART on 9600 baud rate. + +Using SPI clamp in-board is the only method for initial installation. + +### Brands + +| Brand | Type | Managed | PCB | Flash | Chip RTL | +|---------|------------|---------|------------|-------------|---------------| +| Goalake | IG108 | No | PB-2132 | cFeon Q32A | 8373N + 8224N | +| Netcore | GS9 | No | PB-2132 | cFeon Q32A | 8373N + 8224N | + +### What works + +- All eight 2.5GBASE-T RJ45 ports at 10/100/1000/2500 Mbps +- SFP port with 1G/2.5G/10G modules +- LEDs + +### PCB overview + +**Board markings** + +- Top silkscreen: PB-2132 + +Front Goalake: + + + +Label Goalake: + + + +Top side: + + + +Bottom: + + + +### Serial console + +The PCB has unpopulated through-holes near the SFP Port, with description of each pin, works out of the box. + +- **Settings**: 115200 baud / 8N1 / 3.3V TTL + +### Power supply + +Input power is delivered via barell plug, `12V 1A` adapter was provided. + diff --git a/doc/devices/photos/PB-2132/PCB-bottom.jpg b/doc/devices/photos/PB-2132/PCB-bottom.jpg new file mode 100644 index 00000000..63cc5352 Binary files /dev/null and b/doc/devices/photos/PB-2132/PCB-bottom.jpg differ diff --git a/doc/devices/photos/PB-2132/PCB-top.jpg b/doc/devices/photos/PB-2132/PCB-top.jpg new file mode 100644 index 00000000..ab30b39c Binary files /dev/null and b/doc/devices/photos/PB-2132/PCB-top.jpg differ diff --git a/doc/devices/photos/PB-2132/case.jpg b/doc/devices/photos/PB-2132/case.jpg new file mode 100644 index 00000000..83d3650d Binary files /dev/null and b/doc/devices/photos/PB-2132/case.jpg differ diff --git a/doc/devices/photos/PB-2132/label.jpg b/doc/devices/photos/PB-2132/label.jpg new file mode 100644 index 00000000..a70dc2df Binary files /dev/null and b/doc/devices/photos/PB-2132/label.jpg differ diff --git a/doc/supported_devices.md b/doc/supported_devices.md index 6ecc5054..7abf1f99 100644 --- a/doc/supported_devices.md +++ b/doc/supported_devices.md @@ -34,6 +34,8 @@ The following devices have been tested and are fully working: | XikeStor | SKS3200-8E1X | Yes | [SWTG118AS-V2.1-17462](devices/SWTGW218AS.md) | 2M | 8 + 1 | | Ztyuav | Z-QWYT0402 | No | [PCB-K0402WS-V3.0](devices/PCB-K0402WS-V3.0.md) | | 4 + 2 | | Lianguo | HYWS-SGT0108S | No | [2G5F_20G_V1.01](devices/HYWS-SGT0108S.md) | 0.5M | 8 + 1 | +| Goalake | IG108 | No | [PB-2132](devices/PB-2132.md) | 4M | 8 + 1 | +| Netcore | GS9 | No | [PB-2132](devices/PB-2132.md) | 4M | 8 + 1 | For KP-9000-6XH-X2 / KP-9000-6XHML-X2 / Mokerlink 2G040210GSM devices, select the machine target by PCB revision. The ML/non-ML or managed/unmanaged label diff --git a/machine.c b/machine.c index 1c2fee14..cb70dbbf 100644 --- a/machine.c +++ b/machine.c @@ -1226,7 +1226,47 @@ __code const struct machine machine = { 0x1a, 0x19, 0x1d, 0x1e, 0x1c, 0x1d, 0x20, 0x21 }, }; +#elif defined MACHINE_PB_2132 +__code const struct machine machine = { + .machine_name = "PB-2132", + .isRTL8373 = 1, + .mac_flash_offset = 0x1FC000, + .min_port = 0, + .max_port = 8, + .n_sfp = 1, + .log_to_phys_port = {1, 2, 3, 4, 5, 6, 7, 8, 9}, + .phys_to_log_port = {0, 1, 2, 3, 4, 5, 6, 7, 8}, + .is_sfp = {0, 0, 0, 0, 0, 0, 0, 0, 1}, + /* PB-2132: GPIO30 is the verified SFP MOD_ABS input. */ + .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 = { .sda = GPIO39_I2C_SDA4, .scl = GPIO40_I2C_SCL3_MDC1 }, + + /* Reset GPIO is not identified on PB-2132; disable reset-button polling. */ + .reset_pin = GPIO_NA, + + .high_leds = { .mux = LED_27 | LED_28_SYS | LED_29, .enable = LED_28_SYS | LED_29 }, + .port_led_set = { 0, 0, 0, 0, 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 + }, + { + /* SFP+ LED mapping retained from the working SWTGW218AS base. */ + LEDS_10G | LEDS_5G | LEDS_2G5 | LEDS_1G | LEDS_100M | LEDS_LINK | LEDS_ACT, + 0, + 0, + 0 + }, + }, + }; #else #error "Please select a machine type in machine.h" #endif diff --git a/machine.h b/machine.h index 14fc5c13..cfaa1b89 100644 --- a/machine.h +++ b/machine.h @@ -46,7 +46,7 @@ // #define MACHINE_FG_8GT_1SX // #define MACHINE_LIANGUO_HYWS_SGT0108S // #define MACHINE_POE_2G080110GS - +// #define MACHINE_PB_2132 typedef struct { // GPIO pins for SDA/SCL uint8_t sda;