openwrt/staging/ansuel.git
16 months agoopenssl: opt-out of lto usage
Christophe Sokol [Sun, 16 Jul 2023 08:01:17 +0000 (08:01 +0000)]
openssl: opt-out of lto usage

This fixes building with USE_LTO enabled:

aarch64-openwrt-linux-musl-gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -Os -pipe -mcpu=cortex-a53 -fno-caller-saves -fno-plt -fhonour-copts -fmacro-prefix-map=/build_dir/target-aarch64_cortex-a53_musl/openssl-3.0.9=openssl-3.0.9 -ffunction-sections -fdata-sections -flto=auto -fno-fat-lto-objects -Wformat -Werror=format-security -DPIC -fPIC -fstack-protector-strong -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -DPIC -fPIC -Os -pipe -mcpu=cortex-a53 -fno-caller-saves -fno-plt -fhonour-copts -fmacro-prefix-map=/build_dir/target-aarch64_cortex-a53_musl/openssl-3.0.9=openssl-3.0.9 -ffunction-sections -fdata-sections -flto=auto -fno-fat-lto-objects -Wformat -Werror=format-security -fPIC -fstack-protector-strong -fPIC -fuse-ld=bfd -flto=auto -fuse-linker-plugin -fPIC -specs=/include/hardened-ld-pie.specs -znow -zrelro -L. -Wl,-z,defs -Wl,-znodelete -shared -Wl,-Bsymbolic  -Wl,-z,now -Wl,-z,relro -L/staging_dir/toolchain-aarch64_cortex-a53_gcc-13.1.0_musl/usr/lib -L/staging_dir/toolchain-aarch64_cortex-a53_gcc-13.1.0_musl/lib -Wl,--gc-sections \
-o providers/legacy.so -Wl,--version-script=providers/legacy.ld \
providers/legacy-dso-legacyprov.o \
providers/liblegacy.a providers/libcommon.a -lcrypto -ldl -pthread
ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o: in function `legacy_get_params':
<artificial>:(.text.legacy_get_params+0xd4): undefined reference to `ossl_prov_is_running'
ld.bfd: <artificial>:(.text.legacy_get_params+0xd8): undefined reference to `ossl_prov_is_running'
ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o: in function `legacy_teardown':
<artificial>:(.text.legacy_teardown+0x4): undefined reference to `ossl_prov_ctx_get0_libctx'
ld.bfd: <artificial>:(.text.legacy_teardown+0x8): undefined reference to `ossl_prov_ctx_get0_libctx'
ld.bfd: <artificial>:(.text.legacy_teardown+0x34): undefined reference to `ossl_prov_ctx_free'
ld.bfd: <artificial>:(.text.legacy_teardown+0x38): undefined reference to `ossl_prov_ctx_free'
ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o: in function `OSSL_provider_init':
<artificial>:(.text.OSSL_provider_init+0x14): undefined reference to `ossl_prov_ctx_new'
ld.bfd: <artificial>:(.text.OSSL_provider_init+0x18): undefined reference to `ossl_prov_ctx_new'
ld.bfd: <artificial>:(.text.OSSL_provider_init+0x84): undefined reference to `ossl_prov_ctx_set0_libctx'
ld.bfd: <artificial>:(.text.OSSL_provider_init+0x88): undefined reference to `ossl_prov_ctx_set0_libctx'
ld.bfd: <artificial>:(.text.OSSL_provider_init+0x98): undefined reference to `ossl_prov_ctx_set0_handle'
ld.bfd: <artificial>:(.text.OSSL_provider_init+0x9c): undefined reference to `ossl_prov_ctx_set0_handle'
ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o:(.data.rel.ro.legacy_kdfs+0x10): undefined reference to `ossl_kdf_pbkdf1_functions'
ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o:(.data.rel.ro.legacy_ciphers+0x10): undefined reference to `ossl_cast5128ecb_functions'
ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o:(.data.rel.ro.legacy_ciphers+0x30): undefined reference to `ossl_cast5128cbc_functions'
[...]
ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o:(.data.rel.ro.legacy_digests+0x10): undefined reference to `ossl_md4_functions'
ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o:(.data.rel.ro.legacy_digests+0x30): undefined reference to `ossl_ripemd160_functions'
collect2: error: ld returned 1 exit status

Signed-off-by: Christophe Sokol <christophe@wk3.org>
16 months agoipq40xx: add support for Teltonika RUTX50
David Bauer [Sat, 6 May 2023 14:57:18 +0000 (16:57 +0200)]
ipq40xx: add support for Teltonika RUTX50

Hardware
--------
CPU:     Qualcomm IPQ4018
RAM:     256M
Flash:   16MB SPI-NOR (W25Q128)
         128MB SPI-NAND (XTX)
WiFi:    2T2R (2GHz 802.11n ; 5 GHz 802.11ac)
ETH:     4x LAN ; 1x WAN (Gigabit)
CELL:    Quectel RG501Q 3G/4G/5G

UART: Available on the goldfinger connector (Pinout silkscreened)
      115200 8N1 3V3 - Only connect RX / TX / GND

Installation
------------

1. Enable SSH in the Teltonika UI
   (System --> Administration --> Access Control)

2. Check from which partition set the device is currently running from.

   $ cat /proc/boot_info/rootfs/primaryboot

   In case this output reads 0, install a Software update from Teltonika
   first. After upgrade completion, check this file now reads 1 before
   continuing.

2. Transfer the OpenWrt factory image to the device using scp. Use the
   same password (user root!) as used for the Web-UI.

   $ scp -O openwrt-factory.bin root@192.168.1.1:/tmp

3. Connect to the device using ssh as the root user.

4. Install OpenWrt by writing the factory image to flash.

   $ ubiformat /dev/mtd16 -y -f /tmp/openwrt-factory.bin

5. Instruct the bootloaer to boot from the first partition set.

   $ echo 0 > /proc/boot_info/rootfs/primaryboot
   $ cat /proc/boot_info/getbinary_bootconfig > /tmp/bootconfig.bin
   $ cat /proc/boot_info/getbinary_bootconfig1 > /tmp/bootconfig1.bin
   $ mtd write /tmp/bootconfig.bin /dev/mtd2
   $ mtd write /tmp/bootconfig1.bin /dev/mtd3

6. Reboot the device.

   $ reboot

Signed-off-by: David Bauer <mail@david-bauer.net>
16 months agoipq40xx: move Teltonika RUT STM32 IO to specific DTS
David Bauer [Sat, 6 May 2023 14:51:18 +0000 (16:51 +0200)]
ipq40xx: move Teltonika RUT STM32 IO to specific DTS

Prepare to re-use the DTS for the RUTX50.

Signed-off-by: David Bauer <mail@david-bauer.net>
16 months agourngd: update to the latest master
Rafał Miłecki [Tue, 25 Jul 2023 07:51:35 +0000 (09:51 +0200)]
urngd: update to the latest master

7aefb47 jitterentropy-rngd: update to the v1.2.0

What's interesting about jitterentropy-rngd v1.2.0 release is that it
bumps its copy of jitterentropy-library from v2.2.0 to the v3.0.0. That
bump includes a relevant commit 3130cd9 ("replace LSFR with SHA-3 256").

When initializing entropy jent calculates time delta. Time values are
obtained using clock_gettime() + CLOCK_REALTIME. There is no guarantee
from CLOCK_REALTIME of unique values and slow devices often return
duplicated ones.

A switch from jent_lfsr_time() to jent_hash_time() resulted in many less
cases of zero delta and avoids ECOARSETIME.

Long story short: on some system this fixes:
[    6.722725] urngd: jent-rng init failed, err: 2

This is important change for BCM53573 which doesn't include hwrng and
seems to have arch_timer running at 36,8 Hz.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agokernel: bump 6.1 to 6.1.40
John Audia [Sun, 23 Jul 2023 15:00:55 +0000 (11:00 -0400)]
kernel: bump 6.1 to 6.1.40

Removed upstreamed:
generic/backport-6.1/701-v6.5-net-bgmac-postpone-turning-IRQs-off-to-avoid-SoC-han.patch[1]
generic/pending-6.1/160-workqueue-fix-enum-type-for-gcc-13.patch[2]
qualcommax/patches-6.1/0022-v6.5-soc-qcom-mdt_loader-Fix-unconditional-call-to-scm_pa.patch[3]

Manually rebased:
bcm27xx/patches-6.1/950-0359-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
bcm27xx/patches-6.1/950-0362-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
bcm27xx/patches-6.1/950-0390-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
bcm27xx/patches-6.1/950-0469-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
bcm53xx/patches-6.1/180-usb-xhci-add-support-for-performing-fake-doorbell.patch

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.40&id=685b57a1221c38ec8b456f968264d2496715820c
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.40&id=2d57a1590f4d8c516f5aaf8fd5bb4f52d67275d8
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.40&id=33f8dff6e1cbba5c2ec85fa5649c0a759a7e685c

Build system: x86/64, filogic/xiaomi_redmi-router-ax6000-ubootmod
Build-tested: x86/64, filogic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: x86/64

Signed-off-by: John Audia <therealgraysky@proton.me>
16 months agokernel: bump 6.1 to 6.1.39
John Audia [Thu, 20 Jul 2023 09:51:10 +0000 (05:51 -0400)]
kernel: bump 6.1 to 6.1.39

Removed upstreamed:
generic/backport-6.1/803-v6.5-01-leds-trigger-netdev-Recheck-NETDEV_LED_MODE_LINKUP-o.patch[1]
generic/pending-6.1/143-jffs2-reduce-stack-usage-in-jffs2_build_xattr_subsys.patch[2]
bcm27xx/patches-6.1/950-0034-drm-bridge-Introduce-pre_enable_upstream_first-to-al.patch[3]
bcm27xx/patches-6.1/950-0439-nvmem-Use-NVMEM_DEVID_AUTO.patch[4]
bcm4908/patches-6.1/040-mtd-parsers-refer-to-ARCH_BCMBCA-instead-of-ARCH_BCM.patch[5]
bcm53xx/patches-6.1/031-v6.5-0003-ARM-dts-BCM5301X-Drop-clock-names-from-the-SPI-node.patch[6]
bcm53xx/patches-6.1/031-v6.5-0015-ARM-dts-BCM5301X-fix-duplex-full-full-duplex.patch[7]
mediatek/patches-6.1/351-cpufreq-mediatek-correct-voltages-for-MT7622-and-MT7.patch[8]
qualcommax/patches-6.1/0008-v6.2-clk-qcom-reset-support-resetting-multiple-bits.patch[9]

Manually rebased:
bcm27xx/patches-6.1/950-0035-drm-panel-Add-prepare_upstream_first-flag-to-drm_pan.patch
bcm27xx/patches-6.1/950-0404-drm-panel-panel-ilitek9881c-Add-prepare_upstream_fir.patch
bcm27xx/patches-6.1/950-0699-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch
mediatek/patches-6.1/350-21-cpufreq-mediatek-Add-support-for-MT7988.patch

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.39&id=ab0bd172d6289310a05a0cd15e1432e828d386ae
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.39&id=6df680709d901346831ef8f221cc90a42062c526
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.39&id=5044e5f2511c9afdf9880d2bb6b9d37dfc345dac
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.39&id=e27948f329f7e02591ed1feb9a7710c2ccf89a83
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.39&id=ad2928e7f3f6120a0bd18aa1056b3b24068027c5
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.39&id=2b55a985727833f37c39911f34096b3fdf2a367d
7. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.39&id=90d4c487cd658b51212eb65ae804ab11af193672
8. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.39&id=7e3ee25e8c7c7be1eacdfc6d9f5f0e550a2af241
9. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.39&id=b20854ef6c4955be3310975a72f02d92cb01d6d4

Build system: x86/64
Build-tested: x86/64
Run-tested: x86/64

Co-authored-by: Hauke Mehrtens <hauke@hauke-m.de>
Co-authored-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: John Audia <therealgraysky@proton.me>
[ rebase bcm27xx and mediatek patches, refresh commit description ]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
[ minor fixup to bcm27xx patches, refresh commit description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
16 months agokernel: drop mips highmem offset start overrides
Felix Fietkau [Mon, 24 Jul 2023 12:43:03 +0000 (14:43 +0200)]
kernel: drop mips highmem offset start overrides

The maximum offset that can be supported is 0x20000000
Do not override it to to something bigger than that on MT7621, as that could
cause issues based on the fixed memory mappings. This makes the last 64 MB
RAM unusable on MT7621 devices with 512 MB but avoids incurring a heavy
performance hit

Fixes: cd2b74e01e8d ("ramips: mt7621: disable highmem support and remove highmem offset patch")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
16 months agoramips: mt7621: disable highmem support and remove highmem offset patch
Felix Fietkau [Mon, 24 Jul 2023 11:17:44 +0000 (13:17 +0200)]
ramips: mt7621: disable highmem support and remove highmem offset patch

On MT7621 it was observed, that enabling highmem support causes a significant
performance drop, as documented in: https://github.com/openwrt/openwrt/issues/13151
By adjusting the highmem start offset, we avoid leaving any RAM unaddressable,
even on devices with 512 MB

Fixes: https://github.com/openwrt/openwrt/issues/13151
Signed-off-by: Felix Fietkau <nbd@nbd.name>
16 months agobcm53xx: add BCM53573 Ethernet fix sent upstream for v6.6
Rafał Miłecki [Sun, 23 Jul 2023 20:41:18 +0000 (22:41 +0200)]
bcm53xx: add BCM53573 Ethernet fix sent upstream for v6.6

It seems that DSA-based b53 driver never worked with BCM53573 SoCs and
BCM53125.

In case of swconfig-based b53 this fixes a regression. Switching bgmac
from using mdiobus_register() to of_mdiobus_register() resulted in MDIO
device (BCM53125) having of_node set (see of_mdiobus_register_phy()).
That made downstream b53 driver read invalid data from DT and broke
Ethernet support.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agortl8812au-ct: fix compilation error with kernel 6.1
Christian Marangi [Sun, 23 Jul 2023 12:41:35 +0000 (14:41 +0200)]
rtl8812au-ct: fix compilation error with kernel 6.1

Kernel 6.1 have renamed complete_and_exit to kthread_complete_and_exit.
This was just a rename and nothing is changed implementation wise.

Fix compilation error by using the new symbol name.

Fix compilation error:
In file included from /builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/linux-bcm27xx_bcm2710/rtl8812au-ct-2021-11-07-39df5596/include/osdep_service.h:41,
                 from /builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/linux-bcm27xx_bcm2710/rtl8812au-ct-2021-11-07-39df5596/include/drv_types.h:32,
                 from /builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/linux-bcm27xx_bcm2710/rtl8812au-ct-2021-11-07-39df5596/core/rtw_cmd.c:22:
/builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/linux-bcm27xx_bcm2710/rtl8812au-ct-2021-11-07-39df5596/core/rtw_cmd.c: In function 'rtw_cmd_thread':
/builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/linux-bcm27xx_bcm2710/rtl8812au-ct-2021-11-07-39df5596/include/osdep_service_linux.h:166:23: error: implicit declaration of function 'complete_and_exit' [-Werror=implicit-function-declaration]
  166 | #define thread_exit() complete_and_exit(NULL, 0)
      |                       ^~~~~~~~~~~~~~~~~
/builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/linux-bcm27xx_bcm2710/rtl8812au-ct-2021-11-07-39df5596/core/rtw_cmd.c:706:9: note: in expansion of macro 'thread_exit'
  706 |         thread_exit();
      |         ^~~~~~~~~~~
/builder/shared-workdir/build/sdk/build_dir/target-aarch64_cortex-a53_musl/linux-bcm27xx_bcm2710/rtl8812au-ct-2021-11-07-39df5596/core/rtw_cmd.c:708:1: error: control reaches end of non-void function [-Werror=return-type]
  708 | }
      | ^
cc1: all warnings being treated as errors

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
16 months agobcm27xx: update dwc_otc driver with new kthread_complete_and_exit name
Christian Marangi [Sun, 23 Jul 2023 12:26:13 +0000 (14:26 +0200)]
bcm27xx: update dwc_otc driver with new kthread_complete_and_exit name

Kernel 6.1 renamed and moved complete_and_exit to
kthread_complete_and_exit.

This was just a rename and nothing is changed implementation wise.
Update to the new symbol name to fix compilation error.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
16 months agomac80211: limit MT7620 TX power based on eeprom calibration
Shiji Yang [Sun, 23 Jul 2023 02:14:54 +0000 (10:14 +0800)]
mac80211: limit MT7620 TX power based on eeprom calibration

This patch adds basic TX power control for the MT7620 and limits its
maximum TX power. This can avoid the link speed decrease caused by
chip overheating.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
16 months agomediatek: add missing SPDX header
David Bauer [Sat, 22 Jul 2023 15:40:56 +0000 (17:40 +0200)]
mediatek: add missing SPDX header

Signed-off-by: David Bauer <mail@david-bauer.net>
16 months agomediatek: filogic: set DEVICE_DTS_LOADADDR for BPi-R3
Daniel Golle [Sat, 22 Jul 2023 11:30:43 +0000 (12:30 +0100)]
mediatek: filogic: set DEVICE_DTS_LOADADDR for BPi-R3

U-Boot complains that the overlayed DT needs relocation, so set
DEVICE_DTS_LOADADDR to have it relocated.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agomediatek: add support for ZyXEL NWA50AX Pro
David Bauer [Sat, 15 Jul 2023 16:10:31 +0000 (18:10 +0200)]
mediatek: add support for ZyXEL NWA50AX Pro

Hardware
--------
CPU:    Mediatek MT7981
RAM:    512M DDR4
FLASH:  256M NAND
ETH:    MaxLinear GPY211 (2.5GbE N Base-T)
WiFi:   Mediatek MT7981 (2.4GHz 2T2R:2 5GHz 3T3R:2 802.11ax)
BTN:    1x Reset
LED:    1x Multi-Color

UART Console
------------
Available below the rubber cover next to the ethernet port.

Settings: 115200 8N1

Layout:

<12V> <LAN> GND-RX-TX-VCC

Logic-Level is 3V3. Don't connect VCC to your UART adapter!

Installation Web-UI
-------------------
Upload the Factory image using the devices Web-Interface.

As the device uses a dual-image partition layout, OpenWrt can only
installed on Slot A. This requires the current active image prior
flashing the device to be on Slot B.

In case this is not the case, OpenWrt will boot only one time, returning
to the ZyXEL firmware the second boot.

If this happens, first install a ZyXEL firmware upgrade of any version
and install OpenWrt after that.

Installation TFTP / Recovery
----------------------------
This installation routine is especially useful in case of a bricked
device.

Attach to the UART console header of the device. Interrupt the boot
procedure by pressing Enter.

The bootloader has a reduced command-set available from CLI, but more
commands can be executed by abusing the atns command.

Boot a OpenWrt initramfs image available on a TFTP server at
192.168.1.66. Rename the image to nwa50axpro-openwrt-initramfs.bin.

 $ atnf nwa50axpro-openwrt-initramfs.bin
 $ atna 192.168.1.88
 $ atns "192.168.1.66; tftpboot; setenv fdt_high 0xffffffffffffffff;
   bootm"

Upon booting, set the booted image to the correct slot:

 $ zyxel-bootconfig /dev/mtd9 get-status
 $ zyxel-bootconfig /dev/mtd9 set-image-status 0 valid
 $ zyxel-bootconfig /dev/mtd9 set-active-image 0

Copy the OpenWrt sysupgrade image to the device using scp.
Write the sysupgrade image to NAND using sysupgrade.

 $ sysupgrade -n image.bin

Signed-off-by: David Bauer <mail@david-bauer.net>
16 months agoipq806x: reorganize 02_network board.d script
Christian Marangi [Sun, 16 Jul 2023 01:02:15 +0000 (03:02 +0200)]
ipq806x: reorganize 02_network board.d script

Reorganize 02_network board.d script by splitting setup switch and setup
mac address.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
16 months agoipq806x: rename kernel files to generic name
Christian Marangi [Tue, 20 Jun 2023 00:00:23 +0000 (02:00 +0200)]
ipq806x: rename kernel files to generic name

Drop 6.1 tag from files directory for ipq806x now that we moved to 6.1
by default.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
16 months agoipq806x: 5.15: drop useless kernel patches and dts files
Christian Marangi [Mon, 19 Jun 2023 23:58:37 +0000 (01:58 +0200)]
ipq806x: 5.15: drop useless kernel patches and dts files

Drop useless 5.15 kernel patches and files now that we moved to kernel
6.1 by default.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
16 months agoipq806x: move to kernel 6.1 by default
Christian Marangi [Mon, 19 Jun 2023 23:57:34 +0000 (01:57 +0200)]
ipq806x: move to kernel 6.1 by default

Move to kernel 6.1 by default in preparation for DSA introduction.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
16 months agoipq806x: 6.1: backport patch fixing broken hwspinlock
Christian Marangi [Fri, 21 Jul 2023 10:58:30 +0000 (12:58 +0200)]
ipq806x: 6.1: backport patch fixing broken hwspinlock

Backport merged patch fixing broken hwspinlock due to missing regmap
config for SFPB MMIO implementation.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
16 months agoocteon: use fixed layout cell "mac-base" for Cisco vEdge 1000
Rafał Miłecki [Mon, 17 Jul 2023 06:59:38 +0000 (08:59 +0200)]
octeon: use fixed layout cell "mac-base" for Cisco vEdge 1000

This drops a use of downstream "mac-address-increment".

Cc: Christian Svensson <blue@cmd.nu>
Cc: Tommy Nevtelen <tommy@nevtelen.com>
Cc: Viktor Ekmark <viktor@ekmark.se>
Cc: Daniel Wennberg <github@networkninja.se>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Tested-by: Christian Svensson <blue@cmd.nu>
16 months agoramips: replace "mac-address-ascii" with "mac-base"
Rafał Miłecki [Fri, 14 Jul 2023 13:11:14 +0000 (15:11 +0200)]
ramips: replace "mac-address-ascii" with "mac-base"

With upstream accepted "mac-base" binding there is no need for a
downstream "mac-address-ascii" workaround anymore.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
[TP-Link EC330-G5u v1 - OK]
Tested-by: Mikhail Zhilkin <csharper2005@gmail.com>
16 months agostrace: update to 6.4
Nick Hainke [Wed, 19 Jul 2023 13:32:26 +0000 (15:32 +0200)]
strace: update to 6.4

Release Notes:
https://github.com/strace/strace/releases/tag/v6.4

Signed-off-by: Nick Hainke <vincent@systemli.org>
16 months agoiproute2: update 6.4
Nick Hainke [Wed, 19 Jul 2023 07:22:48 +0000 (09:22 +0200)]
iproute2: update 6.4

Release Notes:
https://lore.kernel.org/lkml/20230626093137.2f302acc@hermes.local/t/

Signed-off-by: Nick Hainke <vincent@systemli.org>
16 months agoethtool: update to 6.4
Nick Hainke [Wed, 19 Jul 2023 07:08:06 +0000 (09:08 +0200)]
ethtool: update to 6.4

ChangeLog:
125b080 Release version 6.4.
5660918 update UAPI header copies
f493e63 netlink: fix duplex setting
b3e341c cmis: report LOL / LOS / Tx Fault
045d8db sff-8636: report LOL / LOS / Tx Fault
a6505f3 drop checks for macros provided in UAPI header copies
86c0c41 do not check for strtol() function
dd8e3ae actually check for C11 compiler
43e4d30 add local copies of macros from autoconf-archive
faa4700 drop check for big endian types
31b7b5e Require a compiler with support for C11 features
946d18b update UAPI header copies
eebf01f ethtool: Add support for configuring tx-push-buf-len
2782ea8 update UAPI header copies

Signed-off-by: Nick Hainke <vincent@systemli.org>
16 months agonettle: update to 3.9.1
Nick Hainke [Wed, 19 Jul 2023 06:33:32 +0000 (08:33 +0200)]
nettle: update to 3.9.1

Announcement:
https://lists.gnu.org/archive/html/info-gnu/2023-06/msg00000.html

Signed-off-by: Nick Hainke <vincent@systemli.org>
16 months agoath79: move ubnt-xm 64M RAM boards back to generic
Felix Baumann [Mon, 3 Jul 2023 23:35:43 +0000 (01:35 +0200)]
ath79: move ubnt-xm 64M RAM boards back to generic

return ubnt_rocket-m and ubnt_powerbridge-m back to ath79-generic
They have enough RAM-ressources to not be considered as tiny.

This reverts the commit f4415f7635164ec07ddc22f56df93555804b5767 partially

Signed-off-by: Felix Baumann <felix.bau@gmx.de>
16 months agolibbpf: Update to v1.2.2
Tony Ambardar [Mon, 17 Jul 2023 01:22:59 +0000 (18:22 -0700)]
libbpf: Update to v1.2.2

Update to the latest upstream release to include recent bugfixes:

Link: https://github.com/libbpf/libbpf/compare/v1.2.0...v1.2.2
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
16 months agonftables: update to 1.0.8
Nick Hainke [Fri, 14 Jul 2023 13:26:06 +0000 (15:26 +0200)]
nftables: update to 1.0.8

ChangeLog:
https://www.netfilter.org/projects/nftables/files/changes-nftables-1.0.8.txt

Signed-off-by: Nick Hainke <vincent@systemli.org>
16 months agolibnftnl: update to 1.2.6
Nick Hainke [Wed, 12 Jul 2023 21:38:51 +0000 (23:38 +0200)]
libnftnl: update to 1.2.6

Release Notes:
https://lists.netfilter.org/pipermail/netfilter-announce/2023/000250.html

Signed-off-by: Nick Hainke <vincent@systemli.org>
16 months agoramips: fix Ubiquiti EdgeRouter X's MAC address for gmac1
Rafał Miłecki [Tue, 18 Jul 2023 09:26:37 +0000 (11:26 +0200)]
ramips: fix Ubiquiti EdgeRouter X's MAC address for gmac1

This fixes:
[    0.586649] OF: /ethernet@1e100000/mac@1: #nvmem-cell-cells = 1 found 0

Fixes: 28b6224104cc ("ramips: use fixed layout cell "mac-base" for Ubiquiti EdgeRouter X")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agobase-files: fix duplicate wifi radio sections when using phy renaming
Felix Fietkau [Mon, 17 Jul 2023 12:32:21 +0000 (14:32 +0200)]
base-files: fix duplicate wifi radio sections when using phy renaming

The duplicate sections are caused by a race condition at boot, when board.json
is not available. In that case, the final phy name cannot be resolved, and extra
sections referring to the path are created.
Fix this by making sure that wifi config is not being run before board.json
is created.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
16 months agoath11k-firmware: update to stable WLAN.HK.2.9.0.1-01837
Michał Kwiatek [Wed, 12 Jul 2023 19:39:39 +0000 (21:39 +0200)]
ath11k-firmware: update to stable WLAN.HK.2.9.0.1-01837

Changelog from quic:

 Bug fixes, stability improvements from previous releases
  are present. There are no backward comatibility issues
  with this release.

Tested-by: Michał Kwiatek <michal@kwiatek.it> # Xiaomi AX3600
Signed-off-by: Michał Kwiatek <michal@kwiatek.it>
[ improve commit description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
16 months agosdk: update SDK Makefile
Christian Lamparter [Sat, 15 Jul 2023 18:58:10 +0000 (20:58 +0200)]
sdk: update SDK Makefile

the SDK's Makefile referenced the old file name.
Update it too.

Fixes: 2d5f7035cf45 ("sdk: rename README")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
16 months agorealtek: add support for HPE 1920-8g-poe+
Pawel Dembicki [Fri, 7 Jul 2023 11:51:49 +0000 (13:51 +0200)]
realtek: add support for HPE 1920-8g-poe+

Hardware information:
---------------------

- RTL8380 SoC
- 8 Gigabit RJ45 PoE ports (built-in RTL8218B)
- 2 SFP ports (built-in SerDes)
- RJ45 RS232 port on front panel
- 32 MiB NOR Flash
- 128 MiB DDR3 DRAM
- PT7A7514 watchdog
- PoE chips: Nuvoton M0516LDE + BCM59121

Known issues:
---------------------
- PoE LEDs are uncontrolled.

(Manual taken from f2f09bc00280)
Booting initramfs image:
------------------------

- Prepare a FTP or TFTP server serving the OpenWrt initramfs image and
  connect the server to a switch port.

- Connect to the console port of the device and enter the extended
  boot menu by typing Ctrl+B when prompted.

- Choose the menu option "<3> Enter Ethernet SubMenu".

- Set network parameters via the option "<5> Modify Ethernet Parameter".
  Enter the FTP/TFTP filename as "Load File Name" ("Target File Name"
  can be left blank, it is not required for booting from RAM). Note that
  the configuration is saved on flash, so it only needs to be done once.

- Select "<1> Download Application Program To SDRAM And Run".

Initial installation:
---------------------

- Boot an initramfs image as described above, then use sysupgrade to
  install OpenWrt permanently. After initial installation, the
  bootloader needs to be configured to load the correct image file

- Enter the extended boot menu again and choose "<4> File Control",
  then select "<2> Set Application File type".

- Enter the number of the file "openwrt-kernel.bin" (should be 1), and
  use the option "<1> +Main" to select it as boot image.

- Choose "<0> Exit To Main Menu" and then "<1> Boot System".

NOTE: The bootloader on these devices can only boot from the VFS
filesystem which normally spans most of the flash. With OpenWrt, only
the first part of the firmware partition contains a valid filesystem,
the rest is used for rootfs. As the bootloader does not know about this,
you must not do any file operations in the bootloader, as this may
corrupt the OpenWrt installation (selecting the boot image is an
exception, as it only stores a flag in the bootloader data, but doesn't
write to the filesystem).

Example PoE config file (/etc/config/poe):
---------------------
config global
        option budget   '180'

config port
        option enable   '1'
        option id       '1'
        option name     'lan8'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '2'
        option name     'lan7'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '3'
        option name     'lan6'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '4'
        option name     'lan5'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '5'
        option name     'lan4'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '6'
        option name     'lan3'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '7'
        option name     'lan2'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '8'
        option name     'lan1'
        option poe_plus '1'
        option priority '2'

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
16 months agoocteon: ubnt-edgerouter-4/6p: devicetree cleanup
Carsten Spieß [Wed, 12 Jul 2023 08:24:11 +0000 (10:24 +0200)]
octeon: ubnt-edgerouter-4/6p: devicetree cleanup

removed redundant eeprom partition nodes from
cn7130_ubnt_edgerouter-4.dts and cn7130_ubnt_edgerouter-6p.dts
as they are identically defined in cn7130_ubnt_edgerouter-e300.dtsi.

Signed-off-by: Carsten Spieß <mail@carsten-spiess.de>
(integrated eeprom referenced node in the .dtsi)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
16 months agoocteon: ubnt-edgerouter-e300: fix missing MTD partition
Carsten Spieß [Wed, 12 Jul 2023 08:16:27 +0000 (10:16 +0200)]
octeon: ubnt-edgerouter-e300: fix missing MTD partition

The MAC addresses should be read from 3rd MTD partition,
but only two MTD partitions are populated.

To fix it, a partitions node has to surround the partition
nodes in device tree.

Tested with Edgerouter 6P

Signed-off-by: Carsten Spieß <mail@carsten-spiess.de>
(fixed checkpatch complains)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
16 months agoocteon: ubnt-edgerouter-e300: fix LED settings
Carsten Spieß [Wed, 12 Jul 2023 08:41:25 +0000 (10:41 +0200)]
octeon: ubnt-edgerouter-e300: fix LED settings

LEDs on Edgerouter 6P didn't work correctly:
blue /white LED swapped, on/off state inverted

Fixed in device tree:
swap the GPIO ports for power:blue and power:white LEDs
change LED activity from LOW to HIGH

Tested on Edgerouter 6P

Signed-off-by: Carsten Spieß <mail@carsten-spiess.de>
16 months agoocteon: n821: add Cisco vEdge 1000 base
Christian Svensson [Sun, 2 Jul 2023 22:31:59 +0000 (00:31 +0200)]
octeon: n821: add Cisco vEdge 1000 base

This is the first commit to introduce the base for the N821 board used
in Cisco vEdge 1000.

This commit does not include the custom CPLD drivers but rather
everything else that is already present in the upstream kernel.

This results in an image that boots, but e.g. the SFP ports are not
usable.

Hardware:

  - CPU: Cavium Networks CN6130, 4 cores @ 1.0 GHz
  - Flash:
    - 16 MiB SPI NOR presented as 2x8 MiB for A/B boot recovery
    - 8192 MiB eMMC
  - RAM: 4096 MiB
  - Ethernet 1Gbit ports: 1x
  - Ethernet SFP ports: 8x
  - USB ports: 2x 3.0 Type-A on front panel
  - Serial: Two, one internal and one external
  - JTAG: Yes
  - LED count: 18x
  - Button count: 1x
  - GPIOs: 1x
  - Power: 2x redundant DC 12V barrel plug
  - Extra: Slot for SD card on front

See the OpenWrt wiki for more hardware details.

Installation:

  - Flash squashfs to /dev/sda2 and put kernel on /dev/sda1.
  - Update uboot's bootcmd environment variable to match.

Full installation guide will be added to OpenWrt wiki when sysupgrade
support is added.

Signed-off-by: Christian Svensson <blue@cmd.nu>
Signed-off-by: Tommy Nevtelen <tommy@nevtelen.com>
Tested-by: Viktor Ekmark <viktor@ekmark.se>
Tested-by: Daniel Wennberg <github@networkninja.se>
16 months agoocteon: enable AT24 unconditionally
Christian Svensson [Tue, 4 Jul 2023 22:48:46 +0000 (00:48 +0200)]
octeon: enable AT24 unconditionally

For the N821 platform we need to load the AT24 EEPROM driver before
everything else in order for the MAC address to be available at
driver initialization time.

Signed-off-by: Christian Svensson <blue@cmd.nu>
16 months agobuild: fix generation of large .vdi images
Adones Pitogo [Tue, 11 Jul 2023 05:31:50 +0000 (13:31 +0800)]
build: fix generation of large .vdi images

Instead of loading the whole image into the memory when generating the
sha256 sum, we load the file in chunks and update the hash incrementally
to avoid MemoryError in python. Also remove a stray empty line.

Fixes: #13056
Signed-off-by: Adones Pitogo <pitogo.adones@gmail.com>
(mention empty line removal, adds Fixes from PR)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
16 months agosdk: rename README
Tomasz Maciej Nowak [Tue, 11 Jul 2023 14:09:49 +0000 (16:09 +0200)]
sdk: rename README

'help' target fails not finding a file, so follow up on a change[2] made
as a fix for main README[1].

1. d0113711a31f ("README: port to 21st century")
2. 751486b31fd9 ("build: fix README.md reference after rename")

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
16 months agoib: split out processing user provided packages
Tomasz Maciej Nowak [Tue, 11 Jul 2023 14:06:21 +0000 (16:06 +0200)]
ib: split out processing user provided packages

Some device recipes remove default target packages. If user tries to add
them back they will be ignored, since packages list is processed in one
go. Process the device recipe packages first and do user ones later, so
additions won't get filtered out.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
16 months agoperf: opt-out of lto usage
Javier Marcet [Sun, 9 Jul 2023 15:55:48 +0000 (17:55 +0200)]
perf: opt-out of lto usage

This fixes building with USE_LTO enabled:

mold: error: undefined symbol: __memset
>>> referenced by <artificial>
>>>               ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: memset_orig
>>> referenced by <artificial>
>>>               ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: perf_regs_load
>>> referenced by <artificial>
>>>               ./tmp/ccsgR7G6.ltrans15.ltrans.o:(test_dwarf_unwind__thread)
mold: error: undefined symbol: memset_erms
>>> referenced by <artificial>
>>>               ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: memcpy_orig
>>> referenced by <artificial>
>>>               ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: memcpy_erms
>>> referenced by <artificial>
>>>               ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: __memcpy
>>> referenced by <artificial>
>>>               ./tmp/ccsgR7G6.ltrans10.ltrans.o
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile.perf:670: ../openwrt/linux/tools/perf-target-x86_64_musl/perf] Error 1
make[4]: *** [Makefile.perf:238: sub-make] Error 2
make[3]: *** [Makefile:70: all] Error 2
make[2]: *** [Makefile:84: ./build_dir/target-x86_64_musl/linux-x86_64/linux-5.15.120/tools/perf-target-x86_64_musl/.built] Error 2
make[2]: Leaving directory './package/devel/perf'
time: package/devel/perf/compile#55.88#6.78#12.89
    ERROR: package/devel/perf failed to build.

Signed-off-by: Javier Marcet <javier@marcet.info>
16 months agogrub2: opt-out of gc-sections usage
Javier Marcet [Sun, 9 Jul 2023 15:55:35 +0000 (17:55 +0200)]
grub2: opt-out of gc-sections usage

This fixes building with USE_GC_SECTIONS enabled:

./staging_dir/toolchain-x86_64_gcc-12.3.0_musl/bin/../lib/gcc/x86_64-openwrt-linux-musl/12.3.0/../../../../x86_64-openwrt-linux-musl/bin/ld.bfd: --gc-sections requires a defined symbol root specified by -e or -u
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:27665: disk.module] Error 1
make[4]: Leaving directory './build_dir/target-x86_64_musl/linux-x86_64/grub-efi/grub-2.06/grub-core'
make[3]: *** [Makefile:26916: all] Error 2
make[3]: Leaving directory './build_dir/target-x86_64_musl/linux-x86_64/grub-efi/grub-2.06/grub-core'
make[2]: *** [Makefile:205: ./build_dir/target-x86_64_musl/linux-x86_64/grub-efi/grub-2.06/.built] Error 2
make[2]: Leaving directory './package/boot/grub2'
time: package/boot/grub2/efi/compile#3.21#1.34#4.28
    ERROR: package/boot/grub2 failed to build (build variant: efi).

Signed-off-by: Javier Marcet <javier@marcet.info>
16 months agobcm53xx: backport DT changes queued for v6.6
Rafał Miłecki [Fri, 14 Jul 2023 10:35:26 +0000 (12:35 +0200)]
bcm53xx: backport DT changes queued for v6.6

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agobcm4908: drop accidentally pushed 6.1 hack patches
Rafał Miłecki [Fri, 14 Jul 2023 09:43:07 +0000 (11:43 +0200)]
bcm4908: drop accidentally pushed 6.1 hack patches

Fixes: 2953d3c15677 ("bcm4908: add testing support for kernel 6.1")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agoramips: use fixed layout cell "mac-base" for Ubiquiti EdgeRouter X
Rafał Miłecki [Fri, 14 Jul 2023 08:49:04 +0000 (10:49 +0200)]
ramips: use fixed layout cell "mac-base" for Ubiquiti EdgeRouter X

This drops a use of downstream "mac-address-increment".

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agoramips: use fixed layout cell "mac-base" for Netgear R6220
Rafał Miłecki [Fri, 14 Jul 2023 08:27:54 +0000 (10:27 +0200)]
ramips: use fixed layout cell "mac-base" for Netgear R6220

This drops a use of downstream "mac-address-increment".

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agoramips: set Netgear R6220 MAC NVMEM cell directly in the part node
Rafał Miłecki [Tue, 9 May 2023 13:29:48 +0000 (15:29 +0200)]
ramips: set Netgear R6220 MAC NVMEM cell directly in the part node

There is no need to use reference if original node it specified in
exactly the same file. This is a minor cleanup simplifying DTS code.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agobcm4908: add testing support for kernel 6.1
Rafał Miłecki [Fri, 14 Jul 2023 06:19:04 +0000 (08:19 +0200)]
bcm4908: add testing support for kernel 6.1

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agokernel: make CFE bootfs MTD parser available for ARCH_BCMBCA
Rafał Miłecki [Fri, 14 Jul 2023 06:11:50 +0000 (08:11 +0200)]
kernel: make CFE bootfs MTD parser available for ARCH_BCMBCA

It's a new Broadcom symbol introduced in v6.0.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agomt76: update to the latest version
Felix Fietkau [Fri, 14 Jul 2023 09:20:30 +0000 (11:20 +0200)]
mt76: update to the latest version

bb3937d5c3e0 wifi: mt76: mt7915: remove VHT160 capability on MT7915

Signed-off-by: Felix Fietkau <nbd@nbd.name>
16 months agohostapd: add fix for dealing with VHT 160 MHz via ext nss bw
Felix Fietkau [Fri, 14 Jul 2023 08:01:30 +0000 (10:01 +0200)]
hostapd: add fix for dealing with VHT 160 MHz via ext nss bw

Signed-off-by: Felix Fietkau <nbd@nbd.name>
16 months agokernel: nvmem: fix "fixed-layout" & support "mac-base"
Rafał Miłecki [Thu, 13 Jul 2023 17:39:42 +0000 (19:39 +0200)]
kernel: nvmem: fix "fixed-layout" & support "mac-base"

DT binding for MAC cells in fixed layout was upstream approved and
accepted. Add support for it. This can replace quite some of our
downstream hacks.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agoramips: add wan2 support for MQmaker WiTi
Arınç ÜNAL [Sat, 17 Jun 2023 18:59:26 +0000 (21:59 +0300)]
ramips: add wan2 support for MQmaker WiTi

The PHY of the wan2 port on MQmaker WiTi is wired to the second MAC of the
SoC. Rename the wan interface to wan1 and define it under the switch node,
effectively disabling the PHY muxing of the MT7530 switch's phy4.

Define the PHY of the wan2 port and adjust the gmac1 node accordingly. Now
that the PHY muxing feature is not being used anymore, the wan2 port can be
used to achieve 2 Gbps total bandwidth to the CPU.

Tested-by: Demetris Ierokipides <ierokipides.dem@gmail.com>
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
16 months agoramips: rename to GnuBee GB-PC1 and GnuBee GB-PC2
Arınç ÜNAL [Sat, 17 Jun 2023 16:16:20 +0000 (19:16 +0300)]
ramips: rename to GnuBee GB-PC1 and GnuBee GB-PC2

Rename GB-PC1 to GnuBee GB-PC1, and GB-PC2 to GnuBee GB-PC2. Let's not make
naming exceptions because of marketing whims.

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
16 months agofortify-headers: add __extension__ mark to strings.h
Matthias Van Parys [Tue, 11 Jul 2023 08:47:53 +0000 (10:47 +0200)]
fortify-headers: add __extension__ mark to strings.h

Add the __extension__ mark before #include_next in strings.h
to avoid a compiler error when -pedantic is enabled.
This has been done for all other headers in the past.

Signed-off-by: Matthias Van Parys <matthias.vanparys@softathome.com>
16 months agoscripts/mkits.sh: DT overlays don't need a loadaddr
Daniel Golle [Mon, 12 Jun 2023 03:07:57 +0000 (04:07 +0100)]
scripts/mkits.sh: DT overlays don't need a loadaddr

DT overlays do not need relocation in order to be applied, so drop
defining the load address for dtbos.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agolinux-firmware: update to 20230625
John Audia [Sun, 9 Jul 2023 20:01:47 +0000 (16:01 -0400)]
linux-firmware: update to 20230625

Change from git log --oneline:

ee91452d (tag: 20230625) Makefile, copy-firmware: support xz/zstd compressed firmware
ad2ce8be copy-firmware: silence the last shellcheck warnings
67bf50e7 copy-firmware: drop obsolete backticks, quote
77f31a80 copy-firmware: tweak sed invocation
40fa2b20 copy-firmware: quote deskdir and dirname
77f92e0b check_whence: error if symlinks are in-tree
f2671b1f check_whence: error if File: is actually a link
4b539e7a check_whence: strip quotation marks
32693d3b linux-firmware: wilc1000: update WILC1000 firmware to v16.0
109b23c5 ice: update ice DDP wireless_edge package to 1.3.10.0
ade163aa amdgpu: DMCUB updates for DCN 3.1.4 and 3.1.5
045b2136 amdgpu: update DMCUB to v0.0.172.0 for various AMDGPU ASICs
5a1842ce Merge branch 'rb3-update' of https://github.com/lumag/linux-firmware
2f81bd9f fix broken cirrus firmware symlinks
01a7a844 qcom: Update the microcode files for Adreno a630 GPUs.
94120467 qcom: sdm845: rename the modem firmware
1c599488 qcom: sdm845: update remoteproc firmware
1cd1c871 rtl_bt: Update RTL8852A BT USB firmware to 0xDAC7_480D
55e74485 rtl_bt: Update RTL8852C BT USB firmware to 0x040D_7225
9dbd8ec2 amdgpu: DMCUB updates for various AMDGPU asics
9a47adc7 Merge branch 'mtl_huc_v8.5.0' of git://anongit.freedesktop.org/drm/drm-firmware
eb3ae841 linux-firmware: update firmware for MT7922 WiFi device
5ce06b9e linux-firmware: update firmware for MT7921 WiFi device
2c50361c linux-firmware: update firmware for mediatek bluetooth chip (MT7922)
185f49df linux-firmware: update firmware for mediatek bluetooth chip (MT7921)
05f94af7 Merge branch 'v2.0.21478' of https://github.com/yunfei-mtk/linux_fw_scp
5de33fb4 i915: Add HuC v8.5.0 for MTL
795aea91 mediatek: Update mt8195 SCP firmware to support hevc
fc90c59b Merge branch 'db410c' of https://github.com/lumag/linux-firmware
9d4c9a52 qcom: apq8016: add Dragonboard 410c WiFi and modem firmware
1f9667eb Merge branch 'for-upstream' of http://git.chelsio.net/pub/git/linux-firmware
b544e2b0 Merge branch 'for-upstream' of https://github.com/CirrusLogic/linux-firmware
244d6b5c cirrus: Add firmware for new Asus ROG Laptops
d11ae984 brcm: Add symlinks from Pine64 devices to AW-CM256SM.txt
1c513ec7 amdgpu: Update GC 11.0.1 and 11.0.4
8449fcd0 Merge https://github.com/pkshih/linux-firmware
c10facaf rtw89: 8851b: add firmware v0.29.41.0
1ba3519e Merge branch 'dev-queue' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/firmware
2e775450 amdgpu: update yellow carp firmware for amd.5.5 release
5eccb3c1 amdgpu: update navi14 firmware for amd.5.5 release
c70d3c3b amdgpu: update navi12 firmware for amd.5.5 release
0e4f17cc amdgpu: update vega20 firmware for amd.5.5 release
413348f3 amdgpu: update vega12 firmware for amd.5.5 release
c167587d amdgpu: update navi10 firmware for amd.5.5 release
3c98630a amdgpu: update vega10 firmware for amd.5.5 release
d13ef0cb amdgpu: update PSP 13.0.11 firmware for amd.5.5 release
31f8f526 amdgpu: update GC 11.0.4 firmware for amd.5.5 release
f0ce7026 amdgpu: update SDMA 6.0.1 firmware for amd.5.5 release
47424464 amdgpu: update PSP 13.0.4 firmware for amd.5.5 release
60dc78a7 amdgpu: update GC 11.0.1 firmware for amd.5.5 release
ba70041c amdgpu: update 13.0.8 firmware for amd.5.5 release
9c48881f amdgpu: update GC 10.3.7 firmware for amd.5.5 release
bb4d7250 amdgpu: update vangogh firmware for amd.5.5 release
102a4138 amdgpu: update VCN 4.0.4 firmware for amd.5.5 release
a7fe4aa1 amdgpu: update SMU 13.0.7 firmware for amd.5.5 release
80b2d561 amdgpu: update PSP 13.0.7 firmware for amd.5.5 release
a5d7b4df amdgpu: update GC 11.0.2 firmware for amd.5.5 release
c1db00c5 amdgpu: update renoir firmware for amd.5.5 release
683c91f7 amdgpu: update VCN 4.0.0 firmware for amd.5.5 release
39d6fcc7 amdgpu: update SMU 13.0.0 firmware for amd.5.5 release
56832557 amdgpu: update PSP 13.0.0 firmware for amd.5.5 release
ffe1a41e amdgpu: update GC 11.0.0 firmware for amd.5.5 release
72d525d7 amdgpu: update green sardine firmware for amd.5.5 release
ceba765d amdgpu: update beige goby firmware for amd.5.5 release
95eb53c9 amdgpu: update dimgrey cavefish firmware for amd.5.5 release
909cef98 amdgpu: update arcturus firmware for amd.5.5 release
91251d16 amdgpu: update vcn 3.1.2 firmware for amd.5.5 release
9eaff866 amdgpu: update psp 13.0.5 firmware for amd.5.5 release
44772528 amdgpu: update GC 10.3.6 firmware for amd.5.5 release
3bffc9f8 amdgpu: update navy flounder firmware for amd.5.5 release
3b920773 amdgpu: update sienna cichlid firmware for amd.5.5 release
84d5550e amdgpu: update aldebaran firmware for amd.5.5 release
dcd30473 amdgpu: DMCUB updates for various AMDGPU asics
c9e4034a ice: update ice DDP comms package to 1.3.40.0
601c1813 Merge https://github.com/pkshih/linux-firmware
08b854f0 rtlwifi: Add firmware v6.0 for RTL8192FU
b72c69dd rtlwifi: Update firmware for RTL8188EU to v28.0
51290942 (tag: 20230515) Merge branch 'main' of https://github.com/CirrusLogic/linux-firmware

Signed-off-by: John Audia <therealgraysky@proton.me>
16 months agoutil-linux: enable colrm util as package
Oskari Rauta [Tue, 11 Jul 2023 18:06:30 +0000 (21:06 +0300)]
util-linux: enable colrm util as package

colrm is already built, package just isn't generated.

colrm can be used to remove columns from file/stdin.
Use cases vary, personally I needed it because I build openwrt
natively - and wolfssl configure script wants either colrm, or cut
but busybox's cut isn't accepted.

Built: x86_64, latest git
Tested: x86_64, latest git

Signed-off-by: Oskari Rauta <oskari.rauta@gmail.com>
16 months agomac80211: add fix for receiving STP frames on mesh
Felix Fietkau [Tue, 11 Jul 2023 12:38:06 +0000 (14:38 +0200)]
mac80211: add fix for receiving STP frames on mesh

Fix length in ethernet header

Signed-off-by: Felix Fietkau <nbd@nbd.name>
16 months agobcm53xx: backport DT changes from v6.5
Rafał Miłecki [Tue, 11 Jul 2023 08:30:08 +0000 (10:30 +0200)]
bcm53xx: backport DT changes from v6.5

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agobcm53xx: drop Linksys EA6500 V2 fix for RAM from 6.1
Rafał Miłecki [Tue, 11 Jul 2023 07:37:38 +0000 (09:37 +0200)]
bcm53xx: drop Linksys EA6500 V2 fix for RAM from 6.1

This patch is ready and easy to upstream but noone is willing to take
care of it. Drop it (as requested) to simplify maintenance.

Link: https://github.com/openwrt/openwrt/pull/10940#issuecomment-1318157072
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agokernel: bgmac: fix regressed support for BCM53573 SoCs
Rafał Miłecki [Mon, 10 Jul 2023 09:38:23 +0000 (11:38 +0200)]
kernel: bgmac: fix regressed support for BCM53573 SoCs

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agobcm47xx: fix bgmac MTU patch filename
Rafał Miłecki [Mon, 10 Jul 2023 09:38:01 +0000 (11:38 +0200)]
bcm47xx: fix bgmac MTU patch filename

Fixes: 4970dd027bce ("bcm47xx: revert bgmac back to the old limited max frame size")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
16 months agouboot-mediatek: support classic uImage.FIT with internal images in imszb
Daniel Golle [Mon, 12 Jun 2023 03:06:40 +0000 (04:06 +0100)]
uboot-mediatek: support classic uImage.FIT with internal images in imszb

The side-effect and main motivation is to also drop the FIT structure size
limit because with multiple device tree overlays it may easily grow beyond
the previous 4kB limit in the future.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agoath79: add support for ASUS RT-AC59U / ZenWiFi CD6
Wenli Looi [Sat, 1 Jul 2023 17:46:15 +0000 (17:46 +0000)]
ath79: add support for ASUS RT-AC59U / ZenWiFi CD6

ASUS RT-AC59U / RT-AC59U v2 are wi-fi routers with a large number of
alternate names, including RT-AC1200GE, RT-AC1300G PLUS, RT-AC1500UHP,
RT-AC57U v2/v3, RT-AC58U v2/v3, and RT-ACRH12.

ASUS ZenWiFi AC Mini(CD6) is a mesh wifi system. The unit labeled CD6R
is the router, and CD6N is the node.

Hardware:

- SoC: QCN5502
- RAM: 128 MiB
- UART: 115200 baud (labeled on boards)
- Wireless:
  - 2.4GHz: QCN5502 on-chip 4x4 802.11b/g/n
    currently unsupported due to missing support for QCN550x in ath9k
  - 5GHz: QCA9888 pcie 5GHz 2x2 802.11a/n/ac
- Flash: SPI NOR
  - RT-AC59U / CD6N: 16 MiB
  - RT-AC59U v2 / CD6R: 32 MiB
- Ethernet: gigabit
  - RT-AC59U / RT-AC59U v2: 4x LAN 1x WAN
  - CD6R: 3x LAN 1x WAN
  - CD6N: 2x LAN
- USB:
  - RT-AC59U / RT-AC59U v2: 1 port USB 2.0
  - CD6R / CD6N: none

WiFi calibration data contains valid MAC addresses.

The initramfs image is uncompressed because I was unable to boot a
compressed initramfs from memory (gzip or lzma). Booting a compressed
image from flash works fine.

Installation:

To install without opening the case:

- Set your computer IP address to 192.168.1.10/24
- Power up with the Reset button pressed
- Release the Reset button after about 5 seconds or until you see the
  power LED blinking slowly
- Upload OpenWRT factory image via TFTP client to 192.168.1.1

Revert to stock firmware using the same TFTP method.

Signed-off-by: Wenli Looi <wlooi@ucalgary.ca>
16 months agobuild: add ALT5 vendor/model/variant
Wenli Looi [Sat, 1 Jul 2023 17:37:17 +0000 (17:37 +0000)]
build: add ALT5 vendor/model/variant

This allows adding another device variant.

Signed-off-by: Wenli Looi <wlooi@ucalgary.ca>
16 months agoscripts: use sep-char for hash nodes
David Bauer [Fri, 9 Jun 2023 12:12:47 +0000 (14:12 +0200)]
scripts: use sep-char for hash nodes

U-Boot with enabled secure-boot will not boot images with the
@-character used for hash node-names.

Use the existing separation character configurable for each device.

Signed-off-by: David Bauer <mail@david-bauer.net>
16 months agomediatek: replace hack for MaxLinear 2.5G PHY
Daniel Golle [Sat, 8 Jul 2023 16:31:24 +0000 (17:31 +0100)]
mediatek: replace hack for MaxLinear 2.5G PHY

Replace hack with proper patch also for Linux 5.15.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agomediatek: dts: mt7988a: remove boottrap hack
Daniel Golle [Sat, 8 Jul 2023 15:48:39 +0000 (16:48 +0100)]
mediatek: dts: mt7988a: remove boottrap hack

The PHY driver now uses regmap created from pio syscon, we no longer
need the boottrap device.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agomediatek: use backported Ethernet PHY driver also for 5.15
Daniel Golle [Sat, 8 Jul 2023 16:21:27 +0000 (17:21 +0100)]
mediatek: use backported Ethernet PHY driver also for 5.15

Backport in-SoC Gigabit Ethernet PHY driver instead of carrying the
driver in files-5.15.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agolayerscape: base-files: remove redundant RAMFS_COPY_* additions
Mathew McBride [Tue, 27 Jun 2023 06:37:28 +0000 (06:37 +0000)]
layerscape: base-files: remove redundant RAMFS_COPY_* additions

All the tools (e.g fw_setenv, ubiupdatevol) and config (fw_env.config)
needed for sysupgrade are already included in /lib/upgrade/stage2

Signed-off-by: Mathew McBride <matt@traverse.com.au>
16 months agomediatek: dts: mt7988a: wire-up mediatek,pio for PHY LEDs
Daniel Golle [Sat, 8 Jul 2023 15:27:25 +0000 (16:27 +0100)]
mediatek: dts: mt7988a: wire-up mediatek,pio for PHY LEDs

The PHY driver needs to read a register containing the values of the
bootstrap pins (which happen to be the PHY LEDs) to determine the LED
polarities. Allow regmap access to first pinctrl bank by adding the
'syscon' compatible, and reference the pinctrl in the MDIO bus where
the PHY driver will look for it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agolua: fix integer overflow in LNUM patch
Adam Bailey [Tue, 4 Jul 2023 01:16:14 +0000 (20:16 -0500)]
lua: fix integer overflow in LNUM patch

Safely detect integer overflow in try_addint() and try_subint().
Old code relied on undefined behavior, and recent versions of GCC on x86
optimized away the if-statements.
This caused integer overflow in Lua code instead of falling back to
floating-point numbers.

Signed-off-by: Adam Bailey <aebailey@gmail.com>
16 months agokernel: remove CRYPTO_BLAKE2S from all >=5.15
Christian Svensson [Fri, 7 Jul 2023 22:23:28 +0000 (00:23 +0200)]
kernel: remove CRYPTO_BLAKE2S from all >=5.15

This option was removed from upstream kernel back in 2022.
See commits:
 2d16803c562ecc644803d42ba98a8e0aef9c014e (>=6.0)
 3dd33a09f5dc12ccb0902923c4c784eb0f8c7554 (>=5.15.61 backport)

Signed-off-by: Christian Svensson <blue@cmd.nu>
16 months agoe2fsprogs: do not symlink tune2fs to findfs
Martin Schiller [Fri, 7 Jul 2023 11:29:45 +0000 (13:29 +0200)]
e2fsprogs: do not symlink tune2fs to findfs

commit c0611b45a998 ("e2fsprogs: symlink e2fsck to fsck.ext{2, 3, 4},
and tune2fs to findfs") introduced a symlink from tune2fs to findfs.

This only works when the included private libblkid library is used, but
commit 5b1660a5387b ("utils/e2fsprogs: Update to 1.43.6") disabled the
usage of this private lib and enabled the shared lib support.

Removing this symlink makes it possible to install tune2fs and findfs
package.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
16 months agokernel: leds-ws2812b: fix build with Linux >= 5.18
Daniel Golle [Sat, 8 Jul 2023 13:46:18 +0000 (14:46 +0100)]
kernel: leds-ws2812b: fix build with Linux >= 5.18

The return value of the .remove function pointer has changed from
int to void with Linux 5.18. Use a precompiler macro to allow building
the leds-ws2812b module with both, Linux 5.15 and Linux 6.1.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agokernel: add two missing symbols in 6.1
Daniel Golle [Sat, 8 Jul 2023 11:33:17 +0000 (12:33 +0100)]
kernel: add two missing symbols in 6.1

Two more new symbols were discovered when building mediatek targets
with CONFIG_ALL_KMODS=y.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agoapm821xx: fix autoloading of kmod-hw-crypto4xx
Rani Hod [Fri, 7 Jul 2023 15:26:32 +0000 (18:26 +0300)]
apm821xx: fix autoloading of kmod-hw-crypto4xx

Fixes: 55fbcad20a2d (apm821xx: make crypto4xx as a standalone module)
Signed-off-by: Rani Hod <rani.hod@gmail.com>
16 months agowolfssl: update to 5.6.3
Nick Hainke [Sun, 2 Apr 2023 21:32:11 +0000 (23:32 +0200)]
wolfssl: update to 5.6.3

Release Notes:
- https://github.com/wolfSSL/wolfssl/releases/tag/v5.6.0-stable
- https://github.com/wolfSSL/wolfssl/releases/tag/v5.6.2-stable
- https://github.com/wolfSSL/wolfssl/releases/tag/v5.6.3-stable

Refresh patch:
- 100-disable-hardening-check.patch

Backport patch:
- 001-fix-detection-of-cut-tool-in-configure.ac.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
16 months agokernel: bump 6.1 to 6.1.38
John Audia [Wed, 5 Jul 2023 20:12:18 +0000 (16:12 -0400)]
kernel: bump 6.1 to 6.1.38

Stable kernel git log:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/log/?h=v6.1.38

No patches needed to be rebased. Just updated checksum.

Build system: x86_64
Build-tested: x86_64/AMD Ryzen 7
Run-tested: x86_64/AMD Ryzen 7

Signed-off-by: John Audia <therealgraysky@proton.me>
[add link to stable kernel git log]
Signed-off-by: Nick Hainke <vincent@systemli.org>
16 months agokernel: bump 5.15 to 5.15.120
John Audia [Wed, 5 Jul 2023 20:54:48 +0000 (16:54 -0400)]
kernel: bump 5.15 to 5.15.120

All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod

Signed-off-by: John Audia <therealgraysky@proton.me>
16 months agohostapd: update to 2023-06-22
Andre Heider [Thu, 6 Jul 2023 06:16:50 +0000 (08:16 +0200)]
hostapd: update to 2023-06-22

Removed, merged upstream:
- 170-wpa_supplicant-fix-compiling-without-IEEE8021X_EAPOL.patch

Manually refreshed:
- 040-mesh-allow-processing-authentication-frames-in-block.patch
- 600-ubus_support.patch
- 761-shared_das_port.patch

Fixes: #12661
Fixes: 304423a4 ("hostapd: update to 2023-03-29")
Signed-off-by: Andre Heider <a.heider@gmail.com>
16 months agomediatek: expose testing Linux 6.1 testing kernel
Daniel Golle [Sat, 17 Jun 2023 20:10:26 +0000 (22:10 +0200)]
mediatek: expose testing Linux 6.1 testing kernel

Set KERNEL_TESTING_PATCHVER:=6.1 to allow building all subtargets with
Linux 6.1.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agomediatek: adapt kernel configuration for Linux 6.1
Daniel Golle [Tue, 27 Jun 2023 00:25:08 +0000 (02:25 +0200)]
mediatek: adapt kernel configuration for Linux 6.1

Update kernel configuration to build Linux 6.1 for all subtargets.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agomediatek: copy config-5.15 to config-6.1 for all subtargets
Daniel Golle [Tue, 27 Jun 2023 00:22:57 +0000 (02:22 +0200)]
mediatek: copy config-5.15 to config-6.1 for all subtargets

To ease review, first copy all subtargets' kernel config-5.15 to the
to-be-adapted config-6.1.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agomediatek: adapt files and patches for Linux 6.1
Daniel Golle [Tue, 27 Jun 2023 00:15:55 +0000 (02:15 +0200)]
mediatek: adapt files and patches for Linux 6.1

With Linux 6.1 many of our downstream patches and out-of-tree files
can be removed or at least replaced by backported upstream commits.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[fix CMDLINE_OVERRIDE for arm64]
Signed-off-by: Bjørn Mork <bjorn@mork.no>
16 months agomediatek: copy patches and files for Linux 6.1
Daniel Golle [Tue, 27 Jun 2023 00:06:47 +0000 (02:06 +0200)]
mediatek: copy patches and files for Linux 6.1

First step only copies patches-5.15 and files-5.15 to
patches-6.1 and files-6.1 respectively.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agomediatek: prepare old rtk switch driver for use with Linux 6.1
Daniel Golle [Sun, 18 Jun 2023 01:22:51 +0000 (03:22 +0200)]
mediatek: prepare old rtk switch driver for use with Linux 6.1

The old RealTek RTL8367S switch driver which is used for some MT7622
devices needs to be modified to no longer free the GPIO after reset
has completed.
This is due to Linux 5.19 removing devm_gpio_free via commit
2b038e786f83 ("gpiolib: devres: Get rid of unused devm_gpio_free()")

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agogeneric: 6.1: fix uImage.FIT partitions on mtdblock and ubiblock
Daniel Golle [Thu, 6 Jul 2023 18:55:17 +0000 (20:55 +0200)]
generic: 6.1: fix uImage.FIT partitions on mtdblock and ubiblock

When refreshing the hack patches for Linux 6.1 the part of the uImage.FIT
partition parser patch which takes care of allowing mtdblock and ubiblock
devices to have partitions has been dropped, supposedly by accident.
Re-add a that part to the patch, so devices using a uImage.FIT filesystem
sub-image as rootfs can work with Linux 6.1.

Fixes: 19a246bb65 ("generic: 6.1: manually refresh hack patches")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 months agokernel: add support for tw686x frame grabbers
Koen Vandeputte [Wed, 7 Jun 2023 09:58:52 +0000 (11:58 +0200)]
kernel: add support for tw686x frame grabbers

Adds support for Intersil/Techwell tw686x frame grabbers.

By default, this module uses MEMCPY to transfer data.
Let's switch to "Contiguous DMA" which is the fastest
performing method available.

[   10.074349] tw6869: PCI 0000:07:00.0, IRQ 33, MMIO 0x1200000 (contig mode)
[   10.081381] tw686x 0000:07:00.0: enabling device (0140 -> 0142)

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
16 months agokernel: add support for imx pxp
Koen Vandeputte [Mon, 26 Jun 2023 15:23:07 +0000 (17:23 +0200)]
kernel: add support for imx pxp

This adds support for the i.MX Pixel Pipeline IP block
which is available on some imx6 flavours [1]

This allows to use hardware offloading for operations like:
- Colour conversion
- Scaling
- Rotation

[1] https://en.wikipedia.org/wiki/I.MX#i.MX_6_series

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
16 months agokernel: add support for imx vpu
Koen Vandeputte [Wed, 5 Jul 2023 11:19:28 +0000 (13:19 +0200)]
kernel: add support for imx vpu

This adds support for the Video Processing Unit IP block
which is present in certain i.MX SOC's.

The vpu used in imx6 is the coda960 which supports:
- h264 enc
- h264 dec
- jpeg enc
- jpeg dec

Please note that the required firmware needs to be added
by yourself as it's not available currently in linux-firmware upstream.

The firmware package can be found on the internet
and it will decompress itself exposing all binaries
after accepting the EULA.

The binaries should be placed at exactly these paths:

- /lib/firmware/vpu_fw_imx6d.bin
- /lib/firmware/vpu_fw_imx6q.bin

Following output will be printed at boottime if all is well:

[    9.769638] coda 2040000.vpu: Firmware code revision: 46076
[    9.775277] coda 2040000.vpu: Initialized CODA960.
[    9.780082] coda 2040000.vpu: Firmware version: 3.1.1
[    9.785312] coda 2040000.vpu: coda-jpeg-encoder registered as video0
[    9.791859] coda 2040000.vpu: coda-jpeg-decoder registered as video1
[    9.798375] coda 2040000.vpu: coda-video-encoder registered as video2
[    9.805013] coda 2040000.vpu: coda-video-decoder registered as video3

gstreamer will automatically detect and use all encoders/decoders.

Please note that a FILES catch-all is required for the videobuf-dma objects
as some modules enabling this could require (and thus generating) only 1 of them.

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
16 months agokernel: add support for videobuf-dma
Koen Vandeputte [Wed, 8 Feb 2023 15:29:19 +0000 (16:29 +0100)]
kernel: add support for videobuf-dma

This adds support for videobuf2-dma driver.

This module contains following flavors:
- Contiguous
- Scatter/Gather

Drivers using this can enable 1 of the, or both, depending on their needs.

Due to this, a FILES catch-all is required for the videobuf-dma objects
as depending on requirements, only 1 of them could get generated.

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
16 months agokernel: add support for mem2mem devices
Koen Vandeputte [Wed, 8 Feb 2023 15:26:36 +0000 (16:26 +0100)]
kernel: add support for mem2mem devices

This allows addition of devices which use these kernel
modules.

This also adds a package for handling dma within video2buf.
These are only build when selected by a caller

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
16 months agokernel: add missing symbols in 6.1
Koen Vandeputte [Thu, 8 Jun 2023 07:43:41 +0000 (09:43 +0200)]
kernel: add missing symbols in 6.1

Found these while playing with video pci media adapter support

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
16 months agokernel: add missing symbols in 5.15
Koen Vandeputte [Tue, 6 Jun 2023 16:03:42 +0000 (18:03 +0200)]
kernel: add missing symbols in 5.15

Found these while playing with video pci media adapter support

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
16 months agokernel-headers: install isa-rev.h on mips to fix lzma-lader on linux 6.1
Jonas Gorski [Thu, 6 Jul 2023 19:01:06 +0000 (21:01 +0200)]
kernel-headers: install isa-rev.h on mips to fix lzma-lader on linux 6.1

Since kernel 5.17+ the mips asm.h includes isa-rev.h, which itself was
added 4.17. Without it, lzma-loader will fail to build:

     make[3] -C target/linux compile
    make[5]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
    In file included from head.S:22:
    .../staging_dir/toolchain-mips_mips32_gcc-12.3.0_musl/include/asm/asm.h:22:10: fatal error: asm/isa-rev.h: No such file or directory
       22 | #include <asm/isa-rev.h>
          |          ^~~~~~~~~~~~~~~
    compilation terminated.
    make[6]: *** [Makefile:64: head.o] Error 1
    make[5]: *** [Makefile:345: compile] Error 2
    make[4]: *** [Makefile:24: compile] Error 2
    make[3]: *** [Makefile:11: compile] Error 2
        ERROR: target/linux failed to build.

So add the file to the files to install. We can do that unconditionally,
since the oldest supported kernel 5.15 already includes it, even it if
does not need it.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>