openwrt/target/linux/realtek/dts
Markus Stockhausen 4439b2ddc2 realtek: add support for D-Link DGS-1250-28X
Hardware specification
----------------------

* RTL9301 SoC, 1 MIPS 34KEc core @ 800MHz
* 512MB DRAM
* 64MB NAND Flash
* 24 x 10/100/1000BASE-T ports
* 4 x 10G SFP+ ports
* Power LED, Console LED, Fan Fault LED
* Reset button on front panel
* LM75 temperature sensor
* Atmel AT24C02 2kb eeprom
* fan (controllable via gpio for on/off and LM75 for low/high speed)
* UART (115200 8N1) via RJ45

Installation using serial interface
-----------------------------------

 1. Prepare TFTP server & connect to serial port.
 2. Connect DGS-1250 to your computer or network with one of the
    1G ports. All of them will be fine.
 3. Power on DGS-1250 and interrupt autoboot with "&".
 4. Change U-Boot startup sequence
	> setenv silent
	> setenv bootcmd 'cp.l 0xb4200000 0x84000000 0x300000; bootm 0x84000000'
	> saveenv
 5. Enable networking within U-Boot.
	> rtk network on
 6. Set switch IP and TFTP server IP (optional, adjust to your setup).
	> setenv ipaddr <ip>
	> setenv serverip <ip>
 7. Download initramfs image from TFTP server.
	> tftpboot 0x84000000 <image name>
 8. Boot with the downloaded image.
	> bootm 0x84000000
 9. With rambooted OpenWrt, backup the stock firmware.
    THIS IS CRITICAL! /dev/mtd3 contains data that is not provided
    in the downloadable vendor firmware images.
10. Copy sysupgrade image to the device.
11. Perform sysupgrade with the sysupgrade image.
12. After reboot, you should have functional OpenWrt.

Installation using OEM webinterface
-----------------------------------

This is not possible because the vendor image uses a ubifs based
loading technique with encrypted images. To be precise the boot
sequence basically runs as follows.

 1. U-Boot starts
 2. U-Boot mounts 62MB ubifs from mtd3
 3. U-Boot reads Linux kernel from file uImage inside ubifs
 4. Linux starts (this is a initramfs image)
 5. Linux mounts ubifs
 6. Linux calls a loader binary
 7. Depending on current configuration first (file Image1) or
    second firmware image (file Image2) is loaded and decrypted
 8. Inside the decrpyted firmware image there is a executable
    named “switch”
 9. "switch" executable is run and the switch comes alive

Reverting to stock firmware
---------------------------

 1. Boot OpenWrt from initramfs (like in installation section above)
 2. Restore partition /dev/mtd3 from backup
 3. Erase Openwrt special U-Boot env
	# mtd erase mtd1
 4. reboot

Further information
-------------------

Wiki: https://openwrt.org/toh/d-link/dgs-1250
Forum: https://forum.openwrt.org/t/support-for-d-link-dgs-1250-switches
Partition dumps: https://github.com/plappermaul/realtek-doc/tree/main/DGS-1250

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22530
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-30 19:10:46 +02:00
..
macros.dtsi realtek: dts: new SWITCH_PORT_LED() macro 2026-03-26 10:53:05 +01:00
rtl83xx_d-link_dgs-1210_common.dtsi
rtl83xx_d-link_dgs-1210_gpio_sfp.dtsi
rtl83xx_d-link_dgs-1210_gpio.dtsi
rtl83xx_hpe_1920.dtsi realtek: switch HPE 1920 series to NVMEM 2026-02-13 12:06:20 +01:00
rtl83xx_panasonic_mxxeg-pn28xx0k.dtsi
rtl93xx_linksys_lgs3xxc_nand_common.dtsi realtek: dts: convert LGS3xxC to NVMEM 2026-03-14 10:50:47 +01:00
rtl838x.dtsi realtek: dts: relocate/retype switch node 2026-03-21 22:26:02 +01:00
rtl839x_zyxel_gs1920-24hp-common.dtsi realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl839x.dtsi realtek: dts: relocate/retype switch node 2026-03-21 22:26:02 +01:00
rtl930x.dtsi realtek: dts: fix ethernet-switch node 2026-03-22 11:31:21 +01:00
rtl931x.dtsi realtek: dts: fix ethernet-switch node 2026-03-22 11:31:21 +01:00
rtl8380_d-link_dgs-1210-10mp-f.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8380_engenius_ews2910p-v1.dts realtek: engenius_ews2910p: support multiple hardware versions 2025-05-31 23:19:01 +02:00
rtl8380_engenius_ews2910p-v3.dts realtek: support EnGenius EWS2910P v3 2025-05-31 23:19:01 +02:00
rtl8380_engenius_ews2910p.dtsi realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8380_hpe_1920-8g-poe-65w.dts
rtl8380_hpe_1920-8g-poe-180w.dts
rtl8380_hpe_1920-8g.dts
rtl8380_hpe_1920-8g.dtsi realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8380_linksys_lgs310c.dts realtek: dts: convert LGS3xxC to NVMEM 2026-03-14 10:50:47 +01:00
rtl8380_netgear_gigabit.dtsi realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8380_netgear_gs108t-v3.dts
rtl8380_netgear_gs110tpp-v1.dts realtek: dts: add Netgear GS110TPP serdes for port 9/10 2026-03-24 22:00:55 +01:00
rtl8380_netgear_gs110tup-v1.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8380_netgear_gs308t-v1.dts
rtl8380_netgear_gs310tp-v1.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8380_panasonic_m8eg-pn28080k.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8380_tplink_sg2xxx.dtsi realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8380_tplink_sg2008p-v1.dts realtek: rtl838x: drop SFP pseudo-PHYs and phy-handle 2025-12-09 00:28:41 +01:00
rtl8380_tplink_sg2210p-v3.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8380_zyxel_gs1900_gpio_emulated.dtsi realtek: rtl838x: drop GS1900 MDIO reset GPIO 2026-02-24 21:29:26 +01:00
rtl8380_zyxel_gs1900_gpio.dtsi realtek: rtl838x: drop GS1900 MDIO reset GPIO 2026-02-24 21:29:26 +01:00
rtl8380_zyxel_gs1900-8-a1.dts realtek: rtl838x: rename GS1900 series v1/v2 to A1/B1 2025-09-24 13:41:04 +02:00
rtl8380_zyxel_gs1900-8-b1.dts realtek: rtl838x: rename GS1900 series v1/v2 to A1/B1 2025-09-24 13:41:04 +02:00
rtl8380_zyxel_gs1900-8hp-a1.dts realtek: rtl838x: rename GS1900 series v1/v2 to A1/B1 2025-09-24 13:41:04 +02:00
rtl8380_zyxel_gs1900-8hp-b1.dts realtek: rtl838x: rename GS1900 series v1/v2 to A1/B1 2025-09-24 13:41:04 +02:00
rtl8380_zyxel_gs1900-10hp-a1.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8380_zyxel_gs1900.dtsi realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_allnet_all-sg8208m.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_apresia_aplgs120gtss.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_d-link_dgs-1210-10p.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_d-link_dgs-1210-16.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_d-link_dgs-1210-20.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_d-link_dgs-1210-26.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_d-link_dgs-1210-28_common.dtsi realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_d-link_dgs-1210-28.dts
rtl8382_d-link_dgs-1210-28mp-f.dts
rtl8382_d-link_dgs-1210-28p_common.dtsi
rtl8382_d-link_dgs-1210-28p-f.dts
rtl8382_hpe_1920-16g.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_hpe_1920-24g-poe-180w.dts
rtl8382_hpe_1920-24g-poe-370w.dts
rtl8382_hpe_1920-24g.dts
rtl8382_hpe_1920-24g.dtsi realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_hpe_1920.dtsi realtek: dts: rearrange mdio-bus below mdio-controller 2025-09-12 20:58:17 +02:00
rtl8382_inaba_aml2-17gp.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_iodata_bsh-g24mb.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_panasonic_m16eg-pn28160k.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_panasonic_m24eg-pn28240k.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_tplink_t1600g-28ts-v3.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_zyxel_gs1900-16-a1.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_zyxel_gs1900-24-a1.dts realtek: use common dtsi for Zyxel GS1900-24 2026-01-27 01:34:21 +01:00
rtl8382_zyxel_gs1900-24-b1.dts realtek: add Zyxel GS1900-24 B1 device definition 2026-01-27 01:34:21 +01:00
rtl8382_zyxel_gs1900-24.dtsi realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_zyxel_gs1900-24e-a1.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_zyxel_gs1900-24ep-a1.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_zyxel_gs1900-24hp-a1.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8382_zyxel_gs1900-24hp-b1.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8391_zyxel_gs1920-24hp-v2.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8392_zyxel_gs1920-24hp-v1.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8393_d-link_dgs-1210-52.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8393_edgecore_ecs4100-12ph.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8393_hpe_1920-48g-poe.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8393_hpe_1920-48g.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8393_hpe_1920.dtsi realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8393_netgear_gs750e.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8393_panasonic_m48eg-pn28480k.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8393_tplink_sg2452p-v4.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl8393_zyxel_gs1900-48-a1.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl9301_d-link_dgs-1250-28x.dts realtek: add support for D-Link DGS-1250-28X 2026-03-30 19:10:46 +02:00
rtl9301_linksys_lgs328c.dts realtek: dts: cleanup of ethernet link speed 2026-03-30 15:00:31 +02:00
rtl9302_plasmacloud_common.dtsi realtek: mdio: drop realtek,smi-address property 2026-03-21 22:26:02 +01:00
rtl9302_plasmacloud_mcx3.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl9302_plasmacloud_psx8.dts realtek: rtl930x: Add support for Plasma Cloud PSX8 Switch 2025-08-28 21:07:57 +02:00
rtl9302_plasmacloud_psx10.dts realtek: dts: replace ports by ethernet-ports 2026-03-01 14:19:36 +01:00
rtl9302_xikestor_sks8300-12e2t2x.dts realtek: dts: cleanup of ethernet link speed 2026-03-30 15:00:31 +02:00
rtl9302_zyxel_xgs1x10-12-common.dtsi realtek: dts: cleanup of ethernet link speed 2026-03-30 15:00:31 +02:00
rtl9302_zyxel_xgs1010-12-a1.dts realtek: mdio: drop realtek,smi-address property 2026-03-21 22:26:02 +01:00
rtl9302_zyxel_xgs1210-12-a1.dts realtek: mdio: drop realtek,smi-address property 2026-03-21 22:26:02 +01:00
rtl9302_zyxel_xgs1210-12-b1.dts realtek: mdio: drop realtek,smi-address property 2026-03-21 22:26:02 +01:00
rtl9302_zyxel_xgs1210-12-common.dtsi realtek: switch Zyxel XGS1210 to NVMEM 2026-02-15 12:02:38 +01:00
rtl9302_zyxel_xgs1250-12-a1.dts realtek: mdio: drop realtek,smi-address property 2026-03-21 22:26:02 +01:00
rtl9302_zyxel_xgs1250-12-b1.dts realtek: mdio: drop realtek,smi-address property 2026-03-21 22:26:02 +01:00
rtl9302_zyxel_xgs1250-12-common.dtsi realtek: dts: cleanup of ethernet link speed 2026-03-30 15:00:31 +02:00
rtl9303_hasivo_s1100w-8xgt-se.dts realtek: dts: cleanup of ethernet link speed 2026-03-30 15:00:31 +02:00
rtl9303_hasivo_s1100wp-8gt-se.dts realtek: dts: cleanup of ethernet link speed 2026-03-30 15:00:31 +02:00
rtl9303_tplink_tl-st1008f-v2.dts realtek: dts: cleanup of ethernet link speed 2026-03-30 15:00:31 +02:00
rtl9303_vimin_vm-s100-0800ms.dts realtek: dts: cleanup of ethernet link speed 2026-03-30 15:00:31 +02:00
rtl9303_xikestor_sks8300-8t.dts realtek: dts: cleanup of ethernet link speed 2026-03-30 15:00:31 +02:00
rtl9303_xikestor_sks8300-8x.dts realtek: dts: cleanup of ethernet link speed 2026-03-30 15:00:31 +02:00
rtl9303_xikestor_sks8310-8x.dts realtek: dts: cleanup of ethernet link speed 2026-03-30 15:00:31 +02:00
rtl9311_linksys_lgs352c.dts realtek: dts: cleanup of ethernet link speed 2026-03-30 15:00:31 +02:00
rtl9312_plasmacloud_common.dtsi realtek: mdio: drop realtek,smi-address property 2026-03-21 22:26:02 +01:00
rtl9312_plasmacloud_esx28.dts realtek: rtl931x: Add support for Plasma Cloud ESX28 Switch 2025-10-04 16:16:22 +02:00
rtl9312_plasmacloud_psx28.dts realtek: rtl931x: Add support for Plasma Cloud PSX28 Switch 2025-10-04 16:16:22 +02:00
rtl9313_xikestor_sks8300-12x-v1.dts realtek: dts: cleanup of ethernet link speed 2026-03-30 15:00:31 +02:00