aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm4908
Commit message (Collapse)AuthorAgeFilesLines
* bcm4908: fix -EPROBE_DEFER support in bcm4908_enetRafał Miłecki2022-09-212-1/+58
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 1722e23ffcf9038114142a2129c29eb3cdec8ff9)
* bcm4908: backport mtd parser for Broadcom's U-Boot partitionRafał Miłecki2022-09-212-0/+138
| | | | | | | | Broadcom's U-Boot contains environment data blocks. They need to be found (offsets aren't predefined) to access env variables. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 137149847d0f374515f38952ce0986b03a97f2e4)
* bcm4908: enable NVMEM U-Boot env data driverRafał Miłecki2022-09-031-0/+3
| | | | | | | It's needed for devices with U-Boot bootloader. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit fb47b9fa1aa760de58f1b43d9f3e654acf1f1671)
* bcm4908: enable & setup packet steeringRafał Miłecki2022-09-012-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without packet steering NAT masquarade speed on BCM4908 /jumps/ between two speeds: 1. 826 Mb/s (±3 Mb/s) 2. 909 Mb/s (±8 Mb/s) and it never reaches ~940 Mb/s. Proper packet steering can improve it. Below are testing results for running iperf TCP traffic from LAN to WAN. They were used to pick up golden values. ┌──────────┬──────────┬───────────┐ │ eth0 │ br-lan │ speed │ │ rps_cpus │ rps_cpus │ [Mbps] │ ├──────────┼──────────┼───────────┤ │ 0 │ 0 │ 743 / 804 │ │ 0 │ 1 │ 738 / 821 │ │ 0 │ 2 │ ✓ 940 │ │ 0 │ 4 │ ✓ 938 │ │ 0 │ 8 │ ✓ 941 │ ├──────────┼──────────┼───────────┤ │ 1 │ 0 │ 829 │ │ 1 │ 1 │ 829 │ │ 1 │ 2 │ ✓ 942 │ │ 1 │ 4 │ ✓ 941 │ │ 1 │ 8 │ ✓ 941 │ ├──────────┼──────────┼───────────┤ │ 2 │ 0 │ ✓ 942 │ │ 2 │ 1 │ 926 │ │ 2 │ 2 │ ✓ 942 │ │ 2 │ 4 │ ✓ 942 │ │ 2 │ 8 │ ✓ 941 │ ├──────────┼──────────┼───────────┤ │ 4 │ 0 │ ✓ 941 │ │ 4 │ 1 │ 925 │ │ 4 │ 2 │ ✓ 941 │ │ 4 │ 4 │ ✓ 941 │ │ 4 │ 8 │ ✓ 941 │ ├──────────┼──────────┼───────────┤ │ 8 │ 0 │ ✓ 942 │ │ 8 │ 1 │ 925 │ │ 8 │ 2 │ ✓ 941 │ │ 8 │ 4 │ ✓ 942 │ │ 8 │ 8 │ ✓ 942 │ └──────────┴──────────┴───────────┘ Ref: fcbd39689ebfe ("bcm53xx: enable & setup packet steering") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 57cad53f4e52be987cdd61308ff7d2704baca539)
* bcm4908: prepare for Asus GT-AX6000 supportRafał Miłecki2022-09-011-0/+10
| | | | | | | It isn't tested & Linux DT will surely need more work. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 3f2b2fe084c0019221a17e3217a01c41d003f6fd)
* bcm4908: backport bcmbca DT patches queued for 5.20Rafał Miłecki2022-09-0110-0/+1161
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit d63ef7c90f75393270ec4f5ff1b2563d6bd52066)
* uboot-bcm4908: include SoC in output filesRafał Miłecki2022-07-282-4/+4
| | | | | | | | | This fixes problem of overwriting BCM4908 U-Boot and DTB files by BCM4912 ones. That bug didn't allow booting BCM4908 devices. Fixes: f4c2dab544ec2 ("uboot-bcm4908: add BCM4912 build") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit a8e1e30543239e85ff5dc220368164b66cf73fba)
* bcm4908: build bootfs image per-SoCRafał Miłecki2022-07-284-59/+92
| | | | | | | | | | | | | | | | | In theory we could have just 1 bootfs image for all devices as each device has its own entry in the "configurations" node. It doesn't work well with default configuration though. If something goes wrong U-Boot SPL can be interrupted (by pressing A) to enter its minimalistic menu. It allows ignoring boardid. In such case bootfs default configuration is used. For above reason each SoC family (BCM4908, BCM4912) should have its own bootfs built. It allows each of them to have working default configuration. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 6ae2f7ff4737ec8dbec026fc6c02f7d1850b521c)
* kernel: bump 5.10 to 5.10.129John Audia2022-07-197-12/+12
| | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Signed-off-by: John Audia <therealgraysky@proton.me>
* bcm4908: use upstream-accepted watchdog patchesRafał Miłecki2022-07-182-1/+11
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 864fdf2bf3f4b5c71e57a27c514672b966580148)
* bcm4908: backport latest DT patchesRafał Miłecki2022-07-187-1/+363
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 001856fa51eaa704a254955138f76907eb02c2b4)
* kernel: backport LEDs driver for BCMBCA devicesRafał Miłecki2022-07-181-0/+1
| | | | | | | This includes BCM63xx and BCM4908 families. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit d9ab1e56d8d16182bd292f393c012d7e6873ed89)
* generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM]Tomasz Maciej Nowak2022-06-271-0/+2
| | | | | | | | | | | | | This is now built-in, enable so it won't propagate on target configs. Link: https://lkml.org/lkml/2022/1/3/168 Fixes: 79e7a2552e89 ("kernel: bump 5.15 to 5.15.44") Fixes: 0ca93670693b ("kernel: bump 5.10 to 5.10.119") Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> (Link to Kernel's commit taht made it built-in, CRYPTO_LIB_BLAKE2S[_ARM|_X86] as it's selectable, 5.10 backport) Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (cherry picked from commit 539e60539a2fde6531bd179c94bb9c7f8f490f2b)
* bcm4908: enable armv8-CE crypto algorithmsEneas U de Queiroz2022-06-111-0/+8
| | | | | | | | This enables armv8 crypto extensions version of AES and GHASH algorithms in the kernel. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com> (cherry picked from commit b2cb87bc98e8d7b5f29899b8b966990e200cfe44)
* kernel: bump 5.10 to 5.10.117John Audia2022-06-079-20/+20
| | | | | | | | | | | | | Removed upstreamed: backport-5.10/890-v5.19-net-sfp-Add-tx-fault-workaround-for-Huawei-MA5671A-SFP-ON.patch All patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit 01a6a5c73120ccddd2a83381252ede91aac070f4)
* kernel: delete Linux 5.4 config and patchesDaniel Golle2022-03-21101-12431/+0
| | | | | | | | | As the upcoming release will be based on Linux 5.10 only, remove all kernel configuration as well as patches for Linux 5.4. There were no targets still actively using Linux 5.4. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 3a14580411adfb75f9a44eded9f41245b9e44606)
* bcm4908: include U-Boot DTB files for ASUS GT-AX6000 & Netgear RAX220Rafał Miłecki2022-03-151-0/+34
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: include U-Boot in imagesRafał Miłecki2022-03-111-3/+32
| | | | | | This is a step forward in adding support for devices with U-Boot. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: fix init on CFE devicesRafał Miłecki2022-03-071-1/+1
| | | | | | | exit in preinit script was stopping whole process Fixes: 93259e8ca261 ("bcm4908: support "rootfs_data" on U-Boot devices") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: bump 5.10 to 5.10.103Rui Salvaterra2022-03-051-2/+2
| | | | | | Patches automatically rebased. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* bcm4908: support "rootfs_data" on U-Boot devicesRafał Miłecki2022-03-043-13/+122
| | | | | | | | | | | | | | | | | | | | | | | | | 1. Create "rootfs_data" dynamicaly U-Boot firmware images can contain only 2 UBI volumes: bootfs (container with U-Boot + kernel + DTBs) and rootfs (e.g. squashfs). There is no way to include "rootfs_data" UBI volume or make firmware file tell U-Boot to create one. For that reason "rootfs_data" needs to be created dynamically. Use preinit script to handle that. Fire it right before "mount_root" one. 2. Relate "rootfs_data" to flashed firmware As already explained flashing new firmware with U-Boot will do nothing to the "rootfs_data". It could result in new firmware reusing old "rootfs_data" overlay UBI volume and its file. Users expect a clean state after flashing firmware (even if flashing the same one). Solve that by reading flash counter of running firmware and storing it in "rootfs_data" UBI volume. Every mismatch will result in wiping old data. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: bump 5.10 to 5.10.102John Audia2022-03-014-36/+6
| | | | | | | | | | | | | | | Removed upstreamed: bcm4908/patches-5.10/180-i2c-brcmstb-fix-support-for-DSL-and-CM-variants.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.102&id=f333c1916fd6b55900029bf8f918cc00009e2111 Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.10 to 5.10.101John Audia2022-03-019-23/+23
| | | | | | | | | | | | | | | | | Removed upstreamed: pending-5.10/841-USB-serial-option-add-ZTE-MF286D-modem.patch[1] bcm27xx/950-0592-drm-vc4-Allow-DBLCLK-modes-even-if-horz-timing-is-od.patch[2] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.101&id=7113440a36c741efd7c76e3d70b3634100120cdb 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.101&id=21c890ca8eaecea06cabb92be2a53a6f26f56383 Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <graysky@archlinux.us>
* bcm4908: fix USB PHY supportRafał Miłecki2022-02-252-0/+294
| | | | | | This fixes problem with USB PHY not handling some USB 3.0 devices. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport watchdog and I2C changesRafał Miłecki2022-02-1616-26/+282
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* target/linux: replace egrep with grep -ERosen Penev2022-02-071-4/+4
| | | | | | | egrep is deprecated and replaced by grep -E. The latter is used throughout the tree. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* bcm4908: backport first 5.18 DTS changesRafał Miłecki2022-02-017-40/+424
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport bcm_sf2 patch for better LED registers supportRafał Miłecki2022-01-316-4/+422
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: fixup pinctrl patches for kernel 5.4Rafał Miłecki2022-01-312-7/+8
| | | | | Fixes: b0145891676f ("bcm4908: backport BCM4908 pinctrl driver") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport BCM4908 pinctrl driverRafał Miłecki2022-01-316-0/+1492
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: include ATF in bootfs imagesRafał Miłecki2021-12-242-0/+16
| | | | | | It's required for proper booting. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: 5.10: consolidate mac80211 crypto optionsSergey Ryazanov2021-12-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | Each of - CRYPTO_AEAD2 - CRYPTO_AEAD - CRYPTO_GF128MUL - CRYPTO_GHASH - CRYPTO_HASH2 - CRYPTO_HASH - CRYPTO_MANAGER2 - CRYPTO_MANAGER - CRYPTO_NULL2 either directly required for mac80211 crypto support, or directly selected by such options. Support for the mac80211 crypto was enabled in the generic config since c7182123b9 ("kernel: make cryptoapi support needed by mac80211 built-in"). So move the above options from the target configs to the generic config to make it clear why do we need them. CC: Felix Fietkau <nbd@nbd.name> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* kernel: filter out both Clang and LLD versionsSergey Ryazanov2021-12-171-1/+0
| | | | | | | | Both CLANG_VERSION and LLD_VERISON are autogenerated runtime configuration options, so add them to the kernel configuration filter and remove from generic and per-target configs to keep configs clean. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* bcm4908: add uboot-envtools to default packagesRafał Miłecki2021-12-161-1/+1
| | | | | | | It's required by sysupgrade to access UBI metadata partitions. Fixes: 5f05795aa771 ("bcm4908: sysupgrade: add pkgtb format support") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: add fdt-utils to default packagesRafał Miłecki2021-12-141-1/+1
| | | | | | | It's required by sysupgrade. Fixes: 5f05795aa771 ("bcm4908: sysupgrade: add pkgtb format support") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: sysupgrade: add pkgtb format supportRafał Miłecki2021-12-131-2/+183
| | | | | | | | | | | | | | BCM4908 devices with U-Boot use pkgtb firmware format. It's based on U-Boot's FIT: DTB with configurations, images & embedded data. This format contains bootfs, rootfs and optionally a first stage U-Boot loader. Contained images need to be extracted & flashed. Broadcom used two sets of firmwares: main & backup. It uses UBI volumes "metadata1" & "metadata2" for storing U-Boot env variables with info about flashed images. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: sysupgrade: refactor handling different firmware formatsRafał Miłecki2021-12-021-32/+76
| | | | | | | | | | This results in setting format specific data (format info, extract commands) in a single function. It should help maintaining sysupgrade code. This change has been tested on Asus GT-AC5300 and Netgear R8000P. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: Deactivate pci featureHauke Mehrtens2021-11-291-1/+1
| | | | | | | | | | | This target does not activate CONFIG_PCI kernel configuration option, do not activate the PCI feature. This will deactivate some PCI drivers which are not building without PCI support in the kernel. If PCI_SUPPORT or PCIE_SUPPORT are activated in the kernel configuration the feature flag will be automatically set by the build system again. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Deactivate B53 symbols in generic configurationHauke Mehrtens2021-11-292-8/+0
| | | | | | | | | Deactivate all the symbols of the B53 DSA driver in the generic kernel configuration. Multiple targets are now using this drivers and they only need some of the options. This fixes the bcm4908 build which didn't deactivate all of the options. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* bcm4908: build chk image for Netgear RAXE500Rafał Miłecki2021-11-191-1/+1
| | | | | Fixes: 63ba3eaccdde ("bcm4908: start working on Netgear RAXE500 image") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: start working on Netgear RAXE500 imageRafał Miłecki2021-11-192-0/+36
| | | | | | | | bootfs still needs more work before it's ready. For some unknown reason model RAXE500 uses board id RAX220. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: enable MTD_CMDLINE_PARTSRafał Miłecki2021-11-192-0/+2
| | | | | | | It's needed to support devices with U-Boot. That bootloader passes MTD layout using cmdline. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: continue work on images for U-Boot based devicesRafał Miłecki2021-11-193-0/+96
| | | | | | It still isn't ready though - more data needs to be added to the bootfs. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport upstream DT commitsRafał Miłecki2021-11-1814-16/+468
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: switch to kernel 5.10Rafał Miłecki2021-11-091-2/+1
| | | | | | | | Tested on: 1. Asus GT-AC5300 2. Netgear R8000P Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: add watchdog supportRafał Miłecki2021-11-096-0/+154
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: refresh kernel configsRafał Miłecki2021-11-092-16/+8
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: fix b53 regression regarding RGMII reg(s)Rafał Miłecki2021-11-083-2/+48
| | | | | | | This fixes: [ 35.308550] WARNING: CPU: 0 PID: 230 at bcm_sf2_reg_rgmii_cntrl.isra.0+0x84/0x90 Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: start work on images for devices using U-BootRafał Miłecki2021-11-082-0/+36
| | | | | | | | | | | | | | | | | | | | New BCM4908 family based routers will use U-Boot bootloader. That will require using a totally different firmware format. Kernel has to be put in a FIT image. OpenWrt has some helpers for generating .its files but they don't fit BCM4908 requirements and there is no simple way of extending any of them. The best solution seems to be storing an .its template. BCM4908 bootfs may: 1. contain extra binaries (other than kernel & DTB) 2. include multiple DTB files 3. store device specific U-Boot configurations with custom properties Such setups are too complex to generate using shell script. Raw .its file on the other hand seems quire clean & reasonable. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: bump 5.10 to 5.10.78John Audia2021-11-073-3/+3
| | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B Run-tested: bcm2711/RPi4B Signed-off-by: John Audia <graysky@archlinux.us>