openwrt/staging/pepe2k.git
3 years agohostapd: ubus: add BSS transtiton request method
David Bauer [Sat, 5 Dec 2020 19:17:35 +0000 (20:17 +0100)]
hostapd: ubus: add BSS transtiton request method

The existing wnm_disassoc_imminent ubus method only supports issuing a
bss transition request with the disassoc imminent flag set.
For use-cases, where the client is requested to roam to another BSS
without a pending disassoc, this existing method is not suitable.

Add a new bss_transition_request ubus method, which provides a more
universal way to dispatch a transition request. It takes the following
arguments:

Required:
addr: String - MAC-address of the STA to send the request to (colon-seperated)

Optional:
abridged - Bool - Indicates if the abridged flag is set
disassociation_imminent: Bool - Whether or not the disassoc_imminent
                         flag is set
disassociation_timer: I32 - number of TBTTs after which the client will
                      be disassociated
validity_period: I32 - number of TBTTs after which the beacon
                 candidate list (if included) will be invalid
neighbors: blob-array - Array of strings containing neighbor reports as
           hex-string

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agohostapd: ubus: add notification for BSS transition response
David Bauer [Wed, 21 Oct 2020 18:50:01 +0000 (20:50 +0200)]
hostapd: ubus: add notification for BSS transition response

To allow steering daemons to be aware of the STA-decided transition
target, publish WNM transition responses to ubus. This way, steerings
daemons can learn about STA-chosen targets and send a better selection
of transition candidates.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agotools/fakeroot: explicitly pass CPP variable
Felix Fietkau [Wed, 13 Oct 2021 14:36:16 +0000 (16:36 +0200)]
tools/fakeroot: explicitly pass CPP variable

For some reason, the generated configure script fails to properly set up
the internal preprocessor command variable, causing the host OS check for
Darwin to fail after the last update.
Explicitly setting CPP fixes this issue

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agox86/64: enable MMIO_CMDLINE_DEVICES for firecracker support
Paul Spooren [Mon, 11 Oct 2021 20:33:26 +0000 (10:33 -1000)]
x86/64: enable MMIO_CMDLINE_DEVICES for firecracker support

This Kernel option allows to run OpenWrt witin a `firecracker` micro VM.

Firecracker is a KVM-based tool for superfast booting VMs on x86_64 and
aarch64. It makes rootfs available to the guest as a virtio-mmio device
and passes its address via the kernel cmdline. A kernel without
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES will not recognize the rootfs
virtio-mmio device.

Suggested-by: Packet Please <pktpls@systemli.org>
Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agoarmvirt: enable MMIO_CMDLINE_DEVICES for firecracker support
Paul Spooren [Mon, 11 Oct 2021 20:29:40 +0000 (10:29 -1000)]
armvirt: enable MMIO_CMDLINE_DEVICES for firecracker support

This Kernel option allows to run OpenWrt witin a `firecracker` micro VM.

Firecracker is a KVM-based tool for superfast booting VMs on x86_64 and
aarch64. It makes rootfs available to the guest as a virtio-mmio device
and passes its address via the kernel cmdline. A kernel without
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES will not recognize the rootfs
virtio-mmio device.

Suggested-by: Packet Please <pktpls@systemli.org>
Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agoprocd: update to git HEAD
Daniel Golle [Tue, 12 Oct 2021 23:38:12 +0000 (00:38 +0100)]
procd: update to git HEAD

 97bcdcf uxc: fix segfault caused by use-after-free
 6398e05 uxc: don't free the stack
 324ebd0 jail: fs: add support for asymmetric mount bind
 c44ab7f jail: netifd: generate netifd uci config and mount it
 82dd390 jail: make use of per-container netifd via ubus

The new per-jail netifd is now configured by filtering the host
network configuration. As libuci is used for that, procd-ujail now
depends on libuci.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agonetifd: update to git HEAD
Daniel Golle [Tue, 12 Oct 2021 23:33:44 +0000 (00:33 +0100)]
netifd: update to git HEAD

 be8cd8f interface: don't fork() to start jail interface
 7a048bd interface, ubus: rework netns up/down

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agomt76: update to the latest version
Felix Fietkau [Tue, 12 Oct 2021 12:44:50 +0000 (14:44 +0200)]
mt76: update to the latest version

83598c2e872f mt76: avoid possible infinite loop in mt76_tx_status_check

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomt76: update to the latest version
Felix Fietkau [Mon, 11 Oct 2021 19:54:13 +0000 (21:54 +0200)]
mt76: update to the latest version

1af0242d1241 mt76: mt7915: replace a 64 bit divsion with a call to div_u64_rem

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: remove kcov bits from TWT backport patch
Felix Fietkau [Mon, 11 Oct 2021 14:40:20 +0000 (16:40 +0200)]
mac80211: remove kcov bits from TWT backport patch

Our backports version does not have support for kcov in mac80211
Fixes build errors on some platforms

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomt76: update to the latest version
Felix Fietkau [Mon, 11 Oct 2021 11:26:39 +0000 (13:26 +0200)]
mt76: update to the latest version

74dedf9352c5 mt76: mt7615: fix skb use-after-free on mac reset
7201290eda43 mt76: mt7921: Fix out of order process by invalid event pkt
ca1b57e9971a mt76: mt7915: add a missing HT flag for GI parsing
4932c5d80153 of: net: pass the dst buffer to of_get_mac_address()
51d9eb3e6f52 mt76: mt7915: fix endianness warnings in mu radiotap
833ca13014ab mt76: mt7921: Add mt7922 support
8f8ed44d026e mt76: mt7915: add control knobs for thermal throttling
16f18bab6b11 mt76: mt7915: send EAPOL frames at lowest rate
affea639c586 mt76: mt7921: send EAPOL frames at lowest rate
ac00fed412d4 mt76: mt7915: fix potential overflow of eeprom page index [update]
e576ddb76dfa mt76: mt7915: switch proper tx arbiter mode in testmode
222847c3d5eb mt76: mt7915: fix bit fields for HT rate idx
d04814366c83 mt76: add support for setting mcast rate
4602acc9271a mt76: mt7921: fix dma hang in rmmod
ec2cf3bf96fd mt76: connac: fix GTK rekey offload failure on WPA mixed mode
2fdb9d621431 mt76: connac: add support for limiting to maximum regulatory Tx power
489ace63d42c mt76: mt7921: get rid of monitor_vif
22da8d28fcc8 mt76: mt7921: get rid of mt7921_mac_set_beacon_filter
c94130519786 mt76: mt7921: introduce mt7921_mcu_set_beacon_filter utility routine
51cff39d7ad3 mt76: overwrite default reg_ops if necessary
da11c1c6edef mt76: mt7615: move mt7615_mcu_set_p2p_oppps in mt76_connac module
47f50b0aa4b8 mt76: mt7921: report HE MU radiotap
4f48ba4b0254 mt76: mt7915: checkpatch cleanup
bc7ee7d7bdea mt76: mt7915: add HE-LTF into fixed rate command
6a19e40820aa mt76: mt7921: continue to probe driver when fw already downloaded
8b3d8e2de084 mt76: mt7921: fix firmware usage of RA info using legacy rates
17305a54b166 mt76: mt7921: fix kernel warning from cfg80211_calculate_bitrate
801c15577293 mt76: mt7921: fix endianness warnings in mt7921_mac_decode_he_mu_radiotap
0182a5b99a7a mt76: mt7915: update mac timing settings
e2ee9d0a33ed mt76: use IEEE80211_OFFLOAD_ENCAP_ENABLED instead of MT_DRV_AMSDU_OFFLOAD
fa6504aceb4f Revert "mt76: mt7915: checkpatch cleanup"
56b842b72a72 mt76: mt7915: fix wmm index on DBDC cards
8044311f5de5 mt76: mt7915: fix potential NPE in TXS processing
28da4baec7c5 mt76: mt7915: fix he_mcs capabilities for 160mhz
f7088ebe7452 mt76: mt7915: add LED support
ee019046284d mt76: mt7915: introduce bss coloring support
9848094e4bb5 mt76: mt7921: Fix fall-through warning for Clang
5710d0643418 mt76: add a bound check in mt76_calculate_default_rate()
a509cf2b654e mt76: mt7921: move mt7921_queue_rx_skb to mac.c
5a0f2382fcfe mt76: mt7915: rework debugfs queue info
62ffc31f4d7b mt76: mt7915: rename debugfs tx-queues
4750b5c918e5 mt76: mt7921: always wake device if necessary in debugfs
ac6adf74b3f2 mt76: mt7921: update mib counters dumping phy stats
eb75b9266ce6 net:wireless:mt76: fix boolreturn.cocci warnings
d7c4698435b3 mt76: mt7921: fix the inconsistent state between bind and unbind
9dcfba3169c4 mt76: switch from 'pci_' to 'dma_' API
d8b5e42c9a73 mt76: fill boottime_ns in Rx path
8ee6446075f2 mt76: disable BH around napi_schedule() calls
e17d730bf2f6 mt76: mt7915: add LED support [update to v3]
80fe40c9457e mt76: mt7915: enable configured beacon tx rate
c8f0d1d81d05 mt76: mt7915: fix hwmon temp sensor mem use-after-free
3b9ba7e02076 mt76: mt7615: fix hwmon temp sensor mem use-after-free
5e82eceb45cb mt76: mt7921: start reworking tx rate reporting
eb66b5c9ff77 mt76: mt7921: add support for tx status reporting
c8010f170e76 mt76: mt7921: report tx rate directly from tx status
4dc7f3db572b mt76: mt7921: remove mcu rate reporting code
db89c6f86724 mt76: mt7921: remove mt7921_sta_stats
6bb8b4267dbe mt76: move spin_lock_bh to spin_lock in tasklet
0eacf41985da mt76: mt7915: honor all possible error conditions in mt7915_mcu_init()
4dfff296ee6e mt76: mt7915: fix possible infinite loop release semaphore
537ed88dd2d0 mt76: mt7921: robustify hardware initialization flow
e0b846159221 mt76: mt7921: fix retrying release semaphore without end
c55dedcea268 mt76: mt7915: add ethtool stats support
d1d5e8cd3a3e mt76: mt7915: add tx stats gathered from tx-status callbacks
1687189d68b7 mt76: mt7915: add some per-station tx stats to ethtool
f4dde5f765af mt76: mt7915: add tx mu/su counters to mib
9752bf0643c9 mt76: mt7915: add more MIB registers
4727415017c9 mt76: mt7915: add mib counters to ethtool stats
4ca80a749e7f mt76: connac: set 6G phymode in mt76_connac_get_phy_mode{,v2}
3f2a5d39631e mt76: connac: enable 6GHz band for hw scan
817a41826bd7 mt76: connac: add 6GHz support to mt76_connac_mcu_set_channel_domain
a6ab81c21080 mt76: connac: set 6G phymode in single-sku support
ca4f47028a44 mt76: connac: add 6GHz support to mt76_connac_mcu_sta_tlv
d2e192ea81e2 mt76: connac: add 6GHz support to mt76_connac_mcu_uni_add_bss
c3dd12b4c8ae mt76: connac: enable hw amsdu @ 6GHz
91ed2b256c20 mt76: add 6GHz support
de8c4f92621f mt76: mt7921: add 6GHz support
f143aedc1d57 mt76: introduce packet_id idr
bcc8d9e03a5d mt76: remove mt76_wcid pointer from mt76_tx_status_check signature
ccbd84763153 mt76: substitute sk_buff_head status_list with spinlock_t status_lock
69bb59df894c mt76: schedule status timeout at dma completion
03a992645310 mt76: support reading EEPROM data embedded in fdt
75615480b3fe mt76: introduce __mt76_mcu_send_firmware routine
e8e2eae41f94 mt76: drop MCU header size from buffer size in __mt76_mcu_send_firmware
4c455e8b1a20 mt76: mt7915: introduce __mt7915_get_tsf routine
9d49c611a2d7 mt76: mt7915: introduce mt7915_mcu_twt_agrt_update mcu command
f44ca79c9aed mt76: mt7915: introduce mt7915_mac_add_twt_setup routine
2f9555a2f18f mt76: mt7915: enable twt responder capability
440e2db8d541 mt76: mt7915: add twt_stats knob in debugfs
eb5f640f8afa mt76: debugfs: improve queue node readability
53d7eb3b4884 mt76: mt7615: fix monitor mode tear down crash
2aa3d4414826 mt76: mt7921: add delay config for sched scan
47e8e96e8e4d mt76: use a separate CCMP PN receive counter for management frames
5560b08f8e2d mt76: do not access 802.11 header in ccmp check for 802.3 rx skbs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: backport AP mode TWT support
Felix Fietkau [Mon, 11 Oct 2021 09:48:49 +0000 (11:48 +0200)]
mac80211: backport AP mode TWT support

Required for an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agoscripts/rstrip.sh: do not strip .o files with STRIP_KMOD
Felix Fietkau [Fri, 8 Oct 2021 10:00:49 +0000 (12:00 +0200)]
scripts/rstrip.sh: do not strip .o files with STRIP_KMOD

Fixes packaging of eBPF modules

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agotools/ccache: update to 4.4.2
Rosen Penev [Tue, 5 Oct 2021 01:37:34 +0000 (18:37 -0700)]
tools/ccache: update to 4.4.2

Refreshed patch.

Disable hiredis backend since it seems to default to it now.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agoRevert "gpio-cdev: add nu801 userspace driver"
Christian Lamparter [Sun, 10 Oct 2021 20:06:51 +0000 (22:06 +0200)]
Revert "gpio-cdev: add nu801 userspace driver"

This reverts commit f536f5ebddd9c532a08ac4a9be3ef0c02f7bfeb8.

As Hauke commented, this causes builder failures on 5.4 kernels.
This revert includes changes to the mx100 kernel modules
dependency as well as the uci led definitions.

Tested-by: Chris Blake <chrisrblake93@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agotools/meson: fix usage with SDK
Rosen Penev [Sat, 9 Oct 2021 19:24:44 +0000 (12:24 -0700)]
tools/meson: fix usage with SDK

The python path cannot be embedded in the meson binary as it changes
with the SDK.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agoipq40xx: use zImage for GL.iNet GL-B1300, GL-S1300 to shrink below 4096k
Szabolcs Hubai [Sat, 9 Oct 2021 23:32:30 +0000 (01:32 +0200)]
ipq40xx: use zImage for GL.iNet GL-B1300, GL-S1300 to shrink below 4096k

In the "ipq40xx: switch to Kernel 5.10" discussion at GitHub,
Adrian noted [0] that these GL.iNet Conexa series devices,
GL-B1300 and GL-S1300 failed their image generation [1] as their gzipped
uImage kernel went above 4096k.

While notifying the vendor about this problem [2], I tested all U-Boot
releases from GL.iNet:
- they really fail to boot kernel above 4096k
- they don't support lzma: "Unimplemented compression type 3"
- but they boot zImage

Using zImage (xz compression) the kernel is 2909k which is
more than a megabyte away from the KERNEL_SIZE := 4096k limit.

The gzip compressed version would be 4116k.

[0]: https://github.com/openwrt/openwrt/pull/4620#issuecomment-932765776
[1]: commit 7b1fa276f5a2 ("ipq40xx: add testing support for kernel 5.10")
[2]: https://forum.gl-inet.com/t/ipq40xx-kernel-size-and-u-boot-v5-10-is-too-big-for-4-mb/17619

Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
3 years agox86: add support for Meraki MX100
Chris Blake [Fri, 1 Oct 2021 14:38:56 +0000 (09:38 -0500)]
x86: add support for Meraki MX100

This commit will add support for the Meraki MX100 in OpenWRT.

Specs:
* CPU: Intel Xeon E3-1200 Series 1.5GHz 2C/4T
* Memory: 4GB DDR3 1600 ECC
* Storage: 1GB USB NAND, 1TB SATA HDD
* Wireless: None
* Wired: 10x 1Gb RJ45, 2x 1Gb SFP

UART:
The UART header is named CONN11 and is found in the
center of the mainboard. The pinout from Pin 1 (marked
with a black triangle) to pin 4 is below:
Pin 1: VCC
Pin 2: TX
Pin 3: RX
Pin 4: GND
Note that VCC is not required for UART on this device.

Booting:
1. Flash/burn one of the images from this repo to a
flash drive.
2. Take the top off the MX100, and unplug the SATA
cable from the HDD.
3. Hook up UART to the MX100, plug in the USB drive,
and then power up the device.
4. At the BIOS prompt, quickly press F7 and then
scroll to the Save & Exit tab.
5. Scroll down to Boot Override, and select the
UEFI entry for your jumpdrive.

Note: UEFI booting will fail if the SATA cable for
the HDD is plugged in.
The issue is explained under the Flashing instructions.

Flashing:
1. Ensure the MX100 is powered down, and not plugged
into power.
2. Take the top off the MX100, and unplug the SATA
cable from the HDD.
3. Using the Mini USB female port found by the SATA
port on the motherboard,
flash one of the images to the system. Example:
`dd if=image of=/dev/sdb conv=fdatasync` where sdb
is the USB device for the MX100's NAND.
4. Unplug the Mini USB, hook up UART to the MX100,
and then power up the device.
5. At the BIOS prompt, quickly press F7 and then
scroll to the Boot tab.
6. Change the boot order and set UEFI: USB DISK 2.0
as first, and USB DISK 2.0 as second.
Disable the other boot options.
7. Go to Save & Exit, and then select Save Changes and
Reset

Note that OpenWRT will fail to boot in UEFI mode when
the SATA hard drive is plugged in. To fix this, boot
with the SATA disk unplugged and then run the following
command:
`sed -i "s|hd0,gpt1|hd1,gpt1|g" boot/grub/grub.cfg`
Once the above is ran, OpenWRT will boot when the HDD
is plugged into SATA. The reason this happens is the
UEFI implementation for the MX100 will always set
anything on SATA to HD0 instead of the onboard USB
storage, so we have to accomidate it since OpenWRT's
GRUB does not support detecting a boot disk via UUID.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
3 years agogpio-cdev: add nu801 userspace driver
Chris Blake [Fri, 24 Sep 2021 13:42:03 +0000 (08:42 -0500)]
gpio-cdev: add nu801 userspace driver

This adds a userspace interpretation of the nu801 driver used by Meraki
hardware. Previously this was a driver that was added per target, but as
multiple targets now have this driver, we should move to something that
can be shared by all targets since no driver exists upstream.

Co-developed-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agoapm821xx: disable and move kernel CONFIG_ symbols
Christian Lamparter [Sat, 9 Oct 2021 22:39:41 +0000 (00:39 +0200)]
apm821xx: disable and move kernel CONFIG_ symbols

try to reduce the kernel size by disabling and moving
options from the common kernel configuration to the
SATA target that doesn't have the constraints.

For NAND this has become necessary because as with 5.10
some devices outgrew their kernels. Though, in my tests
this didn't help much: just a smidgen over 100kib was
saved on the  uncompressed kernel.

... running make kernel_oldconfig also removed some
other config symbols, mostly those that already set
from elsewhere or became obsolete in the meantime.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agoapm821xx: disable MX60(W) due to kernel size
Christian Lamparter [Sat, 9 Oct 2021 22:21:39 +0000 (00:21 +0200)]
apm821xx: disable MX60(W) due to kernel size

disables the MX60(W) from being built by the builders for now.
But there's an effort to bring it back:
<https://github.com/openwrt/openwrt/pull/4617>

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agogemini: splash banner on framebuffer console
Linus Walleij [Sat, 9 Oct 2021 11:32:09 +0000 (13:32 +0200)]
gemini: splash banner on framebuffer console

The D-Link DIR-685 has a small screen with a framebuffer
console, so if we have this, when we start, display the
banner on this framebuffer console so the user know they
are running OpenWRT as root filesystem.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 years agoapm821xx: WNDAP620 + WNDAP660: reorganize partitions for 5.10
Christian Lamparter [Sat, 2 Oct 2021 22:19:58 +0000 (00:19 +0200)]
apm821xx: WNDAP620 + WNDAP660: reorganize partitions for 5.10

Due to 5.10 increased kernel size, the current 4MiB-ish kernel
partition got too small. Luckily, netgear's uboot environment
is setup to read 0x60000 bytes from the kernel partition location.

... While at it: also do some cleanups in the DTS in there.

The original (re-)installation described in
commit d82d84694e60 ("apm821xx: add support for the Netgear WNDAP620 and WNDAP660")
seemed to be still working for now. What I noticed though
is that the bigger initramfs images needed to use a different
destination address (1000000) to prevent it overwriting
itself during decompression. i.e:
 # tftp 1000000 openwrt-...-wndap620-initramfs-kernel.bin
 # bootm

However, in case of the WNDAP620+660 the factory.img image can be
written directly to the flash through uboot.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agoapm821xx: switch to Kernel 5.10
Paul Spooren [Thu, 30 Sep 2021 05:13:55 +0000 (19:13 -1000)]
apm821xx: switch to Kernel 5.10

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agoapm821xx: move CONFIG_DMA* to the generic apm821xx config
Christian Lamparter [Sat, 2 Oct 2021 22:59:31 +0000 (00:59 +0200)]
apm821xx: move CONFIG_DMA* to the generic apm821xx config

Both NAND and SATA targets need the DMA engine in one way
or another.

Due to a kernel config refresh various existing symbols
got removed from the apm821xx main config file as well.
(That being said, they are still included because the
built-in crpyto4xx depends on these.)

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agobuild: prereq detect Python 3.10 for `python3` binary
Paul Spooren [Sun, 10 Oct 2021 09:09:46 +0000 (23:09 -1000)]
build: prereq detect Python 3.10 for `python3` binary

While the binary `python3.10` is correctly detected by the build system
the default `python3` binary is currently not detected if pointing to a
Python 3.10 installation.

Fix this by extending the grep regex.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agokernel: bump 5.4 to 5.4.152
John Audia [Sat, 9 Oct 2021 17:44:30 +0000 (13:44 -0400)]
kernel: bump 5.4 to 5.4.152

All patches automatically rebased.

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agokernel: bump 5.4 to 5.4.151
John Audia [Thu, 7 Oct 2021 10:24:12 +0000 (06:24 -0400)]
kernel: bump 5.4 to 5.4.151

All patches automatically rebased.

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agokernel: bump 5.10 to 5.10.72
John Audia [Sat, 9 Oct 2021 16:22:14 +0000 (12:22 -0400)]
kernel: bump 5.10 to 5.10.72

All patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B
Run-tested: bcm2711/RPi4B

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agokernel: bump 5.10 to 5.10.71
John Audia [Wed, 6 Oct 2021 15:38:15 +0000 (11:38 -0400)]
kernel: bump 5.10 to 5.10.71

All patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B, ipq806x/R7800
Run-tested: bcm2711/RPi4B, ipq806x/R7800

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agorockchip: rename "Rock Pi 4" to "Rock Pi 4A"
Adrian Schmutzler [Sat, 2 Oct 2021 15:36:48 +0000 (17:36 +0200)]
rockchip: rename "Rock Pi 4" to "Rock Pi 4A"

Kernel has added the different variants of the Rock Pi 4 in commit
b5edb0467370 ("arm64: dts: rockchip: Mark rock-pi-4 as rock-pi-4a
dts"). The former Rock Pi 4 is now Rock Pi 4A.

For compatibility with kernel 5.4, this rename has been held back
so far. Having switched to kernel 5.10 now, we can finally apply
it in our tree as well.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agorockchip: switch to kernel 5.10
Adrian Schmutzler [Sat, 9 Oct 2021 22:51:39 +0000 (00:51 +0200)]
rockchip: switch to kernel 5.10

This target has testing support for more than half a year now.
Time to switch.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agokernel: drop support for mtd-mac-address
Ansuel Smith [Sun, 22 Aug 2021 12:58:53 +0000 (14:58 +0200)]
kernel: drop support for mtd-mac-address

Now that we have fully switched to nvmem interface we can drop
the use of mtd-mac-address patches as it's not used anymore and
the new nvmem implementation should be used for any new device.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
3 years agomvebu: mochabin: correct LED labels in DTS
Robert Marko [Sat, 2 Oct 2021 17:57:57 +0000 (19:57 +0200)]
mvebu: mochabin: correct LED labels in DTS

LED labels got reversed by accident, so fix it to the usual color:led_name format.

Fixes: 78cf3e53b1f4 ("mvebu: add Globalscale MOCHAbin")
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
[add Fixes:]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agokirkwood: switch to kernel 5.10
Adrian Schmutzler [Sat, 9 Oct 2021 16:44:55 +0000 (18:44 +0200)]
kirkwood: switch to kernel 5.10

This target has testing support for more than half a year now.
Time to switch.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agooxnas: switch to Linux 5.10
Daniel Golle [Sat, 9 Oct 2021 15:44:01 +0000 (16:44 +0100)]
oxnas: switch to Linux 5.10

Linux 5.10 has been there as testing kernel for a while now.
Do the switch and drop config and patches for Linux 5.4.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agomediatek: enable configfs for DT overlay on mt7622 and mt7623
Daniel Golle [Fri, 8 Oct 2021 21:18:34 +0000 (22:18 +0100)]
mediatek: enable configfs for DT overlay on mt7622 and mt7623

Enable kernel options to allow loading device tree overlay via configfs
at runtime. This is useful for devboards like the BPi-R2 and BPi-R64
which got RasbPi-compatible 40-pin GPIO header which allow all sorts
of extensions.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agorealtek: add legacy realtek GPIO driver for rtl9300 support
Birger Koblitz [Mon, 27 Sep 2021 18:57:29 +0000 (20:57 +0200)]
realtek: add legacy realtek GPIO driver for rtl9300 support

The otto GPIO driver does not work with rtl9300 SoCs. Add
the legacy driver again and use that by default in the 9300 .dtsi

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: enable Aquantia PHY support
Birger Koblitz [Mon, 27 Sep 2021 17:35:36 +0000 (19:35 +0200)]
realtek: enable Aquantia PHY support

Enables Aquantia PHY support in the kernel

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Fix bug when accessing external PHYs on SoCs older than Revision C
Birger Koblitz [Mon, 13 Sep 2021 18:44:43 +0000 (20:44 +0200)]
realtek: Fix bug when accessing external PHYs on SoCs older than Revision C

RTL8393 SoCs older than Revision C hang on accesses to PHYs with PHY address
larger or equal to the CPU-port (52). This will make scanning the MDIO bus
hang forever. Since the RTL8390 platform does not support more than
52 PHYs, return -EIO for phy addresses >= 52. Note that the RTL8390 family
of SoCs has a fixed mapping between port number and PHY-address.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: cleanup PHY driver
Birger Koblitz [Fri, 10 Sep 2021 13:09:18 +0000 (15:09 +0200)]
realtek: cleanup PHY driver

Removes unnecessary output from the RTL PHY drivers.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Add debugfs support for RTL9300
Birger Koblitz [Fri, 10 Sep 2021 13:08:27 +0000 (15:08 +0200)]
realtek: Add debugfs support for RTL9300

Adds support for debugfs on RTL9300, in particular the drop counters.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Add SoC-specific routing offload implementation
Birger Koblitz [Fri, 10 Sep 2021 13:06:24 +0000 (15:06 +0200)]
realtek: Add SoC-specific routing offload implementation

Adds SoC specific routing offload implementations for
RTL8380/90 and RTL9300. RTL83xx supports merely nexthop
routing, RTL9300 full host and prefix routes.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: add driver support for routing offload
Birger Koblitz [Fri, 10 Sep 2021 13:04:27 +0000 (15:04 +0200)]
realtek: add driver support for routing offload

Add generic support for listening to FIB and Event notifier updates and
use this information to hook into the L3 hardware capabilities of the
RTL SoCs.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agokernel: Add AQR113C and AQR813 support
Birger Koblitz [Mon, 27 Sep 2021 08:41:25 +0000 (10:41 +0200)]
kernel: Add AQR113C and AQR813 support

This hack adds support for the Aquantia 4th generation, 10GBit
PHYs AQR113C and AQR813.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Improve MDIO bus probing for RTL9300
Birger Koblitz [Sun, 26 Sep 2021 15:37:25 +0000 (17:37 +0200)]
realtek: Improve MDIO bus probing for RTL9300

Improve handling of multi-gig ports on the RTL9300 when probing
the MDIO bus.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Fix bug in VLAN ingress and egress filtering
Birger Koblitz [Wed, 8 Sep 2021 18:16:39 +0000 (20:16 +0200)]
realtek: Fix bug in VLAN ingress and egress filtering

The ingress filter registers use 2 bits for each port to define the filtering
state, whereas the egress filter uses 1 bit. So for for the ingress filter
the register offset for a given port is:
(port >> 4) << 4: since there are 16 entries in a register of 32 bits
and for the egress filter:
(port >> 5) << 4: since there are 32 entries in a register of 32 bits

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Configure initial L2 learning setup
Birger Koblitz [Wed, 8 Sep 2021 18:00:31 +0000 (20:00 +0200)]
realtek: Configure initial L2 learning setup

Configure a sane L2 learning configuration upon DSA driver load so that the
switch can start learning L2 addresses. Also configure the correct flood masks
for broadcast and unknown unicast traffice.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Add phylink configuration routines for RTL93xx
Birger Koblitz [Wed, 8 Sep 2021 14:13:18 +0000 (16:13 +0200)]
realtek: Add phylink configuration routines for RTL93xx

This adds RTL93xx-specific MAC configuration routines that allow also configuration
of 10GBit links for phylink. There is support for the Realtek-specific HISGMI
protocol.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Packet Inspection Engine support for RTL930x SoCs
Birger Koblitz [Wed, 8 Sep 2021 05:56:11 +0000 (07:56 +0200)]
realtek: Packet Inspection Engine support for RTL930x SoCs

Adds the RTL930x-specific PIE support routines.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Packet Inspection Engine support for RTL839x SoCs
Birger Koblitz [Tue, 7 Sep 2021 16:51:10 +0000 (18:51 +0200)]
realtek: Packet Inspection Engine support for RTL839x SoCs

Adds the RTL839x-specific PIE support routines.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Packet Inspection Engine support for RTL838x SoCs
Birger Koblitz [Tue, 7 Sep 2021 13:32:56 +0000 (15:32 +0200)]
realtek: Packet Inspection Engine support for RTL838x SoCs

Adds the RTL838x-specific PIE support routines.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Add driver support for TC offloading
Birger Koblitz [Tue, 7 Sep 2021 13:30:29 +0000 (15:30 +0200)]
realtek: Add driver support for TC offloading

This adds support for offloading TC flower by using the Packet Inspection Engine
of the RTL-SoCs. Basic infrastructure support is provide with callbacks to the
tc subsystem and support for HW packet counters.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Add port to smi-bus address mapping
Birger Koblitz [Mon, 6 Sep 2021 05:24:09 +0000 (07:24 +0200)]
realtek: Add port to smi-bus address mapping

All RTL SoCs addresss PHYs via their port number, which is mapped to an
SMI address. Add support for configuring this mapping via the .dts on all
SoCs apart from the 839x, where the mapping to the 64 ports is fixed.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Increase maximum RX ring buffer length
Birger Koblitz [Sun, 5 Sep 2021 18:22:59 +0000 (20:22 +0200)]
realtek: Increase maximum RX ring buffer length

Increase the maximum ring buffer length in order to improve
performance on RTL839x devices.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Improve TX CPU-Tag usage
Birger Koblitz [Sun, 5 Sep 2021 18:03:59 +0000 (20:03 +0200)]
realtek: Improve TX CPU-Tag usage

On RTL83xx enable learning of the MAC source address of the CPU port
from outgoing packets. Add documentation on bit fields. On RTL93xx
enable port-mask usage and the use of internal priority, these
SoCs automatically learn the MAC.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Remove storm control and attack warnings
Birger Koblitz [Sun, 5 Sep 2021 16:38:43 +0000 (18:38 +0200)]
realtek: Remove storm control and attack warnings

Remove the storm control and attack warnings from the IRQ handler
of the Ethernet driver. There was no consequence to the detection
and the kernel can also handle at least the attacks itself.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Correct TX ring size in ethernet driver
Birger Koblitz [Sun, 5 Sep 2021 13:13:10 +0000 (15:13 +0200)]
realtek: Correct TX ring size in ethernet driver

This enlarges the size of the TX ring buffer, which prevents warnings
when the buffer runs out of space.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agoconfig: pack toolchain per default on buildbots
Paul Spooren [Thu, 7 Oct 2021 05:28:08 +0000 (19:28 -1000)]
config: pack toolchain per default on buildbots

The toolchain can be used for accelerated CI builds. This commit enabled
the packing of it by default on buildbots.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agobuild: select procd-seccomp if kernel support is present
Daniel Golle [Fri, 6 Nov 2020 02:10:28 +0000 (02:10 +0000)]
build: select procd-seccomp if kernel support is present

Install ld-preload hooks allowing to add seccomp filters for arbitrary
services if kernel support for seccomp is present.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agobuild: select procd-ujail if !SMALL_FLASH
Daniel Golle [Wed, 21 Oct 2020 14:04:17 +0000 (15:04 +0100)]
build: select procd-ujail if !SMALL_FLASH

Add procd-ujail to DEFAULT_PACKAGES if not building for
space-constraint (FEATURES:=small_flash) targets.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoumdns: add missing syscalls to seccomp filter
Ronny Kotzschmar [Thu, 7 Oct 2021 13:28:13 +0000 (15:28 +0200)]
umdns: add missing syscalls to seccomp filter

The 'mmap', 'mmap2', 'munmap' syscalls are missing.
Found with 'utrace /usr/sbin/umdns'.

Signed-off-by: Ronny Kotzschmar <ro.ok@me.com>
3 years agotools/meson: update to 0.59.2
Rosen Penev [Tue, 5 Oct 2021 01:48:30 +0000 (18:48 -0700)]
tools/meson: update to 0.59.2

Update install procedure based on upstream feedback. Normally, meson is
to be installed with pip. But as pip is not mandated by the build
system, it cannot be used. Upstream provides a nice script to pack meson
automatically.

Moved src/ to files/. No need to copy to BUILD_DIR.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agokernel: export switch_generic_set_link() symbol
Rafał Miłecki [Thu, 7 Oct 2021 13:00:52 +0000 (15:00 +0200)]
kernel: export switch_generic_set_link() symbol

This fixes:
ERROR: "switch_generic_set_link" [drivers/net/phy/b53/b53_common.ko] undefined!

At some point all packages for swconfig drivers were dropped and targets
were meant to have them built into kernels. It seems b53 (re-)gained its
kmod-switch-bcm53xx however and b53 needs to be built as module.

Fixes: b2cfed48f626 ("Revert "swconfig: fix Broadcom b53 support"")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agokernel: 5.10: dsa: don't set skb->offload_fwd_mark when not offloading bridge
Matthew Hagan [Sun, 26 Sep 2021 11:23:27 +0000 (11:23 +0000)]
kernel: 5.10: dsa: don't set skb->offload_fwd_mark when not offloading bridge

Add Vladimir Oltean's "net: dsa: don't set skb->offload_fwd_mark when
not offloading the bridge"

This covers cases where packets received by an upstream switch must be
forwarded back on the same port, which skb->offload_fwd_mark normally
prevents.

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
3 years agoRevert "swconfig: fix Broadcom b53 support"
Rafał Miłecki [Mon, 4 Oct 2021 05:12:36 +0000 (07:12 +0200)]
Revert "swconfig: fix Broadcom b53 support"

This reverts commit 8f9cd1af0f9c325a902dbd0e79e12015372e6bb0.

That commit was meant to add a single EXPORT_SYMBOL_GPL() but it
actually also added few .of_match_table-s. One commit should handle one
thing and should not introduce unrelated changes.

Regarding actual changes:
1. EXPORT_SYMBOL_GPL is not required as we don't build swconfig drivers
   as modules.
2. PHY drivers must not have .of_match_table. That is allowed for MDIO
   drivers. This could work for some time (although is didn't for me on
   bcm53xx) but does not with kernel 5.10. It causes a soft lockup and
   upstream developers confirmed it's an unsupported design.

Link: https://lore.kernel.org/netdev/2b1dc053-8c9a-e3e4-b450-eecdfca3fe16@gmail.com/t/#mf80e472f35ee23f7a75cbf5b1e101a17ab3a64a3
Cc: Tobias Schramm <tobleminer@gmail.com>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agokernel: backport bgmac upstream commits from 5.15 / for 5.16
Rafał Miłecki [Thu, 7 Oct 2021 09:29:52 +0000 (11:29 +0200)]
kernel: backport bgmac upstream commits from 5.15 / for 5.16

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agompc85xx: switch to Kernel 5.10
Adrian Schmutzler [Sat, 2 Oct 2021 16:26:01 +0000 (18:26 +0200)]
mpc85xx: switch to Kernel 5.10

This has testing support for 7 months. Time to switch.

TL-WDR4900 is disabled due to kernel size limitation.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agokernel: 5.10: add missing symbols
Pawel Dembicki [Mon, 4 Oct 2021 20:30:58 +0000 (22:30 +0200)]
kernel: 5.10: add missing symbols

Three missing symbols were found during mpc85xx/p2020 compilation.

While at it, CONFIG_FSL_ENETC_MDIO is moved to generic config
for consistency.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
[move CONFIG_FSL_ENETC_MDIO, remove redundant definitions, adjust
commit message/title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobcm27xx: remove obsolete kernel 5.4
Adrian Schmutzler [Tue, 5 Oct 2021 18:51:18 +0000 (20:51 +0200)]
bcm27xx: remove obsolete kernel 5.4

With the upgrade to kernel 5.10 per default the old version is no
longer required to be in tree.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agofirmware-utils: bump to git HEAD
Kevin Darbyshire-Bryant [Tue, 5 Oct 2021 20:22:36 +0000 (21:22 +0100)]
firmware-utils: bump to git HEAD

f9ad6b3 Add more missing includes for byte swap operations

Basically stop it exploding on MacOS

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
3 years agokernel: drop kmod-gpio-dev
Stijn Tintel [Fri, 1 Oct 2021 02:02:24 +0000 (05:02 +0300)]
kernel: drop kmod-gpio-dev

The GPIO_DEVICE symbol belonged to a custom driver that was removed from
OpenWrt in 2012. The symbol never existed in the upstream kernel.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
3 years agobcm27xx: add RPI_AXIPERF symbol
Stijn Tintel [Thu, 30 Sep 2021 17:26:18 +0000 (20:26 +0300)]
bcm27xx: add RPI_AXIPERF symbol

When KERNEL_PERF_EVENTS is enabled in OpenWrt, or PERF_EVENTS in the
kernel config, the RPI_AXIPERF is exposed. Add it to the subtarget
kernel configs to avoid build failures.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
3 years agobcm27xx: add SND_SOC_AD193X_{I2C,SPI} symbols
Stijn Tintel [Thu, 30 Sep 2021 15:36:23 +0000 (18:36 +0300)]
bcm27xx: add SND_SOC_AD193X_{I2C,SPI} symbols

When building an image for the bcm27xx target, some combinations of
config options will fail to build due the SND_SOC_AD193X_I2C and
SND_SOC_AD193X_SPI kernel config symbols being missing.

The problem only occurs on bcm27xx as the target contains a patch that
modifies the Kconfig file containing the symbols; in the vanilla kernel,
there is no string after the tristate keyword so the symbol is not
exposed.

The _I2C symbol depends on I2C, which is enabled in the kernel configs
of all bcm27xx subtargets.

The _SPI symbol depends on SPI_MASTER, which is exposed by either
kmod-mmc-spi, kmod-spi-bitbang, kmod-spi-dev, kmod-spi-bcm2835 or
kmod-spi-bcm2835-aux.

Both symbols are defined in the sound/soc/codecs directory, which is
only included when SND_SOC is enabled, so this problem doesn't occur
when kmod-sound-soc-core is not enabled. As the
kmod-sound-soc-bcm2835-i2s package disables the SND_SOC_AD193X_SPI
symbol, it also doesn't occur when kmod-sound-soc-bcm2835-i2s is
enabled.

As there are several possible config combinations that do exhibit this
problem, it is best to solve it by adding the missing symbols to the
subtarget kernel configs. By doing this we can remove them from the
kmod-sound-soc-bcm2835-i2s package.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
3 years agotools/cmake: update to 3.21.3
Rosen Penev [Tue, 5 Oct 2021 01:30:33 +0000 (18:30 -0700)]
tools/cmake: update to 3.21.3

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotools/bison: update to 3.8.2
Rosen Penev [Tue, 5 Oct 2021 01:30:12 +0000 (18:30 -0700)]
tools/bison: update to 3.8.2

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agobusybox: update to 1.34.1
Hannu Nyman [Sun, 3 Oct 2021 18:23:04 +0000 (21:23 +0300)]
busybox: update to 1.34.1

Update busybox to version 1.34.1, which is a minor
maintenance release. It contains just the two post-1.34.0
upstream patches that we earlier backported plus a few fixes
to awk.

* Remove the two backported upstream patches that are
  now unnecessary.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
3 years agofirmware-utils: update to version 2021-10-05
Petr Štetiar [Mon, 5 Jul 2021 09:54:26 +0000 (11:54 +0200)]
firmware-utils: update to version 2021-10-05

Includes following changes:

 db65821f006c cmake: fix missing install target
 3a0cfc856991 Add initial GitLab CI support
 8f47adea6f87 Add missing includes for byte swap operations
 fbafae9f8037 Convert to CMake based project

Additionaly moves source code into separate Git project repository and
converts the package build to utilize CMake.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
[rmilecki: rebase, update to the latest repo git & rm -r src]
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agoramips: fix USW-Flex reversed switch-port order
David Bauer [Mon, 4 Oct 2021 15:53:10 +0000 (17:53 +0200)]
ramips: fix USW-Flex reversed switch-port order

Switch port order was reversed due to reading the internal labling
(which mismatches the one on the case).

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agouboot-mediatek: update to 2021.10
Daniel Golle [Thu, 19 Aug 2021 02:57:00 +0000 (03:57 +0100)]
uboot-mediatek: update to 2021.10

U-Boot 2021.10 has been released.
Rebase mediatek patches on top of new release and remove some patches
which have been merged upstream.

Tested on Bananapi BPi-R2 (mt7623), Bananapi BPi-R64 (mt7622) and
Linksys E8450 (mt7622).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agodnsmasq: add explicit "set:" for client-matching options
Paul Fertser [Sat, 25 Sep 2021 11:00:23 +0000 (14:00 +0300)]
dnsmasq: add explicit "set:" for client-matching options

Bring the usage in line with the dnsmasq man page and the other options
where set: is mandatory.

No functional change.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
3 years agobuild: fix `which` detection on Fedora & MacOS
Paul Spooren [Sat, 2 Oct 2021 01:56:27 +0000 (15:56 -1000)]
build: fix `which` detection on Fedora & MacOS

Fix Fedora 34/35 issue where 'which' detection of 'which' wasn't working
because Fedora use alias and proc

Fixup of fca5ad55d2 prereq-build: fix `which` detection on Fedora

Reported-by: Jani Partanen <rtfm@iki.fi>
Suggest-by: Etienne Champetier <champetier.etienne@gmail.com>
Tested-by: Georgi Valkov <gvalkov@abv.bg>
Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agokernel: Deactivate some ARM64 errata workarounds
Hauke Mehrtens [Sat, 2 Oct 2021 22:42:49 +0000 (00:42 +0200)]
kernel: Deactivate some ARM64 errata workarounds

This deactivates the following workarounds for erratas in ARM64 CPUS:
CONFIG_ARM64_ERRATUM_1165522: Cortex-A76 cores (r0p0, r1p0, r2p0)
CONFIG_ARM64_ERRATUM_1286807: Cortex-A76 cores (r0p0 to r3p0)
CONFIG_ARM64_ERRATUM_1418040: Cortex-A76/Neoverse-N1 cores (r0p0 to r3p1)
CONFIG_CAVIUM_TX2_ERRATUM_219: Cavium ThunderX2
CONFIG_FUJITSU_ERRATUM_010001: Fujitsu-A64FX

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agosunxi: Refresh kernel 5.10 configuration
Hauke Mehrtens [Sat, 2 Oct 2021 22:12:05 +0000 (00:12 +0200)]
sunxi: Refresh kernel 5.10 configuration

The cortex53 subtarget was missing multiple config options and the other
targets just defined some options which are not needed.

Fixes: 83672f506d95 ("sunxi: add testing Linux 5.10")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agosunxi: Activate CONFIG_SATA_PMP
Hauke Mehrtens [Sat, 2 Oct 2021 20:03:04 +0000 (22:03 +0200)]
sunxi: Activate CONFIG_SATA_PMP

The kernel 5.4 configuration activated SATA Port Multiplier support, add
it to kernel 5.10 too.

Fixes: 83672f506d95 ("sunxi: add testing Linux 5.10")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agokirkwood: refresh kernel config
Sungbo Eo [Sun, 20 Jun 2021 13:59:06 +0000 (22:59 +0900)]
kirkwood: refresh kernel config

Refresh config with make kernel_oldconfig.

Tested-by: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
3 years agokirkwood: solidify SATA_PMP config
Sungbo Eo [Sun, 20 Jun 2021 13:51:50 +0000 (22:51 +0900)]
kirkwood: solidify SATA_PMP config

SATA_PMP option is no longer exposed when no SATA host driver is enabled
since upstream linux commit bd322af15ce9 ("ata: make SATA_PMP option
selectable only if any SATA host driver is enabled").

Commit 1bb3f593ee73 ("kirkwood: update config for kernel 5.10") manually
added CONFIG_SATA_PMP=y to config file, but the config will disappear for
every kernel_oldconfig refresh.

To prevent this, a small hack is added, which selects SATA_HOST
automatically when SATA_PMP is enabled. This patch can be dropped if
SATA_MV is ever re-added into kernel config file.

Tested-by: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[Move patch to generic/hack-5.10]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agoath79: add recipe for common setup with loader-okli-compile
Adrian Schmutzler [Sun, 26 Sep 2021 14:07:44 +0000 (16:07 +0200)]
ath79: add recipe for common setup with loader-okli-compile

These instructions are repeated for a few devices now, let's move
them to shared definition so we do not repeat ourselves too often.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agotreewide: use AUTORELEASE on all uboot-* packages
Adrian Schmutzler [Sat, 2 Oct 2021 17:03:32 +0000 (19:03 +0200)]
treewide: use AUTORELEASE on all uboot-* packages

Nobody ever updates PKG_RELEASE when changing devices or setup in
the various uboot-* packages. Use $(AUTORELEASE) so we still have
proper versioning there.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agorealtek: ensure output drivers are enabled in RTL8231
Paul Fertser [Fri, 1 Oct 2021 09:37:11 +0000 (12:37 +0300)]
realtek: ensure output drivers are enabled in RTL8231

The bootloader can leave the GPIO expander in a state which doesn't have
output drivers enabled so GPIOs will properly work for input but output
operations will have no effect.

To avoid disrupting the boot in case the bootloader left direction and
data registers in an inconsistent state (e.g. pulling SoC's reset to 0)
reconfigure everything as input.

Reviewed-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
3 years agobcm4908img: detect Linksys images
Rafał Miłecki [Fri, 10 Sep 2021 14:34:48 +0000 (16:34 +0200)]
bcm4908img: detect Linksys images

Linksys uses an extra 0x100 bytes long tail for BCM4908 images.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agobcm4908img: store offset of tail data
Rafał Miłecki [Fri, 10 Sep 2021 14:34:47 +0000 (16:34 +0200)]
bcm4908img: store offset of tail data

This simplifies some operations as it doesn't have to be caculated over
and over. It will also allow adding support for more vendor formats.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agomvebu: remove obsolete Kernel 5.4
Paul Spooren [Fri, 1 Oct 2021 21:28:36 +0000 (11:28 -1000)]
mvebu: remove obsolete Kernel 5.4

With the upgrade to Kernel 5.10 per default the old version is no longer
required to be in tree.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agoipq806x: remove obsolete Kernel 5.4
Paul Spooren [Fri, 1 Oct 2021 21:27:12 +0000 (11:27 -1000)]
ipq806x: remove obsolete Kernel 5.4

With the upgrade to Kernel 5.10 per default the old version is no longer
required to be in tree.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agogemini: remove obsolete Kernel 5.4
Paul Spooren [Fri, 1 Oct 2021 21:25:57 +0000 (11:25 -1000)]
gemini: remove obsolete Kernel 5.4

With the upgrade to Kernel 5.10 per default the old version is no longer
required to be in tree.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agomalta: remove obsolete Kernel 5.4
Paul Spooren [Fri, 1 Oct 2021 21:17:01 +0000 (11:17 -1000)]
malta: remove obsolete Kernel 5.4

With the upgrade to Kernel 5.10 per default the old version is no longer
required to be in tree.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agoarmvirt: remove obsolete Kernel 5.4
Paul Spooren [Fri, 1 Oct 2021 21:15:41 +0000 (11:15 -1000)]
armvirt: remove obsolete Kernel 5.4

With the upgrade to Kernel 5.10 per default the old version is no longer
required to be in tree.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agox86: remove obsolete Kernel 5.4
Paul Spooren [Fri, 1 Oct 2021 21:13:07 +0000 (11:13 -1000)]
x86: remove obsolete Kernel 5.4

With the upgrade to Kernel 5.10 per default the old version is no longer
required to be in tree.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agokernel: bump 5.4 to 5.4.150
Hauke Mehrtens [Sat, 2 Oct 2021 13:28:55 +0000 (15:28 +0200)]
kernel: bump 5.4 to 5.4.150

Manually rebased:
  generic/pending-5.4/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch
  mvebu/patches-5.4/021-arm64-dts-marvell-armada-37xx-Move-PCIe-comphy-handl.patch

Removed upstreamed:
  layerscape/patches-5.4/819-uart-0004-MLK-18137-fsl_lpuart-Fix-loopback-mode.patch

All others updated automatically.

Compile-tested on: lantiq/xrx200, armvirt/64
Runtime-tested on: lantiq/xrx200, armvirt/64

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agomvebu: add Globalscale MOCHAbin
Robert Marko [Mon, 27 Sep 2021 21:14:51 +0000 (23:14 +0200)]
mvebu: add Globalscale MOCHAbin

Globalscale MOCHAbin is a Armada 7040 based development board.

Specifications:
* Armada 7040 Quad core ARMv8 Cortex A-72 @ 1.4GHz
* 2 / 4 / 8 GB of DDR4 DRAM
* 16 GB eMMC
* 4MB SPI-NOR (Bootloader)
* 1x M.2-2280 B-key socket (for SSD expansion, SATA3 only)
* 1x M.2-2250 B-key socket (for modems, USB2.0 and I2C only)
* 1x Mini-PCIe 3.0 (x1, USB2.0 and I2C)
* 1x SATA 7+15 socket (SATA3)
* 1x 16-pin (2×8) MikroBus Connector
* 1x SIM card slot (Connected to the mini-PCIe and both M.2 slots)
* 2x USB3.0 Type-A ports via SMSC USB5434B hub
* Cortex 2x5 JTAG
* microUSB port for UART (PL2303GL/PL2303SA onboard)
* 1x 10G SFP+
* 1x 1G SFP (Connected to 88E1512 PHY)
* 1x 1G RJ45 with PoE PD (Connected to 88E1512 PHY)
* 4x 1G RJ45 ports via Topaz 88E6141 switch
* RTC with battery holder (SoC provided, requires CR2032 battery)
* 1x 12V DC IN
* 1x Power switch
* 1x 12V fan header (3-pin, power only)
* 1x mini-PCIe LED header (2x0.1" pins)
* 1x M.2-2280 LED header (2x0.1" pins)
* 6x Bootstrap jumpers
* 1x Power LED (Green)
* 3x Tri-color RGB LEDs (Controllable)
* 1x Microchip ATECC608B secure element

Note that 1G SFP and 1G WAN cannot be used at the same time as they are in
parallel connected to the same PHY.

Installation:

Copy dtb from build_dir to bin/ and run tftpserver there:
$ cp ./build_dir/target-aarch64_cortex-a72_musl/linux-mvebu_cortexa72/image-armada-7040-mochabin.dtb bin/targets/mvebu/cortexa72/
$ in.tftpd -L -s bin/targets/mvebu/cortexa72/

Connect to the device UART via microUSB port and power on the device.

Power on the device and hit any key to stop the autoboot.

Set serverip (host IP) and ipaddr (any free IP address on the same subnet), e.g:
$ setenv serverip 192.168.1.10 # Host
$ setenv ipaddr 192.168.1.15 # Device

Set the ethernet device (Example for the 1G WAN):
$ setenv ethact mvpp2-2

Ping server to confirm network is working:
$ ping $serverip
Using mvpp2-2 device
host 192.168.1.15 is alive

Tftpboot the firmware:
$ tftpboot $kernel_addr_r openwrt-mvebu-cortexa72-globalscale_mochabin-initramfs-kernel.bin
$ tftpboot $fdt_addr_r image-armada-7040-mochabin.dtb

Boot the image:
$ booti $kernel_addr_r - $fdt_addr_r

Once the initramfs is booted, transfer openwrt-mvebu-cortexa72-globalscale_mochabin-squashfs-sdcard.img.gz
to /tmp dir on the device.

Gunzip and dd the image:
$ gunzip /tmp/openwrt-mvebu-cortexa72-globalscale_mochabin-squashfs-sdcard.img.gz
$ dd if=/tmp/openwrt-mvebu-cortexa72-globalscale_mochabin-squashfs-sdcard.img of=/dev/mmcblk0 && sync

Reboot the device.

Hit any key to stop the autoboot.

Reset U-boot env and set the bootcmd:
$ env default -a
$ setenv bootcmd 'load mmc 0 ${loadaddr} boot.scr && source ${loadaddr}'

Optionally I would advise to edit the console env variable to remove earlycon as that
causes the kernel to never use the driver for the serial console.
Earlycon should be used only for debugging before the kernel can configure the console
and will otherwise cause various issues with the console.

$ setenv console 'console=ttyS0,115200'

Save and reset
$ saveenv
$ reset

OpenWrt should boot from eMMC now.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>