aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm4908
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* bcm4908: fix calculation of new cferam indexSungbo Eo2021-11-041-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>
* bcm4908: add testing support for kernel 5.10Rafał Miłecki2021-11-032-1/+3
| | | | | | | | | | CONFIG_COMPAT_32BIT_TIME is a new symbol and has to be set to avoid: Provide system calls for 32-bit time_t (COMPAT_32BIT_TIME) [N/y/?] (NEW) CONFIG_RELOCATABLE needs to be enabled to make kernel start booting. That raises a question: do we really need CONFIG_EXPERT=y ? Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: prepare kernel 5.10 supportRafał Miłecki2021-11-0364-0/+7477
| | | | | | It compiles but *doesn't* boot so it isn't enabled yet. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: bump 5.4 to 5.4.154John Audia2021-10-214-4/+4
| | | | | | All patches automatically rebased. Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: Deactivate some ARM64 errata workaroundsHauke Mehrtens2021-10-031-4/+0
| | | | | | | | | | | 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>
* kernel: bump 5.4 to 5.4.150Hauke Mehrtens2021-10-021-2/+2
| | | | | | | | | | | | | | | | 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>
* kernel: move two symbols to the generic kconfigsRui Salvaterra2021-08-291-2/+0
| | | | | | | CONFIG_RCU_{NEED_SEGCBLIST,STALL_COMMON} are set basically everywhere. Move them to the generic kconfigs. And resort the generic kconfigs while at it. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: bump 5.4 to 5.4.139John Audia2021-08-142-4/+4
| | | | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* bcm4908: add missing config symbolDavid Bauer2021-08-131-0/+1
| | | | Signed-off-by: David Bauer <mail@david-bauer.net>
* treewide: backport support for nvmem on non platform devicesAnsuel Smith2021-08-051-13/+3
| | | | | | | | | | | | In the current state, nvmem cells are only detected on platform device. To quickly fix the problem, we register the affected problematic driver with the of_platform but that is more an hack than a real solution. Backport from net-next the required patch so that nvmem can work also with non-platform devices and rework our current patch. Drop the mediatek and dsa workaround and rework the ath10k patches. Rework every driver that use the of_get_mac_address api. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* 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>
* bcm4908: add kmod-gpio-button-hotplugRafał Miłecki2021-06-211-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>
* treewide: switch the timer frequency to 100 HzRui Salvaterra2021-04-211-2/+0
| | | | | | | | Some targets select HZ=100, others HZ=250. There's no reason to select a higher timer frequency (and 100 Hz are available in every architecture), so change all targets to 100 Hz. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* treewide: remove redundant ubifs kconfig symbolsRui Salvaterra2021-04-211-4/+0
| | | | | | | For the targets which enable ubifs, these symbols are already part of the generic kconfigs. Drop them from the target kconfigs. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* 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>
* bcm4908: enable target & Asus GT-AC5300 imageRafał Miłecki2021-04-082-1/+3
| | | | | | | | | OpenWrt was succesfully tested on the GT-AC5300 model. It's possible to: 1. Install OpenWrt using vendor UI 2. Perform UBI aware sysupgrade 3. Install vendor firmware using OpenWrt sysupgrade Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: bcm4908img: convert into a packageRafał Miłecki2021-04-081-1/+3
| | | | | | | | | | bcm4908img is a tool managing BCM4908 platform images. It's used for creating them as well as checking, modifying and extracting data from. It's required by both: host (for building firmware images) and target (for sysupgrade purposes). Make it a host/target package. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: fix Netgear R8000P imageRafał Miłecki2021-04-071-2/+5
| | | | | | Use vendor format to allow flashing using Negear UI. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>