Compare commits

...

10 commits

Author SHA1 Message Date
Felix Fietkau
c1c1112006 toolchain/gcc: prevent the use of LDRD/STRD on ARMv5TE
Some checks failed
Build all core packages / Build all core packages for selected target (push) Waiting to run
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
These instructions are for 64-bit load/store. On ARMv5TE, the CPU
requires addresses to be aligned to 64-bit. When misaligned, behavior is
undefined (effectively either loads the same word twice on LDRD, or
corrupts surrounding memory on STRD).

On ARMv6 and newer, unaligned access is safe.

Removing these instructions for ARMv5TE is necessary, because GCC
ignores alignment information in pointers and does unsafe optimizations
that have shown up as bugs in various places.

This patch was originally added more than 11 years ago in commit b050f87d13,
but got lost 6 years ago, when gcc 9.1 was added in 88c07c6552.

This primarily affects the kirkwood and ixp4xx targets

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-07-22 12:03:05 +02:00
Hauke Mehrtens
e53c53b7d5 mediatek: Remove modules.builtin file
This file should be generated automatically at runtime by the kernel
build system.

Link: https://github.com/openwrt/openwrt/pull/19473
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-22 00:01:38 +02:00
Marcin FM
28a88ff7e6 ramips: EAP615-Wall v1: fix bootloop by reducing LZMA dictionary
Fix bootloop on TP-Link EAP615-Wall v1 by reducing LZMA dictionary
size. Before this patch and after an upgrade to kernel 6.12 this
device couldn't boot a kernel because of an error: "lzma compressed:
uncompress error 1".

I have chosen -d22 as dictionary size as suggested by @namiltd.
The usual sizes for problematic devices are -d16, -d20, -d22. I
have confirmed with my tests that this device can boot with a value
up to -d27, but there is no size benefit from values above -d21,
therefore -d22 is good enough.

See also: https://github.com/openwrt/openwrt/issues/19403

Signed-off-by: Marcin FM <marcin@ipv8.pl>
Link: https://github.com/openwrt/openwrt/pull/19433
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-21 23:56:32 +02:00
Donghyun Ko
aea6d1bf5e mediatek: filogic: add support for ipTIME AX3000Q
Specification
-------------
- SoC       : MediaTek MT7981BA dual-core ARM Cortex-A53 1.3GHz
- RAM       : DDR3 256Mbytes, ESMT M15T2G16128A
- Flash     : 128Mbytes NAND Flash, ESMT F50L1G41LB
- WLAN      : MediaTek MT7976CN dual-band Wi-Fi 6
  - 2.4GHz  : b/g/n/ax, MU-MIMO
  - 5GHz    : a/n/ac/ax, MU-MIMO
- Ethernet  : MediaTek MT7531AE
  - LAN     : 10/100/1000 Mbps x4
  - WAN     : 10/100/1000 Mbps x1
- UART      : 1x4 pin header on PCB
  - [J6] TX, RX, GND, 3.3V (115200, 8N1)
- Buttons   : WPS, Reset
- LEDs      : 1x CPU (Amber)
              1x Wi-Fi 5GHz (Amber)
              1x Wi-Fi 2.4GHz (Amber)
              1x WAN activity (Amber)
              4x LAN activity (Amber)
- Power     : 12VDC, 1A (Center positive polarity)

MAC address
-----------
+-----------+-------------------+-----------------------+
| Interface | MAC               | Algorithm             |
+-----------+-------------------+-----------------------+
| WLAN 2.4G | B0:38:6C:48:xx:xx | label                 |
| WLAN 5G   | B2:38:6C:48:xx:xx | label with LA Bit Set |
| WAN       | B0:38:6C:48:xx:xx | label + 1             |
| LAN       | B0:38:6C:48:xx:xx | label + 3             |
+-----------+-------------------+-----------------------+
The WLAN 2.4G MAC was found in 'Factory' partition, 0x4

Installation
------------
1. Download the OEM recovery software from the manufacturer's website
2. Download the *squashfs-factory.bin file from the OpenWrt website
3. Press a reset button, and power up the router(keep pressing the reset button)
4. Wait more than 10 seconds until the CPU LED stop blinking
5. Connect the router(LAN port) to the PC
6. Replace a file in the OEM recovery software with the file from step 2
7. Run the OEM recovery software and follow the instructions
8. Wait for the router to boot from *squashfs-factory.bin

Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19368
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-21 23:52:56 +02:00
Fengyu Wu
8bf023da76 ca-certificates: Update to 20250419
upstream changelog:

[ Alexander Kanavin ]
* update-ca-certificates: add a --sysroot option

[ Julien Cristau ]
* Update Mozilla certificate authority bundle to version 2.74.
  The following certificate authorities were added (+):
  + D-TRUST BR Root CA 2 2023
  + D-TRUST EV Root CA 2 2023
  The following certificate authorities were removed (-):
  - Entrust Root Certification Authority - G4
  - SecureSign RootCA11
  - Security Communication RootCA3
  - SwissSign Silver CA - G2

Signed-off-by: Fengyu Wu <saldry@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19462
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-21 23:41:34 +02:00
Grzegorz Sterniczuk
c4586ceae8 rockchip: fix eMMC corruption on NanoPC-T6 with A3A444 chips
Some NanoPC-T6 boards with A3A444 eMMC chips experience I/O errors and
corruption when using HS400 mode. Downgrade to HS200 mode to ensure
stable operation.

Fixes: #18844
Signed-off-by: Grzegorz Sterniczuk <grzegorz@sternicz.uk>
Link: https://github.com/openwrt/openwrt/pull/19398
[Add patch header]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-21 23:39:20 +02:00
Hauke Mehrtens
7fe06b7f56 wireless-regdb: Update to version 2025.07.10
6953f19 wireless-regdb: Update regulatory info for Indonesia (ID) for 2025
2e8214e wireless-regdb: Permit 320 MHz bandwidth in 6 GHz band for GB
a94f685 wireless-regdb: Update regulatory info for Egypt (EG) for 2024
7628ce2 wireless-regdb: Update regulatory rules for Brazil (BR) on 6GHz
4411b39 wireless-regdb: Update regulatory info for Vietnam (VN) for 2025
490f136 wireless-regdb: Update regulatory info for Estonia (EE) for 2024
c56c663 wireless-regdb: update regulatory rules for Paraguay (PY) on 6 GHz for 2025
5a8ced5 wireless-regdb: Update regulatory info for CEPT countries for 6GHz listed by WiFi Alliance
5fd8ee3 wireless-regdb: update regulatory rules for Bosnia and Herzegovina (BA) for 6 GHz
e05260a wireless-regdb: update regulatory database based on preceding changes

Link: https://github.com/openwrt/openwrt/pull/19474
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-21 23:18:17 +02:00
Aleksander Jan Bajkowski
7b6dcaf37c mediatek: filogic: increase nand flash speed on Redmi AX6000
This commit increases the SPI bus frequency from 20 to 52 MHz. Reduces boot
time by 2s. Below is a performance comparison.

Before:
root@OpenWrt:~# dd if=/dev/mtd5 of=/dev/null bs=10M count=1 status=progress
10485760 bytes (10 MB, 10 MiB) copied, 2 s, 5.8 MB/

After:
root@OpenWrt:~# dd if=/dev/mtd5 of=/dev/null bs=10M count=1 status=progress
10485760 bytes (10 MB, 10 MiB) copied, 1 s, 9.7 MB/s

Taken from PR #18752 as each device should be tested individually, so I have
created a separate PR for this.

Signed-off-by: Sky Huang <SkyLake.Huang@mediatek.com>
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/19439
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-21 23:15:50 +02:00
Bradley M. Kuhn
d8e738e5c4 Note inspiration for this script to give credit where it's due
There is some confusion in the Git log of this file.  Specifically,
the commit message on 7b7f1702 incorrectly indicates that there was
"potential fear" about copyright infringement.

Upon review of this situation, there is, in my opinion, no concern of
copyright infringement here.  This is not legal advice; it is my
opinion based of years of work on copyright policy for FOSS.

However, Elliott Mitchell's idea was obviously helpful as inspiration
in writing this script and deserves credit.  Ideas alone, however,
are not to my knowledge copyrightable anywhere in the world.

Signed-off-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>
2025-07-21 16:17:29 +01:00
Daniel Golle
8097cbc14a mediatek: disable MediaTek SoC Information (mtk-socinfo) driver
With the switch to Linux 6.12 this driver was enabled by accident.
However, it doesn't support any of the router SoCs but is meant to be
used only by the smartphone, tablet and chromebook SoCs.
Disable the driver again to silence a kernel error logline during boot.

Fixes: 0a0f5f94ec ("mediatek: mt7623: update config-6.12")
Fixes: 029b7ed9c4 ("mediatek: mt7622: update config-6.12")
Reported-by: https://aparcar.org/openwrt-tests/119/
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-07-21 14:27:11 +01:00
17 changed files with 386 additions and 10 deletions

View file

@ -1,14 +1,14 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=wireless-regdb PKG_NAME:=wireless-regdb
PKG_VERSION:=2025.02.20 PKG_VERSION:=2025.07.10
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_LICENSE:=ISC PKG_LICENSE:=ISC
PKG_LICENSE_FILES:=LICENSE PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/ PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/
PKG_HASH:=57f8e7721cf5a880c13ae0c202edbb21092a060d45f9e9c59bcd2a8272bfa456 PKG_HASH:=a8340bcdcd1b5db6c79149879d122b170f3bb075381718d4f429ad831a6fa28d
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name> PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>

View file

@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=ca-certificates PKG_NAME:=ca-certificates
PKG_VERSION:=20241223 PKG_VERSION:=20250419
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_MAINTAINER:= PKG_MAINTAINER:=
@ -16,7 +16,7 @@ PKG_LICENSE_FILES:=debian/copyright
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@DEBIAN/pool/main/c/ca-certificates PKG_SOURCE_URL:=@DEBIAN/pool/main/c/ca-certificates
PKG_HASH:=dd8286d0a9dd35c756fea5f1df3fed1510fb891f376903891b003cd9b1ad7e03 PKG_HASH:=33b44ef78653ecd3f0f2f13e5bba6be466be2e7da72182f737912b81798ba5d2
PKG_INSTALL:=1 PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk

View file

@ -2,6 +2,9 @@
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
# #
# Copyright (C) 2024 Olliver Schinagl <oliver@schinagl.nl> # Copyright (C) 2024 Olliver Schinagl <oliver@schinagl.nl>
#
# This script was implemented from scratch -- inspired by ideas shared
# with the OpenWrt project by Elliott Mitchell <ehem+openwrt@m5p.com>
set -eu set -eu
if [ -n "${DEBUG_TRACE_SH:-}" ] && \ if [ -n "${DEBUG_TRACE_SH:-}" ] && \

View file

@ -0,0 +1,277 @@
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include "mt7981b.dtsi"
/ {
model = "ipTIME AX3000Q";
compatible = "iptime,ax3000q", "mediatek,mt7981";
aliases {
serial0 = &uart0;
label-mac-device = &wan;
led-boot = &led_cpu;
led-failsafe = &led_cpu;
led-running = &led_cpu;
led-upgrade = &led_cpu;
};
chosen {
stdout-path = "serial0:115200n8";
};
gpio-keys {
compatible = "gpio-keys";
button-0 {
label = "wps";
gpios = <&pio 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
debounce-interval = <60>;
};
button-1 {
label = "reset";
gpios = <&pio 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
led-0 {
color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_WAN;
gpios = <&pio 8 GPIO_ACTIVE_LOW>;
};
led-1 {
color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_WLAN_2GHZ;
gpios = <&pio 6 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
led-2 {
color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_WLAN_5GHZ;
gpios = <&pio 7 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
led_cpu: led-3 {
color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_CPU;
gpios = <&pio 9 GPIO_ACTIVE_LOW>;
};
};
};
&eth {
status = "okay";
gmac0: mac@0 {
compatible = "mediatek,eth-mac";
reg = <0>;
phy-mode = "2500base-x";
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_factory_4 (3)>;
fixed-link {
speed = <2500>;
full-duplex;
pause;
};
};
};
&mdio_bus {
switch: switch@1f {
compatible = "mediatek,mt7531";
reg = <0x1f>;
reset-gpios = <&pio 39 GPIO_ACTIVE_HIGH>;
interrupt-controller;
#interrupt-cells = <1>;
interrupt-parent = <&pio>;
interrupts = <38 IRQ_TYPE_LEVEL_HIGH>;
};
};
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_flash_pins>;
status = "okay";
spi_nand@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "spi-nand";
reg = <0>;
spi-max-frequency = <52000000>;
spi-tx-buswidth = <4>;
spi-rx-buswidth = <4>;
spi-cal-enable;
spi-cal-mode = "read-data";
spi-cal-datalen = <7>;
spi-cal-data = /bits/ 8 <0x53 0x50 0x49 0x4e 0x41 0x4e 0x44>;
spi-cal-addrlen = <5>;
spi-cal-addr = /bits/ 32 <0x0 0x0 0x0 0x0 0x0>;
mediatek,nmbm;
mediatek,bmt-max-ratio = <1>;
mediatek,bmt-max-reserved-blocks = <64>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "BL2";
reg = <0x0 0x100000>;
read-only;
};
partition@100000 {
label = "u-boot-env";
reg = <0x100000 0x80000>;
};
partition@180000 {
label = "Factory";
reg = <0x180000 0x200000>;
read-only;
nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
eeprom_factory_0: eeprom@0 {
reg = <0x0 0x1000>;
};
macaddr_factory_4: macaddr@4 {
compatible = "mac-base";
reg = <0x4 0x6>;
#nvmem-cell-cells = <1>;
};
};
};
partition@380000 {
label = "FIP";
reg = <0x380000 0x200000>;
read-only;
};
partition@580000 {
label = "ubi";
reg = <0x580000 0x6E00000>;
};
};
};
};
&switch {
ports {
#address-cells = <1>;
#size-cells = <0>;
wan: port@0 {
reg = <0>;
label = "wan";
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_factory_4 (1)>;
};
port@1 {
reg = <1>;
label = "lan4";
};
port@2 {
reg = <2>;
label = "lan3";
};
port@3 {
reg = <3>;
label = "lan2";
};
port@4 {
reg = <4>;
label = "lan1";
};
port@6 {
reg = <6>;
ethernet = <&gmac0>;
phy-mode = "2500base-x";
fixed-link {
speed = <2500>;
full-duplex;
pause;
};
};
};
};
&pio {
spi0_flash_pins: spi0-pins {
mux {
function = "spi";
groups = "spi0", "spi0_wp_hold";
};
conf-pu {
pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
drive-strength = <MTK_DRIVE_4mA>;
bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
};
conf-pd {
pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO";
drive-strength = <MTK_DRIVE_4mA>;
bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
};
};
};
&uart0 {
status = "okay";
};
&watchdog {
status = "okay";
};
&wifi {
status = "okay";
nvmem-cell-names = "eeprom";
nvmem-cells = <&eeprom_factory_0>;
band@0 {
reg = <0>;
nvmem-cells = <&macaddr_factory_4 (0)>;
nvmem-cell-names = "mac-address";
};
band@1 {
reg = <1>;
nvmem-cells = <&macaddr_factory_4 (0)>;
nvmem-cell-names = "mac-address";
};
};

View file

@ -136,7 +136,7 @@
#size-cells = <1>; #size-cells = <1>;
reg = <0>; reg = <0>;
spi-max-frequency = <20000000>; spi-max-frequency = <52000000>;
spi-tx-bus-width = <4>; spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>; spi-rx-bus-width = <4>;

View file

@ -1 +0,0 @@
kernel/drivers/net/phy/rtk/rtl8367s_gsw.ko

View file

@ -81,6 +81,9 @@ glinet,gl-xe3000)
huasifei,wh3000) huasifei,wh3000)
ucidef_set_led_netdev "wan" "WAN" "red:wan" "eth1" "link tx rx" ucidef_set_led_netdev "wan" "WAN" "red:wan" "eth1" "link tx rx"
;; ;;
iptime,ax3000q)
ucidef_set_led_netdev "wan" "WAN" "amber:wan" "wan" "link tx rx"
;;
iptime,ax3000sm) iptime,ax3000sm)
ucidef_set_led_netdev "wan" "wan" "amber:wan" "eth1" "link tx rx" ucidef_set_led_netdev "wan" "wan" "amber:wan" "eth1" "link tx rx"
;; ;;

View file

@ -109,6 +109,10 @@ case "$board" in
[ "$PHYNBR" = "0" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress [ "$PHYNBR" = "0" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress
[ "$PHYNBR" = "1" ] && macaddr_add $addr 3 > /sys${DEVPATH}/macaddress [ "$PHYNBR" = "1" ] && macaddr_add $addr 3 > /sys${DEVPATH}/macaddress
;; ;;
iptime,ax3000q)
addr=$(mtd_get_mac_binary "Factory" 0x4)
[ "$PHYNBR" = "1" ] && macaddr_setbit_la $addr > /sys${DEVPATH}/macaddress
;;
iptime,ax3000sm) iptime,ax3000sm)
addr=$(mtd_get_mac_binary "Factory" 0x4) addr=$(mtd_get_mac_binary "Factory" 0x4)
[ "$PHYNBR" = "1" ] && macaddr_setbit_la $(macaddr_unsetbit $(macaddr_unsetbit $(macaddr_unsetbit $(macaddr_setbit $addr 26) 25) 27) 28) > \ [ "$PHYNBR" = "1" ] && macaddr_setbit_la $(macaddr_unsetbit $(macaddr_unsetbit $(macaddr_unsetbit $(macaddr_setbit $addr 26) 25) 27) 28) > \

View file

@ -1156,6 +1156,25 @@ define Device/huasifei_wh3000-pro
endef endef
TARGET_DEVICES += huasifei_wh3000-pro TARGET_DEVICES += huasifei_wh3000-pro
define Device/iptime_ax3000q
DEVICE_VENDOR := ipTIME
DEVICE_MODEL := AX3000Q
DEVICE_DTS := mt7981b-iptime-ax3000q
DEVICE_DTS_DIR := ../dts
BLOCKSIZE := 128k
PAGESIZE := 2048
IMAGE_SIZE := 32768k
KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
KERNEL_INITRAMFS := kernel-bin | lzma | \
fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
IMAGES := factory.bin sysupgrade.bin
IMAGE/factory.bin := sysupgrade-tar | append-metadata | check-size | iptime-crc32 ax3000q
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
SUPPORTED_DEVICES += mediatek,mt7981-spim-snand-rfb
endef
TARGET_DEVICES += iptime_ax3000q
define Device/iptime_ax3000sm define Device/iptime_ax3000sm
DEVICE_VENDOR := ipTIME DEVICE_VENDOR := ipTIME
DEVICE_MODEL := AX3000SM DEVICE_MODEL := AX3000SM

View file

@ -296,7 +296,7 @@ CONFIG_MTK_PMIC_WRAP=y
CONFIG_MTK_REGULATOR_COUPLER=y CONFIG_MTK_REGULATOR_COUPLER=y
CONFIG_MTK_SCPSYS=y CONFIG_MTK_SCPSYS=y
CONFIG_MTK_SCPSYS_PM_DOMAINS=y CONFIG_MTK_SCPSYS_PM_DOMAINS=y
CONFIG_MTK_SOCINFO=y # CONFIG_MTK_SOCINFO is not set
CONFIG_MTK_SOC_THERMAL=y CONFIG_MTK_SOC_THERMAL=y
# CONFIG_MTK_SVS is not set # CONFIG_MTK_SVS is not set
CONFIG_MTK_THERMAL=y CONFIG_MTK_THERMAL=y

View file

@ -428,7 +428,7 @@ CONFIG_MTK_REGULATOR_COUPLER=y
CONFIG_MTK_SCPSYS=y CONFIG_MTK_SCPSYS=y
CONFIG_MTK_SCPSYS_PM_DOMAINS=y CONFIG_MTK_SCPSYS_PM_DOMAINS=y
CONFIG_MTK_SMI=y CONFIG_MTK_SMI=y
CONFIG_MTK_SOCINFO=y # CONFIG_MTK_SOCINFO is not set
CONFIG_MTK_SOC_THERMAL=y CONFIG_MTK_SOC_THERMAL=y
# CONFIG_MTK_SVS is not set # CONFIG_MTK_SVS is not set
CONFIG_MTK_THERMAL=y CONFIG_MTK_THERMAL=y

View file

@ -2824,8 +2824,8 @@ define Device/tplink_eap615-wall-v1
DEVICE_VARIANT := v1 DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-mt7915-firmware -uboot-envtools DEVICE_PACKAGES := kmod-mt7915-firmware -uboot-envtools
TPLINK_BOARD_ID := EAP615-WALL-V1 TPLINK_BOARD_ID := EAP615-WALL-V1
KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb | pad-to 64k KERNEL := kernel-bin | lzma -d22 | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb | pad-to 64k
KERNEL_INITRAMFS := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd KERNEL_INITRAMFS := kernel-bin | lzma -d22 | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
IMAGE_SIZE := 13248k IMAGE_SIZE := 13248k
endef endef
TARGET_DEVICES += tplink_eap615-wall-v1 TARGET_DEVICES += tplink_eap615-wall-v1

View file

@ -0,0 +1,27 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Grzegorz Sterniczuk <grzegorz@sternicz.uk>
Date: Mon, 21 Jul 2025 23:24:11 +0200
Subject: rockchip: fix eMMC corruption on NanoPC-T6 with A3A444 chips
Some NanoPC-T6 boards with A3A444 eMMC chips experience I/O errors and
corruption when using HS400 mode. Downgrade to HS200 mode to ensure
stable operation.
Fixes: #18844
Signed-off-by: Grzegorz Sterniczuk <grzegorz@sternicz.uk>
---
arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
--- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
@@ -619,8 +619,7 @@
no-sd;
non-removable;
max-frequency = <200000000>;
- mmc-hs400-1_8v;
- mmc-hs400-enhanced-strobe;
+ mmc-hs200-1_8v;
status = "okay";
};

View file

@ -0,0 +1,11 @@
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -165,7 +165,7 @@ emission of floating point pcs attribute
/* Thumb-1 only. */
#define TARGET_THUMB1_ONLY (TARGET_THUMB1 && !arm_arch_notm)
-#define TARGET_LDRD (arm_arch5te && ARM_DOUBLEWORD_ALIGN \
+#define TARGET_LDRD (arm_arch6 && ARM_DOUBLEWORD_ALIGN \
&& !TARGET_THUMB1)
#define TARGET_CRC32 (arm_arch_crc)

View file

@ -0,0 +1,11 @@
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -165,7 +165,7 @@ emission of floating point pcs attribute
/* Thumb-1 only. */
#define TARGET_THUMB1_ONLY (TARGET_THUMB1 && !arm_arch_notm)
-#define TARGET_LDRD (arm_arch5te && ARM_DOUBLEWORD_ALIGN \
+#define TARGET_LDRD (arm_arch6 && ARM_DOUBLEWORD_ALIGN \
&& !TARGET_THUMB1)
#define TARGET_CRC32 (arm_arch_crc)

View file

@ -0,0 +1,11 @@
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -165,7 +165,7 @@ emission of floating point pcs attribute
/* Thumb-1 only. */
#define TARGET_THUMB1_ONLY (TARGET_THUMB1 && !arm_arch_notm)
-#define TARGET_LDRD (arm_arch5te && ARM_DOUBLEWORD_ALIGN \
+#define TARGET_LDRD (arm_arch6 && ARM_DOUBLEWORD_ALIGN \
&& !TARGET_THUMB1)
#define TARGET_CRC32 (arm_arch_crc)

View file

@ -0,0 +1,11 @@
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -165,7 +165,7 @@ emission of floating point pcs attribute
/* Thumb-1 only. */
#define TARGET_THUMB1_ONLY (TARGET_THUMB1 && !arm_arch_notm)
-#define TARGET_LDRD (arm_arch5te && ARM_DOUBLEWORD_ALIGN \
+#define TARGET_LDRD (arm_arch6 && ARM_DOUBLEWORD_ALIGN \
&& !TARGET_THUMB1)
#define TARGET_CRC32 (arm_arch_crc)