1
0
Fork 0
forked from mirror/openwrt
openwrt/target/linux
Christian Marangi e210d994fa
airoha: an7581: add Nokia Valyrian support
Add support for Nokia Valyrian based on Airoha AN7581 SoC.

Device specification
--------------------
SoC Type:	Airoha AN7581
RAM:		2x DDR4 Nanya NT5AD256M16E4-JR (1GB)
Flash:		eMMC Macronix MX52LM08A11XVW (1GB)
Ethernet:	3x gigabit via AN7581, 1x 10g via AS21x1x, 1x SFP cage
Wi-Fi:		MT7996 - BE19000
LEDs:		11 LED via 2x 74HC595 shift register
Button:		Reset, WPS, WiFi
USB ports:	1x 2.0
Miscellaneous:  1x Power Monitor via RTQ6059, 2x FXS port

Device is unfused and is originally flashed with Airoha SDK bootloader
that require signed images.

Bootloader is username/password protected and use the leaked auth combo
that can be found online.

From the bootloadet instruction on how to flash custom bootloader are:
1. mmc erase 0 0x800
2. tftpboot 192.168.1.10:airoha/an7581/openwrt-airoha-an7581-nokia_valyrian-preloader.bin
3. mmc write $loadaddr 0x4 0xfc
4. tftpboot 192.168.1.10:airoha/an7581/openwrt-airoha-an7581-nokia_valyrian-bl31-uboot.fip
5. mmc write $loadaddr 0x100 0x700

It's also possible to use the Emergency Recovery procedure:
From powered OFF device:
1. Keep the reset button pressed (middle button)
2. Power on the device
3. Notice the "Press x" prompt
4. Press x
5. Notice the "C" char waiting for XMODEM load
6. Load the preloader binary with XMODEM protocol
7. Notice the "Press x to load BL31 + U-Boot FIP"
8. Press x
9. Notice the "C" char waiting for XMODEM load
10. Load the fip binary with XMODEM protocol
11. You are now in U-Boot loaded from serial
12. Follow normal procedure to flash bootloader

Due to BOOTROM limitation. the device can't have a standard GPT table
implementation. Because of this fixed-partitions are used to handle this.

U-Boot still doesn't have support for this (it's planned) and currently to flash
and load and image it's needed to write and read from static address in eMMC.

The GPT partition table follow Prpl guidelines with dual partition table with
kernel and rootfs split.

The address for kernel is 0xb00000 and the address for rootfs is 0x1b00000.

Link: https://github.com/openwrt/openwrt/pull/21761
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-17 14:44:44 +01:00
..
airoha airoha: an7581: add Nokia Valyrian support 2026-03-17 14:44:44 +01:00
apm821xx Revert "apm821xx: rename pciex to pcie" 2026-02-10 14:54:23 +01:00
armsr kernel: lift CONFIG_REGULATOR_VEXPRESS 'not set' to generic 2026-02-28 10:12:15 +01:00
at91 kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
ath79 ath79: tiny: increment compat version for RE355/RE450 2026-03-06 12:04:23 +01:00
bcm27xx kernel: refresh patches 2026-03-06 11:33:05 +01:00
bcm47xx kernel: bump 6.12 to 6.12.64 2026-01-15 01:22:47 +01:00
bcm53xx bcm53xx: mr26: fix nvmem MAC override 2026-03-11 12:13:14 +01:00
bcm4908 kernel: disable non layout u-boot,env 2025-11-28 01:20:33 +01:00
bmips Revert "bmips: huawei-hg556a-c: use nvmem for wifi eeprom" 2026-02-20 23:01:29 +01:00
d1 d1: Enable LED driver for D1 builds 2026-01-23 10:35:36 +01:00
econet econet: en7528: add missing flash partition for DASAN H660GM-A Generic 2026-03-01 17:36:01 +01:00
gemini gemini: add support for Teltonika RUT104 2026-02-17 11:27:22 +01:00
generic kernel: add patch for YT8821 address collision 2026-03-14 01:40:32 +01:00
imx imx: cortexa53: remove KSZ9477 static driver 2026-03-13 19:59:59 +01:00
ipq40xx ipq40xx: enable Devolo Magic 2 WiFi next 2026-03-16 01:34:19 +01:00
ipq806x ipq806x: ap3935: fix uboot nvmem 2026-03-10 13:38:33 +01:00
ixp4xx ixp4xx: select the GPIO keys input package 2026-01-28 18:59:47 +01:00
kirkwood kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
lantiq lantiq: adapt gpio-stp-xway node name to get clock 2026-03-17 01:13:48 +01:00
layerscape kernel: bump 6.12 to 6.12.71 2026-02-14 18:30:02 +01:00
loongarch64 loongarch64: set PREEMPT_NONE as default preemption model 2026-01-24 22:54:29 +01:00
malta malta: convert to Device macro image building 2026-02-11 00:08:34 +01:00
mediatek mediatek: replace patches with upstream version 2026-03-14 21:44:11 +01:00
microchipsw microchipsw: lan969x: tactical-1000: fix SFP I2C buses 2026-03-12 11:05:40 +01:00
mpc85xx mpc85xx: fix dtc warnings 2026-03-06 12:06:49 +01:00
mvebu mvebu: select CPU_LITTLE_ENDIAN 2026-03-16 01:00:22 +01:00
mxs kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
octeon kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
omap kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
pistachio kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
qoriq package: uboot-qoriq: fix T4240RDB u-boot selection 2026-01-12 13:59:30 +01:00
qualcommax qualcommax: move EAP623 Outdoor dts to the correct folder 2026-03-15 15:23:02 +01:00
qualcommbe generic: add CONFIG_REGULATOR_QCOM_LABIBB 2026-02-27 11:16:55 +01:00
ramips ramips: fix for Keenetic KN-1910 2026-03-17 02:02:20 +01:00
realtek realtek: thermal: extend the driver to support rtl960x 2026-03-15 00:18:36 +01:00
rockchip kernel: bump 6.12 to 6.12.69 2026-02-07 17:20:33 +01:00
sifiveu kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
siflower treewide: constify mdio_bus 2026-03-13 19:56:20 +01:00
starfive kernel: refresh patches 2026-03-06 11:33:05 +01:00
stm32 kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
sunxi kernel: reorder configuration options 2026-01-26 23:57:25 +01:00
tegra kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
uml kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
x86 x86: base-files add support for Sophos 210r3 and 230r2 2026-02-12 23:55:29 +01:00
zynq kernel: lift CONFIG_REGULATOR_VEXPRESS 'not set' to generic 2026-02-28 10:12:15 +01:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00