summaryrefslogtreecommitdiffstats
path: root/target/linux/qualcommax
Commit message (Collapse)AuthorAgeFilesLines
* ipq807x: sax1v1k: fix sysupgrade not touching rootfs_dataRodrigo Balerdi4 days2-3/+16
| | | | | | | | | | | | | | | Before this commit, sysupgrade saved the settings backup data to the area following rootfs even though the device has an actual rootfs_data partition. The backup data was completely ignored on the following boot, but since rootfs_data was not being cleared during sysupgrade, the issue was not noticed earlier. Note that this commit changes the filesystem of rootfs_data from ext4 to F2FS (if OEM partitioning is used). Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16463 Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq807x: add support for TP-Link EAP660 HD v1George Witt2024-09-086-0/+254
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: * SoC: Qualcomm IPQ8072A (64-bit Quad-core Arm Cortex-A53 @ 2200MHz) * Memory: 2x ESMT M15T4G16256A-DEBG2G (1 GiB DDR3-1866 13-13-13) * Serial Port: 3v3 TTL 115200n8 * Wi-Fi: QCN5054 (4x4 5 GHz 802.11ax) * Wi-Fi: QCN5024 (4x4 2.4 GHz 802.11b/g/n/ax) * Ethernet: QCA8081 (10/100/1000/2.5GBASE-T) * Flash: Winbond W29N01HZSINF (128 MiB) * LEDs: 1x Blue Status (GPIO 42 Active High) * Buttons: 1x Reset (GPIO 50 Active Low) Installation Instructions (Serial+TFTP): 1. Solder 4 pin header to JP1 and bridge pads of R58 and R62. 2. Connect 3V3 TTL port to TX, RX, and GND, which are positions 1, 2, and 3 respectively. Be sure to crossover TX and RX. 3. Copy RAM firmware image openwrt-qualcommax-ipq807x-tplink_eap660hd-v1-initramfs-uImage.itb to TFTP server root, available at 192.168.10.1. 4. Connect PoE ethernet cable to the RJ45 port and hold Ctrl+B in the serial console (115200 baud) until autoboot is halted. 5. Run the following commands in the U-boot prompt: # tftpboot 0x44000000 openwrt-qualcommax-ipq807x-tplink_eap660hd-v1-initramfs-uImage.itb # bootm You may need to type Ctrl+C and Enter before running these commands to clear invisible characters from the buffer. 6. Run the following command in a terminal to copy the sysupgrade image to be installed (check IP address): $ scp openwrt-qualcommax-ipq807x-tplink_eap660hd-v1-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/ 7. Activate the OpenWrt serial console and run the following commands: # cd /tmp # sysupgrade -n openwrt-qualcommax-ipq807x-tplink_eap660hd-v1-squashfs-sysupgrade.bin 8. The AP will reboot and OpenWrt will be successfully installed. Signed-off-by: George Witt <george.witt@nltsproject.org> Link: https://github.com/openwrt/openwrt/pull/15832 Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: bump 6.6 to 6.6.45 and update config-6.6John Audia2024-08-137-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | Build on at leasst x86/64 failed without adding the new ksym: CONFIG_PCP_BATCH_SCALE_MAX=5 According to www.kernelconfig.io[1], this option seems to apply to all arches so I placed it in target/linux/generic/config-6.6 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.45 Removed upstreamed: generic/backport-6.6/719-v6.11-net-phy-realtek-add-support-for-RTL8366S-Gigabit-PHY.patch[2] All other patches automatically rebased. 1. https://www.kernelconfig.io/config_pcp_batch_scale_max?q=&kernelversion=6.10.3&arch=x86 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.45&id=b45cbfa204b2a0985eb85dcb33d51714ee089bb9 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> Link: https://github.com/openwrt/openwrt/pull/16144 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* qualcommax: ipq60xx: add support for Cambium Networks XE3-4Kristian Skramstad2024-08-086-0/+536
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cambium Networks XE3-4 is a tri-radio Wi-Fi 6/6E 4×4/2×2 AP. Hardware: Model: Cambium Networks XE3-4 CPU: IPQ6010/AP-CP01-C3, SoC Version: 1.0 @ 800 MHz Memory: 1 GiB Flash: 512 MiB Macronix MX30UF2G18AC + W25Q128FW Ethernet: 1x 1 GbE (QCA8072) 1x 2.5 GbE (QCA8081) Buttons: 1x Reset Serial: TX, RX, GND Baudrate: 115200 Radios: Qualcomm Atheros IPQ6018 802.11ax - 2x2 - 2GHz Qualcomm Atheros IPQ6018 802.11ax - 2x2 - 5GHz Qualcomm Atheros QCN9074 802.11ax - 4x4 - 5GHz or 6GHz BLE 4.1 Power: 32.0W 802.3bt5 PoE++ 25.5W 802.3at with USB, BT disabled Size: 215mm x 215mm Ports: 1x USB 2.0 Antenna: 6 GHz: 6.29 dBi, Omni 30 dBm 5 GHz: 6.12 dBi, Omni 31 dBm 2.4 GHz: 4.85 dBi, Omni 29 dBm LEDs: Multi-color status LEDs Mounting: Wall, ceiling or T-bar Installation: Serial connection 1. Open the AP to get access to the board. Connect RX, TX and GND. 2. Power on the AP, and short the CS pin of the SPI flash with one of the APs GND pins. 3. Transfer the initramfs image with TFTP (Default server IP is 192.168.0.120) # tftpboot factory.ubi 4. Flash the rootfs partition # flash rootfs 5. Reboot the AP # reset Signed-off-by: Kristian Skramstad <kristian+github@83.no> Link: https://github.com/openwrt/openwrt/pull/15633 Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: bump 6.6 to 6.6.43John Audia2024-07-285-5/+5
| | | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.43 All patches automatically rebased. 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> Link: https://github.com/openwrt/openwrt/pull/16010 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* qualcommax: ipq807x: add Asus RT-AX89X BX revisionRobert Marko2024-07-097-0/+822
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for Asus RT-AX89X BX revision. WARNING: Only the BX revision boards (So B1, B2 etc) are supported because AX revision boards use IPQ8074 v1 SoC which is unsupported. Specifications: --------------- * CPU: Qualcomm IPQ8074A Quad core Cortex-A53 @ 2.2GHz * RAM: 1024MB * Storage: 256MB SLC NAND (Macronix MX30UF2G18AC) * Ethernet: * 5x 1G RJ45 ports via QCA8337 switch * 3x 1G RJ45 ports via internal switch (QCA8075 PHY) * 1x 10G RJ45 via internal switch (AQR113C PHY) * 1x 10G SFP+ slot via internal switch * WLAN: * 2.4GHz 4x4 * 5GHz 8x8 * 8 external antennas * USB: 2x USB 3.0 Type-A * Buttons: * Power switch * WPS * Reset * Wireless ON/OFF * LED ON/OFF LED-s: * Power * Wi-Fi * WAN * 10G * SFP+ Power: * 19.5V via DC jack Installation instructions: -------------------------- 1. Flash temporary OpenWrt initramfs: * Flash openwrt-qualcommax-ipq807x-asus_rt-ax89x-initramfs-factory.trx via the stock firmware. Administration -> Firmware Upgrade -> Manual Firmware update (Upload) After flashing the device will reboot with OpenWrt initramfs and it can be accesed via any of the LAN ports via SSH with the usual OpenWrt default credentials. 2. Sysupgrade from OpenWrt initramfs: * Copy openwrt-qualcommax-ipq807x-asus_rt-ax89x-squashfs-sysupgrade.bin to /tmp/openwrt-qualcommax-ipq807x-asus_rt-ax89x-squashfs-sysupgrade.bin of the running initramfs image. * Simply sysupgrade -n /tmp/openwrt-qualcommax-ipq807x-asus_rt-ax89x-squashfs-sysupgrade.bin After flashing the device will reboot with OpenWrt initramfs and it can be accesed via any of the LAN ports via SSH with the usual OpenWrt default credentials. Link: https://github.com/openwrt/openwrt/pull/15840 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: enable QCA83XX PHY driverRobert Marko2024-07-091-0/+1
| | | | | | | | | Asus RT-AX89X has an external QCA8337 switch that has built-in internal ethernet PHY-s that are supported by the QCA83XX PHY driver so lets enable it. Link: https://github.com/openwrt/openwrt/pull/15840 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: enable qca8k driverRobert Marko2024-07-091-0/+6
| | | | | | | | | Asus RT-AX89X has an Qualcomm QCA8337 switch used to provide additional 1G copper ports, so lets enable qca8k in order to utilize DSA instead of relying on SSDK for it. Link: https://github.com/openwrt/openwrt/pull/15840 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: enable GPIO bitbanged MDIORobert Marko2024-07-091-0/+2
| | | | | | | | Asus RT-AX89X is using GPIO bitbanged MDIO on newer HW revisions, so lets enable it in kernel config. Link: https://github.com/openwrt/openwrt/pull/15840 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq8074-ess: move switch to ess-instance nodeRobert Marko2024-07-091-370/+376
| | | | | | | | | | | | | | | | | | | | It seems that newer SSDK is now expecting the switch node to be a subnode of "ess-instance" node which also contains "num_devices" as the number of switches as you can also have external switches connected. Asus RT-AX89X is even more peculiar as its bootloader has a hardcoded path to enable if on that revision there is an AQR113 connected to port 6 of the switch. So, lets move the current switch node under ess-instance as otherwise it seems that SSDK is having some issues parsing the UNIPHY mode properly as I am getting the following: [ 6.981404] _adpt_hppe_instance1_mode_get[3275]:ERROR:port 6 doesn't support port_interface_mode 9 Which should not happen as that port has the mode set to 13. Link: https://github.com/openwrt/openwrt/pull/15840 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: fix build error with no initramfs for RAX120v2Christian Marangi2024-07-081-0/+2
| | | | | | | Exclude additional initramfs image for Netgear RAX120v2 when no initramfs image are compiled to fix build error. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* qualcommax: fix RAX120v2 PWM Fan controller wrong definitionChristian Marangi2024-06-252-3/+2
| | | | | | | | | Fix RAX120v2 PWM Fan controller wrong definition by using a non-existant kmod and using the wrong compatible for it enabling an external clock while actually the device use an internal one. Link: https://github.com/openwrt/openwrt/pull/15796 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* qualcommax: get rid of custom socinfo.h headerRobert Marko2024-06-231-469/+13
| | | | | | | | | | Now that SSDK has been updated to use in-kernel SMEM ID-s to identify the SoC its running on instead of relying on the downstream socinfo.h header we can move the read_ipq_soc_version_major() function directly to cpr3-util.c as its the only user of anything from the header and drop it. Link: https://github.com/openwrt/openwrt/pull/15786 Signed-off-by: Robert Marko <robimarko@gmail.com>
* treewide: gpio to gpiosRosen Penev2024-06-174-8/+8
| | | | | | | | | | gpio is deprecated. Found with dtc's -Wdeprecated_gpio_property Used git grep -E $'\tgpio = <' to make the changes. Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://github.com/openwrt/openwrt/pull/15681 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* qualcommax: ipq807x: use ath11k_patch_mac for SXK80Andrew Smith2024-06-172-9/+10
| | | | | | | | Use ath11k_patch_mac and ath11k_set_macflag functions for SXK80 Signed-off-by: Andrew Smith <gul.code@outlook.com> Link: https://github.com/openwrt/openwrt/pull/15732 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: fix sysupgrade for ZBT-Z800AXChukun Pan2024-06-132-4/+13
| | | | | | | | | | | This router has two rootfs partitions and dualboot is used. Vendor firmware may swap the rootfs partition location, u-boot append 'ubi.mtd=rootfs' in the end of cmdline. Since we use fixed-partitions, force boot from the first rootfs partition to avoid boot failure. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/15700 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: wax620 and wax630: fix wifi mac addressKristian Skramstad2024-06-132-2/+17
| | | | | | | | | | | | The wifi radios on wax620 and wax630 got a random mac address on boot. So fix this by using ath11k_patch_mac and give a static mac address from label-mac-device. Tested and working on wax620 and wax630. Signed-off-by: Kristian Skramstad <kristian+github@83.no> Link: https://github.com/openwrt/openwrt/pull/15597 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: use ath11k_patch_mac for ZBT-Z800AXChukun Pan2024-06-032-5/+7
| | | | | | | | | Use ath11k_patch_mac and ath11k_set_macflag functions instead of fix_wifi_mac script. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/15580 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x support Netgear Orbi Pro SXK80Andrew Smith2024-05-229-0/+607
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for Netgear Orbi Pro SXR80 and SXS80 (collectively known as SXK80) Specifications: --------------- * CPU: Qualcomm IPQ8074A Quad core Cortex-A53 * RAM: 1024MB * Storage: SPI-NAND 512 MiB (Winbond W29N04GZ) * Ethernet: 4x 1G RJ45 ports (QCA8075) 1x 2.5G RJ45 LAN/WAN (QCA8081) * WLAN: - 2.4 GHz: Qualcomm QCN5024 4x4 - 2x 5 GHz: Qualcomm QCN5054 4x4 (second radio high channels only) * LEDs: - Power: (Green and red) - Front: (Blue, green, red and white) * Buttons: - 1x Soft reset - 1x Sync/WPS * Power: 12V DC Jack Installation instructions (Telnet): ----------------------------------- *Note, this guide assumes SXR80, for SXS80 change the firmware file name as appropriate 1. Put firmware file openwrt-qualcommax-ipq807x-netgear_sxr80-initramfs-uImage.itb in root of TFTP server available at 192.168.1.10. 2. Enable telnet by going to http://[ip of device]/debug.htm and clicking on the tickbox 'Enable telnet' 3. Telnet into the device and login using the same username and password as the web interface: 4. Run the following command: `fw_setenv bootcmd 'env default -a; saveenv; reset'` 5. Reboot the router, once the web interface is available again re-enable telnet via http://[ip of device]/debug.htm and telnet into the device. 6. Run the following command: `fw_printenv` It should look similar to the below: ``` baudrate=115200 bootargs=console=ttyMSM0,115200n8 bootcmd=mii write 0x0 0x0 0x800; sleep 1; nmrp; bootdni; boot_DNI_secureboot bootdelay=2 ipaddr=192.168.1.1 netmask=255.255.255.0 serverip=192.168.1.10 soc_version_major=2 soc_version_minor=0 ``` **If you see the message:** `Warning: Bad CRC, using default environment` **DO NOT CONTINUE, YOU WILL BRICK YOUR DEVICE** 7. Run the following command: `fw_setenv originalboot 'mii write 0x0 0x0 0x800; sleep 1; nmrp; bootdni; boot_DNI_secureboot'` (This should match what's in the bootcmd variable displayed in step 6) 8. Run the following commands: ``` fw_setenv wrttftp 'mii write 0x0 0x0 0x800; sleep 1; nmrp; if tftpboot openwrt-qualcommax-ipq807x-netgear_sxr80-initramfs-uImage.itb; then bootm; fi; bootdni; boot_DNI_secureboot' fw_setenv wrtboot 'mii write 0x0 0x0 0x800; sleep 1; nmrp; nand read 0x40000000 0x1980000 0x06d00000; bootm 0x40000000' fw_setenv bootcmd 'run wrttftp' ``` 9. Ensure SXR/S device is attached via ethernet (LAN port) to the same ethernet segment as the TFTP server. 10. Reboot the device, it should reboot into OpenWrt and be available on 192.168.1.1 11. Once OpenWrt has booted, update the bootcmd using the following command: `fw_setenv bootcmd 'run wrtboot'` 12. Flash the sysupgrade image 13. It should boot into OpenWrt References to SXK80 GPL source: https://www.downloads.netgear.com/files/GPL/SXK80-V3.2.0.108_gpl_src.tar.bz2.zip Signed-off-by: Flole Systems <flole@flole.de> Signed-off-by: Andrew Smith <gul.code@outlook.com> Link: https://github.com/openwrt/openwrt/pull/14939 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: sax1v1k: fix QCA8081 resetRobert Marko2024-05-211-0/+1
| | | | | | | | | | | | It seems that on Spectrum SAX1V1K QCA8081 is being brought out of reset too quickly and thus causing it to get stuck in an invalid autoneg register configuration mode. Setting an deasset delay seems to fix this, so lets set it. Fixes: #15493 Link: https://github.com/openwrt/openwrt/pull/15541 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: add support for Linksys MX8500Paweł Owoc2024-05-166-3/+547
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification: ======== SoC: Qualcomm IPQ8072A Flash: 512MB (Fidelix FMND4G08S3J-ID) RAM: 1GB (2x Kingston DDR3L D2516ECMDXGJD) Ethernet: 1x 10/100/1000/2500/5000Mbps (Marvell AQR114C) Ethernet: 4x 10/100/1000Mbps (Qualcomm QCA8075) WiFi1: 6GHz ax 4x4 (Qualcomm QCN9024 + Skyworks SKY85784-11) - channels 33-229 WiFi2: 5GHz ax 4x4 (Qualcomm QCN5054 + Skyworks SKY85755-11) - channels 36-177 WiFi3: 2.4GHz ax 4x4 (Qualcomm QCN5024 + Skyworks SKY8340-11) IoT: Bluetooth 5, Zigbee and Thread (NXP K32W041) 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_mx8500-squashfs-factory.bin image. More details can be found here: https://www.linksys.com/support-article?articleNum=47547 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_mx8500-squashfs-factory.bin kernel and in case of 1: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx8500-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_mx8500-squashfs-factory.bin or in case of 1: - flash_erase /dev/mtd23 0 0 - nandwrite -p /dev/mtd23 openwrt-qualcommax-ipq807x-linksys_mx8500-squashfs-factory.bin After first boot install firmware on second partition: - mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx8500-squashfs-factory.bin kernel or: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx8500-squashfs-factory.bin alt_kernel 3. Installation from initramfs image using USB drive: Put the initramfs image on the USB drive: - dd bs=1M if=openwrt-qualcommax-ipq807x-linksys_mx8500-initramfs-uImage.itb of=/dev/sda Stop u-boot and run: - usb start && usbboot $loadaddr 0 && bootm $loadaddr Write firmware to the flash from initramfs: - mtd -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx8500-squashfs-factory.bin kernel and: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx8500-squashfs-factory.bin alt_kernel 4. Back to the OEM firmware: - mtd -e kernel -n write FW_MX8500_1.0.11.208937_prod.img kernel and: - mtd -r -e alt_kernel -n write FW_MX8500_1.0.11.208937_prod.img alt_kernel 5. USB recovery: Put the initramfs image on the USB: - dd bs=1M if=openwrt-qualcommax-ipq807x-linksys_mx8500-initramfs-uImage.itb of=/dev/sda Set u-boot env: - fw_setenv bootusb 'usb start && usbboot $loadaddr 0 && bootm $loadaddr' - fw_setenv bootcmd 'run bootusb; if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi' AQR firmware: ======== 1. Firmware loading: To properly load the firmware and initialize AQR PHY, we must use the u-boot aq_load_fw function. To do this, you need to modify u-boot env: With USB recovery: - fw_setenv bootcmd 'aq_load_fw; run bootusb; if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi' and without: - fw_setenv bootcmd 'aq_load_fw; if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi' 2. Firmware updating: Newer firmware (AQR-G4_v5.6.5-AQR_WNC_SAQA-L2_GT_ID45287_VER24005.cld) is available in the latest OEM firmware. To load this firmware via u-boot, we need to add the MBN header and update 0:ethphyfw partition. For MBN header we can use script from this repository: https://github.com/testuser7/aqr_mbn_tool - python aqr_mbn_tool.py AQR-G4_v5.6.5-AQR_WNC_SAQA-L2_GT_ID45287_VER24005.cld To update partition we need to install kmod-mtd-rw package first: - insmod mtd-rw.ko i_want_a_brick=1 - mtd -e /dev/mtd26 -n write aqr_fw.mbn /dev/mtd26 Signed-off-by: Paweł Owoc <frut3k7@gmail.com> Link: https://github.com/openwrt/openwrt/pull/14883 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: define common Linksys MX devicePaweł Owoc2024-05-161-18/+15
| | | | | | | | Define common Linksys MX device for MX4200v1/v2 and MX5300. Signed-off-by: Paweł Owoc <frut3k7@gmail.com> Link: https://github.com/openwrt/openwrt/pull/14883 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: Remove unused gpio from QPIC pinsPaweł Owoc2024-05-161-0/+32
| | | | | | | | | Remove gpio16 from the default NAND pinctrl configuration as its unused and only needed for LCD. Signed-off-by: Paweł Owoc <frut3k7@gmail.com> Link: https://github.com/openwrt/openwrt/pull/14883 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: uboot-envtools: yuncore ax880Isaev Ruslan2024-04-301-0/+1
| | | | | | | | | | | | | | | | 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-291-6/+4
| | | | | | | | | | 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-271-2/+9
| | | | | | | | | | | | | | | | | 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-231-1/+7
| | | | | | 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-233-10/+13
| | | | | | | 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-235-2/+236
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-177-2/+481
| | | | | | | | | | | | | | | | | | | 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-122-27/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1197-23960/+0
| | | | | | | 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-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-055-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | 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-048-0/+477
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-291-2/+1
| | | | | | | 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-232-0/+2
| | | | | | | 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-221-0/+1
| | | | | | 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-221-0/+68
| | | | | | | | | | | | | | | | | | 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-221-1/+1
| | | | | | | 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-221-21/+60
| | | | | | 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-2288-6889/+106
| | | | | | | 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-2297-0/+23959
| | | | | | | | | | 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-2297-0/+0
| | | | | | | | 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-181-22/+10
| | | | | | | | | | | | | | 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-181-1/+1
| | | | | | | | 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-184-0/+4
| | | | | | | 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-188-19/+20
| | | | | | | 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-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>