openwrt/target/linux/mediatek/dts
Enrico Mioso b43194e041 mediatek: filogic: add support for GatoNetworks GDSP
The GatoNetworks GDSP is a re-branded version of the R5000 5G Industrial
router from Yinghua Technologies.
The re-branded device comes with OpenWrt preinstalled, and an OpenWrt-based
U-Boot bootloader version. While the flash layout has been kept compatible
with the OpenWrt version found on the stock device (see [5]), the image format
changed, making a bootloader upgrade necessary.

Specifications:
SoC: Mediatek MT7981BA
RAM: 256MB
Flash: SPI-NOR 32 MiB (Winbond W25Q256)
WLAN: MT7976CN DBDC AX Wi-Fi
Switch: MT7531AE (4x LAN Gigabit ports, 1x WAN Gigabit port)
5G: Quectel RM520N modem
Watchdog: an external WDT connected to GPIO 6 is present and always running;
          the built-in Mediatek watchdog is also present and effective, but
          not used at the moment.

This porting has been tested only with 1x 5G modems installed (the device
supports up to two).

Installation:
Installation is possible via sysupgrade both in the stock device and
re-branded version. However, in the former case, updating the bootloader is
required.

OpenWrt-based U-Boot Bootloader installation
--------------------------------------------
The firmware flashed in the re-branded device at manifacturing time will
flash an OpenWrt-based U-Boot bootloader with some extra recovery features
(see [1]) at first boot.
To update the bootloader, you need to install the mtd-rw module and
insmod it:

insmod mtd-rw i_want_a_brick=1

Then update relevant flash partitions:

mtd erase u-boot-env
mtd erase BL2
mtd erase FIP
mtd write openwrt-mediatek-filogic-gatonetworks_gdsp-preloader.bin BL2
mtd write openwrt-mediatek-filogic-gatonetworks_gdsp-bl31-uboot.fip FIP

And reboot, making sure all previous commands ran succesfully.
If something goes wrong, you can recover your device via the mtk_uartboot
tool.
In my testing, it was possible to start the process even without (un)-plugging
the device, may be handy for remote recovery.

Installation from stock device and firmware
-------------------------------------------
To install vanilla OpenWrt in the stock device (R5000 5G Industrial router
from Yinghua Technologies) running the stock vendor firmware, you will need
to update your bootloader as described in previous section. Remember to use
-F (force upgrade) and -n (not keeping settings).

U-Boot Recovery
---------------
This procedure has been tested only with the OpenWrt-based U-boot bootloader.
Assign your system static IP address 192.168.1.1 and start a TFTP server. The
device will look for an initramfs image named
openwrt-mediatek-filogic-gatonetworks_gdsp-initramfs-kernel.bin
(so you may use openwrt/bin/targets/mediatek/filogic as root dir for your
TFTP server).
Power on the device while keeping the reset button pressed, until you see
a TFTP request from 192.168.1.10. Your environment will be restored to it's
default state.

MAC addresses assignment
------------------------
MAC addresses are assigned slightly differently than in stock firmware. In
particular, the 5 GHz Wi-Fi uses 2.4 GHZ MAC + 1, rather than reusing it with
LA bit set as done in stock firmware. This MAC address is allocated to the
device, so it can be used.
The 2.4 GHz Wi-Fi MAC address is the label MAC. LAN MAC is used to set the
special U-Boot environment ethaddr variable.

device					MAC address		U-Boot env variable		factory partition offset
2.4 GHz Wi-Fi		:84						wifi_mac							0x4
5.8 GHz Wi-Fi		:85						not present						not present
WAN							:86						wan_mac								0x24
LAN							:87						lan_mac								0x2A

Notes
-----
[1]: the OpenWrt-based U-Boot bootloader you will find installed in the
re-branded device is configured to request for the initramfs image via
TFTP for $gdsp_tftp_tries times before trying normal boot from NOR flash.
Setting this U-Boot environment variable to 0x0 will disable the feature,
which is not implemented in this patch.
[2]: the exposed UART port is connected to ttyS1; the ttyS0 console port is
not exposed.
[3]: the provided bootloader environment has no provision for operating on
BL2 and the FIP partitions. This is an intentional choice to make it
(slightly) more difficult to brick the device.
[4]: it seems GPIO 6 is used both for the "SYS" LED and external WDT.
[5] BL2 expects to find FIP payload at a fixed offset, so some constraints
apply.

Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
2024-11-14 04:14:23 +00:00
..
mt7622-buffalo-wsr-2533dhp2.dts
mt7622-buffalo-wsr-3200ax4s.dts mediatek: correct address of MT753x switch IC 2024-04-24 21:05:46 +01:00
mt7622-buffalo-wsr.dtsi
mt7622-dlink-eagle-pro-ai-ax3200-a1.dtsi mediatek: correct address of MT753x switch IC 2024-04-24 21:05:46 +01:00
mt7622-dlink-eagle-pro-ai-m32-a1.dts
mt7622-dlink-eagle-pro-ai-r32-a1.dts
mt7622-elecom-wrc-2533gent.dts treewide: gpio to gpios 2024-06-17 12:57:06 +02:00
mt7622-elecom-wrc-x3200gst3.dts mediatek: correct address of MT753x switch IC 2024-04-24 21:05:46 +01:00
mt7622-linksys-e8450-ubi.dts mediatek: fix wrong compatible string 2024-10-06 21:56:04 +02:00
mt7622-linksys-e8450.dts
mt7622-linksys-e8450.dtsi mediatek: correct address of MT753x switch IC 2024-04-24 21:05:46 +01:00
mt7622-netgear-wax206.dts mediatek: correct address of MT753x switch IC 2024-05-09 19:43:54 +02:00
mt7622-reyee-ax3200-e5.dts
mt7622-rfb1-ubi.dts
mt7622-ruijie-rg-ew3200.dtsi mediatek: correct address of MT753x switch IC 2024-04-24 21:05:46 +01:00
mt7622-ruijie-rg-ew3200gx-pro.dts
mt7622-smartrg-SDG-841-t6.dts mediatek: mt7622: add Adtran SmartRG SDG-841t6 device 2024-10-15 17:55:05 +01:00
mt7622-totolink-a8000ru.dts
mt7622-ubnt-unifi-6-lr-v1-ubootmod.dts mediatek: wait for fitblk rootfs 2024-03-09 14:02:58 +00:00
mt7622-ubnt-unifi-6-lr-v1.dts
mt7622-ubnt-unifi-6-lr-v1.dtsi
mt7622-ubnt-unifi-6-lr-v2-ubootmod.dts mediatek: wait for fitblk rootfs 2024-03-09 14:02:58 +00:00
mt7622-ubnt-unifi-6-lr-v2.dts
mt7622-ubnt-unifi-6-lr-v2.dtsi
mt7622-ubnt-unifi-6-lr-v3-ubootmod.dts mediatek: wait for fitblk rootfs 2024-03-09 14:02:58 +00:00
mt7622-ubnt-unifi-6-lr-v3.dts
mt7622-ubnt-unifi-6-lr-v3.dtsi
mt7622-ubnt-unifi-6-lr.dtsi
mt7622-xiaomi-redmi-router-ax6s.dts mediatek: correct address of MT753x switch IC 2024-04-24 21:05:46 +01:00
mt7623a-unielec-u7623-02-emmc-512m.dts
mt7623a-unielec-u7623-02.dts mediatek: wait for fitblk rootfs 2024-03-09 14:02:58 +00:00
mt7623a-unielec-u7623-02.dtsi mediatek: correct address of MT753x switch IC 2024-05-09 19:43:54 +02:00
mt7629-iptime-a6004mx.dts mediatek: correct address of MT753x switch IC 2024-04-24 21:05:46 +01:00
mt7629-linksys-ea7500-v3.dts mediatek: Add support for Linksys EA7500 v3 2024-08-15 00:13:20 +02:00
mt7629-netgear-ex6250-v2.dts
mt7629-tplink_eap225-v5.dts
mt7981a-comfast-cf-e393ax.dts
mt7981a-edgecore-eap111.dts mediatek: EAP111: add label-mac-device 2024-08-10 18:00:14 +02:00
mt7981a-glinet-gl-x3000-xe3000-common.dtsi mediatek: fix u-boot env layout NVMEM definitions 2024-08-01 17:31:23 +02:00
mt7981a-glinet-gl-x3000.dts mediatek: Add support for GL.iNet X3000 (Spitz AX) and XE3000 (Puli AX) 2024-03-13 20:47:23 +00:00
mt7981a-glinet-gl-xe3000.dts mediatek: Add support for GL.iNet X3000 (Spitz AX) and XE3000 (Puli AX) 2024-03-13 20:47:23 +00:00
mt7981a-ubnt-unifi-6-plus.dts
mt7981b-abt-asr3000.dts mediatek: add ABT ASR3000 support 2024-07-21 16:13:06 +02:00
mt7981b-cetron-ct3003.dts
mt7981b-cmcc-rax3000m-emmc.dtso mediatek: switch to fitblk for cmcc rax3000m 2024-07-18 13:20:58 +01:00
mt7981b-cmcc-rax3000m-nand.dtso mediatek: switch to fitblk for cmcc rax3000m 2024-07-18 13:20:58 +01:00
mt7981b-cmcc-rax3000m.dts mediatek: switch to fitblk for cmcc rax3000m 2024-07-18 13:20:58 +01:00
mt7981b-confiabits-mt7981.dts
mt7981b-cudy-ap3000outdoor-v1.dts mediatek: filogic: add support for Cudy AP3000 Outdoor 2024-08-25 15:35:53 +02:00
mt7981b-cudy-m3000-v1.dts mediatek: filogic: prevent faulty mac address assignment 2024-05-25 12:41:26 +02:00
mt7981b-cudy-re3000-v1.dts
mt7981b-cudy-tr3000-v1.dts treewide: gpio to gpios 2024-06-17 12:57:06 +02:00
mt7981b-cudy-wr3000-v1.dts
mt7981b-dlink-aquila-pro-ai-m30-a1.dts filogic: Add support for D-Link AQUILA PRO AI M30 2024-03-31 19:01:20 +02:00
mt7981b-gatonetworks-gdsp.dts mediatek: filogic: add support for GatoNetworks GDSP 2024-11-14 04:14:23 +00:00
mt7981b-glinet-gl-mt2500.dts mediatek: fix u-boot env layout NVMEM definitions 2024-08-01 17:31:23 +02:00
mt7981b-glinet-gl-mt3000.dts treewide: gpio to gpios 2024-06-17 12:57:06 +02:00
mt7981b-h3c-magic-nx30-pro.dts mediatek: filogic: convert H3C Magic NX30 Pro to fitblk 2024-08-28 15:11:51 +01:00
mt7981b-jcg-q30-pro.dts mediatek: filogic: convert JCG Q30 PRO to fitblk 2024-08-28 15:11:51 +01:00
mt7981b-nokia-ea0326gmp.dts mediatek: fix wps button for nokia ea0326gmp 2024-06-07 14:19:39 +02:00
mt7981b-openembed-som7981.dts mediatek: add support for OpenEmbed SOM7981 2024-03-31 20:20:59 +02:00
mt7981b-openwrt-one.dts mediatek: set mac increment to 7 for the 5G radio on OpenWrt One 2024-11-05 10:11:44 +01:00
mt7981b-qihoo-360t7.dts mediatek: filogic: convert Qihoo 360T7 to fitblk 2024-08-28 15:11:51 +01:00
mt7981b-routerich-ax3000.dts
mt7981b-unielec-u7981-01-emmc.dts mediatek: fix u-boot env layout NVMEM definitions 2024-08-01 17:31:23 +02:00
mt7981b-unielec-u7981-01-nand.dts mediatek: filogic: add Unielec U7981-01 support 2024-03-25 18:14:19 +00:00
mt7981b-unielec-u7981-01.dtsi mediatek: filogic: add Unielec U7981-01 support 2024-03-25 18:14:19 +00:00
mt7981b-wavlink-wl-wn586x3.dts mediatek: filogic: Add support for Wavlink WL-WN586X3 2024-06-09 14:58:25 +02:00
mt7981b-xiaomi-mi-router-ax3000t-ubootmod.dts mediatek: filogic: convert Xiaomi AX3000T to fitblk 2024-08-28 15:11:51 +01:00
mt7981b-xiaomi-mi-router-ax3000t.dts
mt7981b-xiaomi-mi-router-ax3000t.dtsi
mt7981b-xiaomi-mi-router-common.dtsi
mt7981b-xiaomi-mi-router-wr30u-stock.dts
mt7981b-xiaomi-mi-router-wr30u-ubootmod.dts mediatek: filogic: convert Xiaomi WR30U to fitblk 2024-08-28 15:11:51 +01:00
mt7981b-xiaomi-mi-router-wr30u.dtsi
mt7981b-yuncore-ax835.dts mediatek: YunCore AX835: fix voltage regulator 2024-11-03 21:40:53 +01:00
mt7981b-zbtlink-zbt-z8102ax.dts mediatek: correct address of MT753x switch IC 2024-04-24 21:05:46 +01:00
mt7981b-zbtlink-zbt-z8103ax.dts
mt7981b-zyxel-nwa50ax-pro.dts treewide: rename ZyXEL to Zyxel 2024-08-25 15:08:25 +02:00
mt7986a-acelink-ew-7886cax.dts
mt7986a-acer-predator-w6.dts mediatek: filogic: convert Acer Predator W6 to use NVMEM framework 2024-10-18 12:38:21 +01:00
mt7986a-asus-rt-ax59u.dts
mt7986a-asus-tuf-ax4200.dts mediatek: fix DTS defining mt7530 switch phys but not referencing them 2024-04-13 18:49:30 +01:00
mt7986a-asus-tuf-ax6000.dts mediatek: ASUS TUF-AX6000: Add Green & Red LEDs 2024-10-12 22:16:28 +02:00
mt7986a-bananapi-bpi-r3-mini.dts
mt7986a-glinet-gl-mt6000.dts mediatek: fix u-boot env layout NVMEM definitions 2024-08-01 17:31:23 +02:00
mt7986a-jdcloud-re-cp-03.dts mediatek: increase phy assert time for jdcloud re-cp-03 2024-08-08 20:00:12 +02:00
mt7986a-netcore-n60.dts mediatek: filogic: convert Netcore N60 to fitblk 2024-08-28 15:11:51 +01:00
mt7986a-ruijie-rg-x60-pro.dts mediatek: add support for Ruijie RG-X60 Pro 2024-06-05 17:44:11 +01:00
mt7986a-smartrg-SDG-8612.dts
mt7986a-smartrg-SDG-8614.dts
mt7986a-smartrg-SDG-8622.dts
mt7986a-smartrg-SDG-8632.dts
mt7986a-smartrg-bonanza-peak.dtsi mediatek: use NVMEM framework on all Adtran devices 2024-10-15 17:56:06 +01:00
mt7986a-tplink-tl-xdr-common.dtsi mediatek: filogic: switch TP-LINK XDR series to fitblk 2024-04-09 15:07:41 +01:00
mt7986a-tplink-tl-xdr4288.dts
mt7986a-tplink-tl-xdr6086.dts
mt7986a-tplink-tl-xdr6088.dts
mt7986a-tplink-tl-xtr8488.dts mediatek: add support for TP-Link TL-XTR8488 2024-07-25 22:54:16 +02:00
mt7986a-xiaomi-redmi-router-ax6000-stock.dts
mt7986a-xiaomi-redmi-router-ax6000-ubootmod.dts mediatek: wait for fitblk rootfs 2024-03-09 14:02:58 +00:00
mt7986a-xiaomi-redmi-router-ax6000.dtsi mediatek: clean duplicated #include in Xiaomi Redmi AX6000's dts 2024-03-08 16:51:35 +08:00
mt7986a-zyxel-ex5601-t0-common.dtsi
mt7986a-zyxel-ex5601-t0-stock.dts
mt7986a-zyxel-ex5601-t0-ubootmod.dts mediatek: filogic: convert Zyxel EX5601-T0 to fitblk 2024-08-28 15:11:51 +01:00
mt7986a-zyxel-ex5700-telenor.dts filogic: add missing 2.5G PHY LEDs configuration for Zyxel EX5700 2024-09-06 22:17:45 +02:00
mt7986b-mercusys-mr90x-v1.dts
mt7986b-netgear-wax220.dts
mt7986b-tplink-re6000xd.dts mediatek: filogic: add support for TP-LINK RE6000XD 2024-07-04 22:14:32 +02:00
mt7988a-arcadyan-mozart.dts mediatek: filogic: add Arcadyan Mozart platform 2024-11-01 07:43:00 +01:00
mt7988a-smartrg-SDG-8733.dts mediatek: filogic: add Adtran SmartRG Mount Stuart series 2024-05-24 18:34:13 +01:00
mt7988a-smartrg-SDG-8734.dts mediatek: filogic: add Adtran SmartRG Mount Stuart series 2024-05-24 18:34:13 +01:00
mt7988a-smartrg-mt-stuart.dtsi mediatek: use NVMEM framework on all Adtran devices 2024-10-15 17:56:06 +01:00
mt7988d-smartrg-SDG-8733A.dts mediatek: use NVMEM framework on all Adtran devices 2024-10-15 17:56:06 +01:00