aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq40xx
Commit message (Collapse)AuthorAgeFilesLines
* ipq40xx: mikrotik: dont include ath10k-board-qca4019 by defaultRobert Marko2022-05-191-0/+1
| | | | | | | | | | | Since MikroTik subtarget now uses dynamic BDF loading its crucial that it doesnt include the board-2.bin at all which is provided by the ath10k-board-qca4019 package. So to resolve this dont include the ath10k-board-qca4019 package on the MikroTik subtarget. Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq-wifi: remove packaged BDF-s for MikroTik devicesRobert Marko2022-05-191-6/+4
| | | | | | | | | | | Since we now provide the BDF-s for MikroTik IPQ40xx devices on the fly, there is noneed to include package and ship them like we do now. This also resolves the performance issues that happen as MikroTik changes the boards and ships them under the same revision but they actually ship with and require a different BDF. Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: mikrotik: provide BDF-s on demandRobert Marko2022-05-191-0/+23
| | | | | | | | | | | Since we now can pass the API 1 BDF-s aka board.bin to the ath10k driver per radio lets use that to provide the BDF-s for MikroTik devices. This also resolves the performance issues that happen as MikroTik changes the boards and ships them under the same revision but they actually ship with and require a different BDF. Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: bump 5.15 to 5.15.39John Audia2022-05-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed upstreamed: backport-5.15/850-v5.17-0001-PCI-pci-bridge-emul-Add-description-for-class_revisi.patch backport-5.15/850-v5.17-0002-PCI-pci-bridge-emul-Add-definitions-for-missing-capa.patch backport-5.15/850-v5.17-0003-PCI-aardvark-Add-support-for-DEVCAP2-DEVCTL2-LNKCAP2.patch backport-5.15/850-v5.17-0004-PCI-aardvark-Clear-all-MSIs-at-setup.patch backport-5.15/850-v5.17-0005-PCI-aardvark-Comment-actions-in-driver-remove-method.patch backport-5.15/850-v5.17-0006-PCI-aardvark-Disable-bus-mastering-when-unbinding-dr.patch backport-5.15/850-v5.17-0007-PCI-aardvark-Mask-all-interrupts-when-unbinding-driv.patch backport-5.15/850-v5.17-0008-PCI-aardvark-Fix-memory-leak-in-driver-unbind.patch backport-5.15/850-v5.17-0009-PCI-aardvark-Assert-PERST-when-unbinding-driver.patch backport-5.15/850-v5.17-0010-PCI-aardvark-Disable-link-training-when-unbinding-dr.patch backport-5.15/850-v5.17-0011-PCI-aardvark-Disable-common-PHY-when-unbinding-drive.patch pending-5.15/850-0001-PCI-aardvark-Replace-custom-PCIE_CORE_INT_-macros-wi.patch pending-5.15/850-0004-PCI-aardvark-Rewrite-IRQ-code-to-chained-IRQ-handler.patch pending-5.15/850-0005-PCI-aardvark-Check-return-value-of-generic_handle_do.patch pending-5.15/850-0006-PCI-aardvark-Make-MSI-irq_chip-structures-static-dri.patch pending-5.15/850-0007-PCI-aardvark-Make-msi_domain_info-structure-a-static.patch pending-5.15/850-0008-PCI-aardvark-Use-dev_fwnode-instead-of-of_node_to_fw.patch pending-5.15/850-0009-PCI-aardvark-Refactor-unmasking-summary-MSI-interrup.patch pending-5.15/850-0010-PCI-aardvark-Add-support-for-masking-MSI-interrupts.patch pending-5.15/850-0011-PCI-aardvark-Fix-setting-MSI-address.patc pending-5.15/850-0012-PCI-aardvark-Enable-MSI-X-support.patch pending-5.15/850-0013-PCI-aardvark-Add-support-for-ERR-interrupt-on-emulat.patch pending-5.15/850-0015-PCI-aardvark-Optimize-writing-PCI_EXP_RTCTL_PMEIE-an.patch pending-5.15/850-0016-PCI-aardvark-Add-support-for-PME-interrupts.patch pending-5.15/850-0017-PCI-aardvark-Fix-support-for-PME-requester-on-emulat.patch pending-5.15/850-0018-PCI-aardvark-Use-separate-INTA-interrupt-for-emulate.patch pending-5.15/850-0019-PCI-aardvark-Remove-irq_mask_ack-callback-for-INTx-i.patch pending-5.15/850-0020-PCI-aardvark-Don-t-mask-irq-when-mapping.patch pending-5.15/850-0021-PCI-aardvark-Drop-__maybe_unused-from-advk_pcie_disa.patch pending-5.15/850-0022-PCI-aardvark-Update-comment-about-link-going-down-af.patch All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.10 to 5.10.115John Audia2022-05-161-1/+1
| | | | | | | | | | | | | Removed upstreamed: backport-5.10/850-v5.17-0004-PCI-aardvark-Clear-all-MSIs-at-setup.patch pending-5.10/850-0002-PCI-aardvark-Fix-reading-MSI-interrupt-number.patch All other patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B Signed-off-by: John Audia <therealgraysky@proton.me>
* IPQ4019: AVM FRITZ!Box 7530: Remove NAND ECC restrictions from DTSAndreas Böhler2022-05-151-0/+3
| | | | | | | | | Some revisions of the FRITZ!7530 use a Toshiba NAND with 8 bit ECC in contrast to the Macronix NAND with 4 bit ECC. This removes the hardcoded ECC strength and step size as set in qcom-ipq4019.dtsi, thus relying on the kernel NAND detection routines to correclty set up the ECC parameters. Signed-off-by: Andreas Böhler <dev@aboehler.at>
* ipq40xx: revert Cell-C RTL30VW to legacy caldata extractionPawel Dembicki2022-05-152-15/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partially reverts commit cfc13c44595d ("ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data"). After switching to nvmem RTL30VW, wifi was broken: [ 19.118319] ath10k_ahb a000000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000 [ 19.118377] ath10k_ahb a000000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0 [ 19.130285] ath10k_ahb a000000.wifi: firmware ver 10.4b-ct-4019-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 6b2b5c5b [ 19.159092] ath10k_ahb a000000.wifi: failed to fetch board data for bus=ahb,vendor=0000,device=0000,subsystem-vendor=0000,subsystem-device=0000,variant=cellc,rtl30vw from ath10k/QCA4019/hw1.0/board-2.bin [ 19.238764] ath10k_ahb a000000.wifi: failed to fetch board-2.bin or board.bin from ath10k/QCA4019/hw1.0 [ 19.238847] ath10k_ahb a000000.wifi: failed to fetch board file: -12 [ 19.247362] ath10k_ahb a000000.wifi: could not probe fw (-12) [ 20.190797] ath10k_ahb a800000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000 [ 20.190853] ath10k_ahb a800000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0 [ 20.202893] ath10k_ahb a800000.wifi: firmware ver 10.4b-ct-4019-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 6b2b5c5b [ 20.231357] ath10k_ahb a800000.wifi: failed to fetch board data for bus=ahb,vendor=0000,device=0000,subsystem-vendor=0000,subsystem-device=0000,variant=cellc,rtl30vw from ath10k/QCA4019/hw1.0/board-2.bin [ 20.317318] ath10k_ahb a800000.wifi: failed to fetch board-2.bin or board.bin from ath10k/QCA4019/hw1.0 [ 20.317399] ath10k_ahb a800000.wifi: failed to fetch board file: -12 [ 20.326098] ath10k_ahb a800000.wifi: could not probe fw (-12) Bootloader mangles in NAND partitions and removes precal@X nodes in working system: root@OpenWrt:~# echo $(cat /sys/firmware/devicetree/base/soc/spi@78b5000/flash@0/partitions/partition@170000/label) 0:ART root@OpenWrt:~# ls /sys/firmware/devicetree/base/soc/spi@78b5000/flash@0/partitions/partition@170000/ label name reg Revert to legacy method fixed the problem. Fixes: cfc13c44595d ("ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data") Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ipq-wifi: drop upstreamed board-2.binChristian Lamparter2022-05-142-19/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The BDFs for the: Aruba AP-303 ASUS RT-AC42U AVM FRITZ!Repeater 1200 Buffalo WTR-M2133HP Cell C RTL30VW D-Link DAP-2610 EnGenius EAP2200 EnGenius EMD1 EnGenius EMR3500 EnGenius EMR5000 EZVIZ CS-W3-WD1200G EUP Google Wifi Linksys MR8300 V1.0 Luma WRTQ-329ACN MobiPromo CM520-79F NEC Platforms WG2600HP3 Plasma Cloud PA1200 (updated version) Plasma Cloud PA2200 ZTE MF286D were upstreamed to the ath10k-firmware repository and landed in linux-firmware.git. Furthermore the BDFs for the: 8devices Habanero OpenMesh A62 OpenMesh A42 AVM FRITZ!Box 4040 have been updated. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: Lyra: update RGB LED-Controller node for 5.10+Christian Lamparter2022-05-142-47/+78
| | | | | | | | | | | | | | | | | | | | | | Add the reg and color property to each channel node. This update is to accommodate the multicolor framework. Refer to: <https://lore.kernel.org/all/20200622185919.2131-9-dmurphy@ti.com> <https://lore.kernel.org/all/20210818070209.1540451-1-michal.vokac@ysoft.com> Note: There is only a single extremely bright RGB-LED. The RGB-color channels (i.e.: blue-0, blue-1 and blue-2) are running in parallel to increase the current delivery beyond what a single PWM-output on the LED controller could do. BugLink: https://github.com/openwrt/openwrt/issues/9851 Reported-By: Thomas Bøge <thomas@boegenielsen.dk> Tested-By: Thomas Bøge <thomas@boegenielsen.dk> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: bump 5.15 to 5.15.36Rui Salvaterra2022-05-091-1/+1
| | | | | | Patches automatically rebased. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* ipq40xx: consolidate ar40xx driver filesSungbo Eo2022-05-054-2235/+0
| | | | | | | | | | Commit f4fb63d2ab4f ("ipq40xx: 5.10: move AR40xx to MDIO drivers") moved the ar40xx driver files to kernel version specific directories to place them in different subdirectory in kernel tree. But now kernel 5.4 is gone and there is no reason to keep them separate. Move them back to common files/ directory. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ipq40xx: 5.15: fix ar40xx driverNick Hainke2022-05-051-0/+3
| | | | | | | | | | | | | | | | Also apply commit ab7e53e5cce7 ("ipq40xx: 5.10: fix ar40xx driver") to 5.15 driver. The commit fixes the data corruption on TX packets. Packets are transmitted, but their contents are replaced with zeros. This error is caused by the lack of guard (50 ms) intervals between calibration phases. This error is treated by adding mdelay(50) to the calibration function code. In the original qca-ssda code, these mdelays were existing, but in the ar41xx.c they are gone. Fixes: 87318eb17936 ("ipq40xx: 5:15: copy config and patch from 5.10") Signed-off-by: Nick Hainke <vincent@systemli.org>
* ipq40xx: 5.15: refresh subtarget configSungbo Eo2022-05-012-2/+2
| | | | | | Update config with `make kernel_oldconfig CONFIG_TARGET=subtarget`. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ipq40xx: 5.15: refresh configRobert Marko2022-05-011-13/+2
| | | | | | | Refresh 5.15 kernel config for IPQ40xx due to large number of generic config changes. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: 5.15: drop upstreamed sleep clock patchRobert Marko2022-05-011-26/+0
| | | | | | | Patch that corrects sleep clock frequency has already been backported to 5.15 stable so remove the duplicate patch. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: 5.15: add testing kernel versionAnsuel Smith2022-05-011-1/+1
| | | | | | | | | | | | | Add 5.15 kernel as a testing kernel version in the Makefile. Linksys EA6350v3/EA8300/MR8300 will not build with buildbot settings and should be disabled when the target is switched, unless the image size is reduced again. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Reviewed-by: Robert Marko <robert.marko@sartura.hr> [add comment for increased kernel size] Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ipq40xx: 5.15: refresh kernel patchesAnsuel Smith2022-05-0113-26/+26
| | | | | | | Refresh kernel patches. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Reviewed-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: refresh ess driver and phy with new apiAnsuel Smith2022-05-012-0/+48
| | | | | | | | Kernel 5.15 have some new api for ethtool and phy. Add ifdef to fix compilation error. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Reviewed-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: fix wrong nand definition for wpj419Ansuel Smith2022-05-011-6/+6
| | | | | | | Fix wrong nand definition for wpj419 that differ from the upstream node name. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq40xx: 5:15: refresh configAnsuel Smith2022-05-011-2/+21
| | | | | | Refresh config for kernel 5.15 using make kernel_menuconfig Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq40xx: 5:15: refresh patchesAnsuel Smith2022-05-014-183/+4
| | | | | | | - Drop upstream patch - Refresh dts patch Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq40xx: 5:15: copy config and patch from 5.10Ansuel Smith2022-05-0126-0/+4445
| | | | | | Copy config and patch from 5.10 to 5.15 Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq40xx: 5.10: fix ar40xx driverNick Hainke2022-04-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | This commit is completely based on the work of adron-s: https://github.com/openwrt/openwrt/pull/4721#issuecomment-1101108651 The commit fixes the data corruption on TX packets. Packets are transmitted, but their contents are replaced with zeros. This error is caused by the lack of guard (50 ms) intervals between calibration phases. This error is treated by adding mdelay(50) to the calibration function code. In the original qca-ssda code [0], these mdelays were existing, but in the ar41xx.c they are gone. Tested on: - Fritz!Box 4040 - Fritz!Box 7530 - Mikrotik SXTsq 5AC - ZyXEL NBG6617 - [0] https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-ssdk/-/blob/NHSS.QSDK.11.4/src/init/ssdk_init.c#L2072 Suggested-by: Serhii Serhieiev <adron@mstnt.com> Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Nick Hainke <vincent@systemli.org>
* kernel: bump 5.10 to 5.10.110John Audia2022-04-095-32/+6
| | | | | | | | | | | | | | | | Removed upstreamed: generic/backport-5.10/350-v5.18-MIPS-pgalloc-fix-memory-leak-caused-by-pgd_free.patch generic/pending-5.10/850-0014-PCI-aardvark-Fix-reading-PCI_EXP_RTSTA_PME-bit-on-em.patch ipq40xx/patches-5.10/105-ipq40xx-fix-sleep-clock.patch All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Compile-/run-tested: ath79/generic (Archer C7 v2). Signed-off-by: John Audia <graysky@archlinux.us>
* ipq40xx: add RT-AC2200 alternative name to RT-AC42U/RT-ACRH17Ray Wang2022-04-091-0/+2
| | | | | | RT-AC2200 is the same device with a different name. The OEM firmwares have the same MD5. Signed-off-by: Ray Wang <raywang777@foxmail.com>
* Revert "ipq40xx: stop chromium sub-target builds on the buildbots"Petr Štetiar2022-04-011-1/+1
| | | | | | | | | | This reverts commit 35d2bbc29ba7f802706bf65585aeb8808fcac622 as we believe we found that it is indeed an openssl issue, where openssl is trying to use getrandom(2), but fails because this particular builder has an ancient kernel without that syscall. We didn't get to the bottom of why openssl doesn't fall back to something like /dev/random. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: bump 5.10 to 5.10.109John Audia2022-03-301-1/+1
| | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <graysky@archlinux.us>
* ipq40xx: stop chromium sub-target builds on the buildbotsChristian Lamparter2022-03-271-1/+1
| | | | | | | | | | | | | | | | | the buildbots are having troubles with the image. They seem to get "Killed" at the last step of the KERNEL rule: |/cros-vbutil -k zImage.itb.vboot -c "root=PARTUUID=%U/PARTNROFF=1" -o zImage.itb.vboot.new |make[4]: *** [Makefile:18: zImage.itb.vboot] Killed Since the Google Wifi (Gale) is currently the only target in this sub-target. So this means that subtarget has to be disabled from the time being to not be picked up by the builders. For people wanting to checkout out OpenWrt on the Google Wifi: please compile it locally. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: WAC510: device-tree overhaulingChristian Lamparter2022-03-262-40/+33
| | | | | | | | | removes usb-port remains as neither the WAC510 nor the WAC505 come with a USB port. Update the LED properties to phase out labels and introduce generic node-names as well as adding the color, function and function-enumerator properties. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: update E2600AC c1/c2 board张 鹏2022-03-254-16/+28
| | | | | | | | Modified the radio frequency hardware part of e2600ac c1/c2, need to cooperate with the modified board.bin file, the device can work normally. Signed-off-by: 张 鹏 <sd20@qxwlan.com>
* ipq40xx: add support for FRITZ!Box 7520Andre Heider2022-03-251-0/+2
| | | | | | | | | | | | | This model, also know as "1&1 HomeServer", shares the same features as 7530. The vendor firmware has artificial software limitations: only 2 of the 4 LAN-Ports are GBit, and the USB-Host is only v2.0. With OpenWrt, USB is already working at v3.0. Signed-off-by: Andre Heider <a.heider@gmail.com> (updated commit message to reflect current state) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: Add subtarget for Google WiFi (Gale)Brian Norris2022-03-258-4/+453
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Google WiFi (codename: Gale) is an IPQ4019-based AP, with 2 Ethernet ports, 2x2 2.4+5GHz WiFi, 512 MB RAM, 4 GB eMMC, and a USB type C port. In its stock configuration, it runs a Chromium OS-based system, but you wouldn't know it, since you can only manage it via a "cloud" + mobile-app system. The "v2" label is coded into the bootloader, which prefers the "google,gale-v2" compatible string. I believe "v1" must have been pre-release hardware. Note: this is *not* the Google Nest WiFi, released in 2019. I include "factory.bin" support, where we generate a GPT-based disk image with 2 partitions -- a kernel partition (using the custom "Chrome OS kernel" GUID type) and a root filesystem partition. See below for flashing instructions. Sysupgrade is supported via recent emmc_do_upgrade() helper. This is a subtarget because it enables different features (FEATURES=boot-part rootfs-part) whose configurations don't make sense in the "generic" target, and because it builds in a few USB drivers, which are necessary for installation (installation is performed by booting from USB storage, and so these drivers cannot be built as modules, since we need to load modules from USB storage). Flashing instructions ===================== Documented here: https://openwrt.org/inbox/toh/google/google_wifi Note this requires booting from USB storage. Features ======== I've tested: * Ethernet, both WAN and LAN ports * eMMC * USB-C (hub, power-delivery, peripherals) * LED0 (R/G/B) * WiFi (limited testing) * SPI flash * Serial console: once in developer mode, console can be accessed via the USB-C port with SuzyQable, or other similar "Closed Case Debugging" tools: https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/master/docs/ccd.md#suzyq-suzyqable * Sysupgrade Not tested: * TPM Known not working: * Reboot: this requires some additional TrustZone / SCM configuration to disable Qualcomm's SDI. I have a proposal upstream, and based on IRC chats, this might be acceptable with additional DT logic: [RFC PATCH] firmware: qcom_scm: disable SDI at boot https://lore.kernel.org/linux-arm-msm/20200721080054.2803881-1-computersforpeace@gmail.com/ * SMP: enabling secondary CPUs doesn't currently work using the stock bootloader, as the qcom_scm driver assumes newer features than this TrustZone firmware has. I posted notes here: [RFC] qcom_scm: IPQ4019 firmware does not support atomic API? https://lore.kernel.org/linux-arm-msm/20200913201608.GA3162100@bDebian/ * There's a single external button, and a few useful internal GPIO switches. I haven't hooked them up. The first two are fixed with subsequent commits. Additional notes ================ Much of the DTS is pulled from the Chrome OS kernel 3.18 branch, which the manufacturer image uses. Note: the manufacturer bootloader knows how to patch in calibration data via the wifi{0,1} aliases in the DTB, so while these properties aren't present in the DTS, they are available at runtime: # ls -l /sys/firmware/devicetree/base/soc/wifi@a*/qcom,ath10k-pre-calibration-data -r--r--r-- 1 root root 12064 Jul 15 19:11 /sys/firmware/devicetree/base/soc/wifi@a000000/qcom,ath10k-pre-calibration-data -r--r--r-- 1 root root 12064 Jul 15 19:11 /sys/firmware/devicetree/base/soc/wifi@a800000/qcom,ath10k-pre-calibration-data Ethernet MAC addresses are similarly patched in via the ethernet{0,1} aliases. Signed-off-by: Brian Norris <computersforpeace@gmail.com> (updated 901 - x1pro moved in the process) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: qcom_scm: Fix cold boot address commandBrian Norris2022-03-251-0/+121
| | | | | | | | | | | | | See my upstream questions: https://lore.kernel.org/linux-arm-msm/20200913201608.GA3162100@bDebian/ This effectively reverts upstream Linux commit 13e77747800e ("firmware: qcom: scm: Use atomic SCM for cold boot"), because Google WiFi boot firmwares don't support the atomic variant. This fixes SMP support for Google WiFi. Signed-off-by: Brian Norris <computersforpeace@gmail.com>
* ipq40xx: qcom_scm: Disable SDI at bootBrian Norris2022-03-251-0/+47
| | | | | | | | | | | | See my upstream RFC of this: https://lore.kernel.org/linux-arm-msm/20200721080054.2803881-1-computersforpeace@gmail.com/ This fixes warm boot (reboot) for Google WiFi devices using their factory bootloader/firmware. I may resend this upstream eventually. Signed-off-by: Brian Norris <computersforpeace@gmail.com>
* ipq40xx: Support Chromium OS image-type creationBrian Norris2022-03-251-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | See firmware-utils.git commits [1], which implemented the cros-vbutil verified-boot payload-packing tool, and extended ptgen for the CrOS kernel partition type. With these, it's now possible to package kernel + rootfs to make disk images that can boot a Chrome OS-based system (e.g., Chromebooks, or even a few AP models). Regarding PARTUUID= changes: Chromium bootloaders work well with a partition number offset (i.e., relative to the kernel partition), so we'll be using a slightly different root UUID line. NB: I've made this support specific to ip40xx for now, because I only plan to support an IPQ4019-based AP that uses a Chromium-based bootloader, but this image format can be used for essentially any Chromebook, as well as the Google OnHub, a prior Chromium-based AP using an IPQ8064 chipset. [1] ptgen: add Chromium OS kernel partition support https://git.openwrt.org/?p=project/firmware-utils.git;a=commit;h=6c95945b5de973026dc6f52eb088d0943efa96bb cros-vbutil: add Chrome OS vboot kernel-signing utility https://git.openwrt.org/?p=project/firmware-utils.git;a=commit;h=8e7274e02fdc6f2cb61b415d6e5b2e1c7e977aa1 Signed-off-by: Brian Norris <computersforpeace@gmail.com>
* ipq40xx: disable non-building tel(co Electronics) x1proChristian Lamparter2022-03-251-0/+1
| | | | | | | | | | Tel(co Electronics) X1 Pro is preventing ipq40xx generic from building due to the KERNEL_SIZE. Whenever bigger kernels are possible, if lzma is supported is unknown. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: add support for Telco X1 ProNicholas Smith2022-03-195-2/+347
| | | | | | | | | | | | | | | | | | | | | | | | | | | Telco X1 Pro is a Cat12 LTE-A Pro modem router. Vendor firmware is based on a recent version of OpenWrt. Flashing is possible via CLI using sysupgrade -F -n The serial headers allow bootloader and console access Serial setting: 115200 8N1 Brief Specifications: IPQ4019 SoC 32MB flash 512MB RAM 4x gigabit LAN 1x gigabit WAN Dual-band Wave-2 wifi 2x SMA LTE antenna connectors 2x RP-SMA wifi antennas 1x USB 2.0 port 1x Reset button Serial headers installed 1x Nano SIM tray 1x Quectel EM-12G LTE-A Pro modem 1x M.2 slot attached to USB 3.0 1x internal micro SD card slot Signed-off-by: Nicholas Smith <nicholas@nbembedded.com>
* kernel: 5.10: allocate last level PTEs in high memoryRui Salvaterra2022-03-011-1/+1
| | | | | | | | | | Enable support for allocating user space page table entries in high memory [1], for the targets which support this feature. This saves precious low memory (permanently mapped, the only type of memory directly accessible by the kernel). [1] https://www.kernel.org/doc/html/latest/vm/highmem.html Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: bump 5.10 to 5.10.101John Audia2022-03-011-1/+1
| | | | | | | | | | | | | | | | | 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>
* ipq40xx: mikrotik: fix LED scriptRobert Marko2022-02-201-0/+1
| | | | | | | | Fix the missing ;; after the cAP ac case in /e/b/01_leds. Fixes: 93d9119 ("ipq40xx: add MikroTik cAP ac support") Signed-off-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (minor touch-up)
* ipq40xx: document pcie wifi chip on the GL.Inet GL-B2200Christian Lamparter2022-02-191-4/+4
| | | | | | | | | | | | | | | | | | Enrico provided a bootlog that shows the chip is a WAVE-2 QCA9888v2: > pci 0000:01:00.0: [168c:0056] type 00 class 0x028000 > [...] > ath10k 5.15 driver, optimized for CT firmware, probing pci device: 0x56. > ath10k_pci 0000:01:00.0: qca9888 hw2.0 target 0x01000000 [...] chip_id 0x00000000 sub 0000:0000 > ath10k_pci 0000:01:00.0: firmware ver 10.4b-ct-9888-fW-13-5ae337bb1 api 5 features mfp,[...] > ath10k_pci 0000:01:00.0: board_file api 2 bmi_id N/A crc32 6535d835 > ath10k_pci 0000:01:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal file max-sta 32 raw 0 hwcrypto 1 this patch switches the device over to pre-calibration. (this is more or less cosmetic) Reported-by: Enrico Mioso <mrkiko.rs@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: limit available radio channels for GL.iNet GL-B2200Enrico Mioso2022-02-191-0/+2
| | | | | | | | | The PCIe and built-in 5GHZ radios are meant to operate on different frequency bands. The hardware enforces this via RF filters. Add this information to allow software enforcing it as well. Credits to Piotr Dymacz for the invaluable help. Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
* kernel: bump 5.10 to 5.10.100John Audia2022-02-111-2/+2
| | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <graysky@archlinux.us>
* ipq40xx: add Linksys MR8300 WAN portJulien Cassette2022-02-051-2/+6
| | | | | | | | | | This makes the WAN interface and port appear in LuCi -> Network -> Switch on Linksys MR8300. This allows to configure a VLAN on WAN. Fixes: FS#4227 Signed-off-by: Julien Cassette <julien.cassette@gmail.com>
* ipq40xx: add support for ZTE MF286DPawel Dembicki2022-02-057-2/+484
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ZTE MF286D is a LTE router with four gigabit ethernet ports and integrated QMI mPCIE modem. Hardware specification: - CPU: IPQ4019 - RAM: 256MB - Flash: NAND 128MB + NOR 2MB - WLAN1: Qualcomm Atheros QCA4019 2.4GHz 802.11bgn 2x2:2 - WLAN2: Qualcomm Atheros QCA4019 5GHz 802.11anac 2x2:2 - LTE: mPCIe cat 12 card (Modem chipset MDM9250) - LAN: 4 Gigabit Ports - USB: 1x USB2.0 (regular port). 1x USB3.0 (mpcie - used by the modem) - Serial console: X8 connector 115200 8n1 Known issues: - Many LEDs are driven by the modem. Only internal LEDs and wifi LEDs are driven by cpu. - Wifi LED is triggered by phy0tpt only - No VoIP support - LAN1/WAN port is configured as WAN - ZTE gives only one MAC per device. Use +1/+2/+3 increment for WAN and WLAN0/1 Opening the case: 1. Take of battery lid (no battery support for this model, battery cage is dummy). 2. Unscrew screw placed behind battery lid. 3. Take off back cover. It attached with multiple plastic clamps. 4. Unscrew four more screws hidden behind back case. 5. Remove front panel from blue chassis. There are more plastic clamps. 6. Unscrew two boards, which secures the PCB in the chassis. 7. Extract board from blue chassis. Console connection (X8 connector): 1. Parameters: 115200 8N1 2. Pin description: (from closest pin to X8 descriptor to farthest) - VCC (3.3V) - TX - RX - GND Install Instructions: Serial + initramfs: 1. Place OpenWrt initramfs image for the device on a TFTP in the server's root. This example uses Server IP: 192.168.1.3 2. Connect serial console (115200,8n1) to X8 connector. 3. Connect TFTP server to RJ-45 port. 4. Stop in u-Boot and run u-Boot commands: setenv serverip 192.168.1.3 setenv ipaddr 192.168.1.72 set fdt_high 0x85000000 tftp openwrt-ipq40xx-generic-zte_mf286d-initramfs-fit-zImage.itb bootm $loadaddr 5. Please make backup of original partitions, if you think about revert to stock. 6. Login via ssh or serial and remove stock partitions: ubiattach -m 9 ubirmvol /dev/ubi0 -N ubi_rootfs ubirmvol /dev/ubi0 -N ubi_rootfs_data 7. Install image via "sysupgrade -n". Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> (cosmetic changes to the commit message) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: bump 5.10 to 5.10.94Rui Salvaterra2022-02-011-1/+1
| | | | | | | | | | | | | | | | | | | | Deleted (upstreamed): bcm27xx/patches-5.10/950-0669-drm-vc4-hdmi-Make-sure-the-device-is-powered-with-CE.patch [1] bcm27xx/patches-5.10/950-0672-drm-vc4-hdmi-Move-initial-register-read-after-pm_run.patch [1] gemini/patches-5.10/0003-ARM-dts-gemini-NAS4220-B-fis-index-block-with-128-Ki.patch [2] Manually rebased: bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch Manually reverted: generic/pending-5.10/860-Revert-ASoC-mediatek-Check-for-error-clk-pointer.patch [3] [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.94&id=55b10b88ac8654fc2f31518aa349a2e643b37f18 [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.94&id=958a8819d41420d7a74ed922a09cacc0ba3a4218 [3] https://lore.kernel.org/all/trinity-2a727d96-0335-4d03-8f30-e22a0e10112d-1643363480085@3c-app-gmx-bap33/ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ipq40xx: add MikroTik cAP ac supportAlar Aun2022-02-018-1/+279
| | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the MikroTik RouterBOARD RBcAPGi-5acD2nD (cAP ac), a indoor dual band, dual-radio 802.11ac wireless AP, two 10/100/1000 Mbps Ethernet ports. See https://mikrotik.com/product/cap_ac for more info. Specifications: - SoC: Qualcomm Atheros IPQ4018 - RAM: 128 MB - Storage: 16 MB NOR - Wireless: · Built-in IPQ4018 (SoC) 802.11b/g/n 2x2:2, 2.5 dBi antennae · Built-in IPQ4018 (SoC) 802.11a/n/ac 2x2:2, 2.5 dBi antennae - Ethernet: Built-in IPQ4018 (SoC, QCA8075) , 2x 1000/100/10 port, PoE in and passive PoE out Unsupported: - PoE out Installation: Boot the initramfs image via TFTP and then flash the sysupgrade image using "sysupgrade -n" Signed-off-by: Alar Aun <alar.aun@gmail.com>
* kernel: move bootargs-append patch to genericSungbo Eo2022-01-291-12/+0
| | | | | | | | | | This moves bootargs-append support patch from ipq40xx and ipq806x to generic. This way we can append additional boot arguments from DTS instead of only being able to overwrite them. This is a preparation for kirkwood support of ipTIME NAS1. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ipq40xx: drop 5.4 kernelRobert Marko2022-01-2448-7415/+0
| | | | | | | Since 5.10 is now default, no point in keeping 5.4 around. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: rename RT-AC42U WLAN/LAN LEDsSungbo Eo2022-01-172-8/+10
| | | | | | | | | | Assign LED numbers properly by adding function-enumerator property in DTS. While at it, remove default trigger of LAN LEDs as it will be handled in 01_leds anyway. Fixes: 51b9aef553a8 ("ipq40xx: add support for ASUS RT-ACRH17/RT-AC42U") Signed-off-by: Sungbo Eo <mans0n@gorani.run>