aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/patches-5.4
Commit message (Collapse)AuthorAgeFilesLines
* ipq806x: fix dedicated cpufreq driverAnsuel Smith2021-06-302-17/+19
| | | | | | | | | 2 small fix for the dedicated cpufreq driver: - Fix index wrongly used as the current cpu - Exit early if a bad freq is detected. In the current state the freq is applied anyway even with invalid state. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: fix missing changes in 5.4 for new cpufreq implementationAnsuel Smith2021-06-302-25/+57
| | | | | | | | | | The new cpufreq dedicated driver changed the node structure on how the cache should be defined in the dts. The 5.4 dtsi addition patch has not been updated to follow the new implementation. Fix this to restore correct cache scaling and restore any performance regression. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: add support for Askey RT4230W REV6Lauro Moreno2021-06-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the Askey RT4230W REV6 (Branded by Spectrum/Charter as RAC2V1K) At this time, there's no way to reinstall the stock firmware so don't install this on a router that's being rented. Specifications: Qualcomm IPQ8065 1 GB of RAM (DDR3) 512 MB Flash (NAND) 2x Wave 2 WiFi cards (QCA9984) 5x 10/100/1000 Mbps Ethernet (Switch: QCA8337) 1x LED (Controlled by a microcontroller that switches it between red and blue with different patterns) 1x USB 3.0 Type-A 12V DC Power Input UART header on PCB - pinout from top to bottom is RX, TX, GND, 5V Port settings are 115200n8 More information: https://forum.openwrt.org/t/askey-rac2v1k-support/15830 https://deviwiki.com/wiki/Askey_RAC2V1K To check what revision your router is, restore one of these config backups through the stock firmware to get ssh access then run "cat /proc/device-tree/model". https://forum.openwrt.org/t/askey-rac2v1k-support/15830/17 The revision number on the board doesn't seem to be very consistent so that's why this is needed. You can also run printenv in the uboot console and if machid is set to 177d, that means your router is rev6. Note: Don't install this if the router is being rented from an ISP. The defined partition layout is different from the OEM one and even if you changed the layout to match, backing up and restoring the OEM firmware breaks /overlay so nothing will save and the router will likely enter a bootloop. How to install: Method 1: Install without opening the case using SSH and tftp You'll need: RAC2V1K-SSH.zip: https://github.com/lmore377/openwrt-rt4230w/blob/master/RAC2V1K-SSH.zip initramfs and sysupgrade images Connect to one of the router's LAN ports Download the RAC2V1K-SSH.zip file and restore the config file that corresponds to your router's firmware (If you're firmware is newer than what's in the zip file, just restore the 1.1.16 file) After a reboot, you should be able to ssh into the router with username: "4230w" and password: "linuxbox" or "admin". Run the following commannds fw_setenv ipaddr 10.42.0.10 #IP of router, can be anything as long as it's in the same subnet as the server fw_setenv serverip 10.42.0.1# #IP of tftp server that's set up in next steps fw_setenv bootdelay 8 fw_setenv bootcmd "tftpboot initramfs.bin; bootm; bootipq" Don't reboot the router yet. Install and set up a tftp server on your computer Set a static ip on the ethernet interface of your computer (use this for serverip in the above commands) Rename the initramfs image to initramfs.bin, and host it with the tftp server Reboot the router. If you set up everything right, the router led should switch over to a slow blue glow which means openwrt is booted. If for some reason the file doesn't get loaded into ram properly, it should still boot to the OEM firmware. After openwrt boots, ssh into it and run these commands: fw_setenv bootcmd "setenv mtdids nand0=nand0 && setenv mtdparts mtdparts=nand0:0x1A000000@0x2400000(firmware) && ubi part firmware && ubi read 0x44000000 kernel 0x6e0000 && bootm" fw_setenv bootdelay 2 After openwrt boots up, figure out a way to get the sysupgrade file onto it (scp, custom build with usb kernel module included, wget, etc.) then flash it with sysupgrade. After it finishes flashing, it should reboot, the light should start flashing blue, then when the light starts "breathing" blue that means openwrt is booted. Method 2: Install with serial access (Do this if something fails and you can't boot after using method 1) You'll need: initramfs and sysupgrade images Serial access: https://openwrt.org/inbox/toh/askey/askey_rt4230w_rev6#opening_the_case Install and set up a tftp server Set a static ip on the ethernet interface of your computer Download the initramfs image, rename it to initramfs.bin, and host it with the tftp server Connect the wan port of the router to your computer Interrupt U-Boot and run these commands: setenv serverip 10.42.0.1 (You can use whatever ip you set for the computer) setenv ipaddr 10.42.0.10 (Can be any ip as long as it's in the same subnet) setenv bootcmd "setenv mtdids nand0=nand0 && set mtdparts mtdparts=nand0:0x1A000000@0x2400000(firmware) && ubi part firmware && ubi read 0x44000000 kernel 0x6e0000 && bootm" saveenv tftpboot initramfs.bin bootm After openwrt boots up, figure out a way to get the sysupgrade file onto it (scp, custom build with usb kernel module included, wget, etc.) then flash it with sysupgrade. After it finishes flashing, it should reboot, the light should start flashing blue, then when the light starts "breathing" blue that means openwrt is booted. Signed-off-by: Lauro Moreno <lmore377@gmail.com> [add entry in 5.10 patch, fix whitespace issues] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.120John Audia2021-05-231-1/+1
| | | | | | | | | | | | | | | Removed upstreamed: generic/pending-5.4/770-02-net-ethernet-mtk_eth_soc-fix-rx-vlan-offload.patch All other patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Note that since I rebased the previous commit, I removed my Run-tested line although I confirm building the image successfully. Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.4 to 5.4.117John Audia2021-05-093-30/+10
| | | | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* ipq806x: dwmac: fix GMACs connected via SGMII fixed-linkMark Mentovai2021-05-081-6/+56
| | | | | | | | | | | | | | | | | | | | | | fa731838c524 cleared the forced speed in the QSGMII PCS_ALL_CH_CTL register during probe, but this is only correct for GMACs that are not configured with fixed-link. This prevented GMACs configured with both phy-mode = "sgmii" and fixed-link from working properly, as discussed at https://github.com/openwrt/openwrt/pull/3954#issuecomment-834625090 and the comments that follow. Notably, this prevented all communication between gmac2 and the switch on the Netgear R7800. The correct behavior is to set the QSGMII PCS_ALL_CH_CTL register by considering the gmac's fixed-link child, setting the speed as directed by fixed-link if present, and otherwise clearing it as was done previously. Fixes: fa731838c524 ("ipq806x: dwmac: clear forced speed during probe") Signed-off-by: Mark Mentovai <mark@moxienet.com> Tested-by: Hannu Nyman <hannu.nyman@iki.fi> Run-tested: ipq806x/ubnt,unifi-ac-hd, ipq806x/netgear,r7800 Cc: Petr Štetiar <ynezz@true.cz> Cc: Ansuel Smith <ansuelsmth@gmail.com> Tested-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: backport cpufreq changes to 5.4Ansuel Smith2021-05-0710-609/+984
| | | | | | | The new cpufreq driver requires different dts bindings. Backport the new driver to kernel 5.4 Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: backport mtd adm and smem driverAnsuel Smith2021-05-075-444/+399
| | | | | | | | | - Backport mtd adm driver from kernel 5.12 - Backport mtd parser smem from kernel 5.11 - Fix mtd rootfs patch - Update qcom,smem compatible to qcom,smem-parts Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: Add "snps,dwmac" to all gmac compatible=Mark Mentovai2021-05-071-2/+2
| | | | | | | | | | | | | | | This was introduced to gmac2 and gmac3 in 57ea767a53c1 without fanfare. There's no indication of why it was added to those devices, but not to gmac0 or gmac1. It was probably an unintentional omission. It should be present on all four gmac devices. This property is considered by drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c stmmac_probe_config_dt. Signed-off-by: Mark Mentovai <mark@moxienet.com> Build-tested: ipq806x/ubnt,unifi-ac-hd Run-tested: ipq806x/ubnt,unifi-ac-hd
* ipq806x: dwmac: clear forced speed during probeMark Mentovai2021-05-071-0/+33
| | | | | | | | | | | | | | | | | | | | | | On a Ubiquiti UniFi AC HD (ubnt,unifi-ac-hd, UAP-AC-HD, UAP301), a forced speed on gmac1 is set in the QSGMII PCS_ALL_CH_CTL register, presumably by the bootloader (4.3.28), preventing the interface from being usable. The QSDK NSS GMAC driver takes care to clear the forced speed in nss_gmac_qsgmii_dev_init (https://source.codeaurora.org/quic/qsdk/oss/lklm/nss-gmac/tree/ipq806x/nss_gmac_init.c?h=nss at d5bb14925861). gmac1 is connected to the port on the device labeled SECONDARY, and is currently eth0 but will be switched to eth1 by a subsequent patch. By clearing the QSGMII PCS forced speed during dwmac initialization when SGMII is in use, this port becomes usable. This patch is upstreamable, and will be sent upstream after successful testing in OpenWrt. Signed-off-by: Mark Mentovai <mark@moxienet.com> Build-tested: ipq806x/ubnt,unifi-ac-hd Run-tested: ipq806x/ubnt,unifi-ac-hd
* kernel: bump 5.4 to 5.4.109John Audia2021-04-021-1/+1
| | | | | | | | | | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Manually rebased: pending-5.4/611-netfilter_match_bypass_default_table.patch The upstream change affecting this patch is the revert of an earlier kernel commit. Therefore, we just revert our corresponding changes in [1]. Build system: x86_64 Build-tested: ipq806x/R7800 [1] 9b1b89229f0e ("kernel: bump 5.4 to 5.4.86") Signed-off-by: John Audia <graysky@archlinux.us> [adjust manually rebased patch, add explanation] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: backport 5.13 mtd partitioning changesRafał Miłecki2021-03-291-2/+2
| | | | | | | | 1. Use upstream accepted NVMEM patches 2. Minor fix for BCM4908 partitioning 3. Support for Linksys firmware partitions on Northstar Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel-5.4: bump to 5.4.102 and refresh patchesJason A. Donenfeld2021-03-044-10/+10
| | | | | | | | | | | | | | 5.4.102 backported a lot of stuff that our WireGuard backport already did, in addition to other patches we had, so those patches were removed from that part of the series. In the process other patches were refreshed or reworked to account for upstream changes. This commit involved `update_kernel.sh -v -u 5.4`. Cc: John Audia <graysky@archlinux.us> Cc: David Bauer <mail@david-bauer.net> Cc: Petr Štetiar <ynezz@true.cz> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* kernel: add the latest mtd patch extending ofpart parserRafał Miłecki2021-03-011-2/+2
| | | | | | | | | | | | This adds the latest version of ofpart commit. It hopefully 1. Doesn't break compilation 2. Doesn't break partitioning (this time). It's required to implement fixed partitioning with some quirks. It's required by bcm53xx, bcm4908, kirkwood, lantiq and mvebu. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* ipq806x: add support for Ubiquiti UniFi AC HDJan Alexander2021-01-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SoC: Qualcomm IPQ8064 RAM: 512MB DDR3 Flash: 256MB NAND (Micron MT29F2G08ABBEAH4) 32MB SPI-NOR (Macronix MX25U25635F) WLAN: Qualcomm Atheros QCA9994 4T4R b/g/n Qualcomm Atheros QCA9994 4T4R a/n/ac ETH: eth0 - SECONDARY (Atheros AR8033) eth1 - MAIN (Atheros AR8033) USB: USB-C LED: Dome (white / blue) BTN: Reset Installation ------------ Copy the OpenWrt sysupgrade image to the /tmp directory of the device using scp. Default IP address is 192.168.1.20 and default username and password are "ubnt". SSH to the device and write the bootselect flag to ensure it is booting from the mtd partition the OpenWrt image will be written to. Verify the output device below matches mtd partition "bootselect" using /proc/mtd. > dd if=/dev/zero bs=1 count=1 seek=7 conv=notrunc of=/dev/mtd11 Write the OpenWrt sysupgrade image to the mtd partition labeled "kernel0". Also verify the used partition device using /proc/mtd. > dd if=/tmp/sysupgrade.bin of=/dev/mtdblock12 Reboot the device. Back to stock ------------- Use the TFTP recovery procedure with the Ubiquiti firmware image to restore the vendor firmware. Signed-off-by: Jan Alexander <jan@nalx.net>
* ipq806x: fix 900-arm-add-cmdline-override.patchPawel Dembicki2021-01-011-11/+11
| | | | | | | | | | | | 900-arm-add-cmdline-override.patch have missplaced entry in arch/arm/Kconfig file. It causes problem with other cmdline patches. This patch put Kconfig entry in correct place. Fixes: 98b86296e67d ("ipq806x: add support for ASRock G10") Suggested-by: Hannu Nyman <hannu.nyman@iki.fi> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> Tested-by: Hannu Nyman <hannu.nyman@iki.fi> (run-tested for R7800)
* kernel: bump 5.4 to 5.4.86Adrian Schmutzler2021-01-013-3/+4
| | | | | | | | | | | | | | | | | Removed upstreamed patches: pending-5.4/499-mtd-parser-cmdline-Fix-parsing-of-part-names-with-co.patch Manually merged: pending-5.4/611-netfilter_match_bypass_default_table.patch layerscape/302-dts-0112-arm64-dts-fsl-ls1028a-prepare-dts-for-overlay.patch Build-tested: ipq806x/R7800, bcm27xx/bcm2711, ath79/{generic,tiny}, ipq40xx, octeon, ramips/mt7621, realtek, x86/64 Run-tested: ipq806x/R7800, realtek Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: John Audia <graysky@archlinux.us> Tested-by: Stijn Segers <foss@volatilesystems.org>
* ipq806x: add support for NEC Platforms Aterm WG2600HP3Yanase Yuki2020-12-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NEC Platforms Aterm WG2600HP3 is a dual-band router based on Qualcomm IPQ8062. Specification ------------- - SoC: Qualcomm IPQ8062 - RAM: 512MiB - Flash memory: SPI-NOR 32MiB (Cypress S25FL256S) - Wi-Fi: Qualcomm QCA9984 (2.4GHz, 1ch - 13ch) - Wi-Fi: Qualcomm QCA9984 (5GHz, 36ch - 64ch, 100ch - 140ch) - Ethernet: 4x 100/1000 Mbps (1x WAN, 4x LAN) - LED: 6x green LED, 6x red LED - Input: 2x tactile switch, 1x SP3T slide switch - Serial console: 115200bps, through-hole J3 - [ ] [GND] [ ] [TX] [RX] ----> DC jack - Power: DC 12V 1.5A This device does not support VHT160 and VHT80+80. Custom BDFs are required to limit VHT capabilities. Flash instructions ------------------ 1. Setup TFTP server (IP address: 192.168.1.2) 2. Put initramfs image into TFTP server directory 3. Connect WG2600HP3 lan port and computer that runs TFTP server 4. Connect to the serial console 5. Interrupt booting by Esc key (password: chiron) 6. Execute the following commands # setenv bootcmd "nboot 0x44000000 1 0x860000" # saveenv # setenv ipaddr 192.168.1.1 # setenv serverip 192.168.1.2 # tftpboot 0x44000000 openwrt-ipq806x-generic-nec_wg2600hp3-initramfs-uImage 7. After booting OpenWrt initramfs image, backup SPI-NOR flash memory 8. Erase firmware partition # mtd erase firmware 9. Run sysupgrade Signed-off-by: Yanase Yuki <dev@zpc.sakura.ne.jp>
* ipq806x: add support for ASRock G10Christian Lamparter2020-12-223-3/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ASRock G10 is a 2.4/5 GHz band 11ac "Gaming" router, based on Qualcomm IPQ8064. Specifications: SoC: Qualcomm IPQ8064 CPU: Dual-Core A15 @ (384 - 1,400 MHz, 2C2T) DRAM: 512 MiB (~467 MiB available) NAND: 128 MB (Micron MT29F1G08ABBEAH4) WLAN0: 4T4R 5 GHz Wlan (QCA9980) WLAN1: 4T4R 2.4 GHz Wlan (QCA9980) ETH: 5x 10/100/1000 Mbps Ethernet (QCA8337) INPUT: Reset Button, WPS 2.4G and WPS 5G Button LEDS: 1 multicolor status LED USB: 2x USB 3.0 Type-A POWER: 12VDC/3A AC Adapter + dedicated Power Switch UART: Setting is 115200-8-N-1. 1x4 .1" unpopulated header on the PCB (J6 - very tiny silkscreen next to TX). Pinout: 1. 3v3 (Square - best skipped!), 2. RX, 3. GND, 4. TX WARNING: The serial port needs a TTL/RS-232 3.3v level converter! (Depending on the serial adapter RX and TX might need to be swapped). Note about the IR-Remote: There's a 8-Bit MCU (SONIX SN8F25E21SG) which is controlling the IR-Remote and is fed by the IR-Photodiode. The SoC can talk to the device via I2C. The vendor's GPL archive comes with the source of the interface driver for this as a (character driver), the main control software is however a blob. Installation Instructions: 1. Download factory image to disk 2. Apply factory image via stock web-gui Back to stock: 1. Login to router via ssh 2. run "asrock_g10_back_to_factory" script from /sbin Notes: - If something goes wrong durring sysupgrade, router will go back to factory image. - Asrock G10 uses partition layout from smem. So partition layout can be normal or alternate. - 900-arm-add-cmdline-override.patch was copied from 102-powerpc-add-cmdline-override.patch from powerpc target. Knowledge about BOOTCONFIG partition was based on user "jmomo" post from old OpenWrt forum (Post #50): https://forum.archive.openwrt.org/viewtopic.php?id=65956&p=2 Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [bump to 5.4, add factory image, fix sysupgrade, convert partition layout to smem, remove ipq-wifi-asrock-g10 and use ART, minor fixes] Co-Authored-by: Pawel Dembicki <paweldembicki@gmail.com> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> Tested-by: Lukasz Ostapiuk <palibrzuch@gmail.com>
* kernel: bump 5.4 to 5.4.79John Audia2020-11-247-59/+13
| | | | | | | | | | | | | | | | | | | | | | | Manually rebased patches: ath79/patches-5.4/910-unaligned_access_hacks.patch bcm27xx/patches-5.4/950-0135-spi-spi-bcm2835-Disable-forced-software-CS.patch bcm27xx/patches-5.4/950-0414-SQUASH-Fix-spi-driver-compiler-warnings.patch ipq806x/patches-5.4/093-4-v5.8-ipq806x-PCI-qcom-Use-bulk-clk-api-and-assert-on-error.patch Removed since could be reverse-applied by quilt and found to be included upstream: ipq806x/patches-5.4/096-PCI-qcom-Make-sure-PCIe-is-reset-before-init-for-rev.patch All modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [refresh altered targets after rebase] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.75John Audia2020-11-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manually rebased patches: bcm27xx: patches-5.4/950-0267-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch bcm53xx: patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch layerscape: patches-5.4/802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch patches-5.4/808-i2c-0002-MLK-10893-i2c-imx-add-irqf_no_suspend.patch patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch Removed since could be reverse-applied by quilt: mediatek: patches-5.4/0700-arm-dts-mt7623-add-missing-pause-for-switchport.patch All modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711, x86_64 Run-tested: ipq806x/R7800, x86_64 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Curtis Deptuck <curtdept@me.com> [x86_64] Rebase of 802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* kernel: bump 5.4 to 5.4.73John Audia2020-11-013-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed upstreamed patches: generic/pending-5.4 445-mtd-spinand-gigadevice-Only-one-dummy-byte-in-QUA.patch 446-mtd-spinand-gigadevice-Add-QE-Bit.patch pistachio/patches-5.4 150-pwm-img-Fix-null-pointer-access-in-probe.patch Manually rebased: layerscape/patches-5.4 801-audio-0011-Revert-ASoC-fsl_sai-add-of_match-data.patch 801-audio-0039-MLK-16224-6-ASoC-fsl_sai-fix-DSD-suspend-resume.patch 801-audio-0073-MLK-21957-3-ASoC-fsl_sai-add-bitcount-and-timestamp-.patch 820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh.patch All modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711, mvebu (mamba, rango), x86_64, ramips/mt7621 Run-tested: ipq806x/R7800, mvebu (mamba, rango), x86_64, ramips (RT-AC57U) No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [alter 820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: fix pci broken on bootm commandAnsuel Smith2020-10-191-0/+51
| | | | | | | | Pci is broken when bootm is used instead of the custom bootipq. This is caused by the lack of reset by the bootloader. Make the driver do the reset to fix this specific problem. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* kernel: bump 5.4 to 5.4.69John Audia2020-10-023-5/+5
| | | | | | | | | | | | | | | | | | | | | | Seemingly unneeded based on new upstream code so manually deleted: layerscape: 820-usb-0007-usb-dwc3-gadget-increase-timeout-value-for-send-ep-c.patch Manually merged: generic-hack: 251-sound_kconfig.patch All other modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711 Run-tested: ipq806x/R7800, lantiq/Easybox 904 xDSL No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [add lantiq test report, minor commit message clarification] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.66John Audia2020-09-192-8/+4
| | | | | | | | | | | | All modifications made by update_kernel.sh/no manual intervention needed Run-tested: ipq806x (R7800), ath79 (Archer C7v5), x86/64 No dmesg regressions, everything appears functional Signed-off-by: John Audia <graysky@archlinux.us> [add run test from PR] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: add Edgecore ECW5410 supportRobert Marko2020-09-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the Edgecore ECW5410 indoor AP. Specification: - SoC: Qualcomm Atheros IPQ8068 ARMv7 2x Cortex A-15 - RAM: 256MB(225 usable) DDR3 - NOR Flash: 16MB SPI NOR - NAND Flash: 128MB S34MS01G2 Parallel NAND - Ethernet: 2 x 1G via 2x AR8033 PHY-s connected directly to GMAC2 and GMAC3 via SGMII (802.3af POE IN on eth0) - USB: 1 x USB 3.0 SuperSpeed - WLAN: 2x QCA9994 AC Wawe 2 (1x 2GHz bgn, 1x 5GHz acn) - CC2540 BLE - UART console on RJ45 next to ethernet ports exposed. Its Cisco pin compatible, 115200 8n1 baud. Installation instructions: Through stock firmware or initramfs. 1.Connect to console 2. Login with root account, if password is unknown then interrupt the boot with f and reset it in failsafe. 3. Transfer factory image 4. Flash the image with ubiformat /dev/mtd1 -y -f <your factory image path> This will replace the rootfs2 with OpenWrt, if you are currently running from rootfs2 then simply change /dev/mtd1 to /dev/mtd0 Note Initramfs: 1. Connect to console 2. Transfer the image from TFTP server with tftpboot, or by using DHCP advertised image with dhcp command. 3. bootm 4. Run ubiformat /dev/mtd1 You need to interrupt the bootloader after rebooting and run: run altbootcmd This will switch your active rootfs partition to one you wrote to and boot from it. So if rootfs1 is active, then it will change it to rootfs2. This will format the rootfs2 partition, if your active partition is 2 then simply change /dev/mtd1 with /dev/mtd0 If you dont format the partition you will be writing too, then sysupgrade will find existing UBI rootfs and kernel volumes and update those. This will result in wrong ordering and OpenWrt will panic on boot. 5. Transfer sysupgrade image 6. Flash with sysupgrade -n. Note that sysupgrade will write the image to rootfs partition that is not currently in use. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq806x: import bootargs-append from IPQ40xxRobert Marko2020-09-171-0/+14
| | | | | | | | | | | | | This imports the patch that adds bootargs-append support from IPQ40xx. This way we can append additional boot arguments from DTS instead of only being able to overwrite them. This way dual firmware devices can use the rootfs number that bootloader passes to decide from what to boot. But we still need to append console info and ubi root info. This is used by Edgecore ECW5410. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq806x: add GSBI1 node to DTSIRobert Marko2020-09-171-0/+46
| | | | | | | | IPQ806x series also has a GSBI1 with UART and I2C peripherals, so lets add the node for it. Its needed for Edgecore ECW5410 which uses the UART from GSBI1 as second UART for Bluetooth. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* kernel: bump 5.4 to 5.4.63John Audia2020-09-063-237/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Manually merged: hack-5.4 230-openwrt_lzma_options.patch bcm27xx 950-0283-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch x86 011-tune_lzma_options.patch Remove upstreamed patches in collaboration with Ansuel Smith: ipq806x 093-1-v5.8-ipq806x-PCI-qcom-Add-missing-ipq806x-clocks-in-PCIe-driver.patch 093-2-v5.8-ipq806x-PCI-qcom-Change-duplicate-PCI-reset-to-phy-reset.patch 093-3-v5.8-ipq806x-PCI-qcom-Add-missing-reset-for-ipq806x.patch All other modifications made by update_kernel.sh Build-tested: bcm27xx/bcm2708, ipq806x, x86/64 Run-tested: ipq806x (R7800), x86/64 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [update commit message/tested] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.61John Audia2020-08-302-3/+3
| | | | | | | | | | | | | | | | | | | Manually merged: backport-5.4 011-kbuild-export-SUBARCH.patch layerscape 701-net-0262-net-dsa-ocelot-add-tagger-for-Ocelot-Felix-switches.patch All other modifications made by update_kernel.sh Build-tested: x86/64, lantiq/xrx200, ramips/mt7621 Run-tested: ipq806x (R7800), lantiq/xrx200, x86/64, ramips (RT-AC57U) No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [minor commit message adjustments] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.60Adrian Schmutzler2020-08-246-206/+86
| | | | | | | | | | | | | | | | | | | | Deleted upstream patches: generic: 041-genirq-affinity-Make-affinity-setting-if-activated-o.patch ipq806x: 093-5-v5.8-ipq806x-PCI-qcom-Define-some-PARF-params-needed-for-ipq8064-SoC.patch 093-6-v5.8-ipq806x-PCI-qcom-Add-support-for-tx-term-offset-for-rev-2_1_0.patch Merged manually: ipq806x: 093-4-v5.8-ipq806x-PCI-qcom-Use-bulk-clk-api-and-assert-on-error.patch layerscape: 804-crypto-0016-MLKU-114-1-crypto-caam-reduce-page-0-regs-access-to-.patch Build-tested: ath79/generic, ipq806x, layerscape/armv7, layerscape/armv8_64b Run-tested: ipq806x (R7800) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: replace pci patchset with upstream versionAnsuel Smith2020-08-2416-562/+610
| | | | | | | | | | | | | | | | | | | | | Changes: - Update patches - Update dts with new binding Tx term offset dropped and replaced with a new compatible Removed: - 0071-5-PCI-qcom-Programming-the-PCIE-iATU-for-IPQ806x Pci init does the same exact thing (was needed in older kernel version) - 0071-7-pcie-Set-PCIE-MRRS-and-MPS-to-256B Rejected upstream, can't find any reason to have this. No regression with testing it on R7800. Tested on R7800 (ipq8065), R7500 v2 ("ipq8064-v2") Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Tested-by: Paul Blazejowski <paulb@blazebox.homeip.net> [R7800] [rebase and refresh] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.59Adrian Schmutzler2020-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | Removed since added upstream: bcm27xx: 950-0428-staging-vchiq_arm-Add-a-matching-unregister-call.patch lantiq: 0800-spi-lantiq-ssc-Fix-warning-by-using-WQ_MEM_RECLAI.patch Manually adjusted patches: layerscape: 801-audio-0005-Revert-ASoC-fsl_sai-Add-support-for-SAI-new-version.patch Build-tested: ath79/generic, ramips, lantiq/xrx200, lantiq/xway, mvebu/cortexa9, sunxi/a53 Run-tested: ipq806x (R7800), layerscape (LS1012A-FRDM, LS1046A-RDB) Building on layerscape is only possible with workaround from PR #3179. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-By: John Audia <graysky@archlinux.us> [ipq806x] Tested-by: Pawel Dembicki <paweldembicki@gmail.com> [layerscape]
* ipq806x: replace nvmem qcom patch with upstream versionAnsuel Smith2020-08-133-86/+123
| | | | | | | | | | - Replace nvmem qcom patch with upstream version - Update compatible Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> [refresh patches, minor commit message rewording] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Paul Blazejowski <paulb@blazebox.homeip.net> [R7800]
* ipq806x: replace phy dwc3 patch with upstream versionAnsuel Smith2020-08-135-651/+660
| | | | | | | | | | | | - Replace dwc3 phy patch with upstream version - Rework the dts to use the upstream bindings - Update changed config flags - Rename module to reflect config name Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> [fix qcom,tx-deamp_3_5db typo, refresh patches, rename kmod] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Paul Blazejowski <paulb@blazebox.homeip.net> [R7800]
* ipq806x: replace patches with upstream versionAnsuel Smith2020-08-088-166/+218
| | | | | | | | Replace all the custom patches with the backported upstream version Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> [refresh patches] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: use qcom-ipq8064-v1.0.dtsi from upstreamAdrian Schmutzler2020-08-052-0/+115
| | | | | | | | | | | | | | | | | This uses upstream qcom-ipq8064-v1.0.dtsi and modifies it by patches instead of keeping a local version. As a consequence: - we use a part of the shared definitions there and update device DTS files accordingly - we move additional stuff from our local v1.0.dtsi to the patch - we drop partitions, LEDs and keys from the file as we will implement them differently anyway Like with the previous patch, this follows the idea that a diff from upstream might be easier to handle than a big file of our own with different distribution pattern of properties. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: use qcom-ipq8064.dtsi from upstreamAdrian Schmutzler2020-08-054-1/+1152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Though a qcom-ipq8064.dtsi file exists upstream, we still do overwrite it with a full version of our own in the ipq806x target. About half of the contents of our file are upstream content, the other half are local improvements. To prevent us from having a lot of code maintained twice in parallel, this adjusts the target to use the upstream qcom-ipq8064.dtsi. Our local changes are arranged into three patches, the first pulling a commit from upstream, the second doing a few small adjustments, and the third adding all additional stuff. This should get us the best of both worlds. The property "ports-implemented" on sata@29000000 is moved to 2nd-level DTSI files as kernel defines it there as well. While at, rename 080-ARM-dts-qcom-add-gpio-ranges-property.patch to include the kernel version where it's added upstream. Even though this might look more complicated in the first place, the aim is to bring our files closer to upstream, so we can benefit from changes directly and vice-versa. After all, this drop about 650 lines just copied from the upstream DTSI file. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: add support for Linksys EA7500 V1Pawel Dembicki2020-07-082-22/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the Linksys EA7500 V1 router. Specification: - CPU: Qualcomm IPQ8064 - RAM: 256MB - Flash: NAND 128MB - WiFi: QCA9982 an+ac + QCA9983 bgn - Ethernet: 5 GBE Ports (WAN+ 4xLAN) (QCA8337) - USB: 1x USB 3.0 1x USB2.0 - Serial console: RJ-45 115200 8n1 (1V8 Voltage level) - 2 Buttons - 1 LED Known issues: - Some devices won't flash via web gui Installation: - Newer stock images doesn't allow to install custom firmware. - Please downgrade software to 1.1.2 version. Official firmware: https://downloads.linksys.com/downloads/firmware/FW_EA7500_1.1.2.172843_prod.gpg.img - Do it two times to downgrade all stored images. - Apply factory image via web-gui. Serial + TFTP method: - downgrade to 1.1.2 two times - connect ehternet and serial cable - set ip address of tftp server to 192.168.1.254 - put openwrt factory image to tftp folder and rename it to macan.bin - stop device while booting in u-boot - run command: "run flashimg" - run command: "setenv boot_part 1" - run command "saveenv" - reset Back to stock: - Please use old non-gpg image like this 1.1.2: https://downloads.linksys.com/downloads/firmware/FW_EA7500_1.1.2.172843_prod.img - ssh to router and copy image to tmp - use sysupgrade -n -F Tested by github users: @jack338c and @grzesiczek1 Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [removed i2c4_pins, mdio0_pins, nand_pins, rgmii2_pins from DTSI] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: Update kernel 5.4 to version 5.4.50Hauke Mehrtens2020-07-041-1/+1
| | | | | | | Run tested: ath79, ipq40xx Build tested: ath79, ipq40xx Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: properly insert local mtd partition parsersAdrian Schmutzler2020-05-251-16/+16
| | | | | | | | | | | | | | | | Between 4.19 and 5.4, the kernel moved the partition parsers into the parsers subdirectory. This led to some necessary rebasing of our local patches for parsers, which partially has been performed without caring about where the code was inserted. This commit tries to adjust our local patches so that parsers are inserted at the "proper" positions with respect to alphabetic sorting (if possible). Thus, the commit is cosmetic. While this might look useless now, it will make life easier when adding other parsers in the future or for rebasing on kernel changes. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.28Petr Štetiar2020-03-281-79/+0
| | | | | | | | | | | | | | | | | | | | Changelog since 5.4.24 mentions CVE-2019-19769, CVE-2020-8648, CVE-2020-8649 and CVE-2020-8647. Removed upstreamed: generic: 507-v5.6-iio-chemical-sps30-fix-missing-triggered-buffer-depe.patch generic: 600-ipv6-addrconf-call-ipv6_mc_up-for-non-Ethernet-inter.patch bcm27xx: 950-0435-ASoC-pcm512x-Fix-unbalanced-regulator-enable-call-in.patch ipq806x: 701-stmmac-fix-notifier-registration.patch lantiq: 002-pinctrl-falcon-fix-syntax-error.patch octeontx: 0002-net-thunderx-workaround-BGX-TX-Underflow-issue.patch Run tested: apu2, qemu-x86-64, apalis, a64-olinuxino, nbg6617 Build tested: sunxi/a53, imx6, x86/64, ipq40xx Tested-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> [apu2] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: bump 5.4 to 5.4.24Koen Vandeputte2020-03-092-20/+10
| | | | | | | | | Refreshed all patches. Compile-tested on: imx6 Runtime-tested on: imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ipq806x: fix broken stmmac notifierAnsuel Smith2020-03-031-0/+84
| | | | | | | Backport a patch in 5.6 to fix stmmac notifier registration Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: add patch to fix broken usb3Ansuel Smith2020-03-031-0/+29
| | | | | | | | | Due to changes in syscon driver, the phy dwc3 driver needs to use device_node_to_regmap since it has to skip the new introduced clk check. This fix broken usb3 on this target. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: add patch to disable pretimeout on timer platformAnsuel Smith2020-03-031-0/+98
| | | | | | | | | Currently the watchdog timer is broken as it tries to get an interrupt to setup pretimeout. Since our platform have a different type of interrupt disable it and use legacy watchdog probe. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: add ipq806x mdio driverAnsuel Smith2020-03-031-0/+206
| | | | | | | | | This was created by Chunkeey some time ago. Since mdio driver works or doesn't work and since this was tested by me for 1 year, include it to remove the use of the generic bitbang gpio driver for switch driver. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: fix tsens driverAnsuel Smith2020-03-035-178/+231
| | | | | | | | | | Rework tsens driver. Since in the new kernel 5.4 init common do more than it should, inizialize the kernel memory directly in the driver and drop use of this function. Rework all the patch with the new variable names. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: rework L2 cache patchAnsuel Smith2020-03-031-16/+54
| | | | | | | | Rework l2 scaling patch to fix some compile warning and to imporve the caling timings by removing call to unnecessary function. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: update nvmem cpufreq driverAnsuel Smith2020-03-031-31/+36
| | | | | | | Rework the nvmem cpufreq driver to reflect changed in kernel 5.4 Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>