aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq40xx/files-5.4
Commit message (Collapse)AuthorAgeFilesLines
* ipq40xx: fix ethernet vlan double taggingJohn Crispin2020-07-141-5/+4
| | | | | | | | As the the SoC uses implicit vlan tagging for dual MAC support, the offload feature breaks when using double tagging. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: John Crispin <john@phrozen.org>
* ipq40xx: consolidate DTS filesAdrian Schmutzler2020-06-2344-10752/+0
| | | | | | | | | | | | | | | The DTS files in files-4.19 and files-5.4 are exactly identical except for one file (qcom-ipq4018-emr3500.dts), which is only present for 5.4. Since there is no point in maintaining all these identical files twice, this patch moves them to the "files" directory. If there ever was a new kernel with substantial DTS changes, a new folder would need to be introduced anyway and could easily be done. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq40xx: add support for EnGenius EMR3500Yen-Ting-Shen2020-06-131-0/+235
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SOC: IPQ4018 / QCA Dakota CPU: Quad-Core ARMv7 Processor rev 5 (v7l) Cortex-A7 DRAM: 256 MiB NOR: 32 MiB ETH: Qualcomm Atheros QCA8072 (2 ports) USB: 1 x 2.0 (Host controller in the SoC) WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11bgn 2:2x2 WLAN2: Qualcomm Atheros QCA4018 5GHz 802.11a/n/ac 2:2x2 INPUT: RESET Button LEDS: White, Blue, Red, Orange Flash instruction: From EnGenius firmware to OpenWrt firmware: In Firmware Upgrade page, upgrade your openwrt-ipq40xx-generic-engenius_emr3500-squashfs-factory.bin directly. From OpenWrt firmware to EnGenius firmware: 1. Setup a TFTP server on your computer and configure static IP to 192.168.99.8 Put the EnGenius firmware in the TFTP server directory on your computer. 2. Power up EMR3500. Press 4 and then press any key to enter u-boot. 3. Download EnGenius firmware (IPQ40xx) # tftpboot 0x84000000 openwrt-ipq40xx-emr3500-nor-fw-s.img 4. Flash the firmware (IPQ40xx) # imgaddr=0x84000000 && source 0x84000000:script 5. Reboot (IPQ40xx) # reset Signed-off-by: Yen-Ting-Shen <frank.shen@senao.com> [squashed update patch, updated to 5.4, dropped BOARD_NAME, migrated to SOC] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: essedma: Disable TCP segmentation offload for IPv6Sven Eckelmann2020-06-131-7/+4
| | | | | | | | | | | | | | | | | | | | | It was noticed that the the whole MAC can hang when transferring data from one ar40xx port (WAN ports) to the CPU and from the CPU back to another ar40xx port (LAN ports). The CPU was doing only NATing in that process. Usually, the problem first starts with a simple data corruption: $ wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.4.0-amd64-netinst.iso -O /dev/null ... Connecting to saimei.ftp.acc.umu.se (saimei.ftp.acc.umu.se)|2001:6b0:19::138|:443... connected. ... Read error at byte 48807936/352321536 (Decryption has failed.). Retrying. But after a short while, the whole MAC will stop to react. No traffic can be transported anymore from the CPU port from/to the AR40xx PHY/switch and the MAC has to be resetted. Signed-off-by: Sven Eckelmann <sven@narfation.org> Acked-by: John Crispin <john@phrozen.org>
* ipq40xx: replace "ok" with "okay" for status in DTS filesAdrian Schmutzler2020-05-124-16/+16
| | | | | | | While "ok" is recognized in DT parsing, only "okay" is actually mentioned as valid value. Replace it accordingly. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq40xx: add support for Aruba AP-365David Bauer2020-05-113-240/+443
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SoC: Qualcomm IPQ4029 RAM: 512M DDR3 FLASH: - 128MB NAND (Macronix MX30LF1G18AC) - 4MB SPI-NOR (Macronix MX25R3235F) TPM: Atmel AT97SC3203 BLE: Texas Instruments CC2540T attached to ttyMSM0 ETH: Atheros AR8035 LED: System (red / green / amber) BTN: Reset The USB port on the device is (in contrast to other Aruba boards) real USB. The AP uses a CP2101 USB TTY converter on the board. Console baudrate is 9600 8n1. To enable a full list of commands in the U-Boot "help" command, execute the literal "diag" command. Installation ------------ 1. Get the OpenWrt initramfs image. Rename it to ipq40xx.ari and put it into the TFTP server root directory. Configure the TFTP server to be reachable at 192.168.1.75/24. Connect the machine running the TFTP server to the ethernet port of the access point. 2. Connect to the serial console. Interrupt autobooting by pressing Enter when prompted. 3. Configure the bootargs and bootcmd for OpenWrt. $ setenv bootargs_openwrt "setenv bootargs console=ttyMSM1,9600n8" $ setenv nandboot_openwrt "run bootargs_openwrt; ubi part aos1; ubi read 0x85000000 kernel; bootm 0x85000000" $ setenv ramboot_openwrt "run bootargs_openwrt; setenv ipaddr 192.168.1.105; setenv serverip 192.168.1.75; netget; set fdt_high 0x87000000; bootm" $ setenv bootcmd "run nandboot_openwrt" $ saveenv 4. Load OpenWrt into RAM: $ run ramboot_openwrt 5. After OpenWrt booted, transfer the OpenWrt sysupgrade image to the /tmp folder on the device. 6. Flash OpenWrt: Make sure you use the mtd partition with the label "ubi" here! $ ubidetach -p /dev/mtd1 $ ubiformat /dev/mtd1 $ sysupgrade -n /tmp/openwrt-sysupgrade.bin To go back to the stock firmware, simply reset the bootcmd in the bootloader to the original value: $ setenv bootcmd "boot" $ saveenv Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq40xx: add support for Cell C RTL30VWPawel Dembicki2020-04-101-0/+385
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cell C RTL30VW is a LTE router with tho gigabit ethernets and integrated QMI mPCIE modem. This is stripped version of ASKEY RTL0030VW. Hardware: Specification: -CPU: IPQ4019 -RAM: 256MB -Flash: NAND 128MB + NOR 16MB -WiFi: Integrated bgn/ac -LTE: mPCIe card (Modem chipset MDM9230) -LAN: 2 Gigabit Ports -USB: 2x USB2.0 -Serial console: RJ-45 115200 8n1 -Unsupported VoIP Known issues: None so far. Instruction install: There are two methods: Factory web-gui and serial + tftp. Web-gui: 1. Apply factory image via stock web-gui. Serial + initramfs: 1. Rename OpenWrt initramfs image to "image" 2. Connect serial console (115200,8n1) 3. Set IP to different than 192.168.1.11, but 24 bit mask, eg. 192.168.1.4. 4. U-Boot commands: sf probe && sf read 0x80000000 0x180000 0x10000 setenv serverip 192.168.1.4 set fdt_high 0x85000000 tftpboot 0x84000000 image bootm 0x84000000 5. Install sysupgrade image via "sysupgrade -n" Back to stock: All is needed is swap 0x4c byte in mtd8 from 0 to 1 or 1 to 0, do firstboot and factory reset with OFW: 1. read mtd8: dd if=/dev/mtd8 of=/tmp/mtd8 2. go to tmp: cd /tmp/ 3. write first part of partition: dd if=mtd8 of=mtd8.new bs=1 count=76 4. check which layout uses bootloader: cat /proc/mtd 5a. If first are kernel_1 and rootfs_1 write 0: echo -n -e '\x00' >> mtd8.new 5b. If first are kernel and rootfs write 1: echo -n -e '\x01' >> mtd8.new 6. fill with rest of data: dd if=mtd8 bs=1 skip=77 >> mtd8.new 7. CHECK IF mtd8.new HAVE CHANGED ONLY ONE BYTE! e.g with: hexdump mtd8.new 8. write new mtd8 to flash: mtd write mtd8.new /dev/mtd8 9. do firstboot 10.reboot 11. Do back to factory defaults in OFW GUI. Based on work: Cezary Jackiewicz <cezary@eko.one.pl> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ipq40xx: add support for MobiPromo CM520-79FDENG Qingfang2020-04-101-0/+354
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MobiPromo CM520-79F is an AC1300 dual band router based on IPQ4019 Specification: SoC/Wireless: QCA IPQ4019 RAM: 512MiB Flash: 128MiB SLC NAND Ethernet PHY: QCA8075 Ethernet ports: 1x WAN, 2x LAN LEDs: 7 LEDs 2 (USB, CAN) are GPIO other 5 (2.4G, 5G, LAN1, LAN2, WAN) are connected to a shift register Button: Reset Flash instruction: Disassemble the router, connect UART pins like this: GND TX RX [x x . . x .] [. . . . . .] (QCA8075 and IPQ4019 below) Baud-rate: 115200 Set up TFTP server: IP 192.168.1.188/24 Power on the router and interrupt the booting with UART console env backup (in case you want to go back to stock and need it there): printenv (Copy the output to somewhere save) Set bootenv: setenv set_ubi 'set mtdids nand0=nand0; set mtdparts mtdparts=nand0:0x7480000@0xb80000(fs); ubi part fs' setenv bootkernel 'ubi read 0x84000000 kernel; bootm 0x84000000#config@1' setenv cm520_boot 'run set_ubi; run bootkernel' setenv bootcmd 'run cm520_boot' setenv bootargs saveenv Boot initramfs from TFTP: tftpboot openwrt-ipq40xx-generic-mobipromo_cm520-79f-initramfs-fit-zImage.itb bootm After initramfs image is booted, backup rootfs partition in case of reverting to stock image cat /dev/mtd12 > /tmp/mtd12.bin Then fetch it via SCP Upload nand-factory.ubi to /tmp via SCP, then run mtd erase rootfs mtd write /tmp/*nand-factory.ubi rootfs reboot To revert to stock image, restore default bootenv in uboot UART console setenv bootcmd 'bootipq' printenv use the saved dump you did back when you installed OpenWrt to verify that there are no other differences from back in the day. saveenv upload the backed up mtd12.bin and run tftpboot mtd12.bin nand erase 0xb80000 0x7480000 nand write 0x84000000 0xb80000 0x7480000 The BOOTCONFIG may have been configured to boot from alternate partition (rootfs_1) instead In case of this, set it back to rootfs: cd /tmp cat /dev/mtd7 > mtd7.bin echo -ne '\x0b' | dd of=mtd7.bin conv=notrunc bs=1 count=1 seek=4 for i in 28 48 68 108; do dd if=/dev/zero of=mtd7.bin conv=notrunc bs=1 count=1 seek=$i done mtd write mtd7.bin BOOTCONFIG mtd write mtd7.bin BOOTCONFIG1 Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn> [renamed volume to ubi to support autoboot, as per David Lam's test in PR#2432] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: wpj428: fix missing MDIO GPIO reset and pinmuxLeon M. George2020-03-281-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | The bootloader does not always initialize the MDIO pins before booting Linux. E.g. on version "U-Boot 2012.07 [Chaos Calmer 15.05.1,r35193] (Jul 25 2017 - 11:36:26)" this is the case when booting automatically without activating the U-Boot console. Without this change, the kernel boot will complain about missing PHYs: libphy: ipq40xx_mdio: probed ar40xx c000000.ess-switch: Probe failed - Missing PHYs! libphy: Fixed MDIO Bus: probed With this change it will work as expected: libphy: ipq40xx_mdio: probed ESS reset ok! ESS reset ok! libphy: Fixed MDIO Bus: probed Ref: GH-2835 Tested-by: Fredrik Olofsson <fredrik.olofsson@anyfinetworks.com> Signed-off-by: Leon M. George <leon@georgemail.eu> [commit description from Fredrik, subject facelift] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ipq40xx: 5.4: fix ethernet driverRobert Marko2020-03-161-29/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 5.4 kernel old u32 array way of setting network features was dropped and linkmode is now the only way. So lets migrate the EDMA driver to support linkmode. Also, old get/set settings API for ethtool is also dropped so lets convert to new ksettings API while at it as it demands linkmode. Now, gigabit works properly as well as ethtool. Previously you would get this in ethtool: root@OpenWrt:/# ethtool eth1 Settings for eth1: Supports Wake-on: d Wake-on: d Current message level: 0x00000000 (0) Link detected: yes Now, features are properly advertised: root@OpenWrt:/# ethtool eth1 Settings for eth1: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Link partner advertised pause frame use: No Link partner advertised auto-negotiation: No Link partner advertised FEC modes: Not reported Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 4 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: d Wake-on: d Current message level: 0x00000000 (0) Link detected: yes Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: 5.4: fix of_get_mac_address obsolete usage OOPsPetr Štetiar2020-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of_get_mac_address returns valid pointer or ERR_PTR since 5.2 via commit d01f449c008a ("of_net: add NVMEM support to of_get_mac_address") so the patch fixes following OOPs on nbg6617: Unable to handle kernel paging request at virtual address ffffffed CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.4.24 #0 PC is at edma_axi_probe+0x444/0x1114 LR is at bus_find_device+0x88/0x9c Where the PC can be resolved to: >>> l *edma_axi_probe+0x444 0xc067be5c is in edma_axi_probe (./include/linux/string.h:378). >>> l *edma_axi_probe+0x43f 0xc067be57 is in edma_axi_probe (drivers/net/ethernet/qualcomm/essedma/edma_axi.c:936) Which leads to the following code fragment: 935 mac_addr = of_get_mac_address(pnp); 936 if (mac_addr) 937 memcpy(edma_netdev[idx_mac]->dev_addr, mac_addr, ETH_ALEN); Where using mac_addr=0xffffffed (-ENODEV) as source address in memcpy() is causing the OOPs. Acked-by: John Crispin <john@phrozen.org> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ipq40xx: add support for 8devices Habanero DVKRobert Marko2020-03-091-0/+357
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the 8devices Habanero development board. Specs are: CPU: QCA IPQ4019 RAM: DDR3L 512MB Storage: 32MB SPI-NOR and optional Parallel SLC NAND(Some boards ship with it and some without) WLAN1: 2.4 GHz built into IPQ4019 (802.11n) 2x2 WLAN2: 5 GHz built into IPO4019 (802.11ac Wawe-2) 2x2 Ethernet: 5x Gbit LAN (QCA 8075) USB: 1x USB 2.0 and 1x USB 3.0 (Both built into IPQ4019) MicroSD slot (Uses SD controller built into IPQ4019) SDIO3.0/EMMC slot (Uses the same SD controller) Mini PCI-E Gen 2.0 slot (Built into IPQ4019) 5x LEDs (4 GPIO controllable) 2x Pushbutton (1 is connected to GPIO, other to SoC reset) LCD ZIF socket (Uses the LCD controller built into IPQ4019 which has no driver support) 1x UART 115200 rate on J18 2x breakout development headers 12V DC Jack for power DIP switch for bootstrap configuration Installation instructions: Since boards ship with vendors fork of OpenWrt sysupgrade can be used. Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: fix support of EnGenius EAP2200Adrian Schmutzler2020-03-051-10/+10
| | | | | | | | | | | | This fixes a typo in the device string for MAC address setup in 02_network and corrects the indent in the device's DTS files. While at it, move the aliases section before the keys section to have it closer to the top of the file. Fixes: a736d912e2ba ("ipq40xx: add support for EnGenius EAP2200") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq40xx: add support for EnGenius EAP2200Steven Lin2020-02-281-0/+282
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SOC: IPQ4019 / QCA Dakota CPU: Quad-Core ARMv7 Processor rev 5 (v7l) Cortex-A7 DRAM: 256 MiB FLASH: NOR 4 MiB + NAND 128 MiB ETH: Qualcomm Atheros QCA8072 WLAN1: Qualcomm Atheros QCA4019 2.4GHz 802.11bgn 2:2x2 WLAN2: Qualcomm Atheros QCA4019 5GHz 802.11a/n/ac 2:2x2 WLAN2: Qualcomm Atheros QCA9888 5GHz 802.11a/n/ac 2:2x2 INPUT: WPS Button LEDS: Power, LAN1, LAN2, WLAN 2.4GHz, WLAN 5GHz-1, WLAN 5GHz-2, OPMODE 1. Load Ramdisk via U-Boot To set up the flash memory environment, do the following: a. As a preliminary step, ensure that the board console port is connected to the PC using these RS232 parameters: * 115200bps * 8N1 b. Confirm that the PC is connected to the board using one of the Ethernet ports. c. Set a static ip 192.168.99.8 for Ethernet that connects to board. d. The PC must have a TFTP server launched and listening on the interface to which the board is connected. e. At this stage power up the board and, after a few seconds, press 4 and then any key during the countdown. U-BOOT> set serverip 192.168.99.9 && tftpboot 0x84000000 192.168.99.8:openwrt.itb && bootm Signed-off-by: Steven Lin <steven.lin@senao.com> [copied 4.19 dts to 5.4] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: add v5.4 supportJohn Crispin2020-02-2843-0/+13688
Signed-off-by: John Crispin <john@phrozen.org>