aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq40xx
Commit message (Collapse)AuthorAgeFilesLines
* ipq40xx: limit frequencies for Asus LyraMarius Genheimer2019-03-132-0/+4
| | | | | | | The Asus Lyra has filters in the antenna paths which limits the usable frequencies on both 5GHz radios. Signed-off-by: Marius Genheimer <mail@f0wl.cc>
* ipq40xx: add support for AVM FRITZ!Repeater 3000David Bauer2019-03-138-4/+547
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- CPU: Qualcomm IPQ4019 RAM: 256M (NANYA NT5CC128M16JR-EK) FLASH: 128M NAND (Macronix MX30LF1G18AC-XKI) ETH: Qualcomm QCA8072 WiFi2: IPQ4019 2T2R 2SS b/g/n WiFi5: IPQ4019 2T2R 2SS n/ac WiFi5: QCA9984 4T4R 4SS n/ac LED: - Connect green/blue/red - Power green BTN: WPS/Connect UART: 115200n8 3.3V VCC - RX - TX - GND (Square is VCC) Installation ------------ 1. Grab the uboot for the Device from the 'u-boot-fritz3000' subdirectory. Place it in the same directory as the 'eva_ramboot.py' script. It is located in the 'scripts/flashing' subdirectory of the OpenWRT tree. 2. Assign yourself the IP address 192.168.178.10/24. Connect your Computer to one of the boxes LAN ports. 3. Connect Power to the Box. As soon as the LAN port of your computer shows link, load the U-Boot to the box using following command. > ./eva_ramboot.py --offset 0x85000000 192.168.178.1 uboot-fritz3000.bin 4. The U-Boot will now start. Now assign yourself the IP address 192.168.1.70/24. Copy the OpenWRT initramfs (!) image to a TFTP server root directory and rename it to 'FRITZ3000.bin'. 5. The Box will now boot OpenWRT from RAM. This can take up to two minutes. 6. Copy the U-Boot and the OpenWRT sysupgrade (!) image to the Box using scp. SSH into the Box and first write the Bootloader to both previous kernel partitions. > mtd write /path/to/uboot-fritz3000.bin uboot0 > mtd write /path/to/uboot-fritz3000.bin uboot1 7. Remove the AVM filesystem partitions to make room for our kernel + rootfs + overlayfs. > ubirmvol /dev/ubi0 --name=avm_filesys_0 > ubirmvol /dev/ubi0 --name=avm_filesys_1 8. Flash OpenWRT peristently using sysupgrade. > sysupgrade -n /path/to/openwrt-sysupgrade.bin Signed-off-by: David Bauer <mail@david-bauer.net>
* fritz-tools: add support for IPQ40xx platformDavid Bauer2019-03-131-1/+1
| | | | | | | | AVM devices based on Qualcomm IPQ40xx do not store sector health information in the OOB area. Make this check optional to support this platform. Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq40xx: fix FRITZBox 7530 NAND controller nodeDavid Bauer2019-03-132-2/+0
| | | | | | | | This removes the 'cs-gpios' property from the AVM FRITZ!Box 7530 NAND controller node. As pointed out by Christian Lamparter, the property is not needed by the Qualcomm NAND controller driver. Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq40xx: fix phy interrupt settingChristian Lamparter2019-03-132-2/+2
| | | | | | | | | | | | | This patch fixes a problem that was discovered during DSA development. On the MR33, the link change events from the external AR8035-PHY would never make it to the qca8k driver. The issue turned out to be a misplaced memcpy that was copying over the zero-initialized irq table, when it should have been set to PHY_POLL. Hence this patch moves the memcpy after the array has been initialized. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: tidy up 02_networksChristian Lamparter2019-03-131-2/+2
| | | | | | | | - fix linksys' EA6350v3 order - remove whitespace that should have been tabs Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: backport I2C QUP driver changes from 4.17Piotr Dymacz2019-03-0813-0/+2781
| | | | | | | | | | | | | | | | | | | | | | | | Backport below changes for I2C QUP driver from v4.17: 0668bc44a426 i2c: qup: fix copyrights and update to SPDX identifier 7239872fb340 i2c: qup: fixed releasing dma without flush operation completion eb422b539c1f i2c: qup: minor code reorganization for use_dma 6d5f37f166bb i2c: qup: remove redundant variables for BAM SG count c5adc0fa63a9 i2c: qup: schedule EOT and FLUSH tags at the end of transfer 7e6c35fe602d i2c: qup: fix the transfer length for BAM RX EOT FLUSH tags 3f450d3eea14 i2c: qup: proper error handling for i2c error in BAM mode 08f15963bc75 i2c: qup: use the complete transfer length to choose DMA mode ecb6e1e5f435 i2c: qup: change completion timeout according to transfer length 6f2f0f6465ac i2c: qup: fix buffer overflow for multiple msg of maximum xfer len f7714b4e451b i2c: qup: send NACK for last read sub transfers fbfab1ab0658 i2c: qup: reorganization of driver code to remove polling for qup v1 7545c7dba169 i2c: qup: reorganization of driver code to remove polling for qup v2 This fixes various I2C issues observed on AP120C-AC board equipped with Atmel/Microchip AT97SC3205T TPM module. Tested-by: Christian Lamparter <chunkeey@gmail.com> Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ipq40xx: add ath10k-calibration-variant in AP120C-AC DTSPiotr Dymacz2019-03-082-0/+2
| | | | | | | | Use 'ath10k-calibration-variant' (with the value sent upstream) for the second (5 GHz) radio in AP120C-AC board DTS. First radio uses the same BDF as in one of Qualcomm reference designs. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* kernel: bump 4.14 to 4.14.104Koen Vandeputte2019-03-051-3/+0
| | | | | | | | | | | | Refreshed all patches. Altered patches: - 332-arc-add-OWRTDTB-section.patch Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ipq40xx: add support for FritzBox 7530David Bauer2019-02-289-5/+634
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- CPU: Qualcomm IPQ4019 RAM: 256M FLASH: 128M NAND ETH: QCA8075 VDSL: Intel/Lantiq VRX518 PCIe attached currently not supported DECT: Dialog SC14448 currently not supported WiFi2: IPQ4019 2T2R 2SS b/g/n WiFi5: IPQ4019 2T2R 2SS n/ac LED: - Power/DSL green - WLAN green - FON/DECT green - Connect/WPS green - Info green - Info red BTN: - WLAN - FON - WPS/Connect UART: 115200n8 3.3V (located under the Dialog chip) VCC - RX - TX - GND (Square is VCC) Installation ------------ 1. Grab the uboot for the Device from the 'u-boot-fritz7530' subdirectory. Place it in the same directory as the 'eva_ramboot.py' script. It is located in the 'scripts/flashing' subdirectory of the OpenWRT tree. 2. Assign yourself the IP address 192.168.178.10/24. Connect your Computer to one of the boxes LAN ports. 3. Connect Power to the Box. As soon as the LAN port of your computer shows link, load the U-Boot to the box using following command. > ./eva_ramboot.py --offset 0x85000000 192.168.178.1 uboot-fritz7530.bin 4. The U-Boot will now start. Now assign yourself the IP address 192.168.1.70/24. Copy the OpenWRT initramfs (!) image to a TFTP server root directory and rename it to 'FRITZ7530.bin'. 5. The Box will now boot OpenWRT from RAM. This can take up to two minutes. 6. Copy the U-Boot and the OpenWRT sysupgrade (!) image to the Box using scp. SSH into the Box and first write the Bootloader to both previous kernel partitions. > mtd write /path/to/uboot-fritz7530.bin uboot0 > mtd write /path/to/uboot-fritz7530.bin uboot1 7. Remove the AVM filesystem partitions to make room for our kernel + rootfs + overlayfs. > ubirmvol /dev/ubi0 --name=avm_filesys_0 > ubirmvol /dev/ubi0 --name=avm_filesys_1 8. Flash OpenWRT peristently using sysupgrade. > sysupgrade -n /path/to/openwrt-sysupgrade.bin Signed-off-by: David Bauer <mail@david-bauer.net> [removed pcie-dts range node, refreshed on top of AP120-AC/E2600AC] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: fix pcie msi IRQ trigger levelChristian Lamparter2019-02-282-0/+64
| | | | | | | | | | | | | | | | | | From: Niklas Cassel <niklas.cassel@linaro.org> |The databook clearly states that the MSI IRQ (msi_ctrl_int) is a level |triggered interrupt. | |The msi_ctrl_int will be high for as long as any MSI status bit is set, |thus the IRQ type should be set to IRQ_TYPE_LEVEL_HIGH, causing the |IRQ handler to keep getting called, as long as any MSI status bit is set. |[...] |Not having the correct IRQ type defined will cause us to lose interrupts, |which in turn causes timeouts in the PCIe endpoint drivers. | |Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org> |Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: enlarge PCIe BAR sizeChristian Lamparter2019-02-282-0/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | David Bauer reported that the VDSL modem (attached via PCIe) on his AVM Fritz!Box 7530 was complaining about not having enough space in the BAR. A closer inspection of the old qcom-ipq40xx.dtsi pulled from the GL-iNet repository listed: | qcom,pcie@80000 { | compatible = "qcom,msm_pcie"; | reg = <0x80000 0x2000>, | <0x99000 0x800>, | <0x40000000 0xf1d>, | <0x40000f20 0xa8>, | <0x40100000 0x1000>, | <0x40200000 0x100000>, | <0x40300000 0xd00000>; | reg-names = "parf", "phy", "dm_core", "elbi", | "conf", "io", "bars"; Matching the reg-names with the listed reg leads to <0xd00000> as the size for the "bars". BugLink: https://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg45212.html Reported-by: David Bauer <mail@david-bauer.net> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: add support for Qxwlan E2600AC C1 and C2张鹏2019-02-2813-15/+978
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qxwlan E2600AC C1 based on IPQ4019 Specifications: SOC: Qualcomm IPQ4019 DRAM: 256 MiB FLASH: 32 MiB Winbond W25Q256 ETH: Qualcomm QCA8075 WLAN: 5G + 5G/2.4G * 2T2R 2.4/5 GHz - QCA4019 hw1.0 (SoC) * 2T2R 5 GHz - QCA4019 hw1.0 (SoC) INPUT: Reset buutton LED: 1x Power ,6 driven by gpio SERIAL: UART (J5) UUSB: USB3.0 POWER: 1x DC jack for main power input (9-24 V) SLOT: Pcie (J25), sim card (J11), SD card (J51) Flash instruction (using U-Boot CLI and tftp server): - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "sysupgrade" filename to "firmware.bin" and place it in tftp server directory. - Connect PC with one of RJ45 ports, power up the board and press "enter" key to access U-Boot CLI. - Use the following command to update the device to OpenWrt: "run lfw". Flash instruction (using U-Boot web-based recovery): - Configure PC with static IP 192.168.1.xxx(2-254)/24. - Connect PC with one of RJ45 ports, press the reset button, power up the board and keep button pressed for around 6-7 seconds, until LEDs start flashing. - Open your browser and enter 192.168.1.1, select "sysupgrade" image and click the upgrade button. Qxwlan E2600AC C2 based on IPQ4019 Specifications: SOC: Qualcomm IPQ4019 DRAM: 256 MiB NOR: 16 MiB Winbond W25Q128 NAND: 128MiB Micron MT29F1G08ABAEAWP ETH: Qualcomm QCA8075 WLAN: 5G + 5G/2.4G * 2T2R 2.4/5 GHz - QCA4019 hw1.0 (SoC) * 2T2R 5 GHz - QCA4019 hw1.0 (SoC) INPUT: Reset buutton LED: 1x Power, 6 driven by gpio SERIAL: UART (J5) USB: USB3.0 POWER: 1x DC jack for main power input (9-24 V) SLOT: Pcie (J25), sim card (J11), SD card (J51) Flash instruction (using U-Boot CLI and tftp server): - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "ubi" filename to "ubi-firmware.bin" and place it in tftp server directory. - Connect PC with one of RJ45 ports, power up the board and press "enter" key to access U-Boot CLI. - Use the following command to update the device to OpenWrt: "run lfw". Flash instruction (using U-Boot web-based recovery): - Configure PC with static IP 192.168.1.xxx(2-254)/24. - Connect PC with one of RJ45 ports, press the reset button, power up the board and keep button pressed for around 6-7 seconds, until LEDs start flashing. - Open your browser and enter 192.168.1.1, select "ubi" image and click the upgrade button. Signed-off-by: 张鹏 <sd20@qxwlan.com> [ added rng node. whitespace fixes, ported 02_network, ipq-wifi Makefile, misc dts fixes, trivial message changes ] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: add support for ALFA Network AP120C-ACPiotr Dymacz2019-02-2610-4/+742
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALFA Network AP120C-AC is a dual-band ceiling AP, based on Qualcomm IPQ4018 + QCA8075 platform. Specification: - Qualcomm IPQ4018 (717 MHz) - 256 MB of RAM (DDR3) - 16 MB (SPI NOR) + 128 MB (SPI NAND) of flash - 2x Gbps Ethernet, with 802.3af PoE support in one port - 2T2R 2.4/5 GHz (IPQ4018), with ext. FEMs (QFE1952, QFE1922) - 3x U.FL connectors - 1x 1.8 dBi (Bluetooth) and 2x 3/5 dBi dual-band (Wi-Fi) antennas - Atmel/Microchip AT97SC3205T TPM module (I2C bus) - TI CC2540 Bluetooth LE module (USB 2.0 bus) - 4x LED (all driven by GPIO) - 1x button (reset) - 1x USB 2.0 (optional, not installed in indoor version) - DC jack for main power input (12 V) - UART header available on PCB (2.0 mm pitch) Flash instruction: 1. This board uses dual-image feature (128 MB NAND is divided into two 64 MB partitions: 'rootfs1' and 'rootfs2'). 2. Before update, make sure your device is running firmware no older than v1.1 (previous versions have incompatible U-Boot). 3. Use 'factory' image in vendor GUI or for sysupgrade tool, without preserving settings. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ipq40xx: add support for Macronix MX35LF1GE4AB SPI NANDPiotr Dymacz2019-02-261-0/+13
| | | | | | | | | | Without a proper SPI NAND support (SPI NAND framework is available in kernel >= 4.19) the only way to make such flash working is to include it in raw/parallel NAND subsystem support and combine with mt29f staging driver. Obviously, this approach isn't going to be accepted by upstream (similar support for Winbond W25N01GV was rejected). Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* kernel: bump 4.14 to 4.14.102Koen Vandeputte2019-02-221-32/+0
| | | | | | | | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch Remove upstreamed hunks: - 080-pinctrl-msm-fix-gpio-hog-related-boot-issues.patch Fixes: - CVE-2018-1000026 Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ipq40xx: speed up ath10k-caldata extractionChristian Lamparter2019-02-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reading and writing to and from flash storage is slow and currently, the ath10kcal_extract() scripts are even more at an disadvantage because they use a block size of 1 to be able skip. This patch reworks the extraction scripts to be much faster and efficient by reading and writing the calibration data in possibly one big block. before: (Tested on a RT-AC58U, which has SPI-NAND). # time dd if=/dev/ubi0_1 of=/lib/firmware/... bs=1 skip=4096 count=12064 12064+0 records in 12064+0 records out real 0m 0.28s user 0m 0.02s sys 0m 0.24s after: # time dd if=/dev/ubi0_1 of=/lib/firmware/... bs=12064 skip=4096 count=1 iflag=skip_bytes 1+0 records in 1+0 records out real 0m 0.01s user 0m 0.00s sys 0m 0.00s Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: fix ipq40xx_setup_macs for Linksys EA6350v3Oever González2019-02-141-1/+1
| | | | | | | | | | | | | This commit fixes the script that sets the MAC address of the LAN switch. The LAN MAC address should be the WAN MAC address plus one. Without this patch the WAN and the LAN interface will use the same MAC address and an error will be generated. With this patch all interfaces will have a different MAC address, consecutive in the following order: WAN, LAN, radio0 and radio1. Signed-off-by: Oever González <notengobattery@gmail.com>
* ipq40xx: add support for ASUS LyraMarius Genheimer2019-02-1410-6/+652
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SoC: Qualcomm IPQ4019 (Dakota) 717 MHz, 4 cores RAM: 256 MiB (Nanya NT5CC128M16IP-DI) FLASH: 128 MiB (Macronix NAND) WiFi0: Qualcomm IPQ4019 b/g/n 2x2 WiFi1: Qualcomm IPQ4019 a/n/ac 2x2 WiFi2: Qualcomm Atheros QCA9886 a/n/ac BT: Atheros AR3012 IN: WPS Button, Reset Button OUT: RGB-LED via TI LP5523 9-channel Controller UART: Front of Device - 115200 N-8 Pinout 3.3v - RX - TX - GND (Square is VCC) Installation: 1. Transfer OpenWRT-initramfs image to the device via SSH to /tmp. Login credentials are identical to the Web UI. 2. Login to the device via SSH. 3. Flash the initramfs image using > mtd-write -d linux -i openwrt-image-file 4. Power-cycle the device and wait for OpenWRT to boot. 5. From there flash the OpenWRT-sysupgrade image. Ethernet-Ports: Although labeled identically, the port next to the power socket is the LAN port and the other one is WAN. This is the same behavior as in the stock firmware. Signed-off-by: Marius Genheimer <mail@f0wl.cc> [Dropped setup_mac 02_network in favour of 05_set_iface_mac_ipq40xx.sh, reorderd 02_network entries, added board.bin WA for the QCA9886 from ath79, minor dts touchup, added rng to 4.19 dts] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: ea6350v3: 4.19: enable pseudo rng supportChristian Lamparter2019-02-141-0/+4
| | | | | | | Robert Marko made a big effort to enable the rng on all ipq40xx for 4.19, so let's continue the quest. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: fix ASUS RT-AC58U switch port numberingChristian Lamparter2019-02-051-5/+5
| | | | | | | | This patch fixes the ASUS' RT-AC58U port order by unifying the configuration with the NBG6617. Reported-by: Roberto Socrates (rtac58u-user on the forum) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: consolidate 02_network board defaultsChristian Lamparter2019-02-051-58/+66
| | | | | | | | This patch splits the big board case switch in 02_network in two functions ipq40xx_setup_interfaces() and ipq40xx_setup_macs() just like ath79 and ramips do. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: add support for Linksys EA6350v3Oever González2019-01-2610-2/+734
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SOC: Qualcomm IPQ4018 RAM: 256 MiB Samsung K4B2G1646F-BYK0 FLASH1: MX25L1605D 2 MB FLASH2: Winbond W25N01GV 128Mb ETH: Qualcomm QCA8075 WLAN0: Qualcomm Atheros QCA4018 2.4GHz 802.11b/g/n 2x2 WLAN1: Qualcomm Atheros QCA4018 5GHz 802.11n/ac W2 2x2 INPUT: WPS, Reset LED: Status - Green SERIAL: Header at J19, Beneath DC Power Jack 1-VCC ; 2-TX ; 3-RX; 4-GND; Serial 115200-8-N-1. Tested and working: - USB (requires extra packages) - LAN Ethernet (Correct MAC-address) - WAN Ethernet (Correct MAC-address) - 2.4 GHz WiFi (Correct MAC-address) - 5 GHz WiFi (Correct MAC-address) - Factory installation from Web UI - OpenWRT sysupgrade - LED - Reset Button Need Testing: - WPS button Install via Web UI: - Attach to a LAN port on the router. - Connect to the Linksys Smart WiFi Page (default 192.168.1.1) and login - Select the connectivity tab on the left - In the manual update box on the right - Select browse, and browse to openwrt-ipq40xx-linksys_ea6350v3-squashfs-factory.bin - Click update. - Read and accept the warning - The router LED will start blinking. When the router LED goes solid, you can now navigate to 192.168.1.1 to your new OpenWrt installation. Sysupgrade: - Flash the sysupgrade image as usual. Please: try to do a reset everytime you can (doing it with LuCI is easy and can be done in the same step). Recovery (Automatic): - If the device fails to boot after install or upgrade, whilst the unit is turned on: 1 - Wait 15 seconds 2 - Switch Off and Wait 10 seconds 3 - Switch on 4 - Repeat steps 1 to 3, 3 times then go to 5. 5 - U-boot will have now erased the failed update and switched back to the last working firmware - you should be able to access your router on LAN. Recovery (Manual): - The steps for manual recovery are the same as the generic u-boot tftp client method. Back To Stock: - Use the generic recovery using the tftp client method to flash the "civic.img". Also you can strip-and-pad the original image and use the generic "mtd" method by flashing over the "kernel" partition. * Just be careful to flash in the partition that the device is currently booted. Signed-off-by: Ryan Pannell <ryan@osukl.com> Signed-off-by: Oever González <notengobattery@gmail.com> [minor edits, removed second compatible of nand, added dtb entry to 4.19] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: 4.19: fix pcie wifi unit-address of the MR33 and A62Christian Lamparter2019-01-262-2/+2
| | | | | | | | The unit address should be wifi@1,0 since the device is located at 0000:01:00.0. Reported-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: remove misplaced MR33 UCI definitionDavid Bauer2019-01-261-3/+0
| | | | | | | | | | | This removes the misplaced UCI-network configuration for the MR33. The LAN port is set in 01_leds while it is already correctly defined in 02_network. This was most likely an oversight as no network configuration belongs into 01_leds. Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq40xx: dts: Unify naming of gpio-led nodesPetr Štetiar2019-01-2415-15/+15
| | | | | | | | | | | | | | In DTS Checklist[1] we're now demanding proper generic node names, as the name of a node should reflect the function of the device and use generic name for that[2]. Everybody seems to be copy&pasting from DTS files available in the repository today, so let's unify that naming there as well and provide proper examples. 1. https://openwrt.org/submitting-patches#dts_checklist 2. https://github.com/devicetree-org/devicetree-specification/blob/master/source/devicetree-basics.rst#generic-names-recommendation Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [split up]
* ipq40xx: dts: Unify naming of gpio-keys nodesPetr Štetiar2019-01-2415-15/+15
| | | | | | | | | | | | | | In DTS Checklist[1] we're now demanding proper generic node names, as the name of a node should reflect the function of the device and use generic name for that[2]. Everybody seems to be copy&pasting from DTS files available in the repository today, so let's unify that naming there as well and provide proper examples. 1. https://openwrt.org/submitting-patches#dts_checklist 2. https://github.com/devicetree-org/devicetree-specification/blob/master/source/devicetree-basics.rst#generic-names-recommendation Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [split up]
* kernel: bump 4.19 to 4.19.16Stijn Tintel2019-01-171-5/+5
| | | | | | | | | | | | | | | | | Refresh patches. Remove upstreamed patches: - backport/096-mips-math-emu-Write-protect-delay-slot-emulation-pages.patch - backport/096-v4.20-netfilter-ipv6-Preserve-link-scope-traffic-original-.patch - backport/424-v4.20-net-dsa-fix-88e6060-roaming.patch - hack/100-mtd-rawnand-qcom-fix-memory-corruption-that-causes-p.patch - pending/510-f2fs-fix-sanity_check_raw_super-on-big-endian-machines.patch Update patch that no longer applies: - backport/343-netfilter-nft_flow_offload-handle-netdevice-events-f.patch Compile-tested: mesongx Runtime-tested: mesongx Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: bump 4.14 to 4.14.91Koen Vandeputte2019-01-071-5/+5
| | | | | | | | | | | | Refreshed all patches. Removed upstreamed: - 500-ubifs-Handle-re-linking-of-inodes-correctly-while-re.patch Compile-tested on: ar71xx, cns3xxx, imx6 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ipq40xx: copy Fritz4040 UBoot to STAGING_DIR_IMAGEDavid Bauer2019-01-061-2/+2
| | | | | | | | | | | | Copy U-Boot to STAGING_DIR_IMAGE (and append it to the EVA-image from there) to fix image generation using the image-builder. Also remove the bootloader from DEVICE_PACKAGES and instead use the BUILD_DEVICES directive from within the U-Boot makefile. This fixes eva-image generation using the OpenWRT image-builder. Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq40xx: 4.14: Sync kernel configRobert Marko2019-01-051-0/+2
| | | | | | | | This patch syncs the 4.14 kernel config to the current generic configuration. Signed-off-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [reworded commit]
* ipq40xx: 4.19: Sync kernel configRobert Marko2019-01-051-7/+0
| | | | | | | | | This patch syncs the 4.19 kernel config since the KERNEL_STACKPROTECTOR and compiler options are now part of the 4.19 generic config. Signed-off-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [reworded commit]
* ipq40xx: fix 4.14 ImageBuilder build woesChristian Lamparter2019-01-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | Robert Marko reported an issue with the current imagebuilder images: "Imagebuilder includes the new kmod-usb-dwc3-qcom USB driver package by default even on 4.14. [...] the current state imagebuilder can't build images under 4.14 at all as the kmod-usb-dwc3-qcom does not exist in it so it throws and error and exits." This patch reverts the Makefile to just kmod-usb-dwc3-of-simple and once the switch to 4.19 is done. It also removes the kmod-usb-phy-qcom-dwc3 as they only contain the usb-phy drivers for the ipq806x generation. Dynamic switching based on the KERNEL_PATCHVER is possible by using: $(if $(filter 4.14,$(KERNEL_PATCHVER)),kmod-usb-dwc3-of-simple,kmod-usb-dwc3-qcom) though it Fixes: 13321fa1429 ("ipq40xx: Use kmod-usb-dwc3-qcom by default") Fixes: 6e58fb2c33e ("ipq40xx: kmod-usb-dwc3-of-simple vs kmod-usb-dwc3-qcom") Reported-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: convert to device-tree based USB LED triggerChristian Lamparter2018-12-275-2/+108
| | | | | | | | Thanks to the ledtrig-usb.c the USB LED trigger can be setup in the device-tree definition for the Asus RT-AC58U and ZyXEL NBG6617. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: fix warning triggered by bad interrupt definitionChristian Lamparter2018-12-272-4/+4
| | | | | | | | | | | | | | | | | | | | | | | This patch fixes a kernel warning that got triggered by 4.19 because of a bad/missing interrupt level definition in the DTS. | WARNING: CPU: 2 PID: 1996 at drivers/irqchip/irq-gic.c:1016 | CPU: 2 PID: 1996 Comm: kmodloader Not tainted 4.19.9 #0 | Hardware name: Generic DT based system | [<c0317884>] (warn_slowpath_null) from [<c04f9cd0>] | [<c04f9cd0>] (gic_irq_domain_translate) from [<c035af30>] | [<c035af30>] (irq_create_fwspec_mapping) from [<c035b1e0>] | [<c035b1e0>] (irq_create_of_mapping) from [<c0614eec>] | [<c0614eec>] (of_irq_get) from [<c0614f3c>] | [<c0614f3c>] (of_irq_to_resource) from [<c0614ff0>] | [<c0614ff0>] (of_irq_to_resource_table) from [<c0610e08>] | [<c0610e08>] (of_device_alloc) from [<c0610ea0>] | [<c0610ea0>] (of_platform_device_create_pdata) | [<c061120c>] (of_platform_bus_create) | [<c06113c4>] (of_platform_populate) | [<bf4c06b4>] (dwc3_qcom_probe [dwc3_qcom]) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: kmod-usb-dwc3-of-simple vs kmod-usb-dwc3-qcomChristian Lamparter2018-12-271-0/+1
| | | | | | | | | | | | | | | | | | | | | Robert Marko <robimarko@gmail.com> noted in "ipq40xx: Use kmod-usb-dwc3-qcom by default": | Since 4.18 we cant use DWC3 OF Simple anymore so we | have to use kmod-usb-dwc3-qcom. This patch adds a TODO right next to the KERNEL_PATCHVER so it will be picked up when moving to 4.19. I would also like to point out: All users/devs that are compiling their own images from source and have a existing 4.14 config and want to switch to 4.19: Please drop kmod-usb-dwc3-of-simple and add kmod-usb-dwc3-qcom module package. Otherwise, the USB port on your router will no longer work. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: MR33: device-tree updateChristian Lamparter2018-12-271-29/+31
| | | | | | | | | | | | | | - 4.19 no longer refuses to initialize the mdio bus if a phy is not connected. - fix partition unit-address - restrict partition offset and size to 32-bit integers. - add note to warn people not to mess with the ubi partition size. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: remove qcom,ipq4019 on all devicesChristian Lamparter2018-12-2714-14/+14
| | | | | | | | | | Upstream commit: 80483c3abf8 ("ARM: qcom: Cleanup/Remove unnecessary board file") removed all the platform device compatibles stating that: "This patch removes the unnecessary board file. The generic machine definition is sufficient for the Qualcomm platforms." Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: rt-ac58u: fix device-tree snafuChristian Lamparter2018-12-271-22/+27
| | | | | | | | | | | | | | | | | | | - make the device userspace integration (WIFI,MAC,sysupgrade) work again by renaming the ubi to UBI_DEV as a temporary measure. In the future, once 4.14 support is dropped, this can all be refactored again. *sigh* - use the wifi0 and wifi1 labels - follow Device-Tree Release v0.2 2.2.2 Generic Names Recommendation - fix duplicated partition node-names - remove qcom,ipq4019 platform compatible. it's no longer needed (and wrong because the chip is a qcom,ipq4018). Fixes: 4c67f3ad78d ("ipq40xx: Adapt 4.19 DTS for upstream SPI-NAND driver") Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: 4.19: Enable pseudo random number generatorRobert Marko2018-12-2714-1/+53
| | | | | | | | IPQ40xx series has a HW pseudo random number generator built in. It already has a node in the upstream ipq4019.dtsi so we just need to enable it. Its driver has been rewritten to use crypto API so we dont have char interface like under 4.14 kernel. Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: files-4.19: Clear some DTC warningsRobert Marko2018-12-276-16/+0
| | | | | | | | | | DTC was throwing warnings like this: image-qcom-ipq4018-jalapeno.dtb: Warning (avoid_unnecessary_addr_size): /soc/spi@78b5000/m25p80@0: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property image-qcom-ipq4018-jalapeno.dtb: Warning (avoid_unnecessary_addr_size): /soc/spi@78b5000/spi-nand@1: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property So lets fix this for our downstream boards. Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: Use upstream SPI-NAND driver instead of MT29FRobert Marko2018-12-273-6/+6
| | | | | | | | | | | | Since 4.19 upstream kernel provides generic SPI-NAND framework and vendor specific drivers. Since only users of MT29F are 2 boards with Winbond W25N01GV SPI-NAND for which support has been backported from 4.20 we can drop the ever stuck in staging MT29F driver and instead use the upstream driver. Signed-off-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [squashed]
* ipq40xx: Use kmod-usb-dwc3-qcom by defaultRobert Marko2018-12-271-1/+1
| | | | | | | Since 4.18 we cant use DWC3 OF Simple anymore so we have to use kmod-usb-dwc3-qcom. Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: Add 4.19 kernel configRobert Marko2018-12-271-0/+507
| | | | | | This adds the neccessary 4.19 kernel config. Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: Add patches for 4.19Robert Marko2018-12-2726-0/+9289
| | | | | | | | | | | | | | | | This adds the necessary patches for 4.19 kernel. Upstreamed patches were dropped, backported upstreamed patches from 4.20. Drop Winbond ID patch since that NAND IC was upstreamed to use SPI-NAND framework and support for it was backported from 4.20. Rework ESSEDMA patches to compile under 4.19 due to timer changes, Clément Péron did the hard work and his changes were taken from the initial 4.19 PR. MR33 changes had to be manually refreshed to apply. Refresh other patches to apply. Signed-off-by: Robert Marko <robimarko@gmail.com> Remove
* ipq40xx: Add files for 4.19Robert Marko2018-12-2716-0/+3613
| | | | | | This copies over files from 4.14 Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: NBG6617: add usb-ledtrig-usbport to DEVICE_PACKAGESChristian Lamparter2018-12-221-1/+1
| | | | | | | | The ZyXEL NBG6617 USB LED was not working with the default images. It turned out that kmod-usb-ledtrig-usbport was missing from the default installation. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: disable kernel-padding for DNI imageDavid Bauer2018-12-201-3/+2
| | | | | | | | | | This commit removes the fixed kernel size-padding for the Netgear DNI image creation as it is not necessary for a working image. The fake rootfs still needs to be padded to the blocksize. Tested-by: Christian Lamparter <chunkeey@gmail.com> Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq40xx: fix pcie wifi unit-address of the MR33 and A62Christian Lamparter2018-12-202-2/+2
| | | | | | | The unit address should be wifi@1,0 since the device is located at 0000:01:00.0. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: GL-B1300: convert to new partitions layoutChristian Lamparter2018-12-171-52/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | Alberto Bursi reported: >The patch "ipq40xx: specify "firmware" partition format for GL.iNet GL-B1300" >prevents boot on my B1300. I compiled from latest sources. The GL-B1300 was using the discouraged direct subnodes method to declare the partitions on the flash. |The partition table should be a subnode of the flash node and should be named |'partitions'. This node should have the following property: |- compatible : (required) must be "fixed-partitions" |Partitions are then defined in subnodes of the partitions node. | |For backwards compatibility partitions as direct subnodes of the flash device are |supported. This use is discouraged. |NOTE: also for backwards compatibility, direct subnodes that have a compatible |string are not considered partitions, as they may be used for other bindings. <https://www.kernel.org/doc/Documentation/devicetree/bindings/mtd/partition.txt> Hence, this patch converts the device to the "partitions" layout. Fixes: 1cbe457cf94 ("ipq40xx: specify "firmware" partition format for GL.iNet GL-B1300") Reported-by: Alberto Bursi <bobafetthotmail@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>