Files
Daniel Golle 6b84ce8a51 mediatek: filogic: add Adtran SDG-9000
The Adtran SDG-9000 is a 10G PoE router in a white steel case with
optional 19" rackmount brackets.

Specifications:
 * MediaTek MT7988A (4x Cortex-A73)
 * 32 GB eMMC
 * 4 GiB DDR4 RAM
 * 1x 10000M/5000M/2500M/1000M/100M combo WAN: RJ45 (Marvell
   CUX3410 PHY) or SFP+ cage, selected at boot
 * 1x 10000M/5000M/2500M/1000M/100M LAN port (Marvell CUX3410 PHY)
 * 8x 2500M/1000M/100M/10M LAN ports with PoE+ (MaxLinear MxL86282
   switch with built-in PHYs), 200 W total PoE budget, two Skyworks
   Si3474 PSE controllers
 * 1x 1000M/100M/10M management port (MT7988 built-in PHY)
 * 240x240 TFT touchscreen (ST7789 SPI LCD with CST816S touch)
 * 1 button (Reset)
 * uC-controlled RGB LED via I2C
 * RGBW LED for each PoE LAN port, 2x LED for the management port,
   3x LED for each 10G port, 2x LED for the SFP+ cage
 * 2x PWM fan (mainboard, power supply)
 * USB 3.0 type A port
 * USB-C console port, 115200 baud, Holtek HT42B534 USB-UART bridge
 * 100-240V AC 50-60Hz power input, IEC 60320 C14 inlet

The WAN port is selected by a GPIO-controlled mux that has no runtime
control, so it is chosen by one of two device tree overlays, wan-phy
and wan-sfp, carried as configurations of the FIT image. The mux is
selected by setting boot_default_config in the U-Boot environment:

 config-1                                       no WAN port
 config-1#mt7988a-smartrg-sdg-9000-wan-phy      RJ45 (CUX3410)
 config-1#mt7988a-smartrg-sdg-9000-wan-sfp      SFP+ cage

MAC addresses (base MFG_MAC from the mfginfo partition; the nvmem
cell index in the DTS is added to the base):

 wan        xx:xx:xx:xx:xx:x0  MFG_MAC
 aux        xx:xx:xx:xx:xx:x0  MFG_MAC
 lan1-lan9  xx:xx:xx:xx:xx:x1  MFG_MAC + 0x1
 br-lan     xx:xx:xx:xx:xx:x1  MFG_MAC + 0x1

The label shows MFG_MAC. aux is the only port present when netifd
starts, as lan1-lan9 appear once the mxl862xx driver has loaded, so
br-lan would take the MAC of aux. board.d sets the MAC of br-lan to
that of lan1-lan9.

Installation:

1. Prepare a TFTP server at 192.168.1.254 and serve the OpenWrt
   initramfs image, renamed to "openwrt.500".
2. Connect to the Management/Auxilary port.
3. Connect to the USB-C console port (USB CDC-ACM, 115200 8n1)
4. Power on the device and type "st" to enter the U-Boot command
   line. The window to do that might be very short, so type it as
   soon as the "U-Boot ..." string appears.
5. Run "setenv boot_mode openwrt; saveenv" to boot from OpenWrt
   partition by default.
6. Run "bootmenu" and select option 6 (TFTP openwrt image and
   boot); "run boot5" is a shortcut for the same. This downloads
   openwrt.500 from the TFTP server and boots it.
7. After OpenWrt finishes booting, download the OpenWrt sysupgrade
   image and write it to eMMC using "sysupgrade".
8. After sysupgrade finishes writing, the device reboots into
   OpenWrt. When the System LED is solid white the device is ready
   for configuration.
9. To use the WAN port, set boot_default_config to one of the values
   above, e.g. from OpenWrt with
   "fw_setenv boot_default_config config-1#mt7988a-smartrg-sdg-9000-wan-sfp".

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-10-07 00:03:51 +01:00
..