mirror of
https://github.com/logicog/RTLPlayground.git
synced 2026-08-30 14:52:51 +08:00
Split KP-9000 6XH targets by PCB revision
This commit is contained in:
@@ -96,7 +96,7 @@ $(BUILDDIR)/rtlplayground-$(FILENAME_EXTENSION).bin: $(BUILDDIR)/rtlplayground.i
|
|||||||
machine_check:
|
machine_check:
|
||||||
@mkdir -p $(BUILDDIR)/tmp
|
@mkdir -p $(BUILDDIR)/tmp
|
||||||
@set -eo pipefail; \
|
@set -eo pipefail; \
|
||||||
for MACHINE in `grep -e ' MACHINE_' machine.c | sed -e 's%^.* MACHINE_%%' -e 's%[ ]*//.*$$%%' | sort -u`; \
|
for MACHINE in `grep -E '^[[:space:]]*(//[[:space:]]*)?#define MACHINE_' machine.h | sed -E 's%^[[:space:]]*(//[[:space:]]*)?#define MACHINE_%%' | awk '{print $$1}' | sort -u`; \
|
||||||
do \
|
do \
|
||||||
echo "Checking $${MACHINE}"; \
|
echo "Checking $${MACHINE}"; \
|
||||||
$(CC) $(CC_FLAGS) -DMACHINE_$${MACHINE} -MMD -o $(BUILDDIR)/tmp/machine_check -c machine.c; \
|
$(CC) $(CC_FLAGS) -DMACHINE_$${MACHINE} -MMD -o $(BUILDDIR)/tmp/machine_check -c machine.c; \
|
||||||
|
|||||||
@@ -1,17 +1,32 @@
|
|||||||
# Keeplink KP-9000-6XH-X2
|
# Keeplink KP-9000-6XH-X2 / KP-9000-6XHML-X2
|
||||||
|
|
||||||
Following is documentation for unmanaged switch marked as `KP-9000-6XH-X2`.
|
Following is documentation for switches marked as `KP-9000-6XH-X2` or
|
||||||
|
`KP-9000-6XHML-X2`.
|
||||||
|
|
||||||
Using SPI clamp in-board is the only method for initial installation.
|
Using SPI clamp in-board is the only method for initial installation.
|
||||||
|
|
||||||
### Label specifications
|
### Label specifications
|
||||||
|
|
||||||
- **Name**: 4X 2.5G RJ45 Port + 2 X 10G SFP+ Port
|
- **Name**: 4X 2.5G RJ45 Port + 2 X 10G SFP+ Port
|
||||||
- **Model**: KP-9000-6XH-X2
|
- **Model**: KP-9000-6XH-X2 / KP-9000-6XHML-X2
|
||||||
- **Ports**:
|
- **Ports**:
|
||||||
- 4 × RJ45: 10/100/1000/2500 Mbps
|
- 4 × RJ45: 10/100/1000/2500 Mbps
|
||||||
- 2 × SFP+: 1000 / 2500 / 10000 Mbps
|
- 2 × SFP+: 1000 / 2500 / 10000 Mbps
|
||||||
|
|
||||||
|
### Machine target
|
||||||
|
|
||||||
|
These devices exist with different PCB revisions. Select the machine target by
|
||||||
|
the PCB silkscreen, not only by the label on the case.
|
||||||
|
|
||||||
|
| PCB silkscreen | Known labels | Recommended machine target | Legacy target |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| `2M-PCB43-V1.2` | `KP-9000-6XHML-X2` | `MACHINE_KP_9000_6XHML_X2_V1_2` | `MACHINE_KP_9000_6XHML_X2` |
|
||||||
|
| `2M-PCB43-V2.1` | `KP-9000-6XH-X2`, `KP-9000-6XHML-X2` | `MACHINE_KP_9000_6XH_X2_V2_1` or `MACHINE_KP_9000_6XHML_X2_V2_1` | `MACHINE_KP_9000_6XH_X2` |
|
||||||
|
|
||||||
|
The V1.2 and V2.1 boards use different GPIO, SFP, port and LED mappings.
|
||||||
|
The unmanaged and managed labels are firmware/SKU differences and do not by
|
||||||
|
themselves identify the PCB wiring.
|
||||||
|
|
||||||
### What works
|
### What works
|
||||||
|
|
||||||
- All four 2.5GBASE-T RJ45 ports at 10/100/1000/2500 Mbps
|
- All four 2.5GBASE-T RJ45 ports at 10/100/1000/2500 Mbps
|
||||||
@@ -19,7 +34,7 @@ Using SPI clamp in-board is the only method for initial installation.
|
|||||||
- LEDs
|
- LEDs
|
||||||
- untested due to missing Hardware: SFP+ ports equipped with 1G or 2.5G SFPs.
|
- untested due to missing Hardware: SFP+ ports equipped with 1G or 2.5G SFPs.
|
||||||
|
|
||||||
### Hardware overview
|
### Hardware overview: 2M-PCB43-V2.1
|
||||||
|
|
||||||
Front side:
|
Front side:
|
||||||
|
|
||||||
@@ -44,6 +59,22 @@ Bottom
|
|||||||
|
|
||||||
<img src="photos/2M-PCB43-V2.1-unmanaged/2M-PCB43-V2.1-bottom.jpg" width="600" />
|
<img src="photos/2M-PCB43-V2.1-unmanaged/2M-PCB43-V2.1-bottom.jpg" width="600" />
|
||||||
|
|
||||||
|
### Hardware overview: 2M-PCB43-V1.2
|
||||||
|
|
||||||
|
The V1.2 board has been seen in managed `KP-9000-6XHML-X2` devices.
|
||||||
|
|
||||||
|
Label:
|
||||||
|
|
||||||
|
<img src="photos/KP-9000-6XHML-X2/label.jpg" width="600" />
|
||||||
|
|
||||||
|
Top side:
|
||||||
|
|
||||||
|
<img src="photos/KP-9000-6XHML-X2/pcb_top.jpg" width="600" />
|
||||||
|
|
||||||
|
Bottom:
|
||||||
|
|
||||||
|
<img src="photos/KP-9000-6XHML-X2/pcb_bottom.jpg" width="600" />
|
||||||
|
|
||||||
## Reset Button
|
## Reset Button
|
||||||
|
|
||||||
There's an unpopulated Reset button on the front left side of the PCB.
|
There's an unpopulated Reset button on the front left side of the PCB.
|
||||||
@@ -54,4 +85,3 @@ The front case has already the hole in the metal case, you just have to punch a
|
|||||||
## Power supply
|
## Power supply
|
||||||
|
|
||||||
Input power is delivered via barell plug, `12V 1A` adapter was provided.
|
Input power is delivered via barell plug, `12V 1A` adapter was provided.
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# Supported Hardware
|
# Supported Hardware
|
||||||
The following devices have been tested and are fully working:
|
The following devices have been tested and are fully working:
|
||||||
- Horaco ZX_SG4T2
|
- Horaco ZX_SG4T2
|
||||||
- keepLINK kp-9000-6hx-x2 (RTL8372: 4x 2.5GBit + 2x 10GBit SFP+)
|
- keepLINK KP-9000-6XH-X2 / KP-9000-6XHML-X2 (RTL8372: 4x 2.5GBit + 2x 10GBit SFP+);
|
||||||
- keepLINK KP-9000-6XHML-X2, same as above, but Managed
|
select the machine target by PCB revision, see [KP-9000-6XH-X2](devices/KP-9000-6XH-X2.md)
|
||||||
- keepLINK kp-9000-6hx-x (RTL8372 + RTL8221B 2.5GBit PHY: 5 x 2.5GBit + 1x 10GBit SFP+)
|
- keepLINK kp-9000-6hx-x (RTL8372 + RTL8221B 2.5GBit PHY: 5 x 2.5GBit + 1x 10GBit SFP+)
|
||||||
- keepLINK kp-9000-9xh-x-eu (1 x RTL8373 + RTL8224: 8x 2.5GBit + 1x 10GBit SFP+)
|
- keepLINK kp-9000-9xh-x-eu (1 x RTL8373 + RTL8224: 8x 2.5GBit + 1x 10GBit SFP+)
|
||||||
- Lianguo LG-SWTGW218AS (RTL8373 + RTL8224 PHY: 8x 2.5GBit + 1x 10GBit SFP+)
|
- Lianguo LG-SWTGW218AS (RTL8373 + RTL8224 PHY: 8x 2.5GBit + 1x 10GBit SFP+)
|
||||||
|
|||||||
@@ -5,9 +5,13 @@
|
|||||||
#include "rtl837x_regs.h"
|
#include "rtl837x_regs.h"
|
||||||
#include "rtl837x_common.h"
|
#include "rtl837x_common.h"
|
||||||
|
|
||||||
#ifdef MACHINE_KP_9000_6XHML_X2
|
#if defined(MACHINE_KP_9000_6XHML_X2) || defined(MACHINE_KP_9000_6XHML_X2_V1_2)
|
||||||
__code const struct machine machine = {
|
__code const struct machine machine = {
|
||||||
|
#if defined(MACHINE_KP_9000_6XHML_X2_V1_2)
|
||||||
|
.machine_name = "keepLink KP-9000-6XHML V1.2",
|
||||||
|
#else
|
||||||
.machine_name = "keepLink KP-9000-6XHML-X2",
|
.machine_name = "keepLink KP-9000-6XHML-X2",
|
||||||
|
#endif
|
||||||
.isRTL8373 = 0,
|
.isRTL8373 = 0,
|
||||||
.min_port = 3,
|
.min_port = 3,
|
||||||
.max_port = 8,
|
.max_port = 8,
|
||||||
@@ -85,9 +89,15 @@ __code const struct machine machine = {
|
|||||||
|
|
||||||
void machine_custom_init(void) { }
|
void machine_custom_init(void) { }
|
||||||
|
|
||||||
#elif defined MACHINE_KP_9000_6XH_X2
|
#elif defined(MACHINE_KP_9000_6XH_X2) || defined(MACHINE_KP_9000_6XH_X2_V2_1) || defined(MACHINE_KP_9000_6XHML_X2_V2_1)
|
||||||
__code const struct machine machine = {
|
__code const struct machine machine = {
|
||||||
|
#if defined(MACHINE_KP_9000_6XHML_X2_V2_1)
|
||||||
|
.machine_name = "keepLink KP-9000-6XHML V2.1",
|
||||||
|
#elif defined(MACHINE_KP_9000_6XH_X2_V2_1)
|
||||||
|
.machine_name = "keepLink KP-9000-6XH-X2 V2.1",
|
||||||
|
#else
|
||||||
.machine_name = "keepLink KP-9000-6XH-X2",
|
.machine_name = "keepLink KP-9000-6XH-X2",
|
||||||
|
#endif
|
||||||
.isRTL8373 = 0,
|
.isRTL8373 = 0,
|
||||||
.min_port = 3,
|
.min_port = 3,
|
||||||
.max_port = 8,
|
.max_port = 8,
|
||||||
|
|||||||
@@ -7,8 +7,11 @@
|
|||||||
* Select your machine type below
|
* Select your machine type below
|
||||||
*/
|
*/
|
||||||
// #define MACHINE_KP_9000_6XHML_X2
|
// #define MACHINE_KP_9000_6XHML_X2
|
||||||
|
// #define MACHINE_KP_9000_6XHML_X2_V1_2
|
||||||
|
// #define MACHINE_KP_9000_6XHML_X2_V2_1
|
||||||
// #define MACHINE_KP_9000_6XH_X
|
// #define MACHINE_KP_9000_6XH_X
|
||||||
// #define MACHINE_KP_9000_6XH_X2
|
// #define MACHINE_KP_9000_6XH_X2
|
||||||
|
// #define MACHINE_KP_9000_6XH_X2_V2_1
|
||||||
// #define MACHINE_KP_9000_9XH_X_EU
|
// #define MACHINE_KP_9000_9XH_X_EU
|
||||||
// #define MACHINE_KP_9000_9XHML_X_V2_2
|
// #define MACHINE_KP_9000_9XHML_X_V2_2
|
||||||
// #define MACHINE_KP_9000_9XHML_X_V3_1
|
// #define MACHINE_KP_9000_9XHML_X_V3_1
|
||||||
|
|||||||
Reference in New Issue
Block a user