openwrt/staging/981213.git
9 months agoscripts: ubinize-image.sh: fix on POSIX shell, allow custom images
Daniel Golle [Fri, 16 Feb 2024 05:32:51 +0000 (05:32 +0000)]
scripts: ubinize-image.sh: fix on POSIX shell, allow custom images

Make sure ubinize-image.sh also works with more simple POSIX Shell and
allow creating complete custom images to be used as ARTIFACT/foo.img
and thereby allow including uImage.FIT, TF-A FIP and what ever else
is required on a specific board.

Fixes: 6c17d71973 ("scripts: ubinize-image.sh: support static volumes, make size optional")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agoramips: mt76x8: fix build due to renamed U-Boot binary
Daniel Golle [Fri, 16 Feb 2024 05:18:47 +0000 (05:18 +0000)]
ramips: mt76x8: fix build due to renamed U-Boot binary

The U-Boot binary for the RAVPower RP-WD009 has been renamed.
In order to be uniform with all other U-Boot binaries generated the SoC type has been prepended.
Set that new name also in the image build recipe for that device in order to fix build.

Fixes: 927334a8f7 ("uboot-mediatek: add basic build for ZBT-WG3526 (MT7621, 16M SPI-NOR)")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agoimx: update default network config for ventana
Tim Harvey [Wed, 15 Mar 2023 19:58:33 +0000 (12:58 -0700)]
imx: update default network config for ventana

update the default network configuration for Gateworks Ventana boards
such that the left-most front-panel NIC is WAN and any additional are in
LAN bridge

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
9 months agoimx: add gpio-button-hotplug to ventana images
Tim Harvey [Wed, 15 Mar 2023 19:56:56 +0000 (12:56 -0700)]
imx: add gpio-button-hotplug to ventana images

Add the gpio-button-hotplug to Gateworks ventana images to support
the on-board user pushbutton.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
9 months agomediatek: filogic: add BananaPi BPi-R3 mini
Daniel Golle [Fri, 26 Jan 2024 17:28:01 +0000 (17:28 +0000)]
mediatek: filogic: add BananaPi BPi-R3 mini

Hardware specification
----------------------
 SoC: MediaTek MT7986A 4x A53
 Flash: 128MB SPI-NAND, 8GB eMMC
 RAM: 2GB DDR4
 Ethernet: 2x 2.5GbE (Airoha EN8811H)
 WiFi: MediaTek MT7976C 2x2 2.4G + 3x3 5G
 Interfaces:
  * M.2 Key-M: PCIe 2.0 x2 for NVMe SSD
  * M.2 Key-B: USB 3.0 with SIM slot
  * front USB 2.0 port
 LED: Power, Status, WLAN2G, WLAN5G, LTE, SSD
 Button: Reset, internal boot switch
 Fan: PWM-controlled 5V fan
 Power: 12V Type-C PD

Installation instructions for eMMC
----------------------------------
0. Set boot switch to boot from SPI-NAND (assuming stock rom or immortalwrt
   running there).
1. Write GPT partition table to eMMC
   Move openwrt-mediatek-filogic-bananapi_bpi-r3-mini-emmc-gpt.bin to
   the device /tmp using scp and write it to /dev/mmcblk0:
    dd if=/tmp/openwrt-*-r3-mini-emmc-gpt.bin of=/dev/mmcblk0
2. Reboot (to reload partition table)
3. Write bootloader and OpenWrt images
   Move files to the device /tmp using scp:
    - openwrt-*-bananapi_bpi-r3-mini-emmc-preloader.bin
    - openwrt-*-bananapi_bpi-r3-mini-emmc-bl31-uboot.fip
    - openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb
    - openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb
   Write them to the appropriate partitions:
    echo 0 > /sys/block/mmcblk0boot0/force_ro
    dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-emmc-preloader.bin of=/dev/mmcblk0boot0
    dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-emmc-bl31-uboot.fip of=/dev/mmcblk0p3
    dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb of=/dev/mmcblk0p4
    dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb of=/dev/mmcblk0p5
    sync

4. Remove the device from power, set boot switch to eMMC and boot into
   OpenWrt. The device will come up with IP 192.168.1.1 and assume the
   Ethernet port closer to the USB-C power connector as LAN port.

5. If you like to have Ethernet support inside U-Boot (eg. to boot via
   TFTP) you also need to write the PHY firmware to /dev/mmcblk0boot1:
    echo 0 > /sys/block/mmcblk0boot1/force_ro
    dd if=/lib/firmware/airoha/EthMD32.dm.bin of=/dev/mmcblk0boot1
    dd if=/lib/firmware/airoha/EthMD32.DSP.bin bs=16384 seek=1 of=/dev/mmcblk0boot1

Installation instructions for NAND
----------------------------------
0. Set boot switch to boot from eMMC (assuming OpenWrt is installed there
   by instructions above. Using stock rom or immortalwrt does NOT work!)

1. Write things to NAND
   Move files to the device /tmp using scp:
    - openwrt-*-bananapi_bpi-r3-mini-snand-preloader.bin
    - openwrt-*-bananapi_bpi-r3-mini-snand-bl31-uboot.fip
    - openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb
    - openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb
   Write them to the appropriate locations:
    mtd write /tmp/openwrt-*-bananapi_bpi-r3-mini-snand-preloader.bin /dev/mtd0
    ubidetach -m 1
    ubiformat /dev/mtd1
    ubiattach -m 1
    volsize=$(wc -c < /tmp/openwrt-*-bananapi_bpi-r3-mini-snand-bl31-uboot.fip)
    ubimkvol /dev/ubi0 -N fip -n 0 -s $volsize -t static
    ubiupdatevol /dev/ubi0_0 /tmp/openwrt-*-bananapi_bpi-r3-mini-snand-bl31-uboot.fip
    cd /lib/firmware/airoha
    cat EthMD32.dm.bin EthMD32.DSP.bin > /tmp/en8811h-fw.bin
    ubimkvol /dev/ubi0 -N en8811h-firmware -n 1 -s 147456 -t static
    ubiupdatevol /dev/ubi0_1 /tmp/en8811h-fw.bin
    ubimkvol /dev/ubi0 -n 2 -N ubootenv -s 126976
    ubimkvol /dev/ubi0 -n 3 -N ubootenv2 -s 126976
    volsize=$(wc -c < /tmp/openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb)
    ubimkvol /dev/ubi0 -n 4 -N recovery -s $volsize
    ubiupdatevol /dev/ubi0_4 /tmp/openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb
    volsize=$(wc -c < /tmp/openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb)
    ubimkvol /dev/ubi0 -n 4 -N recovery -s $volsize
    ubiupdatevol /dev/ubi0_4 /tmp/openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb

3. Remove the device from power, set boot switch to NAND, power up and
   boot into OpenWrt.

Partially based on immortalwrt support for the R3 mini, big thanks for
doing the ground work!

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agokernel: add driver for Airoha EN8811H PHY as module
Daniel Golle [Fri, 26 Jan 2024 17:27:08 +0000 (17:27 +0000)]
kernel: add driver for Airoha EN8811H PHY as module

Add PHY driver for Airoha EN8811H PHY and package it as kernel module.
The PHY needs to load firmware from rootfs, so there is no point in
having the driver built-into the kernel.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agouboot-mediatek: add builds for BananaPi BPi-R3 mini
Daniel Golle [Fri, 26 Jan 2024 17:26:39 +0000 (17:26 +0000)]
uboot-mediatek: add builds for BananaPi BPi-R3 mini

The R3 mini comes with two Airoha EN8811H PHYs for 2.5G Ethernet.
The driver added to U-Boot expects the firmware for the PHY to be
stored inside UBI volume en8811h-fw or MMC boot1 hardware partition.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agolinux-firmware: package firmware for Airoha EN8811H PHY
Daniel Golle [Fri, 26 Jan 2024 17:29:22 +0000 (17:29 +0000)]
linux-firmware: package firmware for Airoha EN8811H PHY

Add package with firmware for Airoha EN8811H 2.5G Ethernet PHY which
needs to be loaded via MDIO before the PHY can be used.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agoscripts: ubinize-image.sh: support static volumes, make size optional
Daniel Golle [Thu, 1 Feb 2024 05:03:56 +0000 (05:03 +0000)]
scripts: ubinize-image.sh: support static volumes, make size optional

In order to support devices having TF-A FIP image or UBI-aware U-Boot
SPL we need to include a static volume for the bootloader.

Introduce support for adding additional static volumes by prefixing
the filename with ':', eg.

UBINIZE_PARTS := fip:=$(STAGING_DIR_IMAGE)/u-boot.fip

Also add support for rootfs-in-uImage.FIT setups which don't require a
rootfs partition and make the (3rd) size parameter in UBINIZE_PARTS
optional (see example above without declared size).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: update driver for MT7988 built-in 2.5G Ethernet PHY
Daniel Golle [Wed, 24 Jan 2024 19:10:36 +0000 (19:10 +0000)]
mediatek: update driver for MT7988 built-in 2.5G Ethernet PHY

Sync driver for built-in 2.5G Ethernet PHY with MediaTek SDK.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agofirmware: package firmware for built-in 2.5G PHY on MT7988
Daniel Golle [Mon, 8 Jan 2024 21:08:13 +0000 (21:08 +0000)]
firmware: package firmware for built-in 2.5G PHY on MT7988

Firmware for the built-in 2.5G Ethernet PHY of the MediaTek MT7988 SoC
is now part of linux-firmware, so we can package it.
Only a single file is needed with recent driver.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: mt7622: modernize Linksys E8450 / Belkin RT3200 UBI build
Daniel Golle [Mon, 22 Jan 2024 19:12:40 +0000 (19:12 +0000)]
mediatek: mt7622: modernize Linksys E8450 / Belkin RT3200 UBI build

Move fip and factory into UBI static volumes.
Use fitblk instead of partition parser.

 !! RUN INSTALLER FIRST !!
Existing users of previous OpenWrt releases or snapshot builds will
have to **re-run the updated installer** before upgrading to firmware
after this commit.
DO NOT flash or run even just the initramfs image unless you have
run the updated installer which moves the content of the 'factory'
partition into a UBI volume.

tl;dr: DON'T USE YET!

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: mt7622: convert unifi6lr-v{1,2,3}-ubootmod to fitblk
Daniel Golle [Mon, 22 Jan 2024 00:56:47 +0000 (00:56 +0000)]
mediatek: mt7622: convert unifi6lr-v{1,2,3}-ubootmod to fitblk

No bootloader changes needed in this case, smooth transition.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: mt7622: convert BPi-R64 to all-UBI layout and fitblk
Daniel Golle [Sun, 21 Jan 2024 23:50:02 +0000 (23:50 +0000)]
mediatek: mt7622: convert BPi-R64 to all-UBI layout and fitblk

Modernize bootloader and flash memory layout of the BPi-R64 similar to
how it has also been done for the BPi-R3.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agoarm-trusted-firmware-mediatek: add UBI-enabled builds for MT7622
Daniel Golle [Sat, 20 Jan 2024 16:24:59 +0000 (16:24 +0000)]
arm-trusted-firmware-mediatek: add UBI-enabled builds for MT7622

Use custom UBI start address 0x80000 on MT7622 which is more than
enough for a single bl2 (MT7622 BootROM doesn't support redundant bl2).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: BananaPi BPi-R3 bootloader update
Daniel Golle [Thu, 18 Jan 2024 22:15:35 +0000 (22:15 +0000)]
mediatek: BananaPi BPi-R3 bootloader update

 * Switch to all-UBI layout on SPI-NAND
 * use fitblk driver instead of uImage.FIT partition parser
 * adapt sysupgrade
 * bump COMPAT_VERSION

Remove BROKEN mark now that all needed changes are done.

Boards running images generated before this commit will require
full reflash of the bootloader, re-install from SD card is the
easiest way to achieve that.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agouboot-envtools: mediatek_filogic: update bpi-r3
Daniel Golle [Thu, 18 Jan 2024 22:18:14 +0000 (22:18 +0000)]
uboot-envtools: mediatek_filogic: update bpi-r3

Unify env configuration now that BPi-R4 and BPi-R3 both use fitblk.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agouboot-mediatek: bpi-r3: all-UBI NAND layout, use fitblk
Daniel Golle [Thu, 18 Jan 2024 22:12:08 +0000 (22:12 +0000)]
uboot-mediatek: bpi-r3: all-UBI NAND layout, use fitblk

Modernize U-Boot to provide a better reference:
 * store fip image in UBI now that TF-A supports that
 * switch from uImage.FIT partition parser to new fitblk
   virtual firmware block driver (root=/dev/fit0)
 * automatically set root device according to boot_mode register

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agoarm-trusted-firmware-mediatek: add mt7986-spim-nand-ubi-ddr4
Daniel Golle [Thu, 18 Jan 2024 22:10:42 +0000 (22:10 +0000)]
arm-trusted-firmware-mediatek: add mt7986-spim-nand-ubi-ddr4

Add UBI-enabled build for MT7986 with SPIM-NAND and DDR4 for use with
the BananaPi R3 board.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: prepare BananaPi BPi-R3 for upcoming modernization
Daniel Golle [Thu, 18 Jan 2024 22:54:29 +0000 (22:54 +0000)]
mediatek: prepare BananaPi BPi-R3 for upcoming modernization

Mark board as broken until the complete boot stack has been updated.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agouboot-envtools: filogic: add support for BananaPi R4
Daniel Golle [Mon, 27 Nov 2023 04:01:33 +0000 (04:01 +0000)]
uboot-envtools: filogic: add support for BananaPi R4

Add environment settings for the BananaPi BPI-R4 router board which
can boot from (and store its bootloader environment on) micro SD card,
SPI-NAND and eMMC.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agouboot-envtools: filogic: de-duplicate UBI env settings
Daniel Golle [Mon, 27 Nov 2023 03:59:32 +0000 (03:59 +0000)]
uboot-envtools: filogic: de-duplicate UBI env settings

Use function instead of duplicating the env settings on UBI for
OpenWrt-built U-Boot over and over.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: add support for BananaPi BPI-R4 board
Daniel Golle [Sun, 23 Jul 2023 11:38:15 +0000 (12:38 +0100)]
mediatek: add support for BananaPi BPI-R4 board

Hardware
--------
SOC:    MediaTek MT7988A (4x Cortex-A73)
RAM:    4 GiB DDR4
Flash:  128 MiB Winbond SPI-NAND
MMC:    8 GiB eMMC *or* microSD (cannot be used both)
ETH:    4x 1GE (1x WAN, 3x LAN)
        2x SFP+ (10G, 5G, 2.5G, 1G)
USB:    on-board USB 3.2 4-port hub
        1x USB 3.2 port (type A connector)
        1x M.2 for 4G/5G modem
        2x mPCIe for additional modems
WiFi:   optional MediaTek MT7996 Wi-Fi 7 module
        (using 2x PCIe gen3 x2 on the mPCIe slots and 12V power)

Installation
------------
1. Decompress and write the sdcard image to a micro SD card and use that
to boot the R4 (both dip switches in upper position).

2. Use the bootloader menu accessible via the serial console to install
to SPI-NAND.

3. Switch to boot from SPI-NAND and install to eMMC.

Known issues
------------
 - The RST button is hard-wired to the SoC reset and can't be read
   from software. This can be changed by modifying the board (ie.
   moving a 0-ohm resistor). However, in order to maintain compatibility
   with the board as it comes from factory the button isn't used by
   OpenWrt and the WPS button is used as factory/reset button instead.

 - various small things still need to be fixed in DT

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agouboot-mediatek: update to U-Boot 2024.01 release
Daniel Golle [Wed, 13 Dec 2023 05:37:20 +0000 (05:37 +0000)]
uboot-mediatek: update to U-Boot 2024.01 release

Rebase local patches on top of quarterly timed release, allowing to
drop numerous patches which have been accepted upstream since the
release of U-Boot 2023.07.02.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agouboot-mediatek: add build for BPi-R4
Daniel Golle [Tue, 25 Jul 2023 01:56:01 +0000 (02:56 +0100)]
uboot-mediatek: add build for BPi-R4

Add build for the BananaPi R4 board which can boot from micro SD,
SPI-NAND or eMMC.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agouboot-mediatek: mt7988: set rootdisk according to boot device
Daniel Golle [Tue, 5 Dec 2023 04:10:31 +0000 (04:10 +0000)]
uboot-mediatek: mt7988: set rootdisk according to boot device

If nodes /chosen/rootdisk-${bootdevice} exists, set /chosen/rootdisk
phandle according to boot device selected by the bootstrap pins.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agouboot-mediatek: fix MMC erase timeout
Daniel Golle [Tue, 5 Dec 2023 04:08:13 +0000 (04:08 +0000)]
uboot-mediatek: fix MMC erase timeout

When erasing large amounts of blocks at once this can take a long
time on slow cards. Instead of a fixed timeout, wait longer if more
blocks are being erased.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agouboot-mediatek: add basic build for ZBT-WG3526 (MT7621, 16M SPI-NOR)
Daniel Golle [Tue, 9 Aug 2022 22:59:50 +0000 (00:59 +0200)]
uboot-mediatek: add basic build for ZBT-WG3526 (MT7621, 16M SPI-NOR)

Add basic U-Boot drop-in replacement compatible with the flash layout
of the vendor loader of the Zbtlink WG3526 (16M) MT7621 router board.
The idea here is a to have a reference build of uboot-mediatek also for
a simple MIPS boards more popular than MT7621 RFB.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: add patch for xsphy driver to support pcie2 on MT7988
Daniel Golle [Fri, 8 Dec 2023 01:04:39 +0000 (01:04 +0000)]
mediatek: add patch for xsphy driver to support pcie2 on MT7988

Import patch from MediaTek SDK which allows using the third
PCIe host controller of the MT7988 SoC.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: dts: mt7988: add uart1 and uart2
Daniel Golle [Tue, 13 Feb 2024 05:32:49 +0000 (05:32 +0000)]
mediatek: dts: mt7988: add uart1 and uart2

Add device tree nodes for uart1 and uart2 of the MT7988 SoC.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: pinctrl-mt7988: add additional uart1_2_lite group
Daniel Golle [Tue, 13 Feb 2024 05:30:24 +0000 (05:30 +0000)]
mediatek: pinctrl-mt7988: add additional uart1_2_lite group

Add UART pinctrl group for using only pins 80 and 81 for uart1.
This is needed on the BPi-R4 as RTS/CTS signals are used for other
on-board functions.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: pinctrl-mt7988: add pinconf map
Daniel Golle [Thu, 25 Jan 2024 01:22:10 +0000 (01:22 +0000)]
mediatek: pinctrl-mt7988: add pinconf map

Add pull-up/pull-down configuration for pins of MT7988.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: switch to pending XFI 10G Ethernet drivers
Daniel Golle [Sun, 28 Jan 2024 03:55:15 +0000 (03:55 +0000)]
mediatek: switch to pending XFI 10G Ethernet drivers

Replace previous patch adding paths and SerDes modes with patch series
pending upstream adding dedicated drivers for XFI T-PHY and USXGMII PCS,
extends LynxI PCS to be a standalone platform driver and as a consequence
makes much less changes to the actual Ethernet driver mtk_eth_soc.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: backport a hell of thermal commits
Daniel Golle [Sun, 28 Jan 2024 03:46:58 +0000 (03:46 +0000)]
mediatek: backport a hell of thermal commits

Backport almost 50 commits from upstream Linux to improve thermal
drivers for MediaTek SoCs and add new LVTS driver for MT7988.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: replace mt7988 clk files with accepted patches
Daniel Golle [Sun, 28 Jan 2024 03:45:53 +0000 (03:45 +0000)]
mediatek: replace mt7988 clk files with accepted patches

Replace clock drivers for MT7988 with backported upstream commits.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agokernel: backport phylink changes from mainline Linux
Daniel Golle [Sun, 28 Jan 2024 03:36:40 +0000 (03:36 +0000)]
kernel: backport phylink changes from mainline Linux

Let's pick a bunch of useful phylink changes which allow us to keep
drivers in sync with mainline Linux.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agomediatek: switch to Linux version 6.1
Daniel Golle [Mon, 4 Dec 2023 23:41:39 +0000 (23:41 +0000)]
mediatek: switch to Linux version 6.1

Drop support for Linux 5.15 and switch to Linux 6.1.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agopackage: add fitblk util to release /dev/fit* devices
Daniel Golle [Tue, 13 Jun 2023 14:32:15 +0000 (15:32 +0100)]
package: add fitblk util to release /dev/fit* devices

Add minimalistic tool to allow releasing /dev/fit* devices which is
needed on sysupgrade when using the fitblk driver.
The package is hidden in menuconfig, it should only be selected by
adding it to the default package selection of boards using it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agokernel: add pending fitblk uImage.FIT sub-image block driver
Daniel Golle [Tue, 5 Dec 2023 00:20:42 +0000 (00:20 +0000)]
kernel: add pending fitblk uImage.FIT sub-image block driver

Add 'fitblk' driver to replace the rejected/deprecated uImage.FIT
partition parser.
To use the new driver, add phandle /chosen/rootdisk and point it to
the MTD partition, UBI volume or block device holding the uImage.FIT.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agokernel: import pending patches adding support for NVMEM on UBI and MMC
Daniel Golle [Mon, 4 Dec 2023 23:48:40 +0000 (23:48 +0000)]
kernel: import pending patches adding support for NVMEM on UBI and MMC

Similar to supporting nvmem-layouts on MTD devices, also allow referencing
UBI and MMC devices in DT.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agokernel: allow skipping deprecated uImage.FIT partition parser
Daniel Golle [Fri, 24 Nov 2023 12:22:27 +0000 (12:22 +0000)]
kernel: allow skipping deprecated uImage.FIT partition parser

In order to allow gradually migrating the boards currently using the
uImage.FIT partition (deprecated/rejected) parser to the new fitblk
driver, skip the partition parser code in case the new fitblk driver
(which serves the same purpose) is used.

As an indicator for the use of the new fitblk driver, check if the
/chosen/rootdisk property is present in the Device Tree.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agokernel: move uImage.FIT partition parser to mediatek target
Daniel Golle [Mon, 4 Dec 2023 23:25:12 +0000 (23:25 +0000)]
kernel: move uImage.FIT partition parser to mediatek target

The partition parser approach has been rejected upstream, it will be
replaced by a small block driver which is the solution suggestion by
upstream maintainers.
As the partition parser has only been used by the mediatek target, as
a first step, move it there.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agokernel: 6.1: backport UBI device model improvements
Daniel Golle [Tue, 5 Dec 2023 03:44:05 +0000 (03:44 +0000)]
kernel: 6.1: backport UBI device model improvements

Backport two commits from Linux 6.3 wiring up device node parents of
ubi devices (pointing to their MTD parent) as well as ubiblock devices
(poiting to their parent UBI volume).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agoarm-trusted-firmware-mediatek: use UBI on new NAND targets
Daniel Golle [Fri, 12 Jan 2024 02:36:59 +0000 (02:36 +0000)]
arm-trusted-firmware-mediatek: use UBI on new NAND targets

Make use of recently added UBI support in MediaTek's ARM
TrustedFirmware-A on new MT7988 SoC.

Load fip from static UBI volume instead of fixed offset on SPIM-NAND
and SNFI.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agoarm-trusted-firmware-mediatek: set HIDDEN=y
Daniel Golle [Fri, 12 Jan 2024 02:40:20 +0000 (02:40 +0000)]
arm-trusted-firmware-mediatek: set HIDDEN=y

Hide arm-trusted-firmware-mediatek packages from interactive config.
Exposing them only causes confusion and needed variants are anyway
selected as dependencies by uboot-mediatek packages.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agoipq807x: add support for CMCC RM2-6
Chukun Pan [Sat, 26 Aug 2023 15:29:20 +0000 (23:29 +0800)]
ipq807x: add support for CMCC RM2-6

Hardware specifications:
  SoC: Qualcomm IPQ8070A
  RAM: 512MB of DDR3
  Flash: 256MB Micron NAND
  Ethernet: 2x 1G RJ45 port
  WiFi1: QCN5024 2x2 2.4GHz
  WiFi2: QCN5054 2x2 5GHz
  Fan: 1x GPIO controlled
  Button: Reset, WPS

Flash instructions:
  Upload factory.bin in stock firmware's upgrade page.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Reviewed-by: Robert Marko <robimarko@gmail.com>
9 months agoqualcommax: ipq807x: MX4200 convert qca807x PHY to new implementation
Paweł Owoc [Wed, 14 Feb 2024 13:16:09 +0000 (14:16 +0100)]
qualcommax: ipq807x: MX4200 convert qca807x PHY to new implementation

Convert qca807x PHY to new implementation like for other devices.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Reviewed-by: Robert Marko <robimarko@gmail.com>
9 months agoqca-ssdk: drop not used Malibu PHY patch
Robert Marko [Tue, 13 Feb 2024 20:47:54 +0000 (21:47 +0100)]
qca-ssdk: drop not used Malibu PHY patch

Now that Malibu (QCA807x) PHY-s use an upstream driver we dont need support
for defining address of the first PHY in the package so drop the patch.

Signed-off-by: Robert Marko <robimarko@gmail.com>
9 months agoqualcommax: remove usage of malibu_first_phy_addr
Robert Marko [Tue, 13 Feb 2024 20:48:52 +0000 (21:48 +0100)]
qualcommax: remove usage of malibu_first_phy_addr

Now that Malibu (QCA807x) PHY is using the upstream driver, we dont need
support to define address of the first PHY in package, so remove the
malibu_first_phy_addr DTS property.

Signed-off-by: Robert Marko <robimarko@gmail.com>
9 months agogeneric: 6.1: use upstreamed QCA807x fixup
Robert Marko [Thu, 15 Feb 2024 12:00:01 +0000 (13:00 +0100)]
generic: 6.1: use upstreamed QCA807x fixup

Now that QCA807x interface mode check was upstreamed, use the upstreamed
version and mark it as such.

Signed-off-by: Robert Marko <robimarko@gmail.com>
9 months agotools/expat: fix build error with ccache
Koen Vandeputte [Thu, 15 Feb 2024 10:52:29 +0000 (11:52 +0100)]
tools/expat: fix build error with ccache

Disable compilation of separate tests as it causes
a build error when combined with ccache

Fixes: 4a3f430d72 ("tools/expat: update to 2.6.0")
Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
9 months agokernel: fix bidirectional hardware flow offload
Felix Fietkau [Wed, 14 Feb 2024 15:21:36 +0000 (16:21 +0100)]
kernel: fix bidirectional hardware flow offload

Fix a bug that was introduced upstream

Signed-off-by: Felix Fietkau <nbd@nbd.name>
9 months agougps: update to Git HEAD (2024-02-14)
Petr Å tetiar [Wed, 14 Feb 2024 10:02:25 +0000 (10:02 +0000)]
ugps: update to Git HEAD (2024-02-14)

69561a074d6f ugps: add quality measurement parameters

Signed-off-by: Petr Å tetiar <ynezz@true.cz>
9 months agowifi-scripts: create the wlan object in board_data if not present
Felix Fietkau [Tue, 13 Feb 2024 18:24:53 +0000 (19:24 +0100)]
wifi-scripts: create the wlan object in board_data if not present

Fixes an error in wifi detection

Signed-off-by: Felix Fietkau <nbd@nbd.name>
9 months agoomap: drop kernel 5.15
Andre Heider [Thu, 8 Feb 2024 11:12:02 +0000 (12:12 +0100)]
omap: drop kernel 5.15

One version is sufficient for this minor target.

Signed-off-by: Andre Heider <a.heider@gmail.com>
9 months agoomap: switch to kernel 6.1
Andre Heider [Thu, 8 Feb 2024 09:38:14 +0000 (10:38 +0100)]
omap: switch to kernel 6.1

Lightly tested on boneblack, no fallout observed so far.

Signed-off-by: Andre Heider <a.heider@gmail.com>
9 months agoomap: run kernel_oldconfig for 6.1
Andre Heider [Thu, 8 Feb 2024 09:38:01 +0000 (10:38 +0100)]
omap: run kernel_oldconfig for 6.1

No manual changes done.

Signed-off-by: Andre Heider <a.heider@gmail.com>
9 months agoomap: copy kernel config for 6.1
Andre Heider [Thu, 8 Feb 2024 09:32:24 +0000 (10:32 +0100)]
omap: copy kernel config for 6.1

Unmodified copy to ease reviewing follow-up changes.

Signed-off-by: Andre Heider <a.heider@gmail.com>
9 months agoucode: update to Git HEAD (2024-02-13)
Jo-Philipp Wich [Tue, 13 Feb 2024 16:16:04 +0000 (17:16 +0100)]
ucode: update to Git HEAD (2024-02-13)

7e5830edfb38 nl80211: fix datatype of NL80211_BAND_IFTYPE_ATTR_HE_CAP_{MAC,PHY} attrs
5c8fd34bac42 nl80211: fix parsing of NL80211_BAND_ATTR_VHT_MCS_SET attribute
e8d4e4fe967d nl80211: fix decoding of NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET attribute
30a3f7ad0433 rtnl: store callback in listener registry only on success
9cbe8294909f rtnl: optimize reception of rtnl events
534417132e18 rtnl: increase event socket rx buffer size limit to 1 MiB
3f9811d2f7b7 compiler: close upvalues on loop control statements

Fixes: https://github.com/jow-/ucode.git/issues/187
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
9 months agolibxml2: update to 2.12.5
Nick Hainke [Mon, 12 Feb 2024 22:48:46 +0000 (23:48 +0100)]
libxml2: update to 2.12.5

Release Notes:
https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.12.5

Fixes: CVE-2024-25062
Signed-off-by: Nick Hainke <vincent@systemli.org>
9 months agomediatek: filogic: fixup mt7988a DTS coding style
Rafał Miłecki [Tue, 13 Feb 2024 10:27:13 +0000 (11:27 +0100)]
mediatek: filogic: fixup mt7988a DTS coding style

Use coding style as described as preferred in upstream DTS Coding Style.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
9 months agomediatek: filogic: reorder mt7988a DTS properties
Rafał Miłecki [Tue, 13 Feb 2024 10:22:06 +0000 (11:22 +0100)]
mediatek: filogic: reorder mt7988a DTS properties

Use order described as preferred in DTS Coding Style. Mostly just move
"compatible", "reg", "ranges" and "status" properties.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
9 months agobinutils: update to 2.42
Nick Hainke [Wed, 7 Feb 2024 11:52:46 +0000 (12:52 +0100)]
binutils: update to 2.42

Refresh patch:
- 001-replace-attribute_const.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
9 months agobase-files: move uci_set_poe() to uci-defaults.sh
Sander Vanheule [Wed, 24 Jan 2024 10:20:08 +0000 (11:20 +0100)]
base-files: move uci_set_poe() to uci-defaults.sh

PoE devices in the realtek target have the possibility to add PSE info
to the board description via 02_network. Make this available for all
targets, by moving the uci_set_poe() function to the globally available
uci-default.sh script.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
9 months agorealtek: move port filtering out of uci_set_poe()
Sander Vanheule [Wed, 24 Jan 2024 09:49:41 +0000 (10:49 +0100)]
realtek: move port filtering out of uci_set_poe()

uci_set_poe() now performs two duties: filtering the list of device
ports to exclude non-PoE ports, and generating the PoE related device
config.

Extract the port filtering to an external function, which is made a bit
more readable by the use of 'sort -V [-r] | uniq -u' to filter duplicate
entries out of a (reverse) version sorted list.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
9 months agorealtek: add support for chassis fan on ZyXEL XGS1250-12
Tobias Schramm [Tue, 6 Feb 2024 18:31:04 +0000 (19:31 +0100)]
realtek: add support for chassis fan on ZyXEL XGS1250-12

The ZyXEL XGS1250-12 has a chassis fan. The fan is positioned perfectly to
provide additional cooling to the Aquantia NBase-T phys. Testing has shown
that the phys can reach temperatures upwards of 72 degrees Celsius quite
easily at about 20 degrees Celsius ambient.
Support the chassis fan to give the phys a bit of extra cooling.

Signed-off-by: Tobias Schramm <tobias@t-sys.eu>
9 months agoRevert "build: align SOURCE path for build system and SDK"
Daniel Golle [Mon, 12 Feb 2024 19:02:48 +0000 (19:02 +0000)]
Revert "build: align SOURCE path for build system and SDK"

This reverts commit 131e41614dcfae1f995e55330ada6573ca244ba3.
Sadly it makes menuconfig fail with
tmp/.config-package.in:171: glob failed: No files found "feeds/base/utils/busybox/Config.in"
make: *** [/usr/src/openwrt/include/toplevel.mk:136: menuconfig] Error 1

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 months agobuild: align SOURCE path for build system and SDK
Paul Spooren [Mon, 12 Feb 2024 15:59:50 +0000 (16:59 +0100)]
build: align SOURCE path for build system and SDK

Building a package in the build system or the SDK results in different
values for the `SOURCE` property, it's either `packages/<package name>`
or `feeds/base/<package name>`. The reason is that the SDK handles
`openwrt.git` as an external feed called while the build system contains
the *base* packages directly.

Since packages created with either method are (ideally) the same (bit
for bit), align the content of SOURCE. To do so this commit creates a
symlink from `feeds/base` to `$(TOPDIR)/package` and adopts the SOURCE
when building from inside the build system.

Signed-off-by: Paul Spooren <mail@aparcar.org>
9 months agogeneric: 6.1: fixup QCA807x upstream PHY
Robert Marko [Mon, 12 Feb 2024 11:35:58 +0000 (12:35 +0100)]
generic: 6.1: fixup QCA807x upstream PHY

Currently, we are checking whether the PHY package mode matches the
individual PHY interface modes at PHY package probe time, but at that time
we only know the PHY package mode and not the individual PHY interface
modes as of_get_phy_mode() that populates it will only get called once the
netdev to which PHY-s are attached to is being probed and thus this check
will always fail and return -EINVAL.

So, lets move this check to .config_init_once as at that point individual
PHY interface modes should be populated.

Fixes: 16364e410039 ("generic: 6.1: backport QCA807x PHY patches")
Signed-off-by: Robert Marko <robimarko@gmail.com>
9 months agotools/expat: update to 2.6.0
Nick Hainke [Mon, 12 Feb 2024 00:02:06 +0000 (01:02 +0100)]
tools/expat: update to 2.6.0

Changelog:
https://github.com/libexpat/libexpat/blob/R_2_6_0/expat/Changes

Signed-off-by: Nick Hainke <vincent@systemli.org>
9 months agotools/ccache: update to 4.9.1
Nick Hainke [Mon, 12 Feb 2024 00:14:11 +0000 (01:14 +0100)]
tools/ccache: update to 4.9.1

Release Notes:
https://ccache.dev/releasenotes.html#_ccache_4_9_1

Manually refresh patch:
- 100-honour-copts.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
9 months agoramips: mt76x8: drop AT803X phy driver
Shiji Yang [Sat, 10 Feb 2024 03:30:54 +0000 (11:30 +0800)]
ramips: mt76x8: drop AT803X phy driver

This Qualcomm Gigabit phy driver was mistakenly added because
MT76x8 does not support external phy, and it only supports max
100M full duplex speed.

Fixes: cadf5171074f ("ralink: add support for mt7628")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
9 months agoqca-ssdk: drop deprecated Xiaomi LEDs quirk patch
Christian Marangi [Wed, 15 Nov 2023 00:36:35 +0000 (01:36 +0100)]
qca-ssdk: drop deprecated Xiaomi LEDs quirk patch

Drop deprecated Xiaomi LEDs quirk patches as they are not needed anymore
as LEDs are now supported by the upstream qca807x driver.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 months agoqualcommax: apply special PHY LEDs configuration for Xiaomi AX9000
Christian Marangi [Wed, 15 Nov 2023 00:31:14 +0000 (01:31 +0100)]
qualcommax: apply special PHY LEDs configuration for Xiaomi AX9000

Xiaomi AX9000 apply a special PHY LEDs configuration where the unique
green LED for each qca807x PHY port is turned on also on 1000Mbps link.

Apply this special configuration to reflect original implementation.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 months agoqualcommax: apply special PHY LEDs configuration for Xiaomi AX3600
Christian Marangi [Wed, 15 Nov 2023 00:35:04 +0000 (01:35 +0100)]
qualcommax: apply special PHY LEDs configuration for Xiaomi AX3600

Xiaomi AX3600 apply a special PHY LEDs configuration where the unique
green LED for each qca807x PHY port is turned on also on 1000Mbps link.

Apply this special configuration to reflect original implementation.

Also enable CONFIG_PHYLIB_LEDS to actually expose the PHY LEDs if
defined in DT.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 months agoqualcommax: convert qca807x PHY to PHY package implementation
Christian Marangi [Fri, 17 Nov 2023 16:52:42 +0000 (17:52 +0100)]
qualcommax: convert qca807x PHY to PHY package implementation

Convert every qca807x PHY definition in DT to new PHY package
implementation to correctly support applying fixup for the correct PHY
mode.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 months agoqualcommax: set correct PHY mode for port 0-4
Christian Marangi [Tue, 14 Nov 2023 23:59:59 +0000 (00:59 +0100)]
qualcommax: set correct PHY mode for port 0-4

Port 0-4 have the mode set to SGMII instead of PSGMII. Now that we use
the upstream qca807x driver, this conflicts with the qca SSDK driver
that expects the mode to be PSGMII as for not integrated driver, it does
refer to the real PHY mode.

Update the entry for port 0-4 to PSGMII to solve warning from qca SSDK
in ipq8074-ess.dtsi.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 months agoqca-ssdk: add patch to support detection of PSGMII mode for PHY
Christian Marangi [Wed, 15 Nov 2023 00:04:06 +0000 (01:04 +0100)]
qca-ssdk: add patch to support detection of PSGMII mode for PHY

If a PHY doesn't use the integrated driver, SSDK use poll the phydev to
get the real PHY mode. qca807x use PSGMII as PHY mode and this specific
mode is not detected in qca SSDK while used in the entire driver.

Add support for it in the hsl_port_phydev_interface_mode_status_get
function used to translate PHY mode to the internal SSDK value.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 months agoqualcommax: enable qca807x PHY driver
Christian Marangi [Wed, 15 Nov 2023 00:08:37 +0000 (01:08 +0100)]
qualcommax: enable qca807x PHY driver

IPQ807x have integrated qca8074 PHY supported by the upstream qca807x driver.

Enable it to use it instead of the downstream qca SSDK variant.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 months agoqca-ssdk: disable Malibu PHY in favor of upstream version
Christian Marangi [Wed, 15 Nov 2023 00:07:18 +0000 (01:07 +0100)]
qca-ssdk: disable Malibu PHY in favor of upstream version

Disable Malibu PHY driver in Qca SSDK in favor of the upstream version.
The same workaround are applied and the version upstream is just a drop
in replacement and is well tested from the ipq40xx target.

Also using the upstream version permits further support for LEDs.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 months agoipq40xx: adapt to new Upstream QCA807x PHY driver
Christian Marangi [Sat, 10 Feb 2024 22:39:32 +0000 (23:39 +0100)]
ipq40xx: adapt to new Upstream QCA807x PHY driver

Adapt patches to new Upstream QCA807x PHY driver.

Rework the PHY patch to new PHY Package nodes.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 months agogeneric: 6.1: backport QCA807x PHY patches
Christian Marangi [Sat, 10 Feb 2024 18:27:33 +0000 (19:27 +0100)]
generic: 6.1: backport QCA807x PHY patches

Backport QCA807x PHY patches merged upstream that introduce the new
concept of PHY package.

Also add in generic config the new Kconfig CONFIG_QCA807X_PHY.

All affected patch automatically refreshed with make
target/linux/refresh.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 months agogeneric: 6.1: move LEDs netdev trigger patch from pending to backport
Christian Marangi [Sun, 11 Feb 2024 15:37:18 +0000 (16:37 +0100)]
generic: 6.1: move LEDs netdev trigger patch from pending to backport

Move LEDs netdev trigger patch from pending to backport as it has been
merged upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 months agogeneric: 6.1: backport Aquantia PHY endianess patch
Christian Marangi [Sun, 11 Feb 2024 15:28:16 +0000 (16:28 +0100)]
generic: 6.1: backport Aquantia PHY endianess patch

Backport Aquantia PHY endianess patch. While the current implementation
works ok for Little-Endian targets, backport patch to prevent any kind
of malfunction if in the future we will have Big-Endian target with
Aquantia PHYs.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 months agoqualcommax: fix wrong PHY node definition for Buffalo WXR-5950AX12
Christian Marangi [Sun, 11 Feb 2024 14:58:21 +0000 (15:58 +0100)]
qualcommax: fix wrong PHY node definition for Buffalo WXR-5950AX12

Commit d737ae99cb36 ("qualcommax: Fix Buffalo WXR-5950AX12 Ethernet
DTS") reverted the switch bmp to the original OEM definition and
added the malibu_first_phy_addr property.

Problem is that OEM bmp definition is wrong and actually doesn't make sense,
probably caused by copy-paste of the QCOM reference DTS without actually
setting real values. What actually fixed the regression was adding the
malibu_first_phy_addr as without it the MALIBU PHY was actually not
correctly configured and the Aquantia PHY were actually configured as
MALIBU PHY.

Fix all these wrong PHY definition.

The BPM is reverted and the following fixes are applied:
- Drop ESS_PORT1 as it's not actually attached in HW.
- Move ESS_PORT5 AGAIN from lan to wan. This refer to the first Aquantia
  PHY that is labelled "wan"
- Move ESS_PORT6 AGAIN from wan to lan. This refer to the second
  Aquantia PHY that is labelled "lan1".

Also PHY tag in MDIO node are renumbered to start from 0 following the
tagging standard used also in other dts and the not attached one (reg
0x18 and reg 0x1c) are correctly dropped.

Definition for port@1 in phyinfo is dropped as it doesn't exist.

dp nodes are updated to reference the new PHY tag numbering.

Fixes: d737ae99cb36 ("qualcommax: Fix Buffalo WXR-5950AX12 Ethernet DTS")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
9 months agomediatek: fix failsafe ethernet for NWA50AX Pro
David Bauer [Sun, 11 Feb 2024 13:44:08 +0000 (14:44 +0100)]
mediatek: fix failsafe ethernet for NWA50AX Pro

The NWA50AX Pro only has a eth0 interface for its only ethernet port.
Use this port for preinit.

Fixes non-working network in failsafe mode.

Signed-off-by: David Bauer <mail@david-bauer.net>
9 months agoramips: mtk_eth_soc: fix NULL pointer dereference for syncp
Shiji Yang [Sat, 10 Feb 2024 12:35:46 +0000 (20:35 +0800)]
ramips: mtk_eth_soc: fix NULL pointer dereference for syncp

u64_stats_init() has been unable to handle NULL pointer since
6.1 kernel. This patch fixes kernel oops on mt76x8 and rt305x
sub-target.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
9 months agouboot-envtools: backport some usefull patches from v2024.04-rc1
Shiji Yang [Sat, 10 Feb 2024 13:47:40 +0000 (13:47 +0000)]
uboot-envtools: backport some usefull patches from v2024.04-rc1

Highlights:
- Silence small page read warning.
- Autodetect NAND erase size and env sectors.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
9 months agoramips: hsdma-mtk: fix build on 5.15 kernel
Shiji Yang [Sun, 11 Feb 2024 03:50:32 +0000 (11:50 +0800)]
ramips: hsdma-mtk: fix build on 5.15 kernel

In the 5.15 kernel, we use the staging driver version instead of the
downstream file.

Fixes: 88d982e3bd87 ("ramips: 6.1: mt7621-dma: add hsdma driver to files")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
9 months agoramips: add support for 6.1 kernel
Nick Hainke [Fri, 26 May 2023 18:07:15 +0000 (20:07 +0200)]
ramips: add support for 6.1 kernel

Remove upstreamed patches:
- 000-v5.18-01-dt-bindings-reset-add-dt-binding-header-for-Mediatek.patch
- 000-v5.18-02-staging-mt7621-dts-align-resets-with-binding-documen.patch
- 001-v5.18-01-dt-bindings-clock-mediatek-mt7621-sysc-add-reset-cel.patch
- 001-v5.18-02-clk-ralink-make-system-controller-node-a-reset-provi.patch
- 002-v6.0-MIPS-ralink-mt7621-avoid-to-init-common-ralink-reset.patch
- 100-v5.16-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch
- 101-v5.17-PCI-mt7621-Rename-mt7621_pci_-to-mt7621_pcie_.patch
- 102-v5.17-PCI-mt7621-Declare-mt7621_pci_ops-static.patch
- 103-v5.17-PCI-mt7621-Move-MIPS-setup-to-pcibios_root_bridge_pr.patch
- 104-v5.17-PCI-mt7621-Drop-of_match_ptr-to-avoid-unused-variabl.patch
- 105-v5.17-PCI-mt7621-Remove-unused-function-pcie_rmw.patch
- 106-v5.17-PCI-Let-pcibios_root_bridge_prepare-access-bridge-wi.patch
- 107-v6.2-PCI-mt7621-Add-sentinel-to-quirks-table.patch
- 108-v6.3-PCI-mt7621-Delay-phy-ports-initialization.patch

Manually refresh:
- 006-v6.5-mips-ralink-introduce-commonly-used-remap-node-funct.patch
- 320-MIPS-add-support-for-buggy-MT7621S-core-detection.patch
- 405-mtd-spi-nor-Add-support-for-BoHong-bh25q128as.patch
- 410-mtd-rawnand-add-driver-support-for-MT7621-nand-flash.patch
- 805-pinctrl-AW9523.patch
- 825-i2c-MIPS-adds-ralink-I2C-driver.patch
- 830-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch

Automatically refresh:
- 200-add-ralink-eth.patch
- 314-MIPS-add-bootargs-override-property.patch
- 315-owrt-hack-fix-mt7688-cache-issue.patch
- 700-net-ethernet-mediatek-support-net-labels.patch
- 720-Revert-net-phy-simplify-phy_link_change-arguments.patch
- 721-NET-no-auto-carrier-off-support.patch
- 800-dmaengine-mediatek-add-HSDMA-support-for-mt7621.patch
- 802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch
- 810-uvc-add-iPassion-iP2970-support.patch
- 821-SPI-ralink-add-Ralink-SoC-spi-driver.patch
- 835-asoc-add-mt7620-support.patch
- 840-serial-add-ugly-custom-baud-rate-hack.patch
- 845-pwm-add-mediatek-support.patch
- 850-awake-rt305x-dwc2-controller.patch

Tested-by: Andre Heider <a.heider@gmail.com> # netgear,wac124
Tested-by: Andrey Jr. Melnikov <temnota.am@gmail.com> # Xiaomi Mi Router 3G
Tested-by: Timo Dorfner <timo.capa@gmail.com> # mt7621/mir3g mt7621/rm2100
Reviewed-by: Shiji Yang <yangshiji66@qq.com>
Co-Developed-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Signed-off-by: Nick Hainke <vincent@systemli.org>
9 months agoramips: 6.1: ralink: fix ethernet driver with 6.1
Mieczyslaw Nalewaj [Thu, 8 Feb 2024 21:13:50 +0000 (22:13 +0100)]
ramips: 6.1: ralink: fix ethernet driver with 6.1

Fixes errors in the form of:
  make[9]: Entering directory '/home/nick/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7620/linux-6.1.77'
    CC      drivers/net/ethernet/ralink/mtk_eth_soc.o
  drivers/net/ethernet/ralink/mtk_eth_soc.c: In function 'fe_init':
  drivers/net/ethernet/ralink/mtk_eth_soc.c:1368:51: warning: passing argument 2 of 'of_get_mac_address' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   1368 |         of_get_mac_address(priv->dev->of_node, dev->dev_addr);
        |                                                ~~~^~~~~~~~~~
  In file included from drivers/net/ethernet/ralink/mtk_eth_soc.c:26:
  ./include/linux/of_net.h:16:59: note: expected 'u8 *' {aka 'unsigned char *'} but argument is of type 'const unsigned char *'
     16 | extern int of_get_mac_address(struct device_node *np, u8 *mac);
        |                                                       ~~~~^~~
  drivers/net/ethernet/ralink/mtk_eth_soc.c: In function 'fe_probe':
  drivers/net/ethernet/ralink/mtk_eth_soc.c:1641:9: error: too many arguments to function 'netif_napi_add'
   1641 |         netif_napi_add(netdev, &priv->rx_napi, fe_poll, napi_weight);
        |         ^~~~~~~~~~~~~~
  In file included from ./include/linux/etherdevice.h:21,
                   from drivers/net/ethernet/ralink/mtk_eth_soc.c:21:
  ./include/linux/netdevice.h:2611:1: note: declared here
   2611 | netif_napi_add(struct net_device *dev, struct napi_struct *napi,
        | ^~~~~~~~~~~~~~

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
[split commit and rewrite commit message]
Signed-off-by: Nick Hainke <vincent@systemli.org>
9 months agoramips: 6.1: spi: fix patch by replacing cs_gpio with cs_gpiod
Mieczyslaw Nalewaj [Thu, 8 Feb 2024 20:57:12 +0000 (21:57 +0100)]
ramips: 6.1: spi: fix patch by replacing cs_gpio with cs_gpiod

Upstream commit f48dc6b96649 ("spi: Retire legacy GPIO handling") [0]
removed support using GPIOs as chip select. Fix it by replacing cs_gpio
with cs_gpiod.

[0] - https://github.com/torvalds/linux/commit/f48dc6b9664963107e500aecfc2f4df27dc5afb6

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
[split commit and rewrite commit message]
Signed-off-by: Nick Hainke <vincent@systemli.org>
9 months agoramips: 6.1: ralink: fix const warning in the ethernet driver
Nick Hainke [Thu, 8 Feb 2024 13:48:50 +0000 (14:48 +0100)]
ramips: 6.1: ralink: fix const warning in the ethernet driver

Change fe_hw_set_macaddr and the set_mac parameter to const to fix
errors in the form of:

   drivers/net/ethernet/ralink/mtk_eth_soc.c: In function 'fe_set_mac_address':
  drivers/net/ethernet/ralink/mtk_eth_soc.c:174:53: error: passing argument 2 of 'priv->soc->set_mac' discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
    174 |                         priv->soc->set_mac(priv, dev->dev_addr);
        |                                                  ~~~^~~~~~~~~~
  drivers/net/ethernet/ralink/mtk_eth_soc.c:174:53: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
  drivers/net/ethernet/ralink/mtk_eth_soc.c: In function 'fe_hw_init':
  drivers/net/ethernet/ralink/mtk_eth_soc.c:1220:45: error: passing argument 2 of 'priv->soc->set_mac' discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
   1220 |                 priv->soc->set_mac(priv, dev->dev_addr);
        |                                          ~~~^~~~~~~~~~
  drivers/net/ethernet/ralink/mtk_eth_soc.c:1220:45: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
  drivers/net/ethernet/ralink/mtk_eth_soc.c:1222:44: error: passing argument 2 of 'fe_hw_set_macaddr' discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
   1222 |                 fe_hw_set_macaddr(priv, dev->dev_addr);
        |                                         ~~~^~~~~~~~~~
  drivers/net/ethernet/ralink/mtk_eth_soc.c:155:75: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
    155 | static inline void fe_hw_set_macaddr(struct fe_priv *priv, unsigned char *mac)
        |                                                            ~~~~~~~~~~~~~~~^~~
  cc1: all warnings being treated as errors

Signed-off-by: Nick Hainke <vincent@systemli.org>
9 months agoramips: 6.1: pwm: rewrite mtk_pwm_ops to fix pwm driver
Nick Hainke [Thu, 8 Feb 2024 14:08:18 +0000 (15:08 +0100)]
ramips: 6.1: pwm: rewrite mtk_pwm_ops to fix pwm driver

Upstream dropped support for legacy driver [0]. Rewrite the driver like
the renesas pwm driver [1].

Fixes erros in the form of:
   make: *** [/__w/openwrt/openwrt/openwrt/include/toplevel.mk:232: target/compile] Error 1
  ====== Make errors from logs/target/linux/compile.txt ======
        |                   ^~~~~~~~~~~~~~
  drivers/pwm/pwm-mediatek-ramips.c:107:19: note: (near initialization for 'mtk_pwm_ops.free')
  drivers/pwm/pwm-mediatek-ramips.c:108:10: error: 'const struct pwm_ops' has no member named 'disable'
    108 |         .disable = mtk_pwm_disable,
        |          ^~~~~~~
  drivers/pwm/pwm-mediatek-ramips.c:108:20: error: initialization of 'int (*)(struct pwm_chip *, struct pwm_device *, struct pwm_capture *, long unsigned int)' from incompatible pointer type 'void (*)(struct pwm_chip *, struct pwm_device *)' [-Werror=incompatible-pointer-types]
    108 |         .disable = mtk_pwm_disable,
        |                    ^~~~~~~~~~~~~~~
  drivers/pwm/pwm-mediatek-ramips.c:108:20: note: (near initialization for 'mtk_pwm_ops.capture')
  cc1: all warnings being treated as errors

[0] - https://github.com/torvalds/linux/commit/0829c35dc5346e90f428de61896362b51ab58296
[1] - https://github.com/torvalds/linux/commit/ec00cd5e63f05461ab48128775c73c851c3c2b18

Signed-off-by: Nick Hainke <vincent@systemli.org>
9 months agoramips: 6.1: dai_dma: drop dma_data->slave_id in mt7620 support patch
Nick Hainke [Thu, 8 Feb 2024 13:15:40 +0000 (14:15 +0100)]
ramips: 6.1: dai_dma: drop dma_data->slave_id in mt7620 support patch

Upstream dropped slave_id in dai_dma [0]. So drop it also in the mt7620
support patch.

Fixes errors in the form of:
   sound/soc/ralink/ralink-i2s.c: In function 'ralink_i2s_init_dma_data':
  sound/soc/ralink/ralink-i2s.c:452:17: error: 'struct snd_dmaengine_dai_dma_data' has no member named 'slave_id'
    452 |         dma_data->slave_id = i2s->txdma_req;
        |                 ^~
  sound/soc/ralink/ralink-i2s.c:462:17: error: 'struct snd_dmaengine_dai_dma_data' has no member named 'slave_id'
    462 |         dma_data->slave_id = i2s->rxdma_req;
        |                 ^~

[0] - https://lore.kernel.org/r/20211122222203.4103644-3-arnd@kernel.org

Signed-off-by: Nick Hainke <vincent@systemli.org>
9 months agoramips: 6.1: pinctrl: fix compilation with 6.1
Nick Hainke [Fri, 26 May 2023 19:01:01 +0000 (21:01 +0200)]
ramips: 6.1: pinctrl: fix compilation with 6.1

Upstream changed in ed5c2f5fd10d ("i2c: Make remove callback return void")
the i2c driver's remove function to return no value. Adapt the driver code
to compile with 5.15 and 6.1 like it is done in other projects [0].

Fixes errors in the form of:
  make[8]: Leaving directory '/home/nick/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/linux-6.1.29'
    CC      drivers/pinctrl/pinctrl-aw9523.o
  drivers/pinctrl/pinctrl-aw9523.c:1117:19: error: initialization of 'void (*)(struct i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *)' [-Werror=incompatible-pointer-types]
 1117 |         .remove = aw9523_remove,
      |                   ^~~~~~~~~~~~~
  drivers/pinctrl/pinctrl-aw9523.c:1117:19: note: (near initialization for 'aw9523_driver.remove')
  cc1: all warnings being treated as errors

[0] - https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/merge_requests/10/diffs

Signed-off-by: Nick Hainke <vincent@systemli.org>
9 months agoramips: 6.1: mt7621-dma: apply dma handle error from device_reset patch
Nick Hainke [Fri, 26 May 2023 18:04:25 +0000 (20:04 +0200)]
ramips: 6.1: mt7621-dma: apply dma handle error from device_reset patch

Apply the "109-drivers-mt7621-dma-handle-error-from-device_reset.patch"
directly on the downstream maintained dma driver.

Signed-off-by: Nick Hainke <vincent@systemli.org>
9 months agoramips: 6.1: mt7621-dma: add hsdma driver to files
Nick Hainke [Fri, 26 May 2023 18:01:38 +0000 (20:01 +0200)]
ramips: 6.1: mt7621-dma: add hsdma driver to files

Commit 87dd67f496f7 ("staging: mt7621-dma: remove driver from tree")
removed the mt7621-dma driver. Maintain the driver downstream in the
folder of the other mediatek drivers.

Signed-off-by: Nick Hainke <vincent@systemli.org>
9 months agoramips: 6.1: copy config and patches
Nick Hainke [Fri, 26 May 2023 16:50:15 +0000 (18:50 +0200)]
ramips: 6.1: copy config and patches

Copy config and patches from 5.15. This simplifies reviewing process.

Signed-off-by: Nick Hainke <vincent@systemli.org>
9 months agotoolchain: glibc: Update glibc 2.37 to recent HEAD
Hauke Mehrtens [Wed, 7 Feb 2024 20:30:52 +0000 (21:30 +0100)]
toolchain: glibc: Update glibc 2.37 to recent HEAD

512e30fd56 Revert "elf: Remove unused l_text_end field from struct link_map"
55d3dfadf8 Revert "elf: Always call destructors in reverse constructor order (bug 30785)"
8e20aedfd7 Revert "elf: Move l_init_called_next to old place of l_text_end in link map"
5014fb12f4 elf: Fix wrong break removal from 8ee878592c
874d418697 elf: Fix TLS modid reuse generation assignment (BZ 29039)
8bd00f5b6d x86-64: Fix the dtv field load for x32 [BZ #31184]
d052665f35 x86-64: Fix the tcb field load for x32 [BZ #31185]
0ca9ba3a9e NEWS: Mention bug fixes for 29039/30745/30843
9b90e763db getaddrinfo: translate ENOMEM to EAI_MEMORY (bug 31163)
bd9f194c34 libio: Check remaining buffer size in _IO_wdo_write (bug 31183)
8b8a3f0aaf sunrpc: Fix netname build with older gcc
97a4292aa4 syslog: Fix heap buffer overflow in __vsyslog_internal (CVE-2023-6246)
67062eccd9 syslog: Fix heap buffer overflow in __vsyslog_internal (CVE-2023-6779)
2b58cba076 syslog: Fix integer overflow in __vsyslog_internal (CVE-2023-6780)
1d8bb622df i386: Use pthread_barrier for synchronization on tst-bz21269
32450f6e8d sysdeps: tst-bz21269: fix test parameter
f7e97cea20 sysdeps: tst-bz21269: handle ENOSYS & skip appropriately
d97929eadc sysdeps: tst-bz21269: fix -Wreturn-type
5bbe7e0da5 x86_64: Optimize ffsll function code size.
98ec3e004e sparc: Fix broken memset for sparc32 [BZ #31068]
2ce7abef67 sparc64: Remove unwind information from signal return stubs [BZ#31244]
18da90677c sparc: Fix sparc64 memmove length comparison (BZ 31266)
8b849f70b3 sparc: Remove unwind information from signal return stubs [BZ #31244]
eee7525d35 arm: Remove wrong ldr from _dl_start_user (BZ 31339)

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>