aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm4908
Commit message (Collapse)AuthorAgeFilesLines
* bcm4908: include usbport triggerRafał Miłecki2023-03-271-1/+2
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit cb2661844a5d54d44230ee564d4f17605a794a49)
* bcm4908: backport v6.4 pending DTS changesRafał Miłecki2023-03-279-1/+791
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit ffaabee9b8d9da7c15a50f52897ae5f70b40b4e7)
* kernel: backport b53/bcm_sf2 changes from v5.8Rafał Miłecki2022-12-072-3/+3
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: backport b53/bcm_sf2 changes from v5.7Rafał Miłecki2022-12-0711-25/+25
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: backport b53/bcm_sf2 changes from v5.6Rafał Miłecki2022-12-073-4/+4
| | | | | | This b53 backport significantly stabilizes switch traffic performance. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: backport b53/bcm_sf2 changes from v5.5Rafał Miłecki2022-12-0710-29/+29
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: update DTS files with the latest changesRafał Miłecki2022-12-018-8/+2704
| | | | | | | | The most affecting change is move of files from bcm4908/ to the bcmbca/. That required updating few paths. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 45ac906c6415cebd12281088da6b06668c057f0a)
* bcm4908: fix Asus GT-AX6000 imageRafał Miłecki2022-12-014-4/+66
| | | | | | | | 1. Include Linux DTB 2. Add 50991 variant (seems to differ by 1 PHY we don't support yet) Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit b8f8c6f2dd8d47216117cb5b78184531ab21dddd)
* bcm4908: use upstream patches for Asus GT-AC5300 LEDsRafał Miłecki2022-12-013-3/+12
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit d51e990ff81ad0335294749e8d2fc8e69ceb9179)
* bcm4908: backport upstream BQL support for bcm4908_enetRafał Miłecki2022-11-031-0/+45
| | | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit ae57770c956888337249688b9a16c25dd4fd63fb) (cherry picked from commit 6198eb3e6448e9a43a32d3f46b7d0543424f455b)
* bcm4908: backport bcm4908_enet fix for NULL dereferenceRafał Miłecki2022-11-034-4/+103
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 31e4e566545e53594bafe846c170a5d2fa6821e3)
* bcm4908: optimize Ethernet driver by using build_skb()Rafał Miłecki2022-11-031-0/+152
| | | | | | | | This should slightly improve performance thanks to the better cache usage. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 6a02205a4d94a7b6a888ec55d1aecd60ebb20d77)
* bcm4908: fix -EPROBE_DEFER support in bcm4908_enetRafał Miłecki2022-09-212-1/+64
| | | | | 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-051-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)
* kernel: bump 5.4 to 5.4.211Hauke Mehrtens2022-09-048-14/+14
| | | | | | | | | | | | | | Similar version was upstreamed: bcm27xx/patches-5.4/950-0392-tty-amba-pl011-Add-un-throttle-support.patch Manually adapted: ipq806x/patches-5.4/0063-2-tsens-support-configurable-interrupts.patch layerscape/patches-5.4/301-arch-0008-arm-add-new-non-shareable-ioremap.patch Compile-tested: x86/64 Run-tested: x86/64 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* bcm4908: enable & setup packet steeringRafał Miłecki2022-09-022-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: build bootfs image per-SoCRafał Miłecki2022-09-024-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)
* bcm4908: prepare for Asus GT-AX6000 supportRafał Miłecki2022-09-021-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-0210-0/+1161
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit d63ef7c90f75393270ec4f5ff1b2563d6bd52066)
* bcm4908: include U-Boot DTB files for ASUS GT-AX6000 & Netgear RAX220Rafał Miłecki2022-09-011-0/+34
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 2de86691b67ea73d858ec1c78757faae795691e4)
* 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)
* bcm4908: include U-Boot in imagesRafał Miłecki2022-03-141-3/+32
| | | | | | | This is a step forward in adding support for devices with U-Boot. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 34fd5e325af5cbcb64696c9b4b1660f22299790f)
* bcm4908: support "rootfs_data" on U-Boot devicesRafał Miłecki2022-03-073-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> (cherry picked from commit 93259e8ca261c7965618fe11c2d385638da5cfa6)
* bcm4908: fix USB PHY supportRafał Miłecki2022-03-071-0/+147
| | | | | | | This fixes problem with USB PHY not handling some USB 3.0 devices. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 0dbcefdd5229daacf6cd4c9996b8e6f31c90ffd1)
* kernel: bump 5.4 to 5.4.182Hauke Mehrtens2022-03-061-30/+0
| | | | | | | | | | | | | | The following patch was integrated upstream: target/linux/bcm4908/patches-5.4/180-i2c-brcmstb-fix-support-for-DSL-and-CM-variants.patch All other updated automatically. The new config option CONFIG_BPF_UNPRIV_DEFAULT_OFF is now handled too. Compile-tested on: lantiq/xrx200, armvirt/64 Runtime-tested on: lantiq/xrx200, armvirt/64 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* bcm4908: backport watchdog and I2C changesRafał Miłecki2022-02-168-13/+141
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 923cc869a6eec7dd6fdf728b2adb05824e4b9ac0)
* bcm4908: backport first 5.18 DTS changesRafał Miłecki2022-02-163-19/+211
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit da8b720b0ecbb6d58f28a31b082b0c53be149a5a)
* bcm4908: backport bcm_sf2 patch for better LED registers supportRafał Miłecki2022-02-163-2/+211
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 840f07e532e081befc2465fd16a0388dd95e55fb)
* bcm4908: backport BCM4908 pinctrl driverRafał Miłecki2022-02-163-0/+747
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit b0145891676faa38f0a5991e3e229aed7b4a9117)
* bcm4908: include ATF in bootfs imagesRafał Miłecki2022-01-032-0/+16
| | | | | | | It's required for proper booting. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 65974aa18bf49005509e0c31ee3f3aa6fb186015)
* bcm4908: sysupgrade: add pkgtb format supportRafał Miłecki2022-01-031-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> (cherry picked from commit 5f05795aa7716879e46fabbd0c51ff20ef9f13bf)
* bcm4908: add uboot-envtools to default packagesRafał Miłecki2022-01-031-1/+1
| | | | | | | It's required by sysupgrade to access UBI metadata partitions. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 444b4ea4a479d76761ee4833cb340b442dac662a)
* bcm4908: add fdt-utils to default packagesRafał Miłecki2022-01-031-1/+1
| | | | | | | It's required by sysupgrade. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 30b93672ec48d247fcd86b5bca283423db5250b9)
* bcm4908: sysupgrade: refactor handling different firmware formatsRafał Miłecki2022-01-031-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> (cherry picked from commit 30b168b9b8451d6165833cee75019ef7dbfd8a2e)
* bcm4908: build chk image for Netgear RAXE500Rafał Miłecki2021-12-131-1/+1
| | | | | | Fixes: 63ba3eaccdde ("bcm4908: start working on Netgear RAXE500 image") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 0e8a5acf6eb4c689b6deed2146010b5b2c54fa78)
* bcm4908: start working on Netgear RAXE500 imageRafał Miłecki2021-12-132-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> (cherry picked from commit 63ba3eaccddeb8058b0fabd69197e650735573bc)
* bcm4908: enable MTD_CMDLINE_PARTSRafał Miłecki2021-12-131-0/+1
| | | | | | | | 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> (cherry picked from commit 21d28adbc1cc98c55858a73d62b9bf89c3874b08)
* bcm4908: continue work on images for U-Boot based devicesRafał Miłecki2021-12-133-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> (cherry picked from commit 494c033f9cbad67ea2cee3860894bdfffea65109)
* bcm4908: backport upstream DT commitsRafał Miłecki2021-12-137-8/+234
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit d745835ae19caf1999924a434abd25e92cce4343)
* bcm4908: add watchdog supportRafał Miłecki2021-12-133-0/+77
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 9565bd9bd61f026effce7ebfe17d413d1adb032f)
* bcm4908: start work on images for devices using U-BootRafał Miłecki2021-12-132-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> (cherry picked from commit a02c971dff934a11ddadf7ffd850dabcab5a3cdf)
* bcm4908: fix calculation of new cferam indexSungbo Eo2021-11-051-2/+2
| | | | | | | | | | | | | | The arithmetic expansion fails when idx becomes a two digit number. Fix this by relying on expr command. root@OpenWrt:/# echo $(((028 + 0) % 1000)) /bin/ash: arithmetic syntax error root@OpenWrt:/# echo $(($(expr 028 + 0) % 1000)) 28 Fixes: a6a0b252baa6 ("bcm4908: add sysupgrade support") Signed-off-by: Sungbo Eo <mans0n@gorani.run> (cherry picked from commit f4323538501d58298f4df73a034a51375a477cfc)
* kernel: bump 5.4 to 5.4.150Hauke Mehrtens2021-10-021-2/+2
| | | | | | | | | | | | | | | | | | Manually rebased: generic/backport-5.4/370-netfilter-nf_flow_table-fix-offloaded-connection-tim.patch 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: generic/backport-5.4/040-ARM-8918-2-only-build-return_address-if-needed.patch 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>
* bcm4908: fix Ethernet broken state after interface restartRafał Miłecki2021-06-221-0/+43
| | | | | | | This fixes traffic stalls after ifdown & ifup. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit f8d5bd20b31842ef7fdb740d27c70294f21c6124)
* bcm4908: add kmod-gpio-button-hotplugRafał Miłecki2021-06-221-0/+1
| | | | | | | | | All bcm4908 devices are expected to have GPIO buttons to make relevant package selected by default. This "fixes" triggering failsafe mode. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit fcfa60408c37a129b143e4928b6d86e383c2c8f6)
* kernel: bump 5.4 to 5.4.111Hauke Mehrtens2021-04-117-18/+18
| | | | | | | | | | | | | | | | | | | | | Refreshed all patches. The following patches were manually changed: * 610-netfilter_match_bypass_default_checks.patch * 611-netfilter_match_bypass_default_table.patch * 802-can-0002-can-rx-offload-fix-long-lines.patch * 802-can-0003-can-rx-offload-can_rx_offload_compare-fix-typo.patch * 802-can-0004-can-rx-offload-can_rx_offload_irq_offload_timestamp-.patch * 802-can-0005-can-rx-offload-can_rx_offload_reset-remove-no-op-fun.patch * 802-can-0006-can-rx-offload-Prepare-for-CAN-FD-support.patch * 802-can-0018-can-flexcan-use-struct-canfd_frame-for-CAN-classic-f.patch The can-dev.ko model was moved in the upstream kernel. Compile-tested on: x86/64, armvirt/64, ath79/generic Runtime-tested on: x86/64, armvirt/64, ath79/generic Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* bcm4908: enable Netgear R8000P bootloader imageRafał Miłecki2021-04-081-2/+2
| | | | | | | | | | | | | | | | | | | This enables building BCM4908 "raw" image that can be flashed using bootloader web UI. It requires serial console access & stopping booting by the "Press any key to stop auto run". It's easy to build vendor like CHK image but it can't be safely flashed using vendor UI at this point. Netgear implements method called "NAND incremental flashing" that doesn't seem to flash bootfs partition as provided. Above method seems to update vmlinux.lz without updating 94908.dtb. It prevents OpenWrt kernel from booting due to incomplete DTB file. Full Netgear R8000P support can be enabled after finding a way to make vendor firmware flash OpenWrt firmware including the 94908.dtb update. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit d92a9c97bf3700e90af1d3c9157502af660365c0)