Airoha reported some bug in the TX/RX descriptor handling and PPE. Backport
the fix for such bug merged in net staging tree.
It's expected that these patch will be dropped in future minor kernel
version when submitted to stable staging tree.
All affected patch automatically refreshed.
(cherry picked from commit 1b9922d5e8)
Link: https://github.com/openwrt/openwrt/pull/23151
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Due to issues surrounding the implementation of the vendor BMT/BBT
on Airoha, upstream ATF + uboot has switched to UBI flash partitions.
However, some devices shipped on this platform are bootloader locked,
and thus it is impossible to replace ATF + uboot.
During testing for the Gemtek W1700K (#17869), sysupgrades from Linux
(which is unaware of the underlying BMT/BBT) would occasionally write
data into blocks which were remapped by the vendor uboot when it was
read on the following reboot, causing a soft brick.
An acceptable workaround [1],[2] was discussed where an intermediate
uboot would be written by the vendor uboot (which is aware of Airoha
BMT/BBT). This chainloader would then ignore the regions of flash
used by the vendor uboot, and store all relevant data inside of UBI.
UBI would then be used to handle bad block management. As the vendor
ATF + uboot do not read or interact with the UBI region, we would avoid
unwanted remaps from BMT/BBT.
This commit introduces support for building such a chainloader, by
packaging u-boot and DTS into a FIT image; to be flashed like a kernel.
Configuration for the Gemtek W1700K is provided as an example of how the
chainloader is used.
[1] https://github.com/openwrt/openwrt/pull/17869#discussion_r2836066746
[2] https://github.com/openwrt/openwrt/pull/17869#discussion_r2838395671
Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
[ move FIP_COMPRESS to Build/Compile, wrap some long lines ]
Link: https://github.com/openwrt/openwrt/pull/22151
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 442e67d31f)
Link: https://github.com/openwrt/openwrt/pull/22294
Signed-off-by: Robert Marko <robimarko@gmail.com>
It was discovered that the internal PHY interrupt are not always connected
and PHY link up/down is not correctly detected.
This is the case of the Nokia Valyrian board that suffer from this problem.
To handle this, drop the internal PHY interrupt property from DTSI and add
it only to the Gemtek W1700K DTS where it was reported to work correctly.
(cherry picked from commit 89d8dc13d0)
[ drop Gemtek W1700K DTS ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Backport patch merged upstream that optimize the QDMA rx queue descriptor
setup by configuring the CPU IDX only when needed.
(cherry picked from commit 70ad03e0ac)
Link: https://github.com/openwrt/openwrt/pull/23046
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
It seems that upstream one of the patch had a compilation erro caused by
merging net and net-next and it was fixed silently in a merge commit.
Fix this error in the affected patch.
Fixes: 155c610962 ("airoha: backport additional patch for memory leak and multi-serdes rework")
(cherry picked from commit 3187113c8a)
Link: https://github.com/openwrt/openwrt/pull/23046
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Backport upstream memory leak patch merged upstream and even more
preliminary patch for multi-serdes rewrk.
(cherry picked from commit 155c610962)
Link: https://github.com/openwrt/openwrt/pull/23046
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Backport minor fixup merged upstream for Ethernet driver on Offload
Scenario. This is to continue the effort of keeping the Airoha Ethernet
driver synced with the upstream version.
(cherry picked from commit 2f52b8f724)
Link: https://github.com/openwrt/openwrt/pull/23046
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Drop duplicated patch that weren't dropped by the backport commit.
Affected patch:
- 910-01-v7.0 (duplicate of 121-v7.0)
- 910-02-v7.0 (duplicate of 123-v7.0)
Signed-off-by: YaleiZang <yalei.zang@airoha.com>
(improve commit description and title)
Link: https://github.com/openwrt/openwrt/pull/23046
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
- Refreshed existing patches
- Removed patch '128-v7.1-net-airoha-Remove-airoha_dev_stop-in-airoha_remove.patch', as it has been upstreamed.
Signed-off-by: YaleiZang <yalei.zang@airoha.com>
Link: https://github.com/openwrt/openwrt/pull/22820
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Backport additional upstream patch in preparation for multi-serdes and
proper PCS support.
Automatically refresh all affected patch.
(cherry picked from commit 25de25827e)
Link: https://github.com/openwrt/openwrt/pull/22820
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Backport more upstream patch to include all the fixes pushed upstream and
add all the preliminary patch for multi-serdes support.
While at it also move 2 patch in the 6xx numbering to the 000-1xx backport
numbering to keep things tidy.
All the affected patch manually and automatically refreshed.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
[ add comment, renumber patch, add more patch, fix PCS patch ]
Link: https://github.com/openwrt/openwrt/pull/22479
(cherry picked from commit c5a8ddd0ac)
Link: https://github.com/openwrt/openwrt/pull/22820
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Backport a patch that reduces the quality of HWRNG. HWRNG has lower
entropy than expected. Thanks to this patch, it has a lower priority.
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/21722
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5cd176925e)
Link: https://github.com/openwrt/openwrt/pull/22820
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Due to confusing Documentation, the SPI and SLIC base clock and
register location for Airoha AN7583 SoC were wrong.
Fix them with new updated Documentation source to provide correct
clock support.
Fixes: c5b12fc02a ("airoha: Introduce support for Airoha AN7583 SoC")
(cherry picked from commit 6c4c988a5f)
Link: https://github.com/openwrt/openwrt/pull/22820
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Initialize NPU Block Ack memory region if reserved via DTS.
Block Ack memory region is used by NPU MT7996 (Eagle) offloading.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/22289
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 305f685f83)
Link: https://github.com/openwrt/openwrt/pull/22372
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Introduce the capability to read the firmware binary names from device-tree
using the firmware-name property if available.
This is a preliminary patch to enable NPU offloading for MT7996 (Eagle)
chipset since it requires a different binary with respect to the one
used for MT7992 on the EN7581 SoC.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/22289
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 123557f0e2)
Link: https://github.com/openwrt/openwrt/pull/22372
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Certain targets for an7581 and an7583 referred to kmod-pwm-airoha;
however in the target modules makefile the module is referred to
as kmod-pwm-an7581, causing buildbot to fail.
Change the name of kmod-pwm-an7581 to kmod-pwm-airoha to resolve this.
Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/22445
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 7d2c244646)
Link: https://github.com/openwrt/openwrt/pull/22466
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Fix two hardware initialization issues in the EN7581 PCIe controller
and add support for x2 (2-lane) link mode.
Fixes:
The upstream EN7581 PCIe initialization writes EQ presets and PIPE
configuration registers before clk_bulk_prepare_enable(). Since the
MAC clocks are not yet running at that point, these register writes
are silently dropped, leaving the hardware with default values. This
can cause link training failures or suboptimal equalization.
Additionally, after link training the MAC may only advertise Gen1-Gen2
capability in the Link Capabilities 2 register despite the PHY being
configured for Gen3. A serdes reset toggle forces the MAC to re-read
PHY capability, recovering Gen3 8GT/s link speed.
Both issues are addressed by separating PERST from the clock callbacks
(patch 911), allowing the PCIe controller driver to properly sequence
PERST, clock enable, and register writes (patch 912).
New feature:
PCIe x2 mode support for EN7581 using the NP_SCU system controller
for serdes mux routing, PERST management, and lane configuration.
Both bonded MACs are configured for x2 operation with proper EQ
presets before link training begins.
Signed-off-by: Ryan Chen <rchen14b@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21978
Link: https://github.com/openwrt/openwrt/pull/22336
Signed-off-by: Robert Marko <robimarko@gmail.com>
The MT7531 has an incorrect interrupt number described in the DTS.
This commit also adds PHY interrupts. They work the same as on
the MT7988.
Tested on Gemtek W1700k.
Suggested-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/21016
(cherry picked from commit 788958880b)
Link: https://github.com/openwrt/openwrt/pull/21838
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This patch fixes a bug in a patch we backported.
This patch was cherry picked from upstream Linux because it references a
patch we backported in the fixes tag.
The first two patches are providing function needed by the last patch.
Fixes: 813ecda1f3 ("generic: backport phylink patches for PCS/PHY caps OPs")
Link: https://github.com/openwrt/openwrt/pull/21366
(cherry picked from commit 69d76e3a14)
Link: https://github.com/openwrt/openwrt/pull/21390
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This patch fixes a bug in a patch we backported.
This patch was cherry picked from upstream Linux because it references a
patch we backported in the fixes tag.
The function phy_id_compare_vendor() is needed by the fix.
Refresh 782-05-v6.16-net-phy-Add-support-for-Aeonsemi-AS21xxx-PHYs.patch with the upstream code.
Fixes: 08a616b216 ("generic: backport support for Aeonsemi AS21xxx PHY")
Link: https://github.com/openwrt/openwrt/pull/21366
(cherry picked from commit b3318fe819)
Link: https://github.com/openwrt/openwrt/pull/21390
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Changes:
* use upstream patches for airoha-snfi driver
* update in kernel en7523 dts to add spinand support
Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/21299
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d9b1c74780)
Move reserved_mem backports patch from airoha to generic dir as it will
be also used by backports package based on 6.18.
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Commit 8f1914053b ("airoha: replace I2S patch with upstream pending
version") introduced a kernel panic with I2S driver.
Add the fixed patch to fix the kernel panic.
Fixes: 8f1914053b ("airoha: replace I2S patch with upstream pending version")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Enable I2S sound driver and add nodes for eMMC RFB board since it's the
one that always have the I2C codec and can use the sound card.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Replace I2S sound patch with upstream pending version. This adds ETDM
support and fix various bug in the downstream implementation.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Backport upstream patch to add support for the ESMT F50L1G41LC flash
chip. It is used in multiple Cudy products manufactured starting
November 2025.
Link: https://github.com/openwrt/openwrt/pull/20962
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Use latest patch version
Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/20400
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
There is no reason not to do this.
Use the following commands to enable hardware offloading:
uci set firewall.@defaults[0].flow_offloading='1'
uci set firewall.@defaults[0].flow_offloading_hw='1'
uci commit
Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20484
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>