Commit Graph
100 Commits
Author SHA1 Message Date
Tianling ShenandNick Hainke 86e3c31bcc rockchip: restore files for v6.12
This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/23139
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-05-09 00:29:35 +02:00
Tianling ShenandNick Hainke 2c9986eedd rockchip: create files for v6.18 (from v6.12)
This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/23139
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-05-09 00:29:34 +02:00
Tianling ShenandHauke Mehrtens c8aa9beb43 mediatek: add GL.iNET GL-MT3600BE support
Hardware specification:
  SoC: MediaTek MT7987A 4x A53
  Flash: 512 MB SPI-NAND
  RAM: 512MB DDR4
  Ethernet: 2x 2.5GbE (built-in + RTL8221B)
  WiFi: MediaTek MT7990
  USB: 1x USB 3.0 port
  Button: Mode, Reset
  Power: Type-C PD 5/9/12V

Flash instructions:
  1. Power on the device with 'reset' key pressed for 5s
  2. Set static IP on your PC:
     IP 192.168.1.10/24, GW 192.168.1.1
  3. Visit http://192.168.1.1 and upload sysupgrade.bin

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/22476
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-27 00:27:55 +02:00
Tianling ShenandHauke Mehrtens 845fbd0468 kernel: enable stmmac driver build for loongarch64
This is required to build the motorcomm dwmac driver which is widely
used on loongson platforms.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/22923
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-23 00:52:00 +02:00
Tianling ShenandHauke Mehrtens 5917c67af9 kernel: backport Motorcomm YT6801 PCIe ethernet driver support
Motorcomm YT6801 is a PCIe ethernet controller based on DWMAC4 IP. It
integrates an GbE phy, supporting WOL, VLAN tagging and various types
of offloading. It ships an on-chip eFuse for storing various vendor
configuration, including MAC address.

The PM and plat_data functions were slightly modified to build with
current kernel.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/22923
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-23 00:52:00 +02:00
Tianling ShenandHauke Mehrtens 609deedd87 rockchip: fix set default serial_{addr,port} in boot script
On some SoCs like RK3399, U-Boot no longer export the serial
address in $stdout variable, it has been changed to something like
`stdout=serial,vidconsole` since video supported was added. So
detect $soc variable instead, this also makes the script more clear.

Addtional note: rk3566 is reported as rk3568, rk3582 is reported as
rk3588 in $soc.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/21610
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-01-21 23:56:42 +01:00
Tianling ShenandRobert Marko c79fa27cbf rockchip: fix kernel tag for backported patches
These patches were actually merged in kernel 6.19 instead of 6.18,
fix them to avoid confusing when moving to new kernel version.

While at it, refresh the RK3528 PCIE L1ss patch since it was
accepted in 6.19 as well.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/21419
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-01-07 10:44:11 +01:00
Tianling ShenandHauke Mehrtens e159d1ec81 rockchip: drop sdmmc speed limitation for RK3576/RK3588
The stability issue doesn't seem to be found on newer rockchip SoCs
like RK3528, RK3576 and RK3588, so drop the sdr50 limitation.

In addtion, the HS200 limitation for NanoPC T6 is also removed as
upstream fixed the real issue in mmc driver.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20432
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-06 00:56:32 +01:00
Tianling ShenandHauke Mehrtens 4582d25a66 rockchip: backport MMC CQE fixes
Added missing platform data struct for RK3576 to fix boot issues,
fixed general stability issues and also improved random write
performance.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/21028
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-04 22:28:06 +01:00
Tianling ShenandHauke Mehrtens d2fa070f70 mediatek: fix ubi size for zbtlink zbt z8102ax v2
According to the factory uboot and firmware[1], the ubi size is set
to 512 MiB (0x20000000) and it exceeds the size of the flash, after
that the uboot and kernel resizes it to 114.5 MiB (0x7280000) instead
of 114.125 MiB (0x7220000). The mismatch of the ubi size causes
kernel fails to read ubi volumes and throws panic.

Trim whitespaces while at it.

1. https://github.com/immortalwrt/immortalwrt/issues/2123#issuecomment-3523744128

Fixes: c908fc7d95 ("mediatek: add support for Zbtlink ZBT-Z8102AX v2")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20769
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-20 23:26:29 +01:00
Tianling ShenandRobert Marko 0ccb7c9100 rockchip: backport eMMC CQE support
Backport eMMC Command Queuing support for RK3576/RK3588.

As the RK3576 device-tree has been upstreamed with the 'supports-cqe;'
property set by default, the kernel already tried to use CQE, which
results in system hang during suspend. This fixes the issue.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20780
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-18 17:26:45 +01:00
Tianling ShenandHauke Mehrtens 2f184801c3 rockchip: add Radxa ROCK 2A/F support
Hardware
--------
RockChip RK3528 ARM64 (4 cores)
1/2/4GB LPDDR4 RAM
1x LED (state)
1x Reset button
0/8/16/32/64GB eMMC on-board
Micro-SD Slot
PCIe FPC connector
3x USB 2.0 Port
HDMI/AV OUT
USB Type-C 5V Power

ROCK 2A:
+ 3.5mm audio out
+ 1000 Base-T
+ SYS LED
+ USB 3.0 Port (conflicts with PCIe)

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20375
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-15 19:56:27 +01:00
Tianling ShenandHauke Mehrtens b400ef9dbc uboot-rockchip: add ROCK 2A/2F support
Add support for the Radxa ROCK 2A/2F board.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20375
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-15 19:56:27 +01:00
Tianling ShenandHauke Mehrtens da08958a30 rockchip: add Radxa E20C support
Hardware
--------
RockChip RK3528 ARM64 (4 cores)
1/2/4GB LPDDR4 RAM
2x 1000 Base-T
3x LEDs (LAN / SYS / WAN)
1x User button
0/8/16/32/64GB eMMC on-board
Micro-SD Slot
USB 2.0 Port
USB Type-C 5V2A Power

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20375
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-15 19:56:27 +01:00
Tianling ShenandHauke Mehrtens 9aca1216d1 uboot-rockchip: add Radxa E20C support
Add support for the Radxa E20C board.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20375
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-15 19:56:27 +01:00
Tianling ShenandHauke Mehrtens decaf4cc7a uboot-rockchip: backport updates for RK3528
Added USB boot support and eMMC r/w fixes for RK3528.
Refreshed upstreamed patches while at it.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20375
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-15 19:56:27 +01:00
Tianling ShenandHauke Mehrtens bdb269c163 rockchip: unset KERNEL_LOADADDR in default profile
Unset KERNEL_LOADADDR in default profile to avoid using the value
from other boards (if someone forgets to set KERNEL_LOADADDR).

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20375
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-15 19:56:27 +01:00
Tianling ShenandHauke Mehrtens 9483f4459f rkbin: pack rk3528 atf/tpl blobs
Currently there's no usable mainline (open source) TF-A implementation
for rk3528 SoCs, so pack the prebuilt firmware from the vendor.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20375
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-15 19:56:27 +01:00
Tianling ShenandHauke Mehrtens 221e6c845c rockchip: backport pending driver/dts updates for rk3528
Backport pending nvmem/thermal/usb updates for rk3528.
These patches are not merged by upstream yet but worthy to have here.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20375
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-15 19:56:27 +01:00
Tianling ShenandHauke Mehrtens 97b90c5951 rockchip: backport dts updates for rk3528
Backport core dts updates for rk3528.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20375
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-15 19:56:27 +01:00
Tianling ShenandHauke Mehrtens c7a26da60d rockchip: backport driver updates for rk3528
Backport clk/mac/phy driver updates for rk3528.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20375
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-15 19:56:27 +01:00
Tianling ShenandHauke Mehrtens fefd50ec00 rockchip: add missing KERNEL_LOADADDR for LinkEase EasePi R1
Commit 8ca4caacd0 ("rockchip: Add support for RK3568 LinkEase EasePi R1")
forgot to include the SoC recipe, which leads KERNEL_LOADADDR undefined.

Fixes: 8ca4caacd0 ("rockchip: Add support for RK3568 LinkEase EasePi R1")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20722
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 00:11:16 +01:00
Tianling ShenandHauke Mehrtens d720ad5254 rockchip: fix assign IRQ SMP affinity for Radxa E52C
The ifname was renamed to `lan`/`wan` in commit 1f1db75432
 ("rockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T"),
update accordingly.

Fixes: 1f1db75432 ("rockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20722
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 00:11:16 +01:00
Tianling ShenandHauke Mehrtens 8a7de107d8 mediatek: add Konka KOMI A31 support
This board is also as known as E-Life ETR631-T/ETR635-U.

Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 128 MB SPI-NAND
  RAM: 256MB DDR3
  Ethernet: 4x 10/100/1000 Mbps
  Switch: MediaTek MT7531AE
  WiFi: MediaTek MT7976C
  Button: Reset, Mesh
  Power: DC 12V 1A

Gain telnet access:
1. Login into web interface, and download the configuration.
2. Uncompress the configuration:
     * Enter fakeroot if you are not login as root.
   tar -zxf <filename>.tar.gz
3. Edit 'etc/passwd', remove root password: 'root::1:0:99999:7:::'.
4. Edit 'etc/rc.local', insert telnetd command before 'exit 0':
   ( sleep 3s; telnetd; ) &
5. Repack the configuration:
   tar -zcf backup.tar.gz etc/
6. Upload new configuration via web interface, now you can connect to
   KOMI A31 via telnet.

Flash instructions:
1. Connect to KOMI A31, backup everything, especially 'Factory' part.
2. Write new BL2:
   mtd write openwrt-mediatek-filogic-konka_komi-a31-preloader.bin BL2
3. Write new FIP:
   mtd write openwrt-mediatek-filogic-konka_komi-a31-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After OpenWrt has booted, perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20357
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-23 00:00:04 +02:00
Tianling ShenandNick Hainke c19ad8db1b rockchip: add FriendlyElec NanoPi R76S support
Hardware
--------
RockChip RK3576 ARM64 (8 cores)
2/4GB LPDDR4X RAM
2x 2500 Base-T (PCIe, rtl8125b)
3x LEDs (POWER / LAN / WAN)
3x Buttons (MaskROM, Power, Reset)
32GB eMMC on board
Micro-SD Slot
HDMI OUT
M.2 E-key *SDIO* slot
1x USB 3.0 Port
USB Type-C 5V Power

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20423
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-10-16 21:39:16 +02:00
Tianling ShenandNick Hainke d1f281a534 mac80211: realtek: rtw88: add RTL8822CS support
Add Realtek RTL8822CS support to the rtw88 package.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20423
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-10-16 21:39:16 +02:00
Tianling ShenandNick Hainke 875e0bf791 uboot-rockchip: add u-boot device tree back for Radxa ROCK 4D
This was removed by mistake.

Fixes: 292cca0e5c ("uboot-rockchip: Update to 2025.10")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20376
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-10-11 21:56:15 +02:00
Tianling ShenandNick Hainke 292cca0e5c uboot-rockchip: Update to 2025.10
Removed upstreamed patches, rebased local patches.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20331
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-10-10 11:07:48 +02:00
Tianling ShenandHauke Mehrtens b81b576556 rockchip: make use of OpenWrt compiled dtbs
OpenWrt buildroot will compile all dtbs defined in target to
$(KDIR)/image-$(DEVICE_DTS).dtb, so make use of it to allow us
debug and use external dtbs easier without patching kernel Makefile.

This also fixes commit 5c724939c3 which forgot to update DTS_DIR
in KERNEL variable.

Fixes: 5c724939c3 ("rockchip: add DEVICE_DTS_DIR definition")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20286
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-04 15:01:50 +02:00
Tianling ShenandHauke Mehrtens 17b7af8cba rockchip: add Radxa ROCK 4D support
Hardware
--------
RockChip RK3576 ARM64 (8 cores)
2/4/8/16GB LPDDR5 RAM
1x 1000 Base-T (with optional PoE support)
2x LEDs (POWER / USER)
eMMC/UFS connector
Micro-SD Slot
HDMI OUT
PCIe FPC connector
2x USB 2.0 Port
2x USB 3.0 Port
USB Type-C PD Power

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-02 22:42:35 +02:00
Tianling ShenandHauke Mehrtens 24eb59779a uboot-rockchip: add Radxa ROCK 4D support
Add support for the Radxa ROCK 4D board.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-02 22:42:35 +02:00
Tianling ShenandHauke Mehrtens 355528e427 uboot-rockchip: backport RK3576 support
Backport core support for RK3576 SoCs.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-02 22:42:35 +02:00
Tianling ShenandHauke Mehrtens 3c8f6e33df rkbin: pack rk3576 tpl blob
Currently there's no usable open source TPL implementation for
rk3576 SoCs, so pack the prebuilt firmware from the vendor.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-02 22:42:35 +02:00
Tianling ShenandHauke Mehrtens f3ce00558e arm-trusted-firmware-rockchip: Update to 2.13
Add RK3576 ATF build.

Changelog: https://trustedfirmware-a.readthedocs.io/en/v2.13.0/change-log.html#id1

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-02 22:42:35 +02:00
Tianling ShenandHauke Mehrtens 3a35a2cff1 rockchip: backport dts updates for rk3576
Backport core dts updates for rk3576.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-02 22:42:35 +02:00
Tianling ShenandHauke Mehrtens 0a6ed6db26 rockchip: backport driver updates for rk3576
Backport clk/phy/rng/ufs/usb driver updates for rk3576.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-02 22:42:34 +02:00
Tianling ShenandHauke Mehrtens cf4365e767 rockchip: use per-SoC defined kernel loadaddr
The FIT loadaddr on RK3308/RK3566/RK3568/RK358x is 0x02000000
instead of 0x02080000, while on RK3576 it's 0x42000000, which is
quite different from the former SoCs and incompatible with current
kernel loadaddr value.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-02 22:42:34 +02:00
Tianling ShenandHauke Mehrtens 5c724939c3 rockchip: add DEVICE_DTS_DIR definition
Avoid duplicating `rockchip/` prefix when specifying dts path.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-02 22:42:34 +02:00
Tianling ShenandRobert Marko 86618df095 kernel: fix dependencies for kmod-gpio-pwm
gpio pwm driver is only available on kernel 6.11+.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20187
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-09-26 19:11:32 +02:00
Tianling ShenandRobert Marko b63a48b012 uboot-mediatek: update Airoha EN8811H driver
Use the version sent to upstream U-Boot[1], which has much better
code quality and also works better (without packet loss).

The `en8811h_read_fw` func is adapted to use current read logic.

1. https://lore.kernel.org/u-boot/20250720122852.22563-1-lucienzx159@gmail.com/

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20000
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-09-14 11:12:10 +02:00
Tianling ShenandHauke Mehrtens d76a774270 rockchip: add Lunzn FastRhino R66S support
Hardware
--------
RockChip RK3568 ARM64 (4 cores)
1/2GB LPDDR4 RAM
2x 2500 Base-T (PCIe, r8125b)
1 LED (Power)
1 Button (Reset)
Micro-SD Slot
2x USB 3.0 Port
12V DC Jack

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card using
dd.

Tested-by: Francisco G Luna <frangonlun@gmail.com>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19990
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-11 22:17:43 +02:00
Tianling ShenandHauke Mehrtens 678536740e uboot-rockchip: add Fastrhino R66S support
Add support for the Lunzn FastRhino R66S board.

Tested-by: Francisco G Luna <frangonlun@gmail.com>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19990
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-11 22:17:43 +02:00
Tianling ShenandHauke Mehrtens 689eebd8d2 rkbin: rename tpl-only target
No need to copy ATF blob again.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19998
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-11 21:35:05 +02:00
Tianling ShenandHauke Mehrtens 798fcd8742 rkbin: bump to latest git HEAD
Improved memory detection and stability.

Tested-by: FUKAUMI Naoki <naoki@radxa.com>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19998
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-11 21:35:04 +02:00
Tianling ShenandHauke Mehrtens 672e45e69f rockchip: increase the number of serial ports for rk35xx
The RK356x/RK3588 SoCs support up to 10 serial ports.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19917
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-08 15:04:23 +02:00
Tianling ShenandHauke Mehrtens 13db7a0708 rockchip: backport GATE_LINK support for RK3588
Apart from improved power consumption, this fixes the runtime errors
from the pmdomain driver (failed to set idle on domain '%s')

Backport four clk fixes while at it.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19925
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-08 14:28:49 +02:00
Tianling ShenandHauke Mehrtens 3735317acc rockchip: refresh and reorder patches
- Replace NanoPi R3S patch with upstreamed version
- Merge NanoPC T6 mmc fixes patches
- Reorder patches to start from 001

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19925
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-08 14:28:49 +02:00
Tianling ShenandHauke Mehrtens a140bcbc7c kernel: add support for FudanMicro FM25S01A SPI-NAND
Add support for FudanMicro FM25S01A SPI NAND.
Datasheet: http://eng.fmsh.com/nvm/FM25S01A_ds_eng.pdf

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
[add lore.kernel.org link to the patch files]
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19760
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-08 14:02:52 +02:00
Tianling ShenandHauke Mehrtens 8056b13965 uboot-rockchip: Update to 2025.07
Update to 2025.07.

Tested-by: FUKAUMI Naoki <naoki@radxa.com>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19923
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-03 21:13:52 +02:00
Tianling ShenandHauke Mehrtens b21702805f arm-trusted-firmware-rockchip: Update to 2.12.6
Bump GCC toolchain while at it.

Changelog: https://trustedfirmware-a.readthedocs.io/en/lts-v2.12.6/change-log.html#lts-2-12-6-2025-08-29

Tested-by: FUKAUMI Naoki <naoki@radxa.com>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19923
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-03 21:13:52 +02:00
Tianling ShenandNick Hainke 4e9fbc75c7 tools/7z: update to 25.01
This version contains fixes for CVE-2025-55188.
Changelog: https://www.7-zip.org/history.txt

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19742
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-08-17 11:09:46 +02:00
Tianling ShenandHauke Mehrtens 69f8f17f00 mbedtls: restore previous configuration behavior
Fallback to default mbedtls configurations in case of the package is
not configured. It is possible for some reasons it get built even if
it's unselected because of build system bugs or other build-only
dependencies. In this case current behavior will comment out all
necessary configurations and lead build errors.

Fixes: 5359639c2b ("mbedtls: Apply configuration in Configure instead of Prepare")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19495
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-24 00:30:05 +02:00
Tianling ShenandNick Hainke 9add155a20 rockchip: switch to kernel 6.12
Switch to kernel 6.12 and remove kernel 6.6 files.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19259
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-07-01 22:10:20 +02:00
Tianling ShenandHauke Mehrtens 53b213b99b rockchip: add kernel 6.12 as testing kernel
Add kernel 6.12 as testing kernel.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18683
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-14 17:22:52 +02:00
Tianling ShenandHauke Mehrtens 966b365614 rockchip: refresh kernel configs
Refresh kernel configs with `make kernel_oldconfig CONFIG_TARGET=subtarget`.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18683
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-14 17:22:52 +02:00
Tianling ShenandHauke Mehrtens 9a59eac049 rockchip: refresh kernel patches
Remove upstreamed patches and refresh remaining ones.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18683
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-14 17:22:52 +02:00
Tianling ShenandHauke Mehrtens eb974c3b3e rockchip: Restore kernel files for v6.6
This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18683
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-14 17:22:52 +02:00
Tianling ShenandHauke Mehrtens 23b5f3a90a rockchip: Create kernel files for v6.12 (from v6.6)
This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18683
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-14 17:22:52 +02:00
Tianling ShenandHauke Mehrtens 53b87d660b uboot-mediatek: update patch for Cudy TR3000-v1 and SNR SNR-CPE-AX2
Update the reference to gpio props.

Fixes: 2a32d215ba ("uboot-mediatek: bump to v2025.04")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18988
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-03 23:24:07 +02:00
Tianling Shen 6f8c58bfd8 mediatek: add ubootmod layout for cudy tr3000 v1
This allows us to use the full size of nand, which increases ubi size
from 64M to 122.25M.

If you are at factory firmware, please refer commit 63b8d98dd0 ("mediatek: add support for Cudy TR3000 v1")
to boot into OpenWrt initramfs (stock layout).

Flash instructions:
1. Login into the device and backup everything, especially 'Factory' part.
1. Unlock mtd partitions:
   apk update && apk add kmod-mtd-rw
   insmod mtd-rw i_want_a_brick=1
3. Write new BL2 and FIP
   mtd write openwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-preloader.bin BL2
   mtd write openwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After OpenWrt has booted, perform sysupgrade.

Tested-by: Yangyu Chen <cyy@cyyself.name>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-05-27 19:56:55 +08:00
Tianling ShenandRobert Marko 4044ce7109 kernel: add missing Kconfig symbols
Found when building rockchip target (with kernel 6.12).

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18685
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-11 13:11:46 +02:00
Tianling ShenandRobert Marko 38b14a8308 lantiq: fix syntax error for fritz736x
Add missing semicolon to the end of the property.
Remove whitespace while at it.

Fixes: 5a3b9d88f1 ("lantiq: Improve support for LED's fritz736x")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18594
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-25 15:21:08 +02:00
Tianling ShenandHauke Mehrtens 2091c29578 ramips: fix reading mac address for hiwifi hc5962
The spaces in variables have been stripped since commit 551e04f3c9
("base-files: strip space and tab characters from ASCII mac address"),
resulting "Vfac_mac " matches nothing. Fix the issue by removing the
space at end.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18150
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-08 20:12:11 +01:00
Tianling ShenandHauke Mehrtens 96c6608346 mediatek: add support for CMCC A10
This board is also as known as SuperElectron ZN-M5 and ZN-M8. However,
for ZN-M5 and ZN-M8, there's another version uses ZX279128 as CPU
chip, which is unsupported.
You can check it in "高级设置" > "系统日志" > "内核日志" page from webUI.

Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 128 MB SPI-NAND
  RAM: 256MB
  Ethernet: 4x 10/100/1000 Mbps
  Switch: MediaTek MT7531AE
  WiFi: MediaTek MT7976C
  Button: Reset, WPS
  Power: DC 12V 1A

Stock layout flash instructions:
Login into webUI and upload sysupgrade firmware in "系统管理" > "升级固件" page.
Remember to unselect "保留配置" ("Keep configurations") first before doing that.

OpenWrt U-Boot layout flash instructions:
1. Flash stock layout firmware first.
2. Connect to the device via SSH, and backup everything,
   especially 'Factory' partition.
3. Unlock MTD partitions:
   apk update && apk add kmod-mtd-rw
   insmod mtd-rw i_want_a_brick=1
4. Write new BL2 and FIP:
   mtd write openwrt-mediatek-filogic-cmcc_a10-ubootmod-preloader.bin BL2
   mtd write openwrt-mediatek-filogic-cmcc_a10-ubootmod-bl31-uboot.fip FIP
5. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
6. Serve OpenWrt initramfs image using TFTP server.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After OpenWrt has booted, perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18121
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-08 15:44:56 +01:00
Tianling ShenandHauke Mehrtens 92814fec77 uboot-rockchip: bump to 2025.01
Removed upstreamed patches.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17558
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-09 13:51:49 +01:00
Tianling ShenandRobert Marko 8a477bafb4 rockchip: fix phy reset on rk356x
The commit 7160820d742a ("phy: rockchip: naneng-combphy: fix phy reset")
was backported to kernel 6.6 branch by upstream, however the correspond
dtsi fixes was not, resulting the following error:
```
[    0.225521] rockchip-naneng-combphy fe830000.phy: error -ENOENT: failed to get phy reset
[    0.227467] rockchip-naneng-combphy fe840000.phy: error -ENOENT: failed to get phy reset
```

So backport the dtsi fixes here manually.

Fixes: 89b2356b8c ("kernel: bump 6.6 to 6.6.69")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17468
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-01-03 15:59:25 +01:00
Tianling ShenandHauke Mehrtens 6881b48dc6 rockchip: enable USB3 port on NanoPC T6
Enable the USB3 port on FriendlyELEC NanoPC-T6.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17349
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-01 14:11:55 +01:00
Tianling ShenandHauke Mehrtens 8ad02ca2f8 rockchip: backport recent rk3588 clk updates
Backport recent rk3588 clk updates from upstream,
including one bug fix.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17349
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-01 14:11:55 +01:00
Tianling ShenandHauke Mehrtens 4e68103c4e uboot-rockchip: fix build with swig 4.3.0
Fixes the following error by backporting upstream update:
```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
 5581 |     resultobj = SWIG_Python_AppendOutput(resultobj, val);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
```

Fixes: https://github.com/openwrt/openwrt/issues/17345
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17352
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-23 21:21:49 +01:00
Tianling ShenandHauke Mehrtens 967a6a2cf5 uboot-rockchip: increase rng-seed size
Increase rng-seed size to make Linux happy and initialize rng pool instantly.
Linux 5.19+ requires 32 bytes of entropy to initialize random pool, but u-boot
currently provides only 8 bytes.

Boot with 8 byte rng-seed (Linux 6.11):
    # dmesg | grep crng
    [   12.089286] random: crng init done
Boot with 32 byte rng-seed (Linux 6.11):
    # dmesg | grep crng
    [    0.000000] random: crng init done

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17352
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-23 21:21:49 +01:00
Tianling ShenandHauke Mehrtens 5a7fb834c7 mediatek: update openembed som7981 support
The board has been redesigned due to previous hardware bugs
(with other reasons maybe).

Changes in new board:
- Added a gpio beeper
- Added a Atmel i2c eeprom
- Added a Atmel i2c ECC accelerator
- Added a Philips RTC module
- Added two RS485
- Removed WPS button
- Replaced USB3 port with M.2 B-key for LTE modules
- Swapped GbE LEDs gpio

Also assigned wifi mac with nvmem binding, added iface setup for failsafe,
increased phy assert time for rtl8221b, and updated LED labels.

Keeping compatibility for old version is not necessary here as only
few samples were sent to those interested in it.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17253
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-22 18:19:16 +01:00
Tianling ShenandHauke Mehrtens 9d434a8abf kernel: crypto: add atmel i2c hw accelerator support
Add support for Microchip / Atmel ECC/SHA/RNG hw accelerator.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17253
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-22 18:19:16 +01:00
Tianling ShenandHauke Mehrtens f050c30d05 sdk: bundle libraries for llvm toolchain
This allows the llvm toolchain to be executed on different host.
Also add it to strip list.

Fixes: 0ac0840088 ("sdk: ship llvm toolchain")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16674
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-19 20:43:54 +02:00
Tianling ShenandNick Hainke e00b6ba0c8 uboot-rockchip: Update to 2024.10
Removed upstreamed patches.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16647
Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-10-11 00:11:59 +02:00
Tianling ShenandHauke Mehrtens 17ea41eabb kernel: make 'no port node found' output a debug message
There are cases where an unavailable port is not an error, making
this error message a false-positive. The kernel log is flooded with
the messages like:
  OF: graph: no port node found in /soc@0/bus@42000000/i2c@42530000/usb-typec@50

Silence this message by making it a debug message.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16524
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-28 18:47:42 +02:00
Tianling ShenandNick Hainke 76a75b43ba rockchip: add ArmSoM Sige7 support
This board is also as known as Bananapi BPi-M7.

Hardware
--------
RockChip RK3588 ARM64 (8 cores)
8/16/32GB LPDDR4/LPDDR4x RAM
2x 2500 Base-T (PCIe, rtl8125b)
2 LEDs (RED / GREEN)
16GB/32GB/64GB/128GB eMMC on-board
Micro-SD Slot
USB 2.0 Port
USB 3.0 Port
M.2 M-Key
40-Pin Header
USB PD 2.0 9/12/15V Power

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16462
Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-09-23 20:04:50 +02:00
Tianling ShenandNick Hainke 0c1332d034 uboot-rockchip: add ArmSoM Sige7 support
Add support for the ArmSoM Sige7 board.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16462
Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-09-23 20:04:49 +02:00
Tianling ShenandNick Hainke e05b24175d rockchip: reorder nanopc t6 patches
Reorder nanopc t6 patches to 055 to avoid conflict with nanopi r6c patches.

Fixes: 55c46cbabd ("rockchip: add FriendlyElec NanoPi R6C")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16461
Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-09-23 19:36:33 +02:00
Tianling ShenandHauke Mehrtens bbf1c300c8 rockchip: backport upstream updates for nanopc t6
Backport ir-receiver/minipcie/poweroff/spi/usb-c support and other
minor fixes for the NanoPC T6 board.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16443
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-22 16:17:41 +02:00
Tianling ShenandRobert Marko 317076d257 rockchip: backport pcie update for rock 5a
This enables the M.2 E-key on ROCK 5A board.
Reorder rk356x patch while at it.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16340
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-09-08 18:31:11 +02:00
Tianling ShenandRobert Marko 89b1d0ed9c uboot-rockchip: sort build target alphabetically
move nanopc-t6 recipes above rock 5b.

Fixes: 9482341a47 ("rockchip: add support for nanopc t6")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16340
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-09-08 18:31:11 +02:00
Tianling ShenandHauke Mehrtens 1c61a8f958 rockchip: add Radxa ROCK 5B support
Hardware
--------
RockChip RK3588 ARM64 (8 cores)
4/8/16/32GB LPDDR4X RAM
2500 Base-T
RGB LED
eMMC Connector
SPI-NOR 16MB
Micro-SD Slot
2x USB 2.0 Port
2x USB 3.0 Port
Headphone Jack
M.2 E-Key
M.2 M-Key
USB PD 5/9/12/15/20V Power

Install
--------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling ShenandHauke Mehrtens ea249af456 uboot-rockchip: add ROCK 5B support
Add support for the Radxa ROCK 5B board.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling ShenandHauke Mehrtens 0cfd254913 rockchip: add Radxa ROCK 5A support
Hardware
--------
RockChip RK3588 ARM64 (8 cores)
4/8/16/32GB LPDDR4X RAM
1000 Base-T
Status LED
eMMC/SPI Connector
Micro-SD Slot
2x USB 3.0 Port
2x USB 2.0 Port
Headphone Jack
M.2 E-Key
USB PD/QC 5/9/12/15/20V Power

Install
--------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling ShenandHauke Mehrtens d44fcee73c uboot-rockchip: add ROCK 5A support
Add support for the Radxa ROCK 5A board.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling ShenandHauke Mehrtens b672dd6e34 rockchip: extend BOARDNAME
Now we have rk3588 support :)

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling ShenandHauke Mehrtens 00dd39c289 rockchip: update Kconfig for rk3588
Enable OTP/USBDP drivers for rk3588.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling ShenandHauke Mehrtens 6a0a6c45ed rockchip: backport dts updates for rk3588
Backport upstreamed dts updates for rk3588.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling ShenandHauke Mehrtens 7108f5bd9f rockchip: backport driver updates for rk3588
Backport upstreamed clk/mfd/phy/usb updates for rk3588.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling ShenandHauke Mehrtens c7c0b7bc02 rockchip: reorder patches
Reorder to start from 001.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling ShenandHauke Mehrtens d1954aa535 mediatek: increase phy assert time for jdcloud re-cp-03
According to RTL8221B's datasheet, the PHY requires at least 10ms
for assert and 68ms (recommended) for de-assert. So increase the
assert/de-assert time to 15ms and 68ms respectively.

Fixes: c0c3234e17 ("mediatek: add support for JDCloud RE-CP-03")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16106
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-08 20:00:12 +02:00
Tianling ShenandHauke Mehrtens f2f428c699 mediatek: add ABT ASR3000 support
Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 128 MB SPI-NAND
  RAM: 256MB
  Ethernet: 4x 10/100/1000 Mbps
  Switch: MediaTek MT7531AE
  WiFi: MediaTek MT7976C
  Button: Reset, Mesh
  Power: DC 12V 1A

Gain telnet access:
1. Login into web interface, and download the configuration.
2. Decode and uncompress the configuration:
     * Enter fakeroot if you are not login as root.
   base64 -d e-xxxxxxxxxxxx-cfg.tar.gz | tar -zx
3. Edit 'etc/passwd', remove root password: 'root::1:0:99999:7:::'.
4. Edit 'etc/rc.local', insert telnetd command before 'exit 0':
   ( sleep 3s; /usr/sbin/telnetd; ) &
5. Repack the configuration:
   tar -zc etc/ | base64 > e-xxxxxxxxxxxx-cfg.tar.gz
6. Upload new configuration via web interface, now you can connect to
   ASR3000 via telnet.

Flash instructions:
1. Connect to ASR3000, backup everything, especially 'Factory' part.
2. Write new BL2:
   mtd write openwrt-mediatek-filogic-abt_asr3000-preloader.bin BL2
3. Write new FIP:
   mtd write openwrt-mediatek-filogic-abt_asr3000-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After OpenWrt has booted, perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/15887
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-07-21 16:13:06 +02:00
Tianling ShenandDaniel Golle 39c824f846 mediatek: switch to fitblk for cmcc rax3000m
Use the new fitblk driver.

Tested-by: Yangyu Chen <cyy@cyyself.name>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-07-18 13:20:58 +01:00
Tianling ShenandDaniel Golle eb510d2158 mediatek: convert eeprom/macaddr to nvmem format for cmcc rax3000m
Switch to new nvmem binding.

Also fixes a issue that the MAC address assigned to lan/wan was
reversed on eMMC boards.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-07-18 13:20:58 +01:00
Tianling ShenandRobert Marko 7a96d36188 rockchip: fix baudrate for Radxa E25
According to the documentation[1], the serial baudrate of E25 is
115.2 Kbps, and setting it to 1.5 Mbps will cause onboard CH340B
USB-UART chip unstable.

Since mainline TPL is yet available, download patched TPL binary
from Radxa.

1. https://wiki.radxa.com/Rock3/CM/CM3I/E25/getting_started

Fixes: https://github.com/openwrt/openwrt/issues/15814
Fixes: f7c732bf9e ("rockchip: add Radxa E25 board support")
Tested-by: FUKAUMI Naoki <naoki@radxa.com>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/15870
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-07-10 09:46:19 +02:00
Tianling ShenandNick Hainke 18f04617f4 uboot-rockchip: Update to 2024.07
Re-enable FIT signature verification since we switched to use hyphen
for node name separators in commit 2b133ab19c ("scripts: use sep-char for hash nodes").

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-07-04 21:21:36 +02:00
Tianling ShenandNick Hainke 0397932fdd mediatek: convert eeprom/macaddr to nvmem format for jdcloud re-cp-03
Switch to new nvmem binding.

Also fixes a issue that the MAC address assigned to lan/wan was reversed.

Tested-by: Yangyu Chen <cyy@cyyself.name>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-06-10 10:08:19 +02:00
Tianling ShenandRobert Marko 4edde98768 mediatek: fix wps button for nokia ea0326gmp
The gpio is actually low active, fix it.

Fixes: 40e7fab9e4 ("mediatek: add Nokia EA0326GMP support")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/15651
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-06-07 14:19:39 +02:00
Tianling ShenandDaniel Golle a568540fd4 mediatek: filogic: move nand-only devices out of bootdev detection
For the first-time installation (mostly migrates from vendor firmware)
the ubiblock is not ready, but bootdev detection relies on it. This
means users must create ubiblock manually otherwise the sysupgrade
will not work.

Now a unique case is added for nand devices which use new fit format,
let's move to it.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-06-06 18:56:32 +01:00
Tianling ShenandDaniel Golle 40e7fab9e4 mediatek: add Nokia EA0326GMP support
Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 128 MB SPI-NAND
  RAM: 256MB
  Ethernet: 4x 10/100/1000 Mbps
  Switch: MediaTek MT7531AE
  WiFi: MediaTek MT7976C
  Button: Reset, WPS/Mesh
  Power: DC 12V 1A

Gain SSH access:
1. Login into web interface, and download the configuration.
2. Download the configration utilities:
   https://firmware.download.immortalwrt.eu.org/cnsztl/mediatek/filogic/openwrt-mediatek-mt7981-nokia-ea0326gmp-config-utils.tar.gz
     These binaries are extraced from the factory firmware, which are
     dynamically linked with aarch64 musl 1.1.24. To use them, you
     must run them under the same runtime environment, otherwise the
     binaries will not work properly!
3. Upload the configuration and utilities to a suitable environment.
4. Uncompress the utilities, move them to '/bin' and give them executable permisison:
   tar -zxf openwrt-mediatek-mt7981-nokia-ea0326gmp-config-utils.tar.gz
   mv mkconfig seama /bin
   chmod +x /bin/mkconfig
   chmod +x /bin/seama
5. Decrypt and uncompress the configuration:
     Enter fakeroot if you are not login as root.
   mkconfig -a de-enca -m EA0326GMP_3FE79221BAAA -i EA0326GMP_3FE79221BAAA-xxxxxxxx-backup.tar.gz -o backup.tar.gz
   tar -zxf backup.tar.gz
6. Edit 'etc/config/dropbear', set 'enable' to '1'.
7. Edit 'etc/passwd', remove root password: 'root::1:0:99999:7:::'.
8. Repack the configuration:
   tar -zcf backup.tar.gz etc/
   mkconfig -a enca -m EA0326GMP_3FE79221BAAA -i backup.tar.gz -o EA0326GMP_3FE79221BAAA-xxxxxxxx-backup.tar.gz
9. Upload new configuration via web interface, now you can SSH to EA0326GMP.

A minimum configuration which enabled SSH access is also provided
to simplify the process:
https://firmware.download.immortalwrt.eu.org/cnsztl/mediatek/filogic/openwrt-mediatek-mt7981-nokia-ea0326gmp-enable-ssh.tar.gz

Flash instructions:
1. SSH to EA0326GMP, backup everything, especially 'Factory' part.
2. Write new BL2:
   mtd write openwrt-mediatek-filogic-nokia_ea0326gmp-preloader.bin BL2
3. Write new FIP:
   mtd write openwrt-mediatek-filogic-nokia_ea0326gmp-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After OpenWrt has booted, perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-06-06 18:56:32 +01:00