Commit Graph

1675 Commits

Author SHA1 Message Date
John Crispin
5af4d4f6b6 uboot-mediatek: increase USB probe delay on OpenWrt One
This solves compatibility issues with some pendrives.
Originally reported by "HIDE-r" on the forum.

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-02 13:55:36 +01:00
Mikhail Zhilkin
ee8df790ca mediatek: MERCUSYS MR90X v1: add OpenWrt U-Boot (UBI) layout
This commit adds OpenWrt U-Boot (UBI) layout support for MERCUSYS MR90X
v1.

Stock U-Boot UBI size:   50 MiB
OpenWrt U-boot UBI size: 126 MiB

Install
-------
1. Perform steps 1-14 of the OpenWrt installation guide (use OpenWrt
   initramfs-recovery.itb instead of initramfs-kernel.bin at the step 10,
   12 and 14).
Link: https://openwrt.org/toh/mercusys/mr90x_v1#installation

2. Make backups:
```
cat /dev/mtd0 > /tmp/boot.bin
cat /dev/mtd5 > /tmp/tp_data.bin
```
   Copy /tp_data dir content, /tmp/boot.bin and /tmp/tp_data.bin and to
   your PC using scp. You can also backup the remaining partititons. Copy
   backups to a safe place, they are required for the next steps and stock
   firmware recovery.

3. Reboot to OpenWrt initramfs:
```
reboot
```

4. Copy OpenWrt ubi-bl31-uboot.fip, ubi-preloader.bin,
   ubi-squashfs-sysupgrade.itb and MT7986_EEPROM.bin, default-mac (from
   /tp_data backup) to the /tmp folder of the router using scp.

5. Prepare UBI:
```
ubidetach -p /dev/mtd3; ubiformat /dev/mtd3 -y; ubiattach -p /dev/mtd3
ubimkvol /dev/ubi0 -N fip -t static -s 1MiB
ubiupdatevol /dev/ubi0_0 /tmp/ubi-bl31-uboot.fip
ubimkvol /dev/ubi0 -N ubootenv -s 0x1f000
ubimkvol /dev/ubi0 -N ubootenv2 -s 0x1f000
```

6.  Install kmod-mtd-rw and unlock partitions:
```
opkg update && opkg install kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
mtd unlock boot
mtd unlock bl2
mtd unlock factory
```

7. Prepare "factory" partition:
```
dd if=/dev/zero bs=$((0x8000)) count=1 | tr '\000' '\377' > /tmp/factory.bin
dd if=/tmp/MT7986_EEPROM.bin of=/tmp/factory.bin conv=notrunc
dd if=/tmp/default-mac >> /tmp/factory.bin
```

8. Write "factory" partition:
```
mtd erase factory
mtd write /tmp/factory.bin factory
```

9. Write preloader partition:
```
mtd erase bl2
mtd write /tmp/ubi-preloader.bin bl2
```

10. Write OpenWrt sysupgrade image:
```
sysupgrade -n /tmp/ubi-squashfs-sysupgrade.itb
```

Recovery
--------
1. Place OpenWrt initramfs-recovery.itb image (with original name) on the
   tftp server (IP: 192.168.1.254).
2. Press "reset" button and power on the router. After ~10 sec release the
   button.
3. Use OpenWrt initramfs system for recovery.

BL2 and FIP recovery
--------------------
Use mtk_uartboot and UART connetion if BL2 or FIP in UBI is destroyed:
Link: https://github.com/981213/mtk_uartboot
Link: https://openwrt.org/toh/mercusys/mr90x_v1#serial

Return to stock:
----------------
1. Copy "boot" partition backup (boot.bin) to the /tmp dir of the router
   using scp.

2. Install kmod-mtd-rw:
```
opkg update && opkg install kmod-mtd-rw
```

3. Restore stock U-Boot:
```
   insmod mtd-rw i_want_a_brick=1
   mtd unlock boot
   mtd erase boot
   mtd write /tmp/boot.bin boot
```

4. Erase UBI and reboot:
```
mtd erase ubi
reboot
```

5. Open U-Boot web recovery, upload stock firmware image and start
   upgrade.
Link: http://192.168.1.1

6. Complete steps 1-9 of the OpenWrt installation guide to get root
   rights.
Link: https://openwrt.org/toh/mercusys/mr90x_v1#installation

7. Upload "tp_data" partition backup (tp_data.bin) to the /tmp folder of
   the router using scp.

8. Restore stock calibrations:
```
mtd write /tmp/tp_data.bin tp_data
reboot
```

9. Perform "factory restore" via stock firmware web interface.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16744
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-30 18:36:05 +01:00
Mikhail Zhilkin
77cc4b7127 uboot-mediatek: add MERCUSYS MR90X v1 support
Add U-Boot replacement loader for the MERCUSYS MR90X. This is required
to increase available flash space in OpenWrt.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16744
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-30 18:36:05 +01:00
Mikhail Zhilkin
2ea9ede7a8 arm-trusted-firmware-mediatek: add mt7986-spim-nand-ddr3 build
This commit adds mt7986-spim-nand-ddr3 build required for MERCUSYS MR90X
v1.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16744
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-30 18:36:05 +01:00
Mikhail Zhilkin
d413163832 mediatek: Routerich AX3000: add OpenWrt U-Boot layout
This commit adds OpenWrt U-Boot layout support for Routerich AX3000. The
aims:
1. Get open-source U-Boot;
2. Get maximum available free space in OpenWrt.

Install
-------
1. Copy OpenWrt ubootmod-bl31-uboot.fip, ubootmod-preloader.bin, to the
   /tmp folder of the router using scp.

2. Make mtd partitions backups:
   http://192.168.1.1/cgi-bin/luci/admin/system/flash -> Save mtdblock
   contents

3. Install kmod-mtd-rw:
```
opkg update && opkg install kmod-mtd-rw
```

4. Write FIP and preloader:
```
insmod mtd-rw i_want_a_brick=1
mtd unlock BL2
mtd erase BL2
mtd write /tmp/ubootmod-preloader.bin BL2
mtd unlock FIP
mtd erase FIP
mtd write /tmp/ubootmod-bl31-uboot.fip FIP
```

5. Copy OpenWrt ubootmod-initramfs-recovery.itb to the tftp server root
   with IP 192.168.1.254.

6. Reboot router:
```
reboot
```
U-Boot will automatically download from the tftp server and boot OpenWrt
initramfs system.

7. Copy OpenWrt ubootmod-squashfs-sysupgrade.itb to the /tmp dir of the
   router using scp.

8. Run sysupgrade:
```
sysupgrade -n /tmp/squashfs-sysupgrade.itb
```

Recovery
--------
1. Place OpenWrt initramfs-recovery.itb image (with original name) on the
   tftp server (IP: 192.168.1.254).
2. Press "reset" button and power on the router. After ~10 sec release the
   button.
3. Use OpenWrt initramfs system for recovery.

BL2 and FIP recovery
--------------------
Use mtk_uartboot and UART connection if BL2 or FIP in UBI is destroyed:
Link: https://github.com/981213/mtk_uartboot

Return to stock:
----------------
1. Copy partition backups (BL2.bin and FIP.bin) to the /tmp dir of the
   router using scp.

2. Install kmod-mtd-rw:
```
opkg update && opkg install kmod-mtd-rw
```

3. Restore stock U-Boot and reboot:
```
insmod mtd-rw i_want_a_brick=1
mtd unlock BL2
mtd erase BL2
mtd write /tmp/BL2.bin BL2
mtd unlock FIP
mtd erase FIP
mtd write /tmp/FIP.bin FIP
reboot
```

4. Open U-Boot web recovery, upload stock firmware image and start
   upgrade.
Link: http://192.168.1.1

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16791
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-24 23:41:02 +01:00
Mikhail Zhilkin
c0581520b1 uboot-mediatek: add Routerich AX3000 support
Add U-Boot replacement loader for Routerich AX3000.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16791
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-24 23:41:02 +01:00
George Oldfort
2898d1d126 mediatek: add support for Acer Predator W6d and Acer Vero W6m
This commit adds support for two variants of the already supported router
Acer Predator Connect W6: The Acer Predator Connect W6d (W6 without 6 GHz
wifi) and the Acer Connect Vero W6m (W6 without 2.5G eth1 port, usb3 port,
and the 6 on-board gpio RGB LEDs, and with a KTD2026 RGB LED controller
instead of the KTD2061 LED controller of the W6/W6d).

The device tree for the W6m refers to the KTD202x driver suggested in
PR #16860.

Patching target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
removes the code repetition in (old) lines 121 to 124 on the occasion.

This is the last of four commits into which the original commit was split
to make reviews easier and more targeted.

Signed-off-by: George Oldfort <openwrt@10099.de>
Link: https://github.com/openwrt/openwrt/pull/16861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-23 19:33:42 +01:00
George Oldfort
e7aaba2587 mediatek: make use of Acer Predator Connect W6's u-boot environment
In order to prepare OpenWrt support for other Acer W6 devices and to adapt
the procedure to read and set mac addresses which other devices of the same
target are using (instead of needing an additional script and creating an
additional structure in the file system), this commit
- reads device mac addresses from u-boot environment
- avoids the detour via the file system to set the mac addresses
- drops redundant file /lib/preinit/05_extract_factory_data.sh

The idea and the implementation were thankfully taken from PR #16410.

This is the second of four commits into which the original commit was split
to make reviews easier and more targeted.

Signed-off-by: George Oldfort <openwrt@10099.de>
Link: https://github.com/openwrt/openwrt/pull/16861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-23 19:33:42 +01:00
Thomas Richard
08dcb73c8d arm-trusted-firmware-stm32: add ATF for stm32 boards
Add ATF for stm32 boards, with the first being STM32MP135F-DK.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-23 15:53:21 +01:00
Thomas Richard
ac79ad0757 uboot-stm32: add U-Boot for stm32 boards
Add U-Boot for stm32 boards, with the first being STM32MP135F-DK.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-23 15:53:21 +01:00
Thomas Richard
fae25d4001 optee-os-stm32: add OP-TEE for stm32 boards
Add OP-TEE for stm32 boards, with the first being STM32MP135F-DK.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-23 15:53:21 +01:00
Enrico Mioso
785ebf2baf uboot-envtools: add support for GatoNetworks GDSP
This configuration should work with both stock and OpenWrt-based U-Boot.

Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
2024-11-14 04:14:23 +00:00
Enrico Mioso
7f2c7b3238 uboot-mediatek: add support for GatoNetworks GDSP
The GatoNetworks GDSP is a re-branded version of the R5000 5G Industrial
router from Yinghua Technologies.

Advantages over stock bootloader:
1. supports serving the external GPIO WDT, allowing for easier work in U-Boot
   shell
2. supports cool features like netconsole, easy recovery, scripting and so on
3. allows using FIT image and image integrity validation

and ultimately gives you much more flexibility to implement your tweaks.

Known issues
------------
To make it easier to operate the device, console I/O multiplexing support has
been enabled in U-Boot configuration. Setting I/O related U-Boot environment
variables to something like "serial,nc" will have the desired effect. Still,
setting these variables to such a value in the persistent environment will
lead to a crash and make it impossible to boot the system or recover it. I
decided to leave it on anyway since I think it can be very practical in
development.

Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
2024-11-14 04:14:23 +00:00
David Lutz
a7abc7ec3b ath79: Add support for Sophos AP15C
The Sophos AP15C uses the same hardware as the AP15, but has a reset button.

Based on:
commit 6f1efb2898 ("ath79: add support for Sophos AP100/AP55 family")
author    Andrew Powers-Holmes <andrew@omnom.net>
          Fri, 3 Sep 2021 15:53:57 +0200 (23:53 +1000)
committer Hauke Mehrtens <hauke@hauke-m.de>
          Sat, 16 Apr 2022 16:59:29 +0200 (16:59 +0200)

Unique to AP15C:
 - Reset button
 - External RJ45 serial console port

Flashing instructions:

This firmware can be flashed either via a compatible Sophos SG or XG
firewall appliance, which does not require disassembling the device, or via
the U-Boot console available on the internal UART header.

To flash via XG appliance:
 - Register on Sophos' website for a no-cost Home Use XG firewall license
 - Download and install the XG software on a compatible PC or virtual
   machine, complete initial appliance setup, and enable SSH console access
 - Connect the target AP device to the XG appliance's LAN interface
 - Approve the AP from the XG Web UI and wait until it shows as Active
   (this can take 3-5 minutes)
 - Connect to the XG appliance over SSH and access the Advanced Console
   (Menu option 5, then menu option 3)
 - Run `sudo awetool` and select the menu option to connect to an AP via
   SSH. When prompted to enable SSH on the target AP, select Yes.
 - Wait 2-3 minutes, then select the AP from the awetool menu again. This
   will connect you to a root shell on the target AP.
 - Copy the firmware to /tmp/openwrt.bin on the target AP via SCP/TFTP/etc
 - Run `mtd -r write /tmp/openwrt.bin astaro_image`
 - When complete, the access point will reboot to OpenWRT.

To flash via U-Boot serial console:
 - Configure a TFTP server on your PC, and set IP address 192.168.99.8 with
   netmask 255.255.255.0
 - Copy the firmware .bin to the TFTP server and rename to 'uImage_AP15C'
 - Open the target AP's enclosure and locate the 4-pin 3.3V UART header [4]
 - Connect the AP ethernet to your PC's ethernet port
 - Connect a terminal to the UART at 115200 8/N/1 as usual
 - Power on the AP and press a key to cancel autoboot when prompted
 - Run the following commands at the U-Boot console:
    - `tftpboot`
    - `cp.b $fileaddr 0x9f070000 $filesize`
    - `boot`
 - The access point will boot to OpenWRT.

Signed-off-by: David Lutz <kpanic@hirnduenger.de>
2024-11-09 03:21:36 +01:00
Enrico Mioso
f2bddc1789 uboot-mediatek: fix boot media for mt7981 RFB NOR profile
Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
CC: Daniel Golle <daniel@makrotopia.org>
2024-11-04 10:54:40 +01:00
Daniel Golle
5745b7e815 uboot-mediatek: import patches improving menu navigation
Using the arrow keys to navigate the U-Boot menu often leads to being
dropped into the U-Boot shell unexpectedly.
This can be prevented in most cases by improving the logic to detect the
arrow key ESC sequence and only reprinting the menu if actually needed.
Also enable CONFIG_SERIAL_RX_BUFFER for all boards as it helps preventing
the remaining cases.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-11-02 22:28:39 +00:00
John Crispin
88fa1f7b1e uboot-mediatek: add support for arcadyan,mozart
Signed-off-by: John Crispin <john@phrozen.org>
2024-11-01 07:43:00 +01:00
Kevin Zhang
e35f0493b1 uboot-rockchip: add support for NanoPi R3S
This commit adds u-boot support for the NanoPi R3S.

Signed-off-by: Kevin Zhang <kevin@kevinzhang.me>
Link: https://github.com/openwrt/openwrt/pull/16738
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-27 14:57:51 +01:00
Piotr Dymacz
efb8764a69 uboot-envtools: ath79: add support for ALFA Network WiFi CampPro Nano Duo
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2024-10-22 12:26:01 +02:00
Stefan Kalscheuer
e8d8cadd24 uboot-mvebu: update to version 2024.10
Update package to the latest stable version and drop upstreamed patches:
  0001-arm-mvebu-turris_omnia-Enable-LTO-by-default-on-Turr.patch
  100-mvebu-armada-8k-respect-CONFIG_DISTRO_DEFAULTS.patch

Other patches automatically refreshed (line numbers only)

Add custom config flags to disable building efimkcapsule by default.
This introduces a dependency to GnuTLS which is not present and we do
not need it here.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/16676
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-19 22:54:12 +02:00
INAGAKI Hiroshi
1043aa8ac2 uboot-ath79: refresh patches
Refresh patches by "make package/uboot-ath79/prepare" and manual
adjustments.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16297
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-19 17:56:46 +02:00
INAGAKI Hiroshi
6924269558 uboot-ath79: add support for NEC Aterm series based on QCA9558
Add support for NEC Aterm series devices based on QCA9558.
The following devices have almost the same hardware, so the same U-Boot
binary can be used for them.

- NEC Aterm WG1400HP
- NEC Aterm WG1800HP
- NEC Aterm WG1800HP2

By the way, on NetBSD-based NEC Aterm devices, only 0x20000 (128KiB) is
available for a bootloader on the flash chip and that limitation is too
small for mainline U-Boot with the default options. So many
features/commands not required for booting OpenWrt and recoverying are
disabled on that devices, like the followings.

- networking support
- FIT support
- all decompression methods support

etc...

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16297
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-19 17:56:46 +02:00
INAGAKI Hiroshi
91e57a42e2 uboot-ath79: add initial support for QCA955x SoCs
Add initial support for Qualcomm Atheros QCA955x series SoCs.
This support was based on the QCA956x support, QSDK, GPL tar of TP-Link
Archer C5 v1.20.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16297
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-19 17:56:46 +02:00
INAGAKI Hiroshi
a475171e07 uboot-ath79: update to U-Boot v2024.10
Update uboot-ath79 package to U-Boot v2024.10.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16703
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-16 23:49:26 +02:00
Jonas Jelonek
92ca322dd1 uboot-mediatek: add noncached_set_region prototype to fix build
Building uboot-mediatek fails with GCC-14, uboot v2024.10 and
CONFIG_SYS_NONCACHED_MEMORY defined with error:
cmd/cache.c: In function 'do_dcache':
cmd/cache.c:57:25: error: implicit declaration of function
	'noncached_set_region' [-Wimplicit-function-declaration]

This is caused by upstream commit 7d6cee2cd0e2e2507aca1e3a6fe0e2cb241a116e
("cmd: cache: Remove weak functions") as this removes weak functions in
favor of arch-specific definitions.

This patch adds the function prototype for `noncached_set_region` to
arch-specific header for ARM. It also adds an include in cmd/cache.c to
make the function available there.

Fixes: #16697
Fixes: f8c22c9bff ("uboot-mediatek: update to U-Boot 2024.10")
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
[@dangowrt refreshed patch]
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-10-16 03:23:33 +01:00
Daniel Golle
f8c22c9bff uboot-mediatek: update to U-Boot 2024.10
Update to latest U-Boot release.
Patches refreshed and fixed when needed.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-10-13 03:00:45 +01:00
Tianling Shen
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
John Crispin
b89b19b854 uboot-envtools: add a board.d script to load defaults from the environment
This allows loading default wifi credentials, passwords and ssh keys on
firstboot.

Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:41:33 +02:00
John Crispin
84577e48bc uboot-envtools: add fw_loadenv tool
This tool will load the uboot environment to /var/run/uboot-env/. This allows
more efficient use when accessing multiple variables.

Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:41:33 +02:00
Rosen Penev
d3dad5b10b uboot-kirkwood: fix compilation with GCC14
Missing header.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16467
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-25 22:50:09 +02:00
Pawel Dembicki
d84fecfaf2 tfa-layerscape: fix fiptool's build
Platform specified fiptool files was moved before lf-6.6.23-2.0.0 bump.
But PLAT_FIPTOOL_HELPER_MK still pointed to old location.
This cause problems with ls-ddr-phy build.

This patch fix PLAT_FIPTOOL_HELPER_MK path.

Fixes: 0ec659bd2b ("tfa-layerscape: Bump to lf-6.6.23-2.0.0")
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16472
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-09-24 12:29:06 +02:00
Tianling Shen
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
Chris Webb
7eda44f536 uboot-mediatek: support GL.iNet GL-X3000 and GL-XE3000
Add u-boot support based on the kernel dts introduced in d1016446 and
the GL-MT6000 u-boot support in fe10f974.

The pcie-mediatek-gen3 kernel driver doesn't like hotplug, so to work in
PCIe mode, the 5G modem on this device needs to be switched on by u-boot
before starting the kernel. Include an init_modem step in the boot_system
action to set the relevant gpios. (The factory bootloader does the same,
using Mediatek SDK-specific gpio_power_clr and gpio_pull_up.)

Ideally the modem would be started using gpio-hog in the device tree, but
this will need to wait until mediatek gpio-hog support is fixed upstream:

  https://lore.kernel.org/u-boot/6ef2583e85eea60560d7776377d662779e7c44e5.1722419839.git.chris@arachsys.com/

The bootloader can be replaced using the built-in web interface of the
factory bootloader. Hold the reset button for five seconds while powering
on the device and it will boot into a recovery http server.

http://192.168.1.1/uboot.html and http://192.168.1.1/bl2.html can then
be used to upload openwrt-mediatek-filogic-glinet_gl-x3000-bl31-uboot.fip
and openwrt-mediatek-filogic-glinet_gl-x3000-preloader.bin respectively.

Alternatively, from a root shell on the running system, unlock the boot
partition with

  echo 0 >/sys/block/mmcblk0boot0/force_ro

then write openwrt-mediatek-filogic-glinet_gl-x3000-bl31-uboot.fip to
/dev/mmcblk0p4 and openwrt-mediatek-filogic-glinet_gl-x3000-preloader.bin
to /dev/mmcblk0boot0.

Signed-off-by: Chris Webb <chris@arachsys.com>
Link: https://github.com/openwrt/openwrt/pull/15645
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-22 23:50:40 +02:00
Antonio Flores
27a22a9125 uboot-rockchip: patches: add version when were applied upstream
This patch add a version to uboot patches to help identify in
futures updates when they were upstreamed.

Signed-off-by: Antonio Flores <antflores627@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16275
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-22 17:29:00 +02:00
Antonio Flores
e21dcb1dc8 uboot-rockchip: add FriendlyElec NanoPi R6C
1- The NanoPi R6C is a SBC by FriendlyElec based on the Rockchip RK3588s.
   It comes with 4GB or 8GB of RAM, a microSD card slot, optional 32GB eMMC
   storage, one M.2 M-Key connector, one RTL8211F 1GbE and one RTL8125
   2.5GbE Ethernet port, one USB 2.0 Type-A and one USB 3.0 Type-A port, a
   HDMI port, a 30-pin GPIO header as well as multiple buttons and LEDs.
2- Renamed 000-backport-upstream-dts-sync.patch -> 000-v2024.10-rc1-backport-upstream-dts-sync.patch
   to add the version when was applied upstream

Signed-off-by: Antonio Flores <antflores627@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16275
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-22 17:29:00 +02:00
Pawel Dembicki
c174c45c89 uboot-layerscape: bump to lf-6.6.23-2.0.0
This commit bumps u-boot layerscape package to lf-6.6.23-2.0.0 version.

Manually rebased:
0900-layerscape-adjust-LS1021A-IOT-config-for-OpenWrt.patch

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16360
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-22 16:21:02 +02:00
Pawel Dembicki
0ec659bd2b tfa-layerscape: Bump to lf-6.6.23-2.0.0
This commit bumps tfa-layerscape package to version lf-6.6.23-2.0.0

Manually rebased:
001-fiptool-hostbuild-fixes.patch

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16360
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-22 16:21:02 +02:00
Daniel Golle
d0a2b3f824 mediatek: add Adtran SmartRG SDG-8733A
Specification is similar to other devices of the MT Stuart series:
 * Mediatek MT7988D (3x Cortex-A73, up to 1.8 GHz clock speed)
 * 8 GiB eMMC
 * 2 GiB DDR4 RAM
 * 2500M/1000M/100M LAN port
 * 10000M/5000M/2500M/1000M/100M/10M WAN port
 * MT7992 Tri-band (2.4G, 5G, 6G) 2T2R+3T3R+3T3R 802.11be Wi-Fi
 * Renesas DA14531MOD Bluetooth
 * 2 buttons (Reset, Mesh/WPS)
 * uC-controlled RGB LED via I2C
 * 2x LED for the 2.5G port, 3x LED for the 10G port
 * 3.3V-level 115200 baud UART console via 4-pin Dupont connector
   exposed at the bottom of the device
 * USB-C PD power input

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-09-20 22:47:05 +01:00
Mikhail Zhilkin
f368e2d5ec ramips: add support for netis N6
This commit adds support for netis N6 WiFi 6 router.

Specification
-------------
- SoC       : MediaTek MT7621AT, MIPS, 880 MHz
- RAM       : 256 MiB
- Flash     : NAND 128 MiB (ESMT PSU1GA30DT)
- WLAN      : MT7905DAN + MT7975DN
  - 2.4 GHz : b/g/n/ax, 574 Mbps, MIMO 2x2
  - 5 GHz   : a/n/ac/ax, 1201 Mbps, MIMO 2x2
- Ethernet  : 10/100/1000 Mbps x5 (1x WAN, 4x LAN)
- USB       : 1x 3.0
- UART      : 3.3V, 115200n8
- Buttons   : 1x Reset
              1x WPS
- LEDs      : 1x Power (green)
              1x System (green)
              1x WAN (green)
              1x WiFi 2.4 GHz (green), controlled by phy
              1x WiFi 5 GHz (green), controlled by phy
              1x WPS (green)
              1x USB (green)
              5x ethernet leds (green), controlled by switch
- Power     : 12 VDC, 1.5 A

Installation
------------
1. Update the router using stock firmware web interface and OpenWrt
   factory.bin image.

Recovery and return to stock
----------------------------
1. Assign your PC a static IP 192.168.1.2 and connect to the router using
   the ethernet cable;
2. Power off the router;
3. Press Reset button, power on the router and wait until ethernet led
   start blinking;
4. Release the button;
5. Open http://192.168.1.1/ (N6 System Recovery Mode) in your browser;
6. Upload OpenWrt factory.bin (or stock firmware *.bin) image and proceed
   with upgrade.

MAC addresses
-------------
+---------+-------------------+
|         | MAC example       |
+---------+-------------------+
| LAN     | dc:xx:xx:49:xx:04 |
| WAN     | dc:xx:xx:49:xx:05 |
| WLAN 2g | dc:xx:xx:19:xx:06 |
| WLAN 5g | dc:xx:xx:79:xx:06 |
+---------+-------------------+
The WLAN MAC prototype was found in 'Factory', 0x4
The LAN MAC was found in 'Factory', 0x7ef20
The WAN MAC was found in 'Factory', 0x7ef26

Known issue
-----------
2.4 GHz WLAN doesn't start with mt76 driver.

Probable reason:
   Original Netis N6 EEPROM contains wrong MT_EE_WIFI_CONF value (0xd2).
   Other routers with the same WLAN hardware (e.g., Routerich AX1800)
   have MT_EE_WIFI_CONF = 0x92.

Workaround (already included in this commit):
   Extract EEPROM to a file at the first time boot and change
   MT_EE_WIFI_CONF (offset 0x190) value from 0xd2 to 0x92. See
   /etc/hotplug.d/firmware/11-mt76-caldata for details.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16322
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-19 23:11:58 +02:00
Daniel Golle
dc26b661f4 uboot-mediatek: openwrt_one: set ethaddr from factory
Set LAN MAC address from factory partition on NOR flash.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-09-19 20:31:50 +01:00
Mauri Sandberg
fea2264d9f ramips: mt7621: Add DNA Valokuitu Plus EX400
Specifications:
- Device: DNA Valokuitu Plus EX400
- SoC: MT7621A
- Flash: 256MB NAND
- RAM: 256MB
- Ethernet: Built-in, 2 x 1GbE
- Wifi: MT7603 2.4 GHz, MT7615 5 GHz (4x internal antennas)
- USB: 1x 3.0
- LED: 1x green/red, 1x green
- Buttons: Reset

MAC addresses:
- LAN:     u-boot 'ethaddr' (label)
- WAN:     label + 1
- 2.4 GHz: label + 6
- 5 GHz:   label + 7

Serial:
 There is a black block connector next to the red ethernet connector. It
 is accessible also through holes in the casing.

Pinout (TTL 3.3V)
 +---+---+
 |Tx |Rx |
 +---+---+
 |Vcc|Gnd|
 +---+---+

Firmware:
 The vendor firmware is a fork of OpenWrt (Reboot) with a kernel version
 4.4.93. The flash is arranged as below and there is a dual boot
 mechanism alternating between rootfs_0 and rootfs_1.

 +-------+------+------+-----------+-----------+
 |       | env1 | env2 | rootfs_0  |  rootfs_1 |
 |       +------+------+-----------+-----------+
 |       |         UBI volumes                 |
 +-------+-------------------------------------+
 |U-Boot |             UBI                     |
 +-------+-------------------------------------+
 |mtd0   |             mtd1                    |
 +-------+-------------------------------------+
 |                     NAND                    |
 +---------------------------------------------+

 In OpenWrt rootfs_0 will be used as a boot partition that will contain the
 kernel and the dtb. The squashfs rootfs and overlay are standard OpenWrt
 behaviour.

 +-------+------+------+-----------+--------+------------+
 |       | env1 | env2 | rootfs_0  | rootfs | rootfs_data|
 |       +------+------+-----------+--------+------------+
 |       |         UBI volumes                           |
 +-------+-----------------------------------------------+
 |U-Boot |             UBI                               |
 +-------+-----------------------------------------------+
 |mtd0   |             mtd1                              |
 +-------+-----------------------------------------------+
 |                     NAND                              |
 +-------------------------------------------------------+

U-boot:
 With proper serial access booting can be halted to U-boot by pressing any
 key. TFTP and flash writes are available, but only the first one has been
 tested.

 NOTE: Recovery mode can be accessed by holding down the reset button while
 powering on the device. The led 'Update' will show a solid green light
 once ready. A web server will be running at 192.168.1.1:80 and it will
 allow flashing a firmware package. You can cycle between rootfs_0 and
 rootfs_1 by pressing the reset button once.

Root password:
 With the vendor web UI create a backup of your settings and download the
 archive to your computer. Within the archive in the file
 /etc/shadow replace the password hash for root with that of a password you
 know. Restore the configuration with the vendor web UI and you will have
 changed the root password.

SSH access:
 You might need to enable the SSH service for LAN interface as by default
 it's enabled for WAN only.

Installing OpenWrt:
 With the vendor web UI install the OpenWrt factory image. Alternatively,
 ssh to the device and use sysupgrade -n from cli.

 Finalize by installing the OpenWrt sysupgrade image to get a fully
 functioning system.

Reverting to the vendor firmware:

 Boot with OpenWrt initramfs image
  - Remove volumes rootfs_0, rootfs and rootfs_data and create vendor
    volumes.

    ubirmvol /dev/ubi0 -n 2
    ubirmvol /dev/ubi0 -n 3
    ubirmvol /dev/ubi0 -n 4
    ubimkvol /dev/ubi0 -N rootfs_0 -S 990
    ubimkvol /dev/ubi0 -N rootfs_1 -S 990

 Power off and enter to the U-boot recovery to install the vendor
 firmware.

Known issues:
 - MACs for wifi are stored in currently unknown place but it seems
   to persist over power-off. They might be stored on the chip.

Signed-off-by: Mauri Sandberg <maukka@ext.kapsi.fi>
[rmilecki: try NVMEM for MACs]
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2024-09-16 08:52:55 +02:00
David Bauer
8d7676dfba treewide: update contact information
Change contact information of comitter as requested.

Reviewed-by: Sarah Mädel <openwrt@tbspace.de>
Signed-off-by: David Bauer <mail@david-bauer.net>
2024-09-11 00:37:34 +02:00
John Crispin
0db6f9a856 uboot-mediatek: fix OpenWrt One NAND size
The final version of the PCB has 256MB NAND instead of 128MB.

Signed-off-by: John Crispin <john@phrozen.org>
2024-09-10 17:23:04 +02:00
John Crispin
28d8f33925 uboot-envtools: add support for OpenWrt One
Signed-off-by: John Crispin <john@phrozen.org>
2024-09-10 17:23:04 +02:00
Tianling Shen
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
George Witt
9b33645566 ipq807x: add support for TP-Link EAP660 HD v1
Specifications:
* SoC: Qualcomm IPQ8072A (64-bit Quad-core Arm Cortex-A53 @ 2200MHz)
* Memory: 2x ESMT M15T4G16256A-DEBG2G (1 GiB DDR3-1866 13-13-13)
* Serial Port: 3v3 TTL 115200n8
* Wi-Fi: QCN5054 (4x4 5 GHz 802.11ax)
* Wi-Fi: QCN5024 (4x4 2.4 GHz 802.11b/g/n/ax)
* Ethernet: QCA8081 (10/100/1000/2.5GBASE-T)
* Flash: Winbond W29N01HZSINF (128 MiB)
* LEDs: 1x Blue Status (GPIO 42 Active High)
* Buttons: 1x Reset (GPIO 50 Active Low)

Installation Instructions (Serial+TFTP):
1. Solder 4 pin header to JP1 and bridge pads of R58 and R62.
2. Connect 3V3 TTL port to TX, RX, and GND, which are positions 1, 2,
   and 3 respectively. Be sure to crossover TX and RX.
3. Copy RAM firmware image
   openwrt-qualcommax-ipq807x-tplink_eap660hd-v1-initramfs-uImage.itb
   to TFTP server root, available at 192.168.10.1.
4. Connect PoE ethernet cable to the RJ45 port and hold Ctrl+B in the
   serial console (115200 baud) until autoboot is halted.
5. Run the following commands in the U-boot prompt:
   # tftpboot 0x44000000 openwrt-qualcommax-ipq807x-tplink_eap660hd-v1-initramfs-uImage.itb
   # bootm
   You may need to type Ctrl+C and Enter before running these commands
   to clear invisible characters from the buffer.
6. Run the following command in a terminal to copy the sysupgrade image
   to be installed (check IP address):
   $ scp openwrt-qualcommax-ipq807x-tplink_eap660hd-v1-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/
7. Activate the OpenWrt serial console and run the following commands:
   # cd /tmp
   # sysupgrade -n openwrt-qualcommax-ipq807x-tplink_eap660hd-v1-squashfs-sysupgrade.bin
8. The AP will reboot and OpenWrt will be successfully installed.

Signed-off-by: George Witt <george.witt@nltsproject.org>
Link: https://github.com/openwrt/openwrt/pull/15832
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-09-08 12:01:19 +02:00
Rosen Penev
fe6c079681 uboot-laniq: fix compilation with GCC14
GCC errors on returning int in void function now.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16348
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-09-08 11:49:20 +02:00
Ivan Pavlov
2b2a98b3eb uboot-envtools: add u-boot system env config for Xiaomi Redmi AX6S
Adds u-boot config for access to system env variables on this board

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16312
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-06 23:40:04 +02:00
Felix Fietkau
bc2e5f10d4 uboot-mediatek: add missing dependency for mt7988_rfb-spim-nand
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-09-02 12:42:05 +02:00
Felix Fietkau
978aa43e55 uboot-mediatek: fix build error on mt7981-rfb and openwrt-one
Remove an unnecessary config option that was breaking the build

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-09-02 12:42:05 +02:00