realtek: rtl931x: add support for Hasivo F5800W-12S+
This commit adds support for the Hasivo F5800W-12S+ 12-port SFP+ switch.
Based on board revision `RTL_12S+ v1.01`.
Hardware
--------
| | |
|----------|----------------------------------------------------------------|
| SoC | RTL9313 rev B |
| RAM | 512 MB Samsung K4B4G1646E |
| Flash | 32 MB Macronix MX25L25645G SPI NOR, 29 MB usable by OpenWrt |
| Ethernet | 12x SFP+ via SoC (10G/2.5G/1G) |
| LEDs | 12x green 10G link, 12x green 1G link, |
| | 3x green power and PSUs -- no system status LED |
| Button | Reset |
| Console | RJ45 38400 bps 8n1 |
| Watchdog | via Hasivo MCU |
| Power | 2x internal 100-240V AC PSUs with 2x C14 inputs |
| Clock | NXP PCF8563 with coin cell battery |
| Fans | 2x 40mm case fan via Hasivo MCU |
Installing OpenWrt
------------------
1. Attach to RJ45 serial console port using a cisco cable.
2. Attach SFP to port 12.
3. Serve initramfs-kernel.bin on TFTP 192.168.1.111.
4. Power on the device.
5. Interrupt U-Boot by pressing `Ctrl+c`, then `z`, then `h`, during 3 second countdown.
6. Bring up networking: `rtk network on ; rtk 10g 55 fiber10g`.
7. Boot from TFTP: `tftpboot 0x84f00000 initramfs-kernel.bin ; bootm 0x84f00000`.
8. Use `mtd dump` to make backups of all flash partitions.
9. Use SCP to copy `squashfs-sysupgrade.bin` to the device, then run `sysupgrade`.
Restoring factory firmware
--------------------------
OpenWrt uses the `RUNTIME` and `RUNTIME2` partitions as one combined partition.
To restore them from backups, boot from `initramfs-kernel.bin` just like during
the installation, then use `mtd write` to write your backups of the factory
`mtd5` and `mtd6` partitions to the live `mtd5` partition.
Notes/Quirks
------------
- U-Boot interruption is obfuscated. Press `Ctrl+c`, then `z`, then `h`,
during the 3 second countdown.
- MAC address is stored on the `RUNTIME` or `RUNTIME2` partitions,
which are used by OpenWrt. Instead, we generate one random MAC address
and store it in the U-Boot environment.
- There is no system status LED. The three non-network LEDs are for
primary PSU (MS label), secondary PSU (SL), and powered on/off (PW).
Signed-off-by: Lars Gierth <larsg@systemli.org>
Link: https://github.com/openwrt/openwrt/pull/23443
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>