aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm63xx
Commit message (Collapse)AuthorAgeFilesLines
* kernel: Activate FORTIFY_SOURCE for MIPS kernel 5.4Hauke Mehrtens2021-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_FORTIFY_SOURCE=y is already set in the generic kernel configuration, but it is not working for MIPS on kernel 5.4, support for MIPS was only added with kernel 5.5, other architectures like aarch64 support FORTIFY_SOURCE already since some time. This patch adds support for FORTIFY_SOURCE to MIPS with kernel 5.4, kernel 5.10 already supports this and needs no changes. This backports one patch from kernel 5.5 and one fix from 5.8 to make fortify source also work on our kernel 5.4. The changes are not compatible with the 306-mips_mem_functions_performance.patch patch which was also removed with kernel 5.10, probably because of the same problems. I think it is not needed anyway as the compiler should automatically optimize the calls to memset(), memcpy() and memmove() even when not explicitly telling the compiler to use the build in variant. This increases the size of an uncompressed kernel by less than 1 KB. Acked-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* treewide: switch the timer frequency to 100 HzRui Salvaterra2021-04-212-4/+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>
* kernel: bump 5.10 to 5.10.30Rui Salvaterra2021-04-161-2/+2
| | | | | | | | | | | | | | | | | | | | | Deleted (reverse-applicable): mvebu/patches-5.10/101-ARM-dts-turris-omnia-configure-LED-2--INTn-pin-as-interrupt-pin.patch Automatically refreshed: bcm63xx/patches-5.10/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch generic/backport-5.10/610-v5.13-02-netfilter-Fix-fall-through-warnings-for-Clang.patch generic/backport-5.10/610-v5.13-10-netfilter-nftables-update-table-flags-from-the-commi.patch generic/hack-5.10/204-module_strip.patch generic/hack-5.10/902-debloat_proc.patch generic/pending-5.10/203-kallsyms_uncompressed.patch generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch generic/pending-5.10/920-mangle_bootargs.patch mediatek/patches-5.10/115-dts-bpi64-add-snand-support.patch mediatek/patches-5.10/602-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch mediatek/patches-5.10/900-dts-mt7622-bpi-r64-aliases-for-dtoverlay.patch ramips/patches-5.10/323-mt7621-memory-detect.patch Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: bump 5.10 to 5.10.26Rui Salvaterra2021-03-261-2/+2
| | | | | | | | | | | | | | Automatically refreshed: ath79/patches-5.10/471-mtd-cfi_cmdset_0002-AMD-chip-0x2201-write-words.patch bcm63xx/patches-5.10/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch generic/hack-5.10/204-module_strip.patch Run-tested: ath79 (TL-WDR3600) x86_64 (APU2 - ldir) Tested-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: backport ehci overcurrent patchesÁlvaro Fernández Rojas2021-03-242-4/+4
| | | | | | These patches have been accepted for v5.13. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: bump 5.10 to 5.10.24Kevin Darbyshire-Bryant2021-03-241-2/+2
| | | | | | | | Straightforward refresh of patches using update_kernel. Run tested: x86_64 (apu2) Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* bcm63xx: AD1018-nor: add NAND flashDaniel González Cabanelas2021-03-081-0/+24
| | | | | | | | | The Sercomm AD1018 has a NAND flash. We recently added support for NANDs in this target. Use the internal NAND as additional storage. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* treewide: remove execute bit and shebang from board.d filesAdrian Schmutzler2021-03-062-2/+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>
* kernel: bump 5.10 to 5.10.20Rui Salvaterra2021-03-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Also add a new kconfig symbol (CONFIG_KCMP) to the generic config, disabling the SYS_kcmp syscall (it was split from CONFIG_CHECKPOINT_RESTORE, which is disabled by default, so the previous behaviour is kept). Removed (upstreamed) patches: 070-net-icmp-pass-zeroed-opts-from-icmp-v6-_ndo_send-bef.patch 081-wireguard-device-do-not-generate-ICMP-for-non-IP-pac.patch 082-wireguard-queueing-get-rid-of-per-peer-ring-buffers.patch 083-wireguard-kconfig-use-arm-chacha-even-with-no-neon.patch 830-v5.12-0002-usb-serial-option-update-interface-mapping-for-ZTE-P685M.patch Manually rebased patches: 313-helios4-dts-status-led-alias.patch 104-powerpc-mpc85xx-change-P2020RDB-dts-file-for-OpenWRT.patch Run tested: ath79 (TL-WDR3600) mvebu (Turris Omnia) Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* bcm63xx: rename upstreamed patchSieng Piaw Liew2021-03-052-6/+12
| | | | | | | | | Patch to fix kernel panic was recently accepted upstream so rename patch and add acked lines to reflect that. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com> (add the same patch for v5.10) Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel-5.4: bump to 5.4.102 and refresh patchesJason A. Donenfeld2021-03-041-1/+1
| | | | | | | | | | | | | | 5.4.102 backported a lot of stuff that our WireGuard backport already did, in addition to other patches we had, so those patches were removed from that part of the series. In the process other patches were refreshed or reworked to account for upstream changes. This commit involved `update_kernel.sh -v -u 5.4`. Cc: John Audia <graysky@archlinux.us> Cc: David Bauer <mail@david-bauer.net> Cc: Petr Štetiar <ynezz@true.cz> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* 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>
* bcm63xx: pinctrl: fix BCM6348 groupsDaniel González Cabanelas2021-02-235-58/+21
| | | | | | | | | | | | | | | | | | | | The current driver has some troubles: - Some groupings are wrong. - The pinctrl group0 owns pins never used (at least in Openwrt) for any pinmux. The driver hijacks all the pins on the group avoiding any other use, spite they're free. I.e. for buttons, causing this kernel error: [ 4.735928] gpio-keys-polled keys: unable to claim gpio 479, err=-22 [ 4.742642] gpio-keys-polled: probe of keys failed with error -22 - Minor errors about groupings on the documentation - Missing "diag" grouping in dtsi - Wrong groupings in dtsi Fix it by setting the correct groups. And relax the pin capturing, letting the gpios belonging to any group to be used for other purposes like buttons. This was the behavior with stock firmwares and old OpenWrt versions which never caused any trouble. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* bcm63xx: limit name metadata to model nameÁlvaro Fernández Rojas2021-02-221-5/+1
| | | | | | | Since there are only 16 characters available, on most cases the vendor name will fit in the metadata, but the model name won't fit. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: bcm63268: fix GPIO interruptsÁlvaro Fernández Rojas2021-02-221-1/+1
| | | | | | pinctrl should rely on external interrupt controller for GPIO interrupts. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: update ethernet kernel panics fixÁlvaro Fernández Rojas2021-02-1914-68/+108
| | | | | | | Use new patch from Sieng Piaw Liew. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: add kernel 5.10 supportÁlvaro Fernández Rojas2021-02-17140-0/+21633
| | | | | | Runtime-tested on Comtrend AR-5387un. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* target: use SPDX license identifiers on MakefilesAdrian Schmutzler2021-02-104-16/+6
| | | | | | Use SPDX license tags to allow machines to check licenses. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: kernel: reenable the TRNGDaniel González Cabanelas2021-02-071-53/+2
| | | | | | | | | | | The hardware random number generator driver for bcm63xx was merged with the one used by the Raspberry Pi. Now this driver is lost. Reenable the HW_RANDOM kernel config with the new driver. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com> [refresh kernel config] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: sprom: override the PCI device IDDaniel González Cabanelas2021-02-022-1/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PCI device ID detected by the wifi drivers on devices using a fallback SPROM is wrong. Currently the chipnum is used for this parameter. Most SSB based Broadcom wifi chips are 2.4 and 5GHz capable. But on devices without a physical SPROM, the only one way to detect if the device suports both bands or only the 5GHz band, is by reading the device ID from the fallback SPROM. In some devices, this may lead to a non working wifi on a 5GHz-only card, or in the best case a working 2.4GHz-only in a dual band wifi card. The offset for the deviceid in SSB SPROMs is 0x0008, whereas in BCMA is 0x0060. This is true for any SPROM version. Override the PCI device ID with the one defined at the fallback SPROM, to detect the correct wifi card model and allow using the 5GHz band if supported. The patch has been tested with the following wifi radios: BCM43222: b43: both 2.4/5GHz working brcm-wl: both 2.4/5GHz working BCM43225: b43: 2.4GHz, working brcmsmac: working brcm-wl: it lacks support BCM43217: b43: 2.4GHz, working brcmsmac: it lacks support brcm-wl: it lacks support Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com> [amend commit description, rework patch to avoid using a new global variable and keep ssb sprom extraction code as close to ssb/pci.c as possible] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: backport upstream SSB SPROM extractionÁlvaro Fernández Rojas2021-02-026-38/+102
| | | | | | | New upstream changes extract more SPROM values and fix the antenna gain. These changes can be found in linux drivers/ssb/pci.c. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: bump 5.4 to 5.4.93John Audia2021-01-291-1/+1
| | | | | | | | | | | | | | | | | All modification made by update_kernel.sh in a fresh clone without existing toolchains. Build system: x86_64 Build-tested: ipq806x/R7800, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 Compile-tested [*]: ath79/{tiny,generic}, ipq40xx, octeon, ramips/mt7621, realtek, x86/64 Run-tested [*]: ath79/generic, ipq40xx, octeon, ramips/mt7621 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Stijn Segers <foss@volatilesystems.org> [*]
* bcm63xx: fix bcm63xx ethernet kernel panicsÁlvaro Fernández Rojas2021-01-287-17/+52
| | | | | | | | | | | | Calling netdev_reset_queue() from _stop() functions is causing sporadic kernel panics on bcm63xx, which happen mainly on BCM6318 and BCM6328. This reverts to the previous behaviour, which called netdev_reset_queue() from _open() functions. Tested on Comtrend AR-5315u (BCM6318). Fixes: 1d6f422e346b ("bcm63xx: sync ethernet driver with net-next") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* treewide: provide global default for SUPPORTED_DEVICESAdrian Schmutzler2021-01-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The majority of our targets provide a default value for the variable SUPPORTED_DEVICES, which is used in images to check against the compatible on a running device: SUPPORTED_DEVICES := $(subst _,$(comma),$(1)) At the moment, this is implemented in the Device/Default block of the individual targets or even subtargets. However, since we standardized device names and compatible in the recent past, almost all targets are following the same scheme now: device/image name: vendor_model compatible: vendor,model The equal redundant definitions are a symptom of this process. Consequently, this patch moves the definition to image.mk making it a global default. For the few targets not using the scheme above, SUPPORTED_DEVICES will be defined to a different value in Device/Default anyway, overwriting the default. In other words: This change is supposed to be cosmetic. This can be used as a global measure to get the current compatible with: $(firstword $(SUPPORTED_DEVICES)) (Though this is not precisely an achievement of this commit.) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: sync ethernet driver with net-nextSieng Piaw Liew2021-01-2215-191/+703
| | | | | | | | | | | | | | Sync ethernet driver code with upstream Linux kernel: -Reduce xmit_more code changes. -Combine rx cleanup code into a function. -Convert to build_skb. -Improve rx loop by optimizing loop tracking. https://lore.kernel.org/netdev/20210106144208.1935-1-liew.s.piaw@gmail.com/ Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com> [Amend commit description, move patches to the top since they are going to be upstreamed] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: nand: fix OOB R/W for non Hamming ECCÁlvaro Fernández Rojas2021-01-222-11/+34
| | | | | | | | Hamming ECC devices do not cover OOB data, as opposed to BCH ECC devices. Therefore, disabling ECC for all devices is preventing BCH devices from correctly reading and writing the OOB data. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: move some disabled symbols to genericAleksander Jan Bajkowski2020-12-222-3/+0
| | | | | | Move some disabled config options found in lantiq target to generic. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* bcm63xx: DGND3700v1: use the real board nameDaniel González Cabanelas2020-12-111-1/+1
| | | | | | | | | | The Netgear DGND3700v1/DGND3800B shows kernel redundant info at the board message, already provided by the machine info message. Use the real board name which is silkscreened on the PCB and used in the stock firmware header. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* bcm63xx: add support for Innacomm W3400V6Sieng Piaw Liew2020-12-0912-26/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Innacomm W3400V6 is an xDSL B/G wireless router based on Broadcom BCM6328 SoC. Hardware: SoC: Broadcom BCM6328 CPU: BMIPS4350 V8.0, 320 MHz, 1 core Flash: SPI-NOR 8MB, MX25L6406E RAM: 64 MB Ethernet: 4x 10/100 Mbps Switch: Integrated Wireless: 802.11b/g, BCM4312 LEDs/Buttons: 9x / 2x Flash instruction, web UI: 1) Set a static IP on your computer compatible with 192.168.1.1, i.e 192.168.1.100 2) Connect the ethernet cable from your computer to the router. 3) Make sure the router is powered off. 4) Press the reset button, don't release it yet! 5) While pressing reset, power on the router. 6) Wait 10 seconds or more. Note: The power LED is red at first then turns to solid green when ready. 8) Release the reset button. 9) Browse to 192.168.1.1 10) Select .bin file. 10) Upgrade the image. 11) Wait for it to reboot. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com> [Ammend commit description, merge patches, DT improvements] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: fix ADB P.DG A4001N A-000-1A1-AX LEDsÁlvaro Fernández Rojas2020-12-061-8/+2
| | | | | | | There's no eth0.2 since all ethernet ports as configured as LAN. LAN LED is unneeded since all ethernet ports have their own LED. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: add support for Technicolor TG582nDaniele Castro2020-12-0614-26/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Technicolor TG582n has a similar PCB as the OpenWrt's ADB P.DG A4001N1 with LEDs connected to different GPIO PINs in active low configuration. Hardware: * Board ID: DANT-1 * SoC: Broadcom BCM6328 (rev b0) @ 320MHz, CPU BMIPS4350 * RAM DDR2: 64 Mbyte - Winbond W9751G6KB-25 * Serial flash: 16 Mbyte - MXIC MX25L6445EMI * Ethernet: 4x Ethernet 10/100 baseT * Wifi 2.4GHz: Broadcom Corporation BCM43227 Wireless Network Adapter (rev 30) * LEDs: 2x Power, 1x Ethernet, 1x Broadband, 2x Wi-Fi, 2x WPS, 4x ethernet * Buttons: 1x Reset, 1x WPS, 1x WiFi * UART: 1x TTL 115200n8, VCC GND TX RX, on J3 connector (short R62 and R63) Installation via CFE: * Stock CFE has to be overwritten with a generic 6328 one that can upload .bin images with no signature check (cfe6328_configured.bin) * Connect a serial port to the board * Stop the CFE boot process after power on by pressing enter * Set static IP 192.168.2.10 and subnet mask 255.255.255.0 * Navigate to http://192.168.2.50/ * Upload the OpenWrt image file PCB: |GPIO: |TG582n: LED2R |488(08) |red Power LED2G |484(04) |green Power LED10R |486(06) | LED13G |485(05) |green Ethernet LED11R |494(14) | LED14G |491(11) |green Broadband LED5R |487(07) |red Internet LED5G |481(01) |green Internet LED12R |498(18) | LED12G |499(19) | LED6R |482(02) |red Wi-Fi LED6G |483(03) |green Wi-Fi LED7R |490(10) |red WPS LED7G |489(09) |green WPS LED4 |508(28) |ethernet port 4 LED3 |507(27) |ethernet port 3 LED9 |506(26) |ethernet port 2 LED8 |505(25) |ethernet port 1 SW3 |503(23) |key Reset SW5 |504(24) |key WPS SW4 |495(15) |key Wi-Fi SW6 |493(13) | SW1 |492(12) | Signed-off-by: Daniele Castro <danielecastro@hotmail.it> [Fix base-files, refresh patch] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: add support for Technicolor TG582n Telecom Italia brandedDaniele Castro2020-12-0614-26/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Technicolor TG582n Telecom Italia branded a.k.a. Telecom Italia ADSL2+ Wi-Fi N (AGTWI) has the same PCB as the unbranded Technicolor TG582n with LEDs connected to different GPIO PINs in active low configuration and different LED names. It has a PCB similar to the OpenWrt's ADB P.DG A4001N1 one. Hardware: * Board ID: DANT-V * SoC: Broadcom BCM6328 (rev b0) @ 320MHz, CPU BMIPS4350 * RAM DDR2: 64 Mbyte - EtronTech EM68B16CWQD-25H * Serial flash: 16 Mbyte - Spansion FL 128SAIF00 * Ethernet: 4x Ethernet 10/100 baseT * Wifi 2.4GHz: Broadcom Corporation BCM43227 Wireless Network Adapter (rev 30) * LEDs: 2x Power, 1x ADSL, 2x Internet, 2x Wi-Fi, 2x Service, 4x ethernet * Buttons: 1x Reset, 1x WPS (named WiFi/LED) * UART: 1x TTL 115200n8, VCC GND TX RX, on J3 connector (short R62 and R63) Installation via CFE: * Stock CFE has to be overwritten with a generic 6328 one that can upload .bin images with no signature check (cfe6328_configured.bin) * Connect a serial port to the board * Stop the CFE boot process after power on by pressing enter * Set static IP 192.168.2.10 and subnet mask 255.255.255.0 * Navigate to http://192.168.2.50/ * Upload the OpenWrt image file PCB: |GPIO: |TG582n: |AGTWI: LED2R |488(08) |red Power |red Power LED2G |484(04) |green Power |green Power LED10R |486(06) | |missing R85 end LED LED13G |485(05) |green Ethernet |green ADSL LED11R |494(14) | |red Internet LED14G |491(11) |green Broadband |green Internet LED5R |487(07) |red Internet |red Wi-Fi LED5G |481(01) |green Internet |green Wi-Fi LED12R |498(18) | |red Service LED12G |499(19) | |green Service LED6R |482(02) |red Wi-Fi |missing R108 end LED LED6G |483(03) |green Wi-Fi |missing R107 end LED LED7R |490(10) |red WPS |missing R91 end LED LED7G |489(09) |green WPS |missing R92 end LED LED4 |508(28) |ethernet port 4 |ethernet port 4 LED3 |507(27) |ethernet port 3 |ethernet port 3 LED9 |506(26) |ethernet port 2 |ethernet port 2 LED8 |505(25) |ethernet port 1 |ethernet port 1 SW3 |503(23) |key Reset |key Reset SW5 |504(24) |key WPS |key Wi-Fi/LED SW4 |495(15) |key Wi-Fi |missing R127 end key SW6 |493(13) | |missing R171 end key SW1 |492(12) | |missing R1 end key Signed-off-by: Daniele Castro <danielecastro@hotmail.it> [DT fixes, base-files fixes and device variant] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: add support for ADB P.DG A4101N A-000-1A1-AEDaniele Castro2020-12-0614-26/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ADB P.DG A4101N A-000-1A1-AE has a similar PCB as the OpenWrt's ADB P.DG A4001N1 with LEDs connected to different GPIO PINs in active low configuration. Hardware: * Board ID: 96328avngv * SoC: Broadcom BCM6328 (rev b0) @ 320MHz, CPU BMIPS4350 * RAM DDR2: 64 Mbyte - Winbond W9751G6KB-25 * Serial flash: 16 Mbyte - Winbond 25Q128BVFG * Ethernet: 4x Ethernet 10/100 baseT * Wifi 2.4GHz: Broadcom Corporation BCM43225 Wireless Network Adapter (rev 23) * LEDs: 1x Power, 1x DSL, 1x Internet, 4x ETH, 1x USB, 1x WLAN, 1x WPS, 1x TEL * Buttons: 1x Reset, 1x WPS, 1x unnamed * UART: 1x TTL 115200n8, VCC RX TX GND, on J502 connector Installation via CFE: * Stock CFE has to be overwritten with a generic 6328 one that can upload .bin images with no signature check (cfe6328_configured.bin) * Connect a serial port to the board * Stop the cfe boot process after power on by pressing enter * Set static IP 192.168.2.10 and subnet mask 255.255.255.0 * Navigate to http://192.168.2.50/ * Upload the OpenWrt image file A4101N GPIO LAYOUT: Power always on DSL GPIO483(03) Internet GPIO491(11) ETH1 GPIO505(25) ETH2 GPIO506(26) ETH3 GPIO507(27) ETH4 GPIO508(28) USB GPIO490(10) WLAN controlled by BCM43225 WPS GPIO489(09) TEL GPIO511(31) Key RESET GPIO503(23) Key WPS GPIO504(24) Key unnamed GPIO492(12) Signed-off-by: Daniele Castro <danielecastro@hotmail.it> [Amend commit description, DTS improvements, refresh patches] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: Add support for D-Link DSL-2750u rev C1Ahmed Naseef2020-12-0513-9/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the D-Link DSL-2750u rev C1. (https://deviwiki.com/wiki/D-Link_DSL-2750U_rev_C1) It uses the same hardware as ADB P.DG A4001N. CPU: Broadcom BCM63281 (320 MHz) RAM: 32M (Winbond W9725G6JB) Flash: 8M (MXIC MX25L6445E) Ethernet: 4x 100 Mbps Wireless: 802.11b/g/n: BCM43225 USB: 1x 2.0 Flash instructions: 1. Assign static IP 192.168.1.100 to PC 2. Unplug the power source 3. Press the RESET button at the router, don't release it yet! 4. Plug the power source.Wait some seconds 5. Release the RESET button 6. Browse to http://192.168.1.1 7. Send the openwrt-bcm63xx-generic-DSL2750U-C1-squashfs-cfe.bin and wait some minutes until the firmware upgrade finish. Signed-off-by: Ahmed Naseef <naseefkm@gmail.com> [DTS improvements, proper board patch, refresh patches] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: A4001N A-000-1A1-AX: remove PSI (nvram) partitionDaniele Castro2020-12-051-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ADB P.DG A4001N A-000-1A1-AX a.k.a. Telecom Italia ADSL2+ Wi-Fi N (AGPWI) is a Telecom Italia braded router and it seems that there are no public available unbranded versions of this router. The stock Telecom Italia braded firmware has many partitions and the partition layout changes with every firmware relase. The PSI nvram partition is present in the stock firmware under the "UNKNOWN" name but it's empty, full of FFs. Since removing partitions does not cause problems with the stock firmware reflashing procedure, I removed from the dts the PSI nvram partition from OpenWrt, expanded the rootfs one and added the NVRAM partition contained in the cfe bootloader. Furthermore this router's flash needs to be entirely reprogrammed and a new generic bcm6328 cfe must be flashed to boot OpenWrt. The same process takes place when reflashing the stock firmware. Here follows the original flash layout for AGPWI_1.1.0_013, the last stock Telecom Italia braded firmware for which we have root credentials (admin/riattizzati). Flash layout: Section 00 Type BOOT Range 0x00000000-0x00020000 MaxSize 0x00020000 No more information. Section 01 Type IMAGE Range 0x00020000-0x007C0000 MaxSize 0x0079FF6C Uninitialized. Section 02 Type IMAGE Range 0x00800000-0x00FA0000 MaxSize 0x0079FF6C Uninitialized. Section 03 Type CONF Range 0x00FA0000-0x00FC0000 MaxSize 0x0001FF6C Size 0x0000841E Name 'rg_conf' Checksum 0x0041E03B Counter 0x0000051F Start Offset 0x00000000 Section 04 Type CONF Range 0x00FC0000-0x00FE0000 MaxSize 0x0001FF6C Size 0x0000838E Name 'rg_conf' Checksum 0x00419A5A Counter 0x00000522 Start Offset 0x00000000 Section 05 Type FACTORY Range 0x00FE0000-0x00FF0000 MaxSize 0x0000FF6C Size 0x00000554 Name 'rg_factory' Checksum 0x0001255E Counter 0x000004D3 Start Offset 0x00000000 Section 06 Type UNKNOWN Range 0x00FF0000-0x01000000 MaxSize 0x00010000 No more information. Total 7 sections found. The last AGPWI firmware relase should be AGPWI_4.0.6 and it has much more partitions than AGPWI_1.1.0_013. The cfe partition in the stock firmware is 0x00020000 bytes long unlike the OpenWrt dts in wich it's 0x00010000 bytes long because from 0x00010000 to 0x00020000 in the stock cfe there are only 00s and also because the cfe must anyway be reflashed with a generic bcm6328 cfe 0x00010000 bytes long to run OpenWrt. Signed-off-by: Daniele Castro <danielecastro@hotmail.it> [Amend commit, remove unneeded cfe_nvram partition] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: support xmit_more in BQLSieng Piaw Liew2020-12-051-0/+54
| | | | | | | | Support bulking hardware TX queue by using xmit_more. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com> [Amend commit description, fix kernel xmit_more exceptions] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: add BQL supportSieng Piaw Liew2020-12-051-0/+67
| | | | | | | | Add Byte Queue Limits support to reduce/remove bufferbloat in bcm63xx target. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com> [Amend commit description] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* brcm63xx: add USB status LED in 01_leds for ADP P.DG A4001NDaniele Castro2020-12-041-1/+2
| | | | | | Add a status LED in 01_leds for USB 2-1 connected devices. Signed-off-by: Daniele Castro <danielecastro@hotmail.it>
* bcm63xx: enetsw: switch to netdev_alloc_skb_ip_alignSieng Piaw Liew2020-12-021-0/+37
| | | | | | | | | | | | | | | | | | | Increases packet processing performance by 30%. Tested on BCM6328 320 MHz and iperf3 -M 512 for packet/sec performance. Before: [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-30.00 sec 120 MBytes 33.7 Mbits/sec 277 sender [ 4] 0.00-30.00 sec 120 MBytes 33.5 Mbits/sec receiver After: [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-30.00 sec 155 MBytes 43.3 Mbits/sec 354 sender [ 4] 0.00-30.00 sec 154 MBytes 43.1 Mbits/sec receiver Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com> [Merge patches, amend commit and add patch description] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: batch process RX pathSieng Piaw Liew2020-12-021-0/+53
| | | | | | | | | | | | | | | | | | | Use netif_receive_skb_list to batch process skb in RX. Tested on BCM6328 320 MHz using iperf3 -M 512, increasing performance by 12.5%. Before: [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-30.00 sec 120 MBytes 33.7 Mbits/sec 277 sender [ 4] 0.00-30.00 sec 120 MBytes 33.5 Mbits/sec receiver After: [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-30.00 sec 136 MBytes 37.9 Mbits/sec 203 sender [ 4] 0.00-30.00 sec 135 MBytes 37.7 Mbits/sec receiver Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com> [Amend commit description] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: reorganize board patches into fewer filesAdrian Schmutzler2020-10-2675-4067/+2730
| | | | | | | | | | | | | | | At the moment, bcm63xx creates one patch for each board to add to board_bcm963xx.c. While this is not really helpful to get an overview in the first place, it is particularly painful if you want to change something for an early file and have to refresh all the later patches accordingly. Since it does not look like these board patches are upstreamed either, this commit consolidates all board additions into one patch per "board". By this, both adding and editing boards should become much simpler, and we drop about 1300 lines of "code" from patches as well. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: move dts-v1 statement to top-level DTSI filesAdrian Schmutzler2020-10-10107-194/+20
| | | | | | | | | | | The "/dts-v1/;" identifier is supposed to be present once at the top of a device tree file after the includes have been processed. Like done for other targets recently, put the dts-v1 statement into the top-level SoC-based DTSI files, and remove all other occurences. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: add a few DTSI files to share definitionsAdrian Schmutzler2020-10-1011-846/+389
| | | | | | | | After the LED labels have been made more general by removing the model names, we can move several definitions to DTSI files to reduce the amount of duplicate code. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: remove model name from LED labelsAdrian Schmutzler2020-10-1090-631/+639
| | | | | | | | | | | | | | | | Like in the previous patches for various targets, this will remove the "devicename" from LED labels in bcm63xx, as it's useless and only creates complexity. The devicename is removed in DTS files and 01_leds, merging several cases on the way. A migration script is added for existing configurations. Note that a few labels were using "model::function" scheme without color specified, those were converting to just "function" and the necessary migrations were added to the migration script. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.67John Audia2020-09-241-1/+1
| | | | | | | | | | | | | | All modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x, lantiq/xrx200 and ath79/generic Run-tested: ipq806x (R7800), lantiq (Easybox 904 xDSL) No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [add test on lantiq] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* target: update SPDX license namesAdrian Schmutzler2020-09-223-3/+3
| | | | | | | SPDX moved from GPL-2.0 to GPL-2.0-only and from GPL-2.0+ to GPL-2.0-or-later. Reflect that in the SPDX license headers. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: set WATCHDOG_CORE dependency in kmod-hwmon-sch5627Adrian Schmutzler2020-08-241-1/+0
| | | | | | | | | | | | | | | | | | For many target we have added CONFIG_WATCHDOG_CORE=y to the target config due to the following error: Package kmod-hwmon-sch5627 is missing dependencies for the following libraries: watchdog.ko However, actually the proper way appears to be setting the dependency for the kmod-hwmon-sch5627 package, as the error message demands. Do this in this patch and remove the target config entries added due to this issue. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: use wpad-basic-wolfssl as defaultPetr Štetiar2020-08-202-6/+6
| | | | | | | | | | | | | | | In order to support SAE/WPA3-Personal in default images. Replace almost all occurencies of wpad-basic and wpad-mini with wpad-basic-wolfssl for consistency. Keep out ar71xx from the list as it won't be in the next release and would only make backports harder. Build-tested (build-bot settings): ath79: generic, ramips: mt7620/mt76x8/rt305x, lantiq: xrx200/xway, sunxi: a53 Signed-off-by: Petr Štetiar <ynezz@true.cz> [rebase, extend commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.58John Audia2020-08-183-98/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR is a blend of several kernel bumps authored by ldir taken from his staging tree w/ some further adjustments made by me and update_kernel.sh Summary: Deleted upstreamed patches: generic: 742-v5.5-net-sfp-add-support-for-module-quirks.patch 743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch bcm63xx: 022-v5.8-mtd-rawnand-brcmnand-correctly-verify-erased-pages.patch 024-v5.8-mtd-rawnand-brcmnand-fix-CS0-layout.patch mediatek: 0402-net-ethernet-mtk_eth_soc-Always-call-mtk_gmac0_rgmii.patch Deleted patches applied differently upstream: generic: 641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch Manually merged patches: generic: 395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch bcm27xx: 950-0132-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch layerscape: 701-net-0231-enetc-Use-DT-protocol-information-to-set-up-the-port.patch Build system: x86_64 Build-tested: ath79/generic, bcm27xx/bcm2708, bcm27xx/bcm2711, imx6, mvebu/cortexa9, sunxi/a53 Run-tested: Netgear R7800 (ipq806x) No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-By: Lucian Cristian <Lucian.cristian@gmail.com> [mvebu] Tested-By: Curtis Deptuck <curtdept@me.com> [x86/64] [do not remove 395-v5.8-net-sch_cake-Take-advantage-... patch, adjust and refresh patches, adjust commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-By: John Audia <graysky@archlinux.us> [ipq806x]