aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm4908
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* bcm4908: add sysupgrade supportRafał Miłecki2021-04-071-0/+213
| | | | | | | | | | It supports flashing OpenWrt images (bootfs & UBI upgrade) as well as vendor images (whole MTD partition write). Upgrading cferom is unsupported. It requires copying device specific data (like MAC) to target image before flashing. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: pad firmware image bootfs JFFS2 partition to 8 MiBRafał Miłecki2021-04-071-1/+1
| | | | | | | | | This way MTD "bootfs" partition will be always 8+ MiB. This should be enough for any custom / future firmware to fit its bootfs (e.g. big kernel) without having to repertition whole flash. That way we can preserve UBI and its erase counters during sysupgrade. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: rename bootfs dummy file to the 1-openwrtRafał Miłecki2021-04-061-1/+1
| | | | | | | | | | | | The purpose of that dummy file is to make CFE work properly with OpenWrt bootfs. CFE for some reason ignores JFFS2 files with ino 0. Rename it to 1-openwrt so: 1. It's consistent with bcm63xx 2. It's OpenWrt specific so sysupgrade can distinguish it from vendor images Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: enable JFFS2 supportRafał Miłecki2021-04-051-1/+0
| | | | | | It's needed for accessing JFFS2 bootfs partition. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: bump 5.4 to 5.4.109John Audia2021-04-027-18/+18
| | | | | | | | | | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Manually rebased: pending-5.4/611-netfilter_match_bypass_default_table.patch The upstream change affecting this patch is the revert of an earlier kernel commit. Therefore, we just revert our corresponding changes in [1]. Build system: x86_64 Build-tested: ipq806x/R7800 [1] 9b1b89229f0e ("kernel: bump 5.4 to 5.4.86") Signed-off-by: John Audia <graysky@archlinux.us> [adjust manually rebased patch, add explanation] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm4908: backport DT patch adding Ethernet MAC addressRafał Miłecki2021-03-311-0/+82
| | | | | | | This tells OS (Linux) where from MAC should be read (bootloader MTD partition). Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: backport 5.13 mtd partitioning changesRafał Miłecki2021-03-291-0/+1
| | | | | | | | 1. Use upstream accepted NVMEM patches 2. Minor fix for BCM4908 partitioning 3. Support for Linksys firmware partitions on Northstar Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: bump 5.4 to 5.4.108John Audia2021-03-2710-24/+24
| | | | | | | | | | | | | | | | | All modifications made by by update_kernel.sh. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 [only 5.4.107] No dmesg regressions, everything functional Run-tested by @timocapa: - ramips/mt7621/{Xiaomi R3G, Redmi 2100} - Lantiq/XWAY/Fritz!Box 7320/7330 Signed-off-by: John Audia <graysky@archlinux.us> [squash, edit commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm4908: backport the latest bcm_sf2 commitsRafał Miłecki2021-03-226-111/+210
| | | | | | | 1. CFP support for BCM4908 2. Upstream RGMII regs fix Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport DTS patch with Ethernet TX IRQRafał Miłecki2021-03-222-1/+31
| | | | | | It allows bcm4908_enet Linux driver to work more efficiently. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: add MTD support for repartitioningRafał Miłecki2021-03-221-0/+28
| | | | | | | | | It's required for sysupgrade which requires: 1. Flashing new firmware 2. Finding updated bootfs partition 3. Updating bootfs content Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport recent bcm_sf2 changesRafał Miłecki2021-03-177-8/+265
| | | | | | One 5.12 link fix and 5.13 crossbar support. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport recent bcm4908_enet changesRafał Miłecki2021-03-164-0/+431
| | | | | | This includes 5.12 fix and 5.13 improvements. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport first PHY 5.13 patchesRafał Miłecki2021-03-152-3/+43
| | | | | | | 1. Upstream accepted version of Kconfig change 2. Documentation binding fix Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: use accepted 5.13 DTS patchesRafał Miłecki2021-03-1412-50/+238
| | | | | | | | | | | | Some patches were slightly cleaned up. One things worth mentioning is that adding: phy-mode = "rgmii" broke SF2 driver. It made it access random register breaking switch setup. That's why this commit also adds a quick sf2 fix. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* treewide: remove execute bit and shebang from board.d filesAdrian Schmutzler2021-03-061-1/+0
| | | | | | | | | | | | | | | | So far, board.d files were having execute bit set and contained a shebang. However, they are just sourced in board_detect, with an apparantly unnecessary check for execute permission beforehand. Replace this check by one for existance and make the board.d files "normal" files, as would be expected in /etc anyway. Note: This removes an apparantly unused '#!/bin/sh /etc/rc.common' in target/linux/bcm47xx/base-files/etc/board.d/01_network Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm4908: prepare to support TP-Link Archer C2300 V1Rafał Miłecki2021-03-055-0/+239
| | | | | | | | | | It's a BCM4906 based device (2 CPU cores). It has 512 MiB of RAM, 4 LAN ports, 1 WAN port, 2 USB ports, NAND flash. WiFi unknown at this point. Flashing is possible using CFE only, proper image will be worked on later. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: add the latest mtd patch extending ofpart parserRafał Miłecki2021-03-011-650/+0
| | | | | | | | | | | | This adds the latest version of ofpart commit. It hopefully 1. Doesn't break compilation 2. Doesn't break partitioning (this time). It's required to implement fixed partitioning with some quirks. It's required by bcm53xx, bcm4908, kirkwood, lantiq and mvebu. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport Ethernet driver fixes from the 5.12Rafał Miłecki2021-03-014-2/+103
| | | | | | The most noticeable one is fix for RX stopping on high traffic. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* treewide: rename IMAGE_PREFIX/IMAGE_NAME to DEVICE_IMG_*Adrian Schmutzler2021-02-251-1/+1
| | | | | | | | | | | | | | We so far had two variables IMG_PREFIX and IMAGE_PREFIX with different content. Since these names are obviously quite confusing, this patch renames the latter to DEVICE_IMG_PREFIX, as it's a device-dependent variable, while IMG_PREFIX is only (sub)target-dependent. For consistency, also rename IMAGE_NAME to DEVICE_IMG_NAME, as that's a device-dependent variable as well. Cc: Paul Spooren <mail@aparcar.org> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm4908: add bcm_sf2 fixes for the 5th GPHYRafał Miłecki2021-02-162-0/+76
| | | | | | | This allows using the last integrated PHY (and so e.g. WAN port on the ASUS GT-AC5300). Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: fix GPIOs support by limiting them to 64Rafał Miłecki2021-02-151-0/+23
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: use DTS patches sent upstreamRafał Miłecki2021-02-155-33/+145
| | | | | | | | There are 2 new patches: 1. Netgear R8000P switch ports 2. Netgear R8000P LEDs Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: add USB packages to the DEFAULT_PACKAGESRafał Miłecki2021-02-151-0/+2
| | | | | | | All known 41 BCM4908 devices have USB ports so it makes sense to include those packages by default. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: fix backport of PMB driverRafał Miłecki2021-02-151-0/+8
| | | | | | | Missing Makefile change was preventing kernel from actually compiling the driver. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: drop ofpart patch dropped from upstream mtd treeRafał Miłecki2021-02-152-0/+651
| | | | | | It stopped ofpart_parser_init() from being called Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: backport "ofpart" mtd parser upstream quirks supportRafał Miłecki2021-02-153-393/+0
| | | | | | | | | | This adds quirks support to the "ofpart" parser. It's required to support fixed partitions that require some extra logic. Right now only BCM4908 binding is supported (BCM4908 requires detecting currently used "firmware" partition). Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: refresh patchesAdrian Schmutzler2021-02-132-503/+1534
| | | | | | | | | | Our patch refresh tool creates quite a big diff for these patches, as it does not use rename syntax. Push the refresh separately so it does not pollute the next kernel bump. This is a purely cosmetic change. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm4908: fix handling Ethernet frames of size 1506 - 1514Rafał Miłecki2021-02-121-0/+113
| | | | | | MTU needs to be explicitly set as default value is too low. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: use upstream accepted Ethernet driver patchesRafał Miłecki2021-02-1212-156/+1128
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: update Ethernet driverRafał Miłecki2021-02-104-178/+179
| | | | | | Use the latest version sent upsteram. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: bump 5.4 to 5.4.96John Audia2021-02-081-3/+3
| | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Build system: x86_64 Build-tested: ipq806x/R7800, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 Run-tested [*]: ramips/mt7621 (R6800, DIR-878 A1, EAP235-Wall) Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Stijn Segers <foss@volatilesystems.org> [*]
* bcm4908: add board.d network setupRafał Miłecki2021-02-081-0/+26
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: add Ethernet driverRafał Miłecki2021-02-085-0/+1020
| | | | | | This commit picks up pending netdev patches. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: sort and wrap build recipesAdrian Schmutzler2021-01-271-12/+16
| | | | | | | | | | This sorts the Build recipes alphabetically, wraps some long lines and moves the DEVICE_VARS to the top like common on several other targets. Cc: Rafał Miłecki <rafal@milecki.pl> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: add parser finding rootfs after CFE bootfsRafał Miłecki2021-01-221-1/+2
| | | | | | | | | | | | | | It's required for BCM4908. It cannot use "bcm-wfi-fw" parser because that one requires *two* JFFS2 partitions which is untested / unsupported on the BCM4908 architecture. With a single JFFS2 partition "bcm-wfi-fw" parser will: 1. Fail to find "vmlinux.lz" as it doesn't follow "1-openwrt" file 2. Create partitions that don't precisely match bootfs layout The new parser is described in details in the MTD_SPLIT_CFE_BOOTFS symbol help message. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: build valid Asus GT-AC5300 firmware imageRafał Miłecki2021-01-221-1/+11
| | | | | | Insert Asus specific tail that is required for image identification. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: workaround NAND controller #WP issueRafał Miłecki2021-01-211-0/+34
| | | | | | | There seems to be a problem with setting #WP. On the other hand ignoring the #WP seems to work. rootfs_data UBI volume seems to persist changes. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: append UBI with rootfs to device imagesRafał Miłecki2021-01-212-3/+29
| | | | | | Also enable UBI kernel support. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: build flashable & bootable firmware imagesRafał Miłecki2021-01-215-0/+23
| | | | | | | | | | | | | BCM4908 bootloader requires firmware with JFFS2 image containing: 1. cferam.000 2. 94908.dtb 3. vmlinux.lz 4. device custom files cferam.000 can be obtained from the bcm63xx-cfe repository. device custom files are stored in images dir. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: set console in the CONFIG_CMDLINERafał Miłecki2021-01-211-1/+1
| | | | | | | | procd doesn't work with just serial specified in the DT (using chosen & stdout-path). It requires tty device to be explicitly specified in the cmdline. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: add DTS patches for USB PHY and partitionsRafał Miłecki2021-01-202-0/+201
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: use backported brcmstb soc stubs patchRafał Miłecki2021-01-201-8/+21
| | | | | | Final version differs slightly - uses IS_ENABLED() Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: use backported switch & PMB DTS patchesRafał Miłecki2021-01-202-10/+8
| | | | | | Final versions differ slightly from what was used initially. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>