aboutsummaryrefslogtreecommitdiff
path: root/target/linux/qualcommax
Commit message (Collapse)AuthorAge
* qualcommax: ipq807x: uboot-envtools: yuncore ax880Isaev Ruslan2024-04-30
| | | | | | | | | | | | | | | | There was no config in the uboot-envtools package, so there is no generated /etc/fw_env.config for the fw_printenv and fw_setenv utils. Since uboot-envtools 2024.01, there is a way to make these utils work without /etc/fw_env.config if the DT has an env partition with the prop.: compatible = "u-boot,env"; So, this commit adds the prop. above to the appsblenv:0 partition in the yuncore ax880 DTS file. Signed-off-by: Isaev Ruslan <legale.legale@gmail.com> Link: https://github.com/openwrt/openwrt/pull/15305 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq60xx: mute warning on bootcount enable compileChristian Marangi2024-04-29
| | | | | | | | | | ipq60xx bootcount script include /lib/functions that produce warning when the script is enabled on image compilation. This script is already included by /etc/rc.common hence it's not needed. While at it also fix the format of the switch case. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* qualcommax: IPQ807x: ZyXEL NBG7815: Fix random Wifi MACUlrich Stark2024-04-27
| | | | | | | | | | | | | | | | | For this particualar device we get random MAC's for Wifi on each (re-)boot. This is because art partition/pre caldata do not contain valid MAC addresses. As we have now a new/better approach with ath11k_patch_mac we can use it for this device too. I'm using this approach for like two weeks and its working flawlessly. Signed-off-by: Ulrich Stark <pwned-pixel@posteo.de> qualcommax: IPQ807x: ZyXEL NBG7815: Fix random Wifi MAC Changing order to 3/phy0/5G-1, 2/phy1/2G, 4/phy2/5G-2. Signed-off-by: Ulrich Stark <pwned-pixel@posteo.de>
* qualcommax: ipq807x: use ath11k_patch_mac for RAX120v2Paweł Owoc2024-04-23
| | | | | | Use ath11k_patch_mac and ath11k_set_macflag functions for RAX120v2 (pre-caldata does not contain valid MAC addresses) Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
* qualcommax: ipq807x: use ath11k_patch_mac and ath11k_remove_regdomain for MX4200Paweł Owoc2024-04-23
| | | | | | | Use ath11k_patch_mac, ath11k_remove_regdomain and ath11k_set_macflag functions for MX4200 (only v2 variant requires MAC patching) Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
* ipq807x: add Spectrum SAX1V1KConnor Yoon2024-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Spectrum SAX1V1K is a AX WIFI router with 3 1G and 1 2.5G ports. The router is provided to Spectrum customers. It is OEM of Askey RT5010W https://forum.openwrt.org/t/spectrum-sax1v1k-askey-rt5010w-openwrt-support/149923 It continues the original work by @MeisterLone to get this device supported. Specifications: ``` • CPU: Qualcomm IPQ8072A Quad core Cortex-A53 2.2GHz • RAM: 2048MB of DDR3 • Storage: 1024MB eMMC • Ethernet: 3x 1G RJ45 ports (QCA8075) + 1 2.5G Port (QCA8081) • WLAN: • 2.4GHz: Qualcomm QCN5024 4x4 802.11b/g/n/ax 1174 Mbps PHY rate • 5GHz: Qualcomm QCN5054 4x4 802.11a/b/g/n/ac/ax 2402 PHY rate • LED: 1 gpio-controlled dual color led (blue/red) • Buttons: 1x reset • Power: 12V DC jack ``` Notes: ``` • This commit adds only single partition support, that means sysupgrade is upgrading the current rootfs partition. • Installation can be done by serial connection only. • A poulated serial header is onboard https://forum.openwrt.org/t/spectrum-sax1v1k-askey-rt5010w-openwrt-support/149923/6 • RX/TX is working, u-boot bootwait is active, secure boot is enabled. ``` Installation Instructions: **Most part of the installation is performed from an initramfs image.** Boot initramfs : Using serial connection 1. Boot up the device and wait till it displays "VERIFY_IB: Success. verify IB ok" 2. Once that message appears, login with username 'root' password serial number of your router in uppercase. 3. Use vi to paste the 'open.sh' script from @MeisterLone github on your device https://github.com/MeisterLone/Askey-RT5010W-D187-REV6/blob/master/Patch/open.sh 4. chmod 755 open.sh 5. ./open.sh 6. Set your ip to 192.168.0.1 7. Run a TFTP server and host the initramfs image on the TFTP server and name it "recovery.img" 8. Reboot device. On boot it will try TFTP. Install OpenWrt from initramfs image: 1. Use SCP (or other way) to transfer OpenWrt factory image 2. Connect to device using SSH (on a LAN port) 3. Flash firmware: sysupgrade # sysupgrade -n -v /tmp/openwrt_sysupgrade.bin 4. Set U-boot env variable: bootcmd # fw_setenv bootcmd "run fix_uboot; run setup_and_boot" 5. Reboot the device # reboot 6. Once device is booted, residue of previous firmware will prevent openwrt to work properly. Factory Reset is MUST required # Once serial console is displaying to login, hold reset button for 10 sec 7. Now everything should be operational. Note: this PR adds only single partition support, that means sysupgrade is upgrading the current rootfs partition Signed-off-by: Connor Yoon <j_connor@taliaent.com>
* ipq807x: add support for Zbtlink ZBT-Z800AXChukun Pan2024-04-17
| | | | | | | | | | | | | | | | | | | Hardware specifications: SoC: Qualcomm IPQ8072A RAM: 1GB of DDR4 600MHz Flash1: Winbond W25Q64DW 8MB Flash2: MX30UF2G28AD 256MB WiFi1: QCN5024 2.4GHz AX 4x4 WiFi2: QCN5054 5GHz AX 4x4 Ethernet: 5x 1G RJ45 port USB: 2x USB 3.0 (1x M.2) Button: Reset, WPS Flash instructions: Upload factory.bin in stock firmware's upgrade page, do not preserve settings. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* qualcommax: enhance smp_affinity (log, uci, syntax)Sean Khan2024-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1.) Changed logic of `set_affinity` to now use physical cores rather than knowing the bitmask. Rather than having to know a bitmask, users can provide a numerical instance of one or more CPU cores (numbered 0-63). This is done via function `cpus_to_bitmask`. Functions Added: a.) bitmask_to_cpus - Takes a bitmask of CPUs and returns a list of CPU numbers. (i.e. `bitmask_to_cpus "f"` -> 0,1,2,3) b.) cpus_to_bitmask - Takes a comma/space or range list of CPUs and returns a bitmask. Example: `cpus_to_bitmask "2,3"` -> c `cpus_to_bitmask "0,1,2,3"` -> f `cpus_to_bitmask "1,3"` -> a With or without quotes `cpus_to_bitmask "1 3"` -> a `cpus_to_bitmask 1 3` -> a 2.) Added UCI options: enable - to enable/disable the script from running. [default 1 (on)] enable_log - to enable/disable logging output to `logger`.[default 1 (on)] Log output: ``` Mon Apr 8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(87) reo2host-destination-ring1 to CPU 0 Mon Apr 8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(88) reo2host-destination-ring2 to CPU 1 Mon Apr 8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(89) reo2host-destination-ring3 to CPU 2 Mon Apr 8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(90) reo2host-destination-ring4 to CPU 3 Mon Apr 8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(79) wbm2host-tx-completions-ring1 to CPU 1 Mon Apr 8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(83) wbm2host-tx-completions-ring2 to CPU 2 Mon Apr 8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(85) wbm2host-tx-completions-ring3 to CPU 3 Mon Apr 8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(73) ppdu-end-interrupts-mac1 to CPU 1 Mon Apr 8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(77) ppdu-end-interrupts-mac2 to CPU 2 Mon Apr 8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(75) ppdu-end-interrupts-mac3 to CPU 3 Mon Apr 8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(32) edma_txcmpl to CPU 3 Mon Apr 8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(33) edma_rxfill to CPU 3 Mon Apr 8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(35) edma_rxdesc to CPU 3 Mon Apr 8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(36) edma_misc to CPU 3 ``` Output of `/proc/interrupts`: ``` 69: 0 0 0 0 GIC-0 209 Edge rxdma2host-destination-ring-mac1 70: 0 0 0 0 GIC-0 211 Edge rxdma2host-destination-ring-mac3 71: 0 0 0 0 GIC-0 210 Edge rxdma2host-destination-ring-mac2 72: 2435 0 0 0 GIC-0 321 Edge reo2host-status 73: 268427 8011 0 0 GIC-0 261 Edge ppdu-end-interrupts-mac1 74: 2 0 0 0 GIC-0 255 Edge rxdma2host-monitor-status-ring-mac1 75: 176169 0 4 10035 GIC-0 263 Edge ppdu-end-interrupts-mac3 76: 2 0 0 0 GIC-0 260 Edge rxdma2host-monitor-status-ring-mac3 77: 0 0 0 0 GIC-0 262 Edge ppdu-end-interrupts-mac2 78: 0 0 0 0 GIC-0 256 Edge rxdma2host-monitor-status-ring-mac2 79: 3428 3123 0 0 GIC-0 189 Edge wbm2host-tx-completions-ring1 80: 0 0 0 0 GIC-0 323 Edge reo2ost-exception 81: 178 0 0 0 GIC-0 322 Edge wbm2host-rx-release 82: 0 0 0 0 GIC-0 212 Edge host2rxdma-host-buf-ring-mac1 83: 6524 0 13712 0 GIC-0 190 Edge wbm2host-tx-completions-ring2 84: 4 0 0 0 GIC-0 235 Edge host2rxdma-host-buf-ring-mac3 85: 560 0 0 1979 GIC-0 191 Edge wbm2host-tx-completions-ring3 86: 0 0 0 0 GIC-0 215 Edge host2rxdma-host-buf-ring-mac2 87: 4520 0 0 0 GIC-0 267 Edge reo2host-destination-ring1 88: 2231 2811 0 0 GIC-0 268 Edge reo2host-destination-ring2 89: 2180 0 2512 0 GIC-0 271 Edge reo2host-destination-ring3 90: 1990 0 0 2321 GIC-0 320 Edge reo2host-destination-ring4 ``` 3.) Added `uci-defaults` script `15_smp_affinity` to configure defaults options on first boot. Signed-off-by: Sean Khan <datapronix@protonmail.com>
* qualcommax: drop 6.1 supportRobert Marko2024-04-11
| | | | | | | We have defaulted to 6.6 for a while so its time to completely drop 6.1 so new devices dont have to include patches for 6.1. Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: Skip compiling unnecessary dtbsSean Khan2024-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the compile phase of the kernel builds `Image dtbs modules`. However, none of the dtbs that get built are used for the final image. This ends up unnecessarily taking CPU cycles and produces a lot of `WARNINGS` that can lead users to believe there's cause for concern. I believe the same principle can be applied to other targets. ``` DTC arch/arm64/boot/dts/qcom/msm8996-mtp.dtb arch/arm64/boot/dts/qcom/msm8996.dtsi:2954.36-2962.5: Warning (clocks_property): /soc/clock-controller@6400000: Missing property '#clock-cells' in node /soc/mailbox@9820000 or bad phandle (referred from clocks[2]) DTC arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone-dora.dtb arch/arm64/boot/dts/qcom/msm8996.dtsi:2954.36-2962.5: Warning (clocks_property): /soc/clock-controller@6400000: Missing property '#clock-cells' in node /soc/mailbox@9820000 or bad phandle (referred from clocks[2]) DTC arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone-kagura.dtb arch/arm64/boot/dts/qcom/msm8996.dtsi:2954.36-2962.5: Warning (clocks_property): /soc/clock-controller@6400000: Missing property '#clock-cells' in node /soc/mailbox@9820000 or bad phandle (referred from clocks[2]) DTC arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone-keyaki.dtb arch/arm64/boot/dts/qcom/msm8996.dtsi:2954.36-2962.5: Warning (clocks_property): /soc/clock-controller@6400000: Missing property '#clock-cells' in node /soc/mailbox@9820000 or bad phandle (referred from clocks[2]) DTC arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dtb arch/arm64/boot/dts/qcom/msm8996.dtsi:2954.36-2962.5: Warning (clocks_property): /soc/clock-controller@6400000: Missing property '#clock-cells' in node /soc/mailbox@9820000 or bad phandle (referred from clocks[2]) DTC arch/arm64/boot/dts/qcom/msm8996-xiaomi-natrium.dtb arch/arm64/boot/dts/qcom/msm8996.dtsi:2954.36-2962.5: Warning (clocks_property): /soc/clock-controller@6400000: Missing property '#clock-cells' in node /soc/mailbox@9820000 or bad phandle (referred from clocks[2]) DTC arch/arm64/boot/dts/qcom/msm8996-xiaomi-scorpio.dtb arch/arm64/boot/dts/qcom/msm8996.dtsi:2954.36-2962.5: Warning (clocks_property): /soc/clock-controller@6400000: Missing property '#clock-cells' in node /soc/mailbox@9820000 or bad phandle (referred from clocks[2]) ``` Signed-off-by: Sean Khan <datapronix@protonmail.com>
* kernel: bump 6.6 to 6.6.24John Audia2024-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.24 Removed upstreamed: generic/backport-6.6/838-v6.9-leds-trigger-netdev-Fix-kernel-panic-on-interface-re.patch[1] generic/backport-6.6/981-mtd-spinand-Add-support-for-5-byte-IDs.patch[2] mediatek/patches-6.6/831-thermal-drivers-mediatek-Fix-control-buffer-enablement-on-MT7896.patch[3] Removed: ipq40xx/patches-6.6/110-mtd-limit-OTP-nvmem-to-non-nand-devices.patch[4] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.24&id=10f2af1af8ab8a7064f193446abd5579d3def7e3 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.24&id=9c74507e6c4382d12a5e418742b81fd441f03313 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.24&id=fe750e2744428be6aec7395b13df3b34381ce6b6 4. Acknowledgment to @DragonBlurp for pointing out the redundancy of this patch. https://github.com/openwrt/openwrt/commit/dd78a59cd7b029560b33cb3ac0e1aa8b747bd807 Build system: x86/64 Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me>
* qualcommax: ipq60xx: add yuncore fap650 supportIsaev Ruslan2024-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the Yuncore FAP650 device. Specifications: - Qualcomm IPQ6018+QCA8075+QCN5022+QCN5052 - 512 MB of RAM (DDR3) - 8 MB of serial flash (SPI NOR) - 128 MB of parallel flash (NAND) - 2x2 2.4 GHz WiFi (IPQ6010) - 2x2 5 GHz WiFi (IPQ6010) - 2x 2dBi 2.4G MIMO antenna - 2x 3dBi 5.8G MIMO antenna - 5x 1 Gbps Ethernet (QCA8075) - POE: 48V (IEEE 802.3af) - power: 12V (~1.5A) - 1x passthru port (rj45 - rj45) - 1x cisco rj45 console port - size: 160mm*86mm*29mm BACKUP YOUR STOCK FIRMWARE: ``` export device=fap650 mkdir -p /tmp/fw_dump_$device cd /tmp/fw_dump_$device dmesg > dmesg_$device.log dtc -I fs /sys/firmware/devicetree/base > $device.dts cat /proc/device-tree/model > model cat /proc/mtd > proc_mtd while read p; do mtd_dev=$(echo $p | cut -d: -f1) echo $mtd_dev dd if=/dev/$mtd_dev of=$mtd_dev done < proc_mtd md5sum * > md5sum.log tar -cvzf ../$device.tar.gz . export sum=$(md5sum /tmp/$device.tar.gz | cut -d' ' -f1) mv ../$device.tar.gz /tmp/${device}_${sum}.tar.gz echo fw backup saved to: /tmp/${device}_${sum}.tar.gz ``` Upload your backup via tftp to the safe place. INSTALLATION: 1. stock firmware web ui Rename factory.bin fw image file to factory.ubin. Flash this image like ordinary stock fw upgrade. 2. stock firmware telnet method Enter telnet cli (login: root, password: 476t*_f0%g09y) and upload factory.bin fw image and rename it to factory.ubin `cd /tmp && wget <your_web_server_ip>/factory.ubin` `sysupgrade factory.ubin 3. initramfs method Put imitramfs image to your TFTP server and rename it for example to fap650.initram Enable serial console and enter to the u-boot cli. Exec these commands: `tftpboot <your_tftp_server_ip>:fap650.initram` `dhcp` When downloading is finished: `bootm` After booting the device, you need to upload to the device factory.ubi fw image. ``` cd /tmp && wget <your_web_server_ip>/factory.ubi` export rootfs=$(cat /proc/mtd | grep rootfs | cut -d: -f1) export rootfs_1=$(cat /proc/mtd | grep rootfs_1 | cut -d: -f1) ubiformat /dev/${rootfs} -y -f factory.ubi ubiformat /dev/${rootfs_1} -y -f factory.ubi reboot ``` 4. u-boot factory.ubi image method Put factory.ubi to your TFTP server Enter u-boot cli and exec these commands: `tftpboot <your_tftp_server_ip>:factory.ubi` `dhcp` After downloading is finished: `flash rootfs` `flash rootfs_1` `reset` STOCK FIRMWARE RECOVERY: Boot initramfs image. Upload your rootfs mtd partition to the device using scp or download it from the device using wget. Enter device ssh cli and exec: ``` cd /tmp && wget <your_web_server_ip>/rootfs_mtd` export rootfs=$(cat /proc/mtd | grep rootfs | cut -d: -f1) export rootfs_1=$(cat /proc/mtd | grep rootfs_1 | cut -d: -f1) ubiformat /dev/${rootfs} -y -f /tmp/rootfs_mtd ubiformat /dev/${rootfs_1} -y -f /tmp/rootfs_mtd reboot ``` Signed-off-by: Isaev Ruslan <legale.legale@gmail.com>
* kernel: bump 6.6 to 6.6.23John Audia2024-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.23 Removed upstreamed: pending-6.6/735-net-mediatek-mtk_eth_soc-release-MAC_MCR_FORCE_LINK-.patch[1] pending-6.6/736-net-ethernet-mtk_eth_soc-fix-PPE-hanging-issue.patch[2] mediatek/patches-6.6/232-clk-mediatek-mt7981-topckgen-flag-SGM_REG_SEL-as-cri.patch[3] Manually rebased: mediatek/patches-6.6/100-dts-update-mt7622-rfb1.patch Added: generic/backports-6.6/981-mtd-spinand-Add-support-for-5-byte-IDs.patch[4] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.23&id=1f32abb474c1c9bdb21d9eda74c325a0b3a162e5 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.23&id=943c14ece95eb1cf98d477462aebcbfdfd714633 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.23&id=6ff01b314149d1cf59caebc29384f0beed21cba4 4. See comments in https://github.com/openwrt/openwrt/pull/14992 regarding broken flogic/xiaomi_redmi-router-ax6000-ubootmod Build system: x86/64 Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, flogic/glinet_gl-mt6000 Run-tested: x86/64/AMD Cezannei, flogic/xiaomi_redmi-router-ax6000-ubootmod, flogic/glinet_gl-mt6000 Signed-off-by: John Audia <therealgraysky@proton.me>
* qualcommax: default to kernel 6.6Robert Marko2024-03-29
| | | | | | | 6.6 has been in testing on qualcommax for a while so it should be in a good shape, but lets default to it to get a wider audience. Signed-off-by: Robert Marko <robimarko@gmail.com>
* treewide: disable spectre mitigation on unaffected Arm64 targetsQingfang Deng2024-03-23
| | | | | | | Cortex-A53 is not vulnerable to any Spectre variants. Ref: https://developer.arm.com/Arm%20Security%20Center/Speculative%20Processor%20Vulnerability Signed-off-by: Qingfang Deng <dqfext@gmail.com>
* qualcommax: add 6.6 as testing kernelRobert Marko2024-03-22
| | | | | | Provide kernel 6.6 as the testing kernel for qualcommax. Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: add WLAN device path migrationRobert Marko2024-03-22
| | | | | | | | | | | | | | | | | | Kernel 6.6 has changed the path of WLAN devices as the soc node was updated to include an adress as well because according to spec it needed one: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/qcom/ipq8074.dtsi?h=v6.6.21&id=da6aa1111a17db11367817ddc10c5a6c188cdc44 So, this will break existing configuration as device path was changed for example: "platform/soc/c000000.wifi" to "platform/soc@0/c000000.wifi" "platform/soc/c000000.wifi+1" to "platform/soc@0/c000000.wifi+1" PCIe attached devices also have their path changed, so lets add a script that will migrate the paths based on the detected running kernel version so returning to kernel 6.1 will work as well. Co-developed-by: Sean Khan <datapronix@protonmail.com> Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: 6.6: fix SCM header include path for WCSSRobert Marko2024-03-22
| | | | | | | SCM header was moved to <linux/firmware/qcom/qcom_scm.h> so adjust the WCSS patch accordingly. Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: 6.6: refresh configRobert Marko2024-03-22
| | | | | | Refresh 6.6 qualcommax kernel config via kernel_menuconfig. Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: 6.6: make patches applyRobert Marko2024-03-22
| | | | | | | Drop backported patches already included in 6.6 and refresh the rest to apply. Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel/qualcommax: Restore kernel files for v6.1Robert Marko2024-03-22
| | | | | | | | | | This is an automatically generated commit which aids following Kernel patch history, as git will see the move and copy as a rename thus defeating the purpose. See: https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html for the original discussion. Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel/qualcommax: Create kernel files for v6.6 (from v6.1)Robert Marko2024-03-22
| | | | | | | | This is an automatically generated commit. When doing `git bisect`, consider `git bisect --skip`. Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: Fix MAC addresses usage for RAX120v2Paweł Owoc2024-03-18
| | | | | | | | | | | | | | Currently, 6 MAC addresses are read from the "boarddata1" partition and set for network interfaces in sequence. This partition only contains 3 MAC addresses: 1. lan mac 2. wan mac 3. wlan5g mac As result only lan2, lan3 and lan4 have correct (OUI) MAC addresses. lan1, lan5 and wan interfaces get MAC addresses with incorrect OUI from random data on "boarddata1" partition. This commit fix this and use first MAC for lan and second MAC for wan interfaces. Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
* qualcommax: ipq60xx: set PHY mode to psgmii for port 5Chukun Pan2024-03-18
| | | | | | | | The port 5 of most ipq60xx devices is connected to qca8075, a few are connected to qca8081. So assume that the default connection is qca8075 and set the phy mode to psgmii. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* qualcommax: set phy-mode to sgmii for QCA8081Chukun Pan2024-03-18
| | | | | | | The dp5 node uses psgmii by default, corrected the phy-mode to sgmii for the qca8081 phy. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* qualcommax: dts: cleanup whitespaceChukun Pan2024-03-18
| | | | | | | Replace blanks with tabs, remove extra blank lines. Also add new lines as appropriate. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* qualcommax: ipq807x: fix LEDs on Buffalo WXR-5950AX12INAGAKI Hiroshi2024-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Buffalo WXR-5590AX12, some LEDs don't have "function" property and only "color" property is available for the newer binding of LED on Linux Kernel. 2e659930d3 ("qualcommax: drop redundant label with new LED color/function format") removes "label" property from LEDs, then, multiple "<color>:" (ex.: "white:"/"red:") will be appeared as LED names and renamed to "<color>:_<num>" ("ex.: "white:_1", "green:_2", ...) by kernel. logs: [ 5.372863] leds-gpio leds: Led white: renamed to white:_1 due to name collision [ 5.375796] leds-gpio leds: Led red: renamed to red:_1 due to name collision /sys/class/leds: root@OpenWrt:/# ls /sys/class/leds/ red: red:power white: white:power red:_1 red:wlan white:_1 white:wlan Fix this issue by adding missing "function" property to LEDs on Buffalo WXR-5950AX12. Note: there are no appropriate functions in dt-bindings/leds/common.h for some LEDs, so use the hardcoded strings for them instead. Fixes: 2e659930d3 ("qualcommax: drop redundant label with new LED color/function format") Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* qualcommax: ipq807x: fix LEDs on QNAP QHora-301WINAGAKI Hiroshi2024-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On QNAP QHora-301W, all LEDs don't have "function" property and only "color" property is available for the newer binding of LED on Linux Kernel. 2e659930d3 ("qualcommax: drop redundant label with new LED color/function format") removes "label" property from LEDs, then, multiple "<color>:" (ex.: "amber:"/"green:"/"red:") will be appeared as LED names and renamed to "<color>:_<num>" ("ex.: "green:_1", "green:_2", ...) by kernel. logs: [ 4.246494] leds-gpio leds: Led green: renamed to green:_1 due to name collision [ 4.248978] leds-gpio leds: Led green: renamed to green:_2 due to name collision [ 4.256345] leds-gpio leds: Led green: renamed to green:_3 due to name collision [ 4.263770] leds-gpio leds: Led green: renamed to green:_4 due to name collision [ 4.271105] leds-gpio leds: Led amber: renamed to amber:_1 due to name collision [ 4.278487] leds-gpio leds: Led green: renamed to green:_5 due to name collision [ 4.285856] leds-gpio leds: Led amber: renamed to amber:_2 due to name collision [ 4.293257] leds-gpio leds: Led green: renamed to green:_6 due to name collision [ 4.300616] leds-gpio leds: Led amber: renamed to amber:_3 due to name collision [ 4.308002] leds-gpio leds: Led green: renamed to green:_7 due to name collision [ 4.315384] leds-gpio leds: Led amber: renamed to amber:_4 due to name collision [ 4.322760] leds-gpio leds: Led green: renamed to green:_8 due to name collision [ 4.330135] leds-gpio leds: Led amber: renamed to amber:_5 due to name collision /sys/class/leds: amber: amber:_4 green:_2 green:_6 amber:_1 green:_5 green:_3 green:_7 amber:_2 green: green:_4 green:_8 amber:_3 green:_1 green:_5 red: Fix this issue by adding missing "function" (and "function-enumerator") property to LEDs on QNAP QHora-301W. Note: there are no appropriate functions in dt-bindings/leds/common.h for some LEDs, so use the hardcoded strings for them instead. Fixes: 2e659930d3 ("qualcommax: drop redundant label with new LED color/function format") Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* qualcommax: ipq60xx: mango-dvk: fix QCA8081 reset timingsMantas Pucka2024-03-15
| | | | | | | Add missing reset delay properties for QCA8081 PHY. Without delays PHY operation is unreliable. Signed-off-by: Mantas Pucka <mantas@8devices.com>
* qualcommax: ipq60xx: add support for netgear wax214Dirk Buchwalder2024-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Netgear WAX214 is a 802.11 ax dual-band AP with PoE. (similar to Engenius EWS357APV3) Specifications: • CPU: Qualcomm IPQ6010 Quad core Cortex-A53 • RAM: 512MB of DDR3 • Storage: 128MB NAND (Macronix MX30UF1G18AC) • Ethernet: 1x 1G RJ45 port (QCA8072) PoE • WIFI: 2.4GHz: Qualcomm QCN5022 2x2 802.11b/g/n/ax 574 Mbps PHY rate 5GHz: Qualcomm QCN5052 2x2 802.11a/b/g/n/ac/ax 1201 PHY rate • LEDs: 4 x GPIO-controlled LEDs - 1 Power LED (orange) - 1 LAN LED (blue) - 1 WIFI 5g LED (blue) - 1 WIFI 2g LED (blue) black_small_square Buttons: 1x soft reset black_small_square Power: 12V DC jack or PoE (802.3af ) An populated serial header is onboard, format is 1.25mm 4p (DF13A-4P-1.25H) RX/TX is working, bootwait is active, secure boot is not enabled. The root password of the stock firmware is unknown, but failsafe mode can be entered to reset the password. Installation Instructions: - obtain serial access - stop auto boot (press "4", Entr boot command line interface) - setenv active_fw 0 (to boot from the primary rootfs, or set to 1 to boot from the secondary rootfs partition) - saveenv - tftpboot the initramfs image - bootm - copy openwrt-qualcommax-ipq60xx-netgear_wax214-squashfs-factory.ubi to the device - write the image to the NAND: - cat /proc/mtd and look for rootfs partition (should be mtd11, or mtd12 if you choose active_fw 1) - ubiformat /dev/mtd11 -f -y openwrt-qualcommax-ipq60xx-netgear_wax214-squashfs-factory.ubi - reboot Note: the firmware is senao-based. But I was unable to build a valid senao-header into the image. Maybe they changed the header format and senaoFW isn't working any more. Signed-off-by: Dirk Buchwalder <buchwalder@posteo.de>
* qualcommax: enable DEBUG_BUGVERBOSERobert Marko2024-03-01
| | | | | | | | | | Enable DEBUG_BUGVERBOSE by default on qualcommax as without it once BUG() is called we will not get any output other than "------------[ cut here ]------------" which is not usefull at all, so since we dont have kernel size constraints lets enable it by default. Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: add support for Linksys MX5300Paweł Owoc2024-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification: ======== SoC: Qualcomm IPQ8072A Flash: 512MB (Winbond W29N04GZBIBA) RAM: 1GB (2x Nanya DDR3L NT5CC256M16ER-EK) Ethernet: 5x 10/100/1000Mbps (Qualcomm QCA8075) WiFi1: 5GHz ac 4x4 (Qualcomm QCA9984 + Skyworks SKY85746-11) - channels 100-169 WiFi2: 5GHz ax 4x4 (Qualcomm QCN5054 + Skyworks SKY85755-11) - channels 36-64 WiFi3: 2.4GHz ax 4x4 (Qualcomm QCN5024 + Skyworks SKY8340-11) IoT: Bluetooth 5, Zigbee and Thread (Qualcomm QCA4024 + Skyworks SE2433T-R) IoT Flash: 4MB (Macronix MX25R3235F) RTC: ST M41T00S LED: 1x RGB status (NXP PCA9633) USB: 1x USB 3.0 Button: WPS, Reset Flash instructions: ======== 1. Manually upgrade firmware using openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin image. More details can be found here: https://www.linksys.com/hk/support-article?articleNum=274497 After first boot check actual partition: - fw_printenv -n boot_part and install firmware on second partition using command in case of 2: - mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin kernel and in case of 1: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin alt_kernel 2. Installation using serial connection from OEM firmware (default login: root, password: admin): - fw_printenv -n boot_part In case of 2: - flash_erase /dev/mtd21 0 0 nandwrite -p /dev/mtd21 openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin or in case of 1: - flash_erase /dev/mtd23 0 0 nandwrite -p /dev/mtd23 openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin After first boot install firmware on second partition: - mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin kernel or: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin alt_kernel 3. Installation from initramfs image using USB FAT32 formatted drive: Stop u-boot and run: - usb start && fatload usb 0:1 $loadaddr openwrt-qualcommax-ipq807x-linksys_mx5300-initramfs-uImage.itb && bootm $loadaddr Write firmware to the flash from initramfs: - mtd -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin kernel and: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin alt_kernel 4. Back to the OEM firmware: - mtd -e kernel -n write FW_MX5300_1.1.9.200251_prod.img kernel and: - mtd -r -e alt_kernel -n write FW_MX5300_1.1.9.200251_prod.img alt_kernel 5. USB recovery: - fw_setenv usbimage 'openwrt-qualcommax-ipq807x-linksys_mx5300-initramfs-uImage.itb' fw_setenv bootusb 'usb start && fatload usb 0:1 $loadaddr $usbimage && bootm $loadaddr' fw_setenv bootcmd 'run bootusb; aq_load_fw && if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi' Notes: ======== IoT device is accesible over spi. Not yet supported. Signed-off-by: Paweł Owoc <frut3k7@gmail.com> Reviewed-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: add patch for QUP4 SPI nodeRobert Marko2024-02-23
| | | | | | | Add node to support the QUP4 SPI controller inside of IPQ8074. Some devices use this bus to communicate to a Bluetooth controller. Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: reordering, combine the same commandsPaweł Owoc2024-02-23
| | | | | | Reordering, combine the same commands for ipq807x devices Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
* qualcommax: ipq60xx: Add 8devices Mango DVKMantas Pucka2024-02-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8devices Mango DVK is a single board computer / devkit for 8devices Mango system-on-module (SoM). Specifications: * CPU: Qualcomm IPQ6010 Quad core Cortex-A53 1.8GHz * RAM: 512 MB * Storage: * 32 MB serial NOR flash (on SoM) * 256 MB parallel NAND flash (on DVK) * Ethernet: * 2x1G RJ45 ports(QCA8072 or QCA8075) * 1x2.5G RJ45 port (QCA8081) * 1xSFP (shares SGMII with QCA8081) * Switch: Qualcomm Atheros IPQ6010 * WLAN: * 2.4GHz: QCN5121 2x2 802.11b/g/n/ax 574 Mbps PHY rate * 5GHz: QCN5152 2x2 802.11a/n/ac/ax 1201 Mbps PHY rate * USB: * 1x USB3.0 Type-A port * 1x USB2.0 available at mini PCIe slot * PCIe: 1x mini PCIe slot 1xLane Gen3 (8GT/s) * SD/eMMC (on a single shared bus - only one can be active): * micro SD slot * eMMC module connector * LEDs: * Green power led (not controllable) * Green 2.4GHz radio led (GPIO 67) * Green 5GHz radio led (GPIO 66) * Buttons: * 1x (WPS GPIO79) button * GPIOs: 2.54mm header brings out 18 GPIOs (1.8V level) * UART: 4-pin UART header (3.3V level) * 115200 8N1, 3.3V-Tx-Rx-GND (3.3V is pin 1 close to boot-switch SW2) * Power: * PoE IN on 2.5G port (passive 24-48V) * DC power terminal (12-58V) Installation instructions: Vendor image format is compatible with squashfs-sysupgrade image. Run: sysupgrade -n -F openwrt-qualcommax-ipq60xx-8devices_mango-dvk-squashfs-sysupgrade.bin Signed-off-by: Mantas Pucka <mantas@8devices.com>
* qualcommax: ipq60xx: set correct PHY mode for port 0-4Mantas Pucka2024-02-21
| | | | | | | | | | | | | | [port 8ed390a (qualcommax: set correct PHY mode for port 0-4) to ipq60xx] Port 0-4 have the mode set to SGMII instead of PSGMII. Now that we use he upstream qca807x driver, this conflicts with the qca SSDK driver that expects the mode to be PSGMII as for not integrated driver, it does refer to the real PHY mode. Update the entry for port 0-4 to PSGMII to solve warning from qca SSDK in ipq6018-ess.dtsi. Signed-off-by: Mantas Pucka <mantas@8devices.com>
* qualcommax: ipq807x: skip factory.ubi image for MX4200Paweł Owoc2024-02-21
| | | | | | Skip building not used factory.ubi image Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
* qualcommax: ipq807x: remove duplicated sysupgrade image definitionsPaweł Owoc2024-02-21
| | | | | | Image sysupgrade.bin is defined by default and there is no need to define it. Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
* qualcommax: ipq807x: fix variable definitionPaweł Owoc2024-02-21
| | | | | | | | Fix variable definition, prevent displaying warnings: - warning: overriding recipe for target - warning: ignoring old recipe for target Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
* qualcommax: backport more changes for ipq6018 and ipq8074Chukun Pan2024-02-19
| | | | | | | | - Mark patches as upstream - Backport more upstream changes - Handle conflicts and refresh patches Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* qualcommax: ipq807x: wax630: correct UNIPHY2 MAC modeRobert Marko2024-02-17
| | | | | | | | UNIPHY2 on the WAX630 is connected to a QCA8081 PHY which is only 2.5G and it does not support using USXGMII at all but rather only SGMII or SGMII+. Tested-by: Kristian Skramstad <kristian+github@83.no> Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: correct PHY mode for AQRRobert Marko2024-02-17
| | | | | | | | | | | | | | Interfaces that have AQR-s attached to them are using USXGMII and not just the default SGMII. This was fine until SSDK added some sanity checking and now on Qnap 301W it would fail with: [ 24.740197] nss-dp 3a001800.dp5 10g-1 (uninitialized): failed to connect to phy device [ 24.740264] nss-dp: probe of 3a001800.dp5 failed with error -14 Since this is not Qnap 301W specific lets fix it subtarget wide by declaring the correct PHY mode for 10G AQR-s. Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: 301w: correct PHY mode for AQRRobert Marko2024-02-17
| | | | | | | | | | | | | Interfaces that have AQR-s attached to them are using USXGMII and not just the default SGMII. This was fine until SSDK added some sanity checking and now on Qnap 301W it would fail with: [ 24.740197] nss-dp 3a001800.dp5 10g-1 (uninitialized): failed to connect to phy device [ 24.740264] nss-dp: probe of 3a001800.dp5 failed with error -14 So, lets fix 10G AQR ports by declaring the correct PHY mode. Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: AW1000: add qca8081 PHY LED configurationChukun Pan2024-02-16
| | | | | | | | Since we can configure the PHY LED of the qca8081, add a configuration for this device. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Reviewed-by: Robert Marko <robimarko@gmail.com>
* qualcommax: AW1000: sync qca807x PHY dts changesChukun Pan2024-02-16
| | | | | | | | | The dts of Arcadyan AW1000 forgot to convert qca807x PHY to PHY package implementation. This commit fix it. Fixes: 0ab4b92 ("qualcommax: convert qca807x PHY to PHY package implementation") Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Reviewed-by: Robert Marko <robimarko@gmail.com>
* ipq807x: add support for CMCC RM2-6Chukun Pan2024-02-15
| | | | | | | | | | | | | | | | | | Hardware specifications: SoC: Qualcomm IPQ8070A RAM: 512MB of DDR3 Flash: 256MB Micron NAND Ethernet: 2x 1G RJ45 port WiFi1: QCN5024 2x2 2.4GHz WiFi2: QCN5054 2x2 5GHz Fan: 1x GPIO controlled Button: Reset, WPS Flash instructions: Upload factory.bin in stock firmware's upgrade page. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Reviewed-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: MX4200 convert qca807x PHY to new implementationPaweł Owoc2024-02-15
| | | | | | | Convert qca807x PHY to new implementation like for other devices. Signed-off-by: Paweł Owoc <frut3k7@gmail.com> Reviewed-by: Robert Marko <robimarko@gmail.com>
* qualcommax: remove usage of malibu_first_phy_addrRobert Marko2024-02-15
| | | | | | | | Now that Malibu (QCA807x) PHY is using the upstream driver, we dont need support to define address of the first PHY in package, so remove the malibu_first_phy_addr DTS property. Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: apply special PHY LEDs configuration for Xiaomi AX9000Christian Marangi2024-02-11
| | | | | | | | | Xiaomi AX9000 apply a special PHY LEDs configuration where the unique green LED for each qca807x PHY port is turned on also on 1000Mbps link. Apply this special configuration to reflect original implementation. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* qualcommax: apply special PHY LEDs configuration for Xiaomi AX3600Christian Marangi2024-02-11
| | | | | | | | | | | | Xiaomi AX3600 apply a special PHY LEDs configuration where the unique green LED for each qca807x PHY port is turned on also on 1000Mbps link. Apply this special configuration to reflect original implementation. Also enable CONFIG_PHYLIB_LEDS to actually expose the PHY LEDs if defined in DT. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>