openwrt/target/linux
INAGAKI Hiroshi 0dc0b98295 realtek: add support for XikeStor SKS8300-8X
XikeStor (Seeker) SKS8300-8X is a 8 ports Multi-Gig switch, based on
RTL9303.

Specification:

- SoC             : Realtek RTL9303
- RAM             : DDR3 512 MiB
- Flash           : SPI-NOR 32 MiB (Winbond W25Q256JVFIQ)
- Ethernet        : 8x 1/2.5/10 Gbps (SFP+)
- LEDs/Keys (GPIO): 1x/1x
- UART            : "Console" port on the front panel
  - type          : RS-232C
  - connector     : RJ-45
  - settings      : 9600n8
- Watchdog        : Diodes PT7A7514WE
- Power           : 12 VDC, 2 A

Flash instruction using initramfs image:

 1. Prepare TFTP server with an IP address "192.168.2.36"
 2. Connect your PC to Port1 on SKS8300-8X
 3. Power on SKS8300-8X and interrupt by Ctrl + B
 4. Login to the vendor CLI by Ctrl + F and "diagshell_unipoe_env"
 5. Login to the U-Boot CLI by "debug_unish_env" command
 6. Enable Port1 with the following commands

    rtk 10g 0 fiber1g (or fiber10g if 10GBase-*R)
    rtk ext-devInit 0
    rtk ext-pinSet 2 0

    Note: the last command sets tx-disable to low

 7. Download initramfs image from TFTP server

    tftpboot 0x82000000 <image name>

 8. Boot with the downloaded image

    bootm

 9. On the initramfs image, backup the stock firmware if needed
10. Upload (or download) sysupgrade image to the device
11. Erase "firmware" partition to cleanup JFFS2 of stock FW

    mtd erase firmware

12. Perform sysupgrade with the sysupgrade image
13. Wait ~120 sec to complete flashing

Notes:

- A kernel binary "nos.img" needs to be stored into JFFS2 filesystem
  using 4KiB erase block instead of 64KiB.

- PT7A7514WE is handled by hardware-assited system LED output
  (blinking).

- Some Japanese users asked to XikeStor about maximum power limit of
  SFP+ ports and got approximate criteria:

  - per port       : <=  2.9 W
  - total (8 ports): <= 15.8 W

MAC addresses:

eth0   : 84:E5:D8:xx:xx:37 (board-info (stock:"flash_raw"), 0x218 (hex))
(ports): 84:E5:D8:xx:xx:36 (board-info (stock:"flash_raw"), 0x1f1 (hex))

Reverting to stock firmware:

1. Prepare OpenWrt SDK to use the mkfs.jffs2 tool contained in it

   Note: the official mkfs.jffs2 tool in mtd-utils doesn't support 4KiB
         erase size and not usable for SKS8300-8X

2. Create a directory for working
3. Download official firmware for SKS8300-8X from XikeStor's official
   website
4. Rename the downloaded firmware to "nos.img" and place it to the
   working directory
5. Create a JFFS2 filesystem binary with the working directory

   /path/to/mkfs.jffs2 -p -b -U -v -e 4KiB -x lzma \
       -o nos.img.jffs2 -d /path/to/working/dir/

6. Upload the created JFFS2 filesystem binary to the device
7. Erase the "firmware" partition

   mtd erase firmware

8. Write the JFFS2 filesystem binary to the "firmware" partition

   mtd write /path/to/nos.img.jffs2 firmware

9. After writing, reboot the device by power cycle

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17593
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2025-01-21 18:37:51 +01:00
..
airoha kernel: bump 6.6 to 6.6.72 2025-01-21 00:18:28 +01:00
apm821xx apm821xx: fixes WNDAP620 + WNDAP660 sysupgrade failures 2025-01-12 10:19:05 +01:00
archs38 kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
armsr armsr: change image names to 'combined-efi' 2025-01-15 01:51:47 +00:00
at91 kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
ath79 ath79: meraki-mr18: fix initramfs build 2025-01-21 10:02:33 +01:00
bcm27xx kernel: bump 6.6 to 6.6.72 2025-01-21 00:18:28 +01:00
bcm47xx kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
bcm53xx kernel: bump 6.6 to 6.6.70 2025-01-10 13:41:30 +01:00
bcm4908 kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
bmips generic: move gpio-regmap request/free ops patch from realtek 2025-01-08 18:10:46 +01:00
d1 d1: Use correct module for devices with wifi 2025-01-13 23:38:19 +01:00
gemini kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
generic kernel: bump 6.6 to 6.6.72 2025-01-21 00:18:28 +01:00
imx kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
ipq40xx ipq4019: patch initialization of Lantiq DSL on FritzBox 7530. 2025-01-18 18:50:51 +01:00
ipq806x ipq806x: chromium: Support Chromium "crossystem" GPIO tooling 2025-01-10 11:50:44 +01:00
ixp4xx ixp4xx: Break out mv88e6060 DSA switch to package 2025-01-02 02:30:24 +01:00
kirkwood kirkwood: Make the Marvell DSA switch a module 2024-12-16 22:03:05 +01:00
lantiq lantiq: xrx200: fb7430 set correct label-mac 2025-01-21 00:15:41 +01:00
layerscape kernel: bump 6.6 to 6.6.64 2024-12-13 21:40:02 +01:00
loongarch64 loongarch64: remove redundant CONFIG_LIST_HARDENED 2024-12-30 13:53:40 +01:00
malta kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
mediatek mediatek: Xiaomi AX3000t: fix soft brick for the rd23 model 2025-01-21 00:37:48 +01:00
mpc85xx kernel: bump 6.6 to 6.6.64 2024-12-13 21:40:02 +01:00
mvebu mvebu: WD Cloud Mirror Gen2: Remove stty dependency 2025-01-13 23:56:09 +01:00
mxs mxs: run kernel_oldconfig 2024-11-23 16:47:53 +01:00
octeon octeon: add kmod-usb-dwc3-octeon to DEFAULT_PACKAGES 2024-12-28 10:36:52 +01:00
omap kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
pistachio kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
qoriq kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
qualcommax qualcommax: dl-wrx36: fix 2.5G port LED-s 2025-01-18 16:09:32 +01:00
ramips ramips: fixes for Keenetic KN-1711,1713,1910 2025-01-19 18:03:05 +01:00
realtek realtek: add support for XikeStor SKS8300-8X 2025-01-21 18:37:51 +01:00
rockchip kernel: bump 6.6 to 6.6.72 2025-01-21 00:18:28 +01:00
sifiveu kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
siflower kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
starfive kernel: bump 6.6 to 6.6.72 2025-01-21 00:18:28 +01:00
stm32 stm32: Remove unnecessary kernel options 2024-11-24 22:51:14 +01:00
sunxi kernel: bump 6.6 to 6.6.61 2024-11-16 00:25:14 +01:00
tegra kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
uml uml: fix glibc-static check with GCC14 2024-06-22 22:06:06 +02:00
x86 x86: Deactivate kernel options with extra overhead 2024-11-24 20:03:59 +01:00
zynq kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00