Apply "u-boot-dont-touch-spi-nand" to ASUS RT-AX59U, ASUS TUF-AX4200 as
well as ASUS TUF-AX6000 routers to prevent U-Boot from wiping MTD
child nodes from DT.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
ASUS makes use of U-Boot's fdt_fixup_mtdparts() function which applies
the partitions defined in U-Boot's mtdparts and mtdids environment
variables to the devicetree passed over to Linux.
The undesired side-effect is that in this way also all additional
properties and child nodes get wiped, preventing NVMEM cells to be
defined for MTD partitions or UBI volumes.
To work-around this issue, add an additional compatible string
'u-boot-dont-touch-spi-nand' which can be used instead of 'spi-nand' in
case the replacement of the MTD partitions by U-Boot should be skipped
alltogether.
In practise this is mostly relevant for SPI-NAND which anyway comes only
with two partitions nowadays: 'Bootloader' and 'UBI_DEV'. Hence this
work-around is applicable for SPI-NAND only. Similar work-arounds for
other MTD devices can be created as well should they actually be needed.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Upgrade the OpenSBI firmware used by RISC-V CPUs to 1.6.
Runtime-tested:
- d1 (LicheeRV Dock)
- sifiveu (SiFive Unleashed)
Updates since last release:
1.6:
Support for parsing riscv,isa-extensions DT property
Setup serial console very early in cold boot path
Support for multiple heaps and aligned memory allocation
Support for shadow stacks (Zicfiss) ISA extension
Support for landing pads (Zicfilp) ISA extension
Support for per-domain data
Support for double-trap (Smdbltrp/Ssdbltrp) ISA extensions
DT-based configurable heap size
Common fdt_driver and helpers for driver initialization
Support for SBI PMU raw event v2 (Experimental)
Simple FDT based mailbox driver framework
RPMI shared memory transport driver (Experimental)
RPMI system reset driver (Experimental)
Simple FDT based system suspend driver framework
RPMI system suspend driver (Experimental)
Simple FDT based HSM driver framework
RPMI HSM driver (Experimental)
Simple FDT based CPPC driver framework
RPMI CPPC driver (Experimental)
SBI Message Proxy (MPXY) extension (Experimental)
Simple FDT based MPXY driver framework
Common RPMI client driver for MPXY (Experimental)
Support for vector misaligned load/store
1.5.1:
Save/restore menvcfg only when it exists
Adjust Sscofpmf mhpmevent mask for upper 8 bits
Fix potential NULL pointer dereferences in SBI DBTR
Fix incorrect size passed to sbi_zalloc() in SBI FWFT
Check result of pmp_get() in is_pmp_entry_mapped()
1.5:
SBI debug triggers (DBTR) extension (Experimental)
Support to specify coldboot harts in DT
Relocatable FW_JUMP_ADDR and FW_JUMP_FDT_ADDR
Smcsrind and Smcdeleg extensions support
SBIUnit testing framework
Initial domain context management support
Platform specific load/store emulation callbacks
New trap context
Improved sbi_trap_error() to dump state in a nested trap
SBI supervisor software events (SSE) extension (Experimental)
Simplified wait_for_coldboot() implementation
Early wakeup of non-coldboot HART in the coldboot path
Sophgo CV18XX/SG200X series support
APLIC delegation DT property fix
Svade and Svadu extensions support
SBI firmware features (FWFT) extension (Experimental)
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
The FDB roaming issues were observed on ipq807x and ipq60xx boards.
The fix depends on API exposed only when NSS_DP_PPE_SUPPORT is enabled.
However, this flag applies to above mentioned platforms only and is
causing the logs to be flooded on other QCA platforms, including ipq50xx,
with:
[ 34.893418] nss-dp 39c00000.dp1 lan: cannot get VSI ID for port 1
[ 34.898370] nss-dp 39c00000.dp1 lan: cannot get VSI ID for port 1
[ 34.904598] nss-dp 39c00000.dp1 lan: cannot get VSI ID for port 1
[ 34.910661] nss-dp 39c00000.dp1 lan: cannot get VSI ID for port 1
So let's apply a dependency on the NSS_DP_PPE_SUPPORT flag and contain
the patch code for ipq807x and ipq60xx within conditional directives.
Tested on: Linksys SPNMX56
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/17966
Signed-off-by: Robert Marko <robimarko@gmail.com>
This vastly simplifies creating and managing unet networks.
It also adds support for the unetd protocol for onboarding new nodes
over the network.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This provides an easy to use modular CLI that can be used to interact with
OpenWrt services. It has full support for context sensitive tab completion
and help.
Extra modules can be provided by packages and can extend the existing node
structure in any place.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
It provides a ucode module with similar functionality as libreadline,
however with much smaller code and no dependencies aside from ucode and
libubox.
It also provides shell-style parsing/escaping code useful for building
a CLI.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This reverts commit f628467dfd6b32ead172d33a2593f04901395343.
The initial fix was correct. However, a recently introduced bug in
base-files can cause some unexpected byte overwriting in eeprom.
Since it has been fixed, let's accept this patch again.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17892
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
`$(( ))` will convert uninitialized variable to "0". If we want to
use "-n" to check the string length, it's necessary to make sure the
converted variable is not empty.
Fixes: 652a6677d5fa ("base-files: Add new functions for ath11k caldata")
Fixes: https://github.com/openwrt/openwrt/issues/17818
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17892
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
When support for Routerboard 911G was introduced, Routerboad 912UAG
device tree was used as a base, and the common part. This led to use of
40MHz as the reference clock frequency for both [1], while RB911G uses 25MHz
crystal on the board, causing heavy system clock drift.
Split the definition, and set the reference clock frequency for RB911G
back to 25MHz.
[1] a716ac556497 ("ath79: fix reference clock for RouterBoard 912UAG")
Fixes: bcc44b1212b2 ("ath79: support for MikroTik RouterBOARD 911G-(2,5)HPnD")
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17944
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Refreshed patches for qualcommb/ipq95xx by running
make target/linux/refresh after creating a .config containing:
CONFIG_TARGET_qualcommbe=y
CONFIG_TARGET_qualcommbe_ipq95xx=y
CONFIG_TARGET_qualcommbe_ipq95xx_DEVICE_qcom_rdp433=y
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17822
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
It seems the that this was forgotten during initial adding of the
device in 0688cf5aebe1dc9a2e7f3820861783c2a7a75d44
Thanks to
https://forum.openwrt.org/t/zyxel-gs1900-10hp-revision-b1-support-openwrt-firmware/131841/32
for putting me on the right track for this problem
Error that is being fixed - running fw_printenv results in:
"Warning: Bad CRC, using default environment"
and not showing boardmodel
Workaround, manually changing /etc/fw_env.config to
"/dev/mtd1 0x0 0x400 0x10000"
Signed-off-by: Klaas Demter <psychic-stool-cozy@duck.com>
Link: https://github.com/openwrt/openwrt/pull/17920
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Depending on the config / circumstances, the get_psk call can be called
multiple times from differnt places, which can lead to wrong sta->psk_idx
values. The correct call is the one that is also interested in the vlan_id,
so use the vlan_id pointer as indication of when to set sta->psk_idx.
Also fix off-by-one error for secondary PSKs
Fixes: b2a2c286170d ("hostapd: add support for authenticating with multiple PSKs via ubus helper")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
The 00 address_mask needs to be inverted, otherwise the mac address
allocation will modify the last byte instead of the first one.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Add missing select NEED_BPF_TOOLCHAIN in order to ensure that the toolchain
actually gets built.
Fixes: https://github.com/openwrt/openwrt/issues/17926
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Backport FORESEE NAND chip support from upstream Linux. The newly
introduced FORESEE F35SQA001G was found on the Xiaomi AX3000T.
Signed-off-by: Erik Servili <serverror@serverror.com>
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
The Xiaomi AX3000T has two hardware revisions. One uses MT7531
switch, and the other uses AN8855 switch. Set "mediatek,switch"
property to "auto" to be compatible with different switches.
Tested-by: Mikhail Zhilkin <csharper2005@gmail.com>
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Synchronize the latest MTK u-boot patches[1]. Some patches have
been amended since last synchronization.
Changes:
* Minor NMBM layer fixes and improvements.
* A new bootmenu shortkey implementation.
* New SPI flash support for en25qx128.
[1] https://github.com/mtk-openwrt/u-boot/tree/mtksoc-20230719
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Remove upstreamed patches:
010-menu-fix-the-logic-checking-whether-ESC-key-is-press.patch [1]
011-menu-add-support-to-check-if-menu-needs-to-be-reprin.patch [2]
012-bootmenu-add-reprint-check.patch [3]
Remove outdated patches:
455-arm-provide-noncached_set_region-prototype-to-fix-build.patch
Some patches have been manually rebased to match the upstream
changes. This patch also fixes the dtc warning for reserved-memory
dts node. If #address-cells and #size-cells are not same as the
root node definitions, the dtc will complain about it.
All defconfigs are refreshed by `make "$board"_defconfig` and
`make savedefconfig`.
[1] ddac69885e
[2] ccdd7948e2
[3] 599652cff1
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
The JG928A has an RTL8231 on the aux mdio bus. Add it to dts to expose
the GPIO pins used to control and monitor the fan speed. To enable speed
control, add the appropriate kernel driver module to DEVICE_PACKAGES.
Of note, this does not control all fans for the unit. The power supply
fans are not controlled.
Signed-off-by: Evan Jobling <evan@jobling.au>
Link: https://github.com/openwrt/openwrt/pull/17699
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Add a label for changes in the qualcommbe target.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/17922
Signed-off-by: Robert Marko <robimarko@gmail.com>
Add two qualcommax specific packages to the qualcommax labeler.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/17922
Signed-off-by: Robert Marko <robimarko@gmail.com>
Do the same code simplification as was done for ipq807x to avoid code
duplication.
Link: https://github.com/openwrt/openwrt/pull/17907
Signed-off-by: Robert Marko <robimarko@gmail.com>
Fix the model name to reflect the stock partitioning and the wan eth1 detection in the 02_network script.
Fixes: https://github.com/openwrt/openwrt/issues/14432
Fixes: b5df398a36f1 ("mediatek: add Zyxel EX5601-T0 with uboot custom partition")
Signed-off-by: Pietro Ameruoso <p.ameruoso@live.it>
Link: https://github.com/openwrt/openwrt/pull/17859
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Devices that rely on faking the NAND controler compatible for U-Boot
to patch the nodes should add it in their DTS directly, this does not
belong in the SoC DTSI.
Link: https://github.com/openwrt/openwrt/pull/17908
Signed-off-by: Robert Marko <robimarko@gmail.com>
Replace the existing SPI NAND controller patches with the latest v14 set
that is pending upstream, and include Ansuels patch that fixes it.
Bindings patch is removed as there is no point carrying it in OpenWrt.
Link: https://github.com/openwrt/openwrt/pull/17908
Signed-off-by: Robert Marko <robimarko@gmail.com>
Add patch to fix Qcom SNAND driver and move the SNAND patches to
backports directory as they are shared between qualcommax and qualcommbe
target.
Fixes: #17897
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17900
Signed-off-by: Robert Marko <robimarko@gmail.com>
Unless another toolchain is present (or selected), build the bpf toolchain
whenever a package is selected that needs it.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Refresh the ipq50xx kernel config as it looks like it was created by hand
instead of kernel_menuconfig so we have stuff like DWC3 which is packaged
as a kmod in a generic way, QMI helpers are part of backports etc.
Link: https://github.com/openwrt/openwrt/pull/17890
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit fixes nmbm configuration mismatch error on Xiaomi AX3000t
with Winbond W25N01KVZEIR spi-nand:
'''
[ 0.786783] NMBM configuration mismatch
'''
Root cause:
1. U-Boot W25N01KV spi-nand driver ia compiled with 64B OOB size for the
chip and store this size in the nmbm signature;
2. Linux W25N01KV driver use 96B OOB.
The change doesn't affect AX3000t variants with other spi-nand chips
(ESMT, Foresee) because their Linux drivers use 64B OOB.
Fixes: openwrt#16972
Tested-by: Aleksandr Danilov <sc16me@gmail.com>
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17549
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit adds new "mediatek,bmt-mtd-overridden-oobsize" property. The
property helps avoid "NMBM configuration mismatch" error if mtd "OOB size"
is not equal to the "spare size" which is stored in the nmbm signature.
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17549
Signed-off-by: Robert Marko <robimarko@gmail.com>
Newly introduced IPQ5018 specific symbols will stop compilation of
ipq807x and ipq60xx subtargets, so make sure to disable them in the
generic config.
Link: https://github.com/openwrt/openwrt/pull/17884
Signed-off-by: Robert Marko <robimarko@gmail.com>