aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx: fix build with ag71xx debugfs support enabledFelix Fietkau2018-02-281-6/+4
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ag71xx: Move timestamp struct member outside of struct.Rosen Penev2018-02-282-4/+3
| | | | | | | | | | | | | | | With this change, the timestamp variable is only used in ag71xx_check_dma_stuck. Small tx speedup. Based on a Qualcomm commit. ag->timestamp = jiffies was not replaced with netif_trans_update(dev) because of this quote: It should be noted that after this series several instances of netif_trans_update() are useless (if they occur in .ndo_start_xmit and driver doesn't set LLTX flag -- stack already did an update). From: http://lists.openwall.net/netdev/2016/05/03/87 Signed-off-by: Rosen Penev <rosenp@gmail.com>
* kernel: m25p80: allow fallback from spi_flash_read to regular SPI transferFelix Fietkau2018-02-261-2/+2
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: add support for GainStrong Oolite V5.2Piotr Dymacz2018-02-2213-0/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | GainStrong Oolite V5.2 is a small (39.5 x 78 mm), dual-band system on module, based on Qualcomm QCA9531 + QCA9887. All QCA9531 SOC GPIOs are available on castellated pins. Specification: - 650/400/200 MHz (CPU/DDR/AHB) - 64/128 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 5x 10/100 Mbps Ethernet (all ports available on castellated pins) - 2T2R 2.4 GHz (QCA9531), with ext. PA and LNA - 1T1R 5 GHz (QCA9887) with ext. FEM (SKY85710-11) - 3x U.FL - 1x USB 2.0 The dedicated development board includes 5 FE ports, USB 2.0 port, two buttons (one directly connected to SOC reset input), header with all GPIOs and several LEDs. Flash instruction: Vendor firmware is based on OpenWrt. LuCI or sysupgrade can be used to flash OpenWrt firmware. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: rework GainStrong devices supportPiotr Dymacz2018-02-2215-233/+170
| | | | | | | | | - combine support for Oolite/MiniBox V1.0 in single mach-*.c file - fix model/board names - include correct/full vendor name - drop redundant package and factory image Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: base-files: cosmetic cleanups in 04_led_migrationPiotr Dymacz2018-02-221-26/+8
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: base-files: drop comment from 02_networkPiotr Dymacz2018-02-221-1/+0
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: add support for AR9331 based Hak5 devicesSebastian Kinne2018-02-2214-2/+380
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for AR9331 based Hak5 penetration testing tools: - WiFi Pineapple NANO - LAN Turtle - Packet Squirrel WiFi Pineapple NANO specifications: - SoC: Atheros AR9331 (400 MHz) - RAM: 64 MB (DDR2) - FLASH: 16 MB - WiFi: 1T1R AR9331 (built-in), 1T1R AR9271 (built-in via USB bus) - Ethernet: 1x FE over USB (ASIX AX88772A) - Ports: 2x RP-SMA for antennas, 1x USB 2.0 (host), 1x micro SD - Power: USB 5 V, 1.5 A - Other: status LED, reset button LAN Turtle specifications: - SoC: Atheros AR9331 (400 MHz) - RAM: 64 MB (DDR2) - FLASH: 16 MB - WiFi: none - Ethernet: 1x FE (AR9331), 1x FE over USB (Realtek RTL8152B) - Ports: 1x RJ45, version dependent: micro SD or 3G SIM slot - Power: USB 5 V, 0.5 A - Other: status LED, reset button (inside, on PCB) Packet Squirrel specifications: - SoC: Atheros AR9331 (400 MHz) - RAM: 64 MB (DDR2) - FLASH: 16 MB - WiFi: none - Ethernet: 2x FE (AR9331) - Ports: 2x RJ45, 1x USB 2.0 - Power: USB 5 V, 0.12 A - Other: status LED, reset button, 4-way switch Flash instructions for all 3 devices: Original firmware is based on OpenWrt. Use sysupgrade via SSH to flash. Signed-off-by: Sebastian Kinne <contact@sebkinne.com> [squashed commits, combined and reworked mach files, aligned board naming with general convention, fixed minor issues, tested on real hardware, reworded commit subject and description] Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: fix 5 GHz Wi-Fi on NBG6716Matti Laakso2018-02-221-1/+7
| | | | | | | | | | Some NBG6716 do not have ath10k calibration data in flash, only in chip OTP. To determine if flash has a valid calibration data, the first two bytes telling the length of the calibration data are checked against the requested length. If the lengths match, calibration data is valid and read from flash. Signed-off-by: Matti Laakso <matti.laakso@outlook.com>
* ar71xx: YunCore AP90Q image supports also AP80QPiotr Dymacz2018-02-224-5/+5
| | | | | | | Vendor released new model (AP80Q) which is identical from hardware point of view with already supported AP90Q. Include AP80Q in machine name. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: add support for YunCore T830Piotr Dymacz2018-02-2213-0/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | YunCore T830 is a simple N300 router with 5-port FE switch, detachable antennas and USB 2.0 port. Specification: - 650/597/216 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 5x 10/100 Mbps Ethernet - 2T2R 2.4 GHz (QCA9531), with ext. PA (SKY65174-21) and LNA - two external, detachable antennas (RP-SMA) - 1x USB 2.0 - 8x LED (7 driven by GPIO) - 1x button (reset) - DC jack for main power input (12 V) - UART and JTAG headers on PCB Flash instruction: 1. First, gain root access to the device, following below steps: - Login into web gui (default password/IP: admin/192.168.188.253). - Go to "Advanced" -> "Management" -> "System" and download backup of configuration (bakfile.bin). - Open the file as tar.gz archive, edit/update "shadow" file and change hash of root password to something known. - Repack the archive, rename it back to "bakfile.bin" and use to restore configuration of the device. - After that, device will reboot and can be accessed over SSH. 2. Then, install OpenWrt: - Login over SSH and issue command: fw_setenv bootcmd "bootm 0x9f050000 || bootm 0x9fe80000" - Upload "sysupgrade" image and install it (only if previous command succeeded) with command: "sysupgrade -n -F openwrt-...". Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: add support for Samsung WAM250Piotr Dymacz2018-02-2212-1/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Samsung WAM250 is a dual-band (selectable, not simultaneous) wireless hub, dedicated for Samsung Shape Wireless Audio System. The device is based on Atheros AR9344. FCC ID: A3LWAM250. Specification: - 560/450/225 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 2x 10/100 Mbps Ethernet - 2T2R 2.4/5 GHz (AR9344), with ext. PA (SE2598L, SE5003L) and LNA - 1x USB 2.0 - 4x LED (all are driven by GPIO) - 2x button (reset, wps/speaker add) - DC jack for main power input (14 V) - UART header on PCB (J4, RX: 3, TX: 5) Flash instruction: This device uses dual-image (switched between upgrades) with a common jffs2 config partition. Fortunately, there is a way to disable this mode so that more flash space can be used by OpenWrt image. You can easily access this device over telnet, using root/root credentials (the same also work for serial console access). 1. Make sure that your device uses second (bootpart=2) image using command: "fw_printenv bootpart". 2. If your device uses first image (bootpart=1), perform upgrade to the latest vendor firmware (after the update, device should boot from second partition) using web gui (default login: admin/1234567890). 3. Rename "sysupgrade" image to "firmware.bin", download it (you can use wget, tftp or ftpget) to "/tmp" and issue below commands: mtd_debug erase /dev/mtd3 0 $(wc -c /tmp/firmware.bin | awk -F' ' '{print $1}') mtd_debug write /dev/mtd3 0 $(wc -c /tmp/firmware.bin) fw_setenv bootpart fw_setenv bootcmd "bootm 0x9f070000" reboot Revert to vendor firmware instruction: 1. Download vendor firmware to "/tmp" device and issue below commands: fw_setenv bootpart 1 sysupgrade -n -F SS_BHUB_v2.2.05.bin Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: fix COMFAST CF-E375AC supportPiotr Dymacz2018-02-225-37/+34
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: add support for COMFAST CF-E385ACPiotr Dymacz2018-02-229-38/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | COMFAST CF-E385AC is an AC2200 ceiling mount AP with PoE support, based on Qualcomm/Atheros QCA9558 + QCA9984 + QCA8337N. Specification: - 720/600/200 MHz (CPU/DDR/AHB) - 256 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 2x 10/100/1000 Mbps Ethernet, with PoE support - 3T3R 2.4 GHz (QCA9558), with external LNA and PA (SE2576L) - 4T4R 5 GHz (QCA9984), with external FEM (SKY85728-11) - 7x internal antennas - 1x RGB LED (driven by GPIO) - 1x button (reset) - UART, LEDs/GPIO and USB headers on PCB - external watchdog (Pericon Technology PT7A7514) Flash instruction: Original firmware is based on OpenWrt. Use sysupgrade image directly in vendor GUI. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: remove unnecessary packages from COMFAST devicesPiotr Dymacz2018-02-221-5/+9
| | | | | | | swconfig and uboot-envtools packages are not required by any of the supported COMFAST devices. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: rename COMFAST CF-E355AC to CF-E355AC v1Piotr Dymacz2018-02-226-27/+52
| | | | | | | | There are now supported two versions of the CF-E355AC board which differ in 802.11ac radio chip. Include version number in board, model, image filename, etc., also for the v1. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: image: simplify Embedded Wireless definitionsPiotr Dymacz2018-02-221-7/+2
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: image: generic: use simply expanded variablesPiotr Dymacz2018-02-221-16/+16
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: image: generic: clean up trailing whitespacePiotr Dymacz2018-02-221-1/+1
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: add support for COMFAST CF-E355AC v2Ding Tengfei2018-02-228-3/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | COMFAST CF-E355AC v2 is a ceiling mount AP with PoE support, based on Qualcomm/Atheros QCA9531 + QCA9886. Short specification: - 2x 10/100 Mbps Ethernet, with PoE support - 128MB of RAM (DDR2) - 16 MB of FLASH - 2T2R 2.4 GHz, 802.11b/g/n - 2T2R 5 GHz, 802.11ac/n/a, WAVE 2 - built-in 4x 3 dBi antennas - output power (max): 500 mW (27 dBm) - 1x RGB LED, 1x button - built-in watchdog chipset Flash instruction: Original firmware is based on OpenWrt. Use sysupgrade image directly in vendor GUI. Signed-off-by: Ding Tengfei <dtf@comfast.cn> [updated kernel config for both boards] Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: disable 40Mhz refclk for QCA953xSven Eckelmann2018-02-228-50/+32
| | | | | | | | | | | | | | | | | | The "QCA9531 v2.0 802.11n 2x2 2.4 GHz Premium SOC for WLAN Platforms" datasheet (80-Y7991-1 Rev. C - October 2014) doesn't specify support for a 40 Mhz reference clock. The register description for "Bootstrap Options" (page 31) defines following states for the bit 4 (REF_CLK): * 0 - CLK25 (default) * 1 - (reserved) Devices like the TP-Link CPE210 v2 has this bit set to 1 but is using a 25 Mhz reference clock. OpenWrt is still interpreted this bit as 40 Mhz and then break the bootup of the system due to this incorrect interpretation. Signed-off-by: Sven Eckelmann <sven@narfation.org> [refreshed patches] Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: add support for WHQX E1700AC/E600G/E600GAC v2Peng Zhang2018-02-2215-6/+453
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WHQX E1700AC v2 is based on Qualcomm QCA9563 + QCA9880 + QCA8334. Specification: - 750/400/250 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 3T3R 2.4 GHz (QCA9563) with external FEM (SKY85309-11) - 3T3R 5 GHz (QCA9880) with external FEM (SKY85728-11) - 2x 10/100/1000 Mbps Ethernet (one port with PoE support) - 1x miniPCIe slot (USB 2.0 bus only) - 1x microSIM slot - 1x USB 2.0 - 5x LED (4 driven by GPIO) - 1x button (reset) - 1x 2-pos switch - 1x DC jack for main power input (9-48 V) - UART (J5) and LEDs (J13) headers on PCB WHQX E600G is based on Qualcomm QCA9531. Specification: - 650/391/216 MHz (CPU/DDR/AHB) - 64/128 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 2.4 GHz (QCA9531) with external PA (LXK-6601) - 2x 10/100 Mbps Ethernet (one port with PoE support) - 1x miniPCIe slot (with PCIe and USB 2.0 buses) - 1x microSIM slot - 5x LED (4 driven by GPIO) - 1x button (reset) - 1x DC jack for main power input (9-48 V) - UART (J100), SIM (J34), JTAG (J5) and LEDs (J7) headers on PCB WHQX E600GAC is based on Qualcomm QCA9531 + QCA9887. Specification: - 650/391/216 MHz (CPU/DDR/AHB) - 64/128 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 2.4 GHz (QCA9531) - 1T1R 5 GHz (QCA9887) with external FEM (SKY85703-11) - 2x 10/100 Mbps Ethernet - 6x LED (1x RGB, 5 driven by GPIO) - 1x button (reset) - 1x DC jack for main power input (9-12 V) - UART (J100), USB (J102), JTAG (J5) and LEDs (J7) header on PCB Important notice: First version of these boards are using different mtd layout, with ART data at the end. You should not use v2 images on v1 board because it will result in lost of ART data! Flash instruction (using U-Boot CLI and tftp server): 1. Configure PC with static IP 192.168.1.10 and tftp server. 2. Rename "sysupgrade" filename to "firmware.bin" and place it in tftp server directory. 3. Connect PC with one of RJ45 ports, power up the board and press "enter" key to access U-Boot CLI. 4. Use the following command to update the device to OpenWrt: "run lfw". Flash instruction (using U-Boot web-based recovery): 1. Configure PC with static IP 192.168.1.xxx(2-254)/24. 2. 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. 3. Open your browser and enter 192.168.1.1, select "sysupgrade" image and click the upgrade button. Signed-off-by: Peng Zhang <sd20@qxwlan.com> [reworked: image generation code, mach-* files, commit description, fixed minor code style issues, rebased on master] Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: fix typos and indentation in Kconfig.openwrtPiotr Dymacz2018-02-221-3/+3
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: include vendor name for GL iNet productsKyson Lok2018-02-224-5/+4
| | | | | | | This patch include GL.iNet vendor name in the machine name for GL.iNet vendor products. Signed-off-by: Kyson Lok <kysonlok@gmail.com>
* ar71xx: uniform GL iNet products mach nameKyson Lok2018-02-223-4/+4
| | | | | | | The mach name of GL AR150 and GL AR300 is inconsistent with other products. Signed-off-by: Kyson Lok <kysonlok@gmail.com>
* kernel: bump 4.9 to 4.9.82Stijn Tintel2018-02-182-11/+14
| | | | | | | | | | | | | | | | | | | | | | Refresh patches. Remove upstreamed patches: - ar7/002-MIPS-AR7-ensure-the-port-type-s-FCR-value-is-used.patch - backport/040-crypto-fix-typo-in-KPP-dependency-of-CRYPTO_ECDH.patch Remove layerscape/819-Revert-dmaengine-dmatest-move-callback-wait-queue-to.patch, it is superseded by upstream commit 297c7cc4b5651b174a62925b6c961085f04979fd. Remove pending/650-pppoe_header_pad.patch, it is superseded by upstream commit 1bd21b158e07e0b8c5a2ce832305a0ebfe42c480. Update patches that no longer apply: - ar71xx/004-register_gpio_driver_earlier.patch - hack/204-module_strip.patch - pending/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch Fixes CVE-2017-8824. Compile-tested: ar71xx. Runtime-tested: ar71xx. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* ar71xx: fix sysupgrade syntax errorMathias Kresin2018-02-161-1/+1
| | | | | | | Fix syntax error introduced with 188328111b46 ("treewide: move nand_do_upgrade call to platform_do_upgrade"). Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: move nand_do_upgrade call to platform_do_upgradeMathias Kresin2018-02-161-43/+43
| | | | | | | | | | Calling nand_do_upgrade() from platform_pre_upgrade() was deprecated with 30f61a34b4cf ("base-files: always use staged sysupgrade"). Update the platform upgrade code to use platform_do_upgrade() for NAND images as well. Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: remove obsolete sysupgrade watchdog killMathias Kresin2018-02-161-10/+0
| | | | | | | | | The watchdog kill command was meant for busybox watchdog. Busybox watchdog was replaced by the procd watchdog mid 2013 with commit df7ce9301a25 ("busybox: disable the watchdog utility by default"), which makes the kill command obsolete since quite some time. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ar71xx: add more registers to ar71x_regs.hJulien Dusser2018-02-133-11/+388
| | | | | | | | | | Add more registers and flags to ar71x_regs.h for QCA955x and QCA956x SoCs. Values come from Qualcomm Atheros u-boot code. Patches can be merged into 622-MIPS-ath79-add-more-register-defines-for-QCA956x-SoC.patch Signed-off-by: Julien Dusser <julien.dusser@free.fr>
* ar71xx: Add eTactica EG-200 supportKarl Palsson2018-02-1312-1/+139
| | | | | | | | | | | | | | EG-200 is a DIN rail mountable device with one ethernet port, wifi, an RS-485 port, and an internal USB attached uSD card reader. Two leds, "modbus" and "etactica" are managed by userspace applications in factory firmware. Flash instruction: Original firmware is based on OpenWrt. Use sysupgrade image directly in vendor GUI. Signed-off-by: Karl Palsson <karlp@etactica.com>
* ar71xx: add support for TP-Link RE355Henryk Heisig2018-02-1314-5/+99
| | | | | | | | | | | | | | | | | | | | | | | | This device is identical as TP-Link RE450 RE355 is a dual-band AC1200 router, based on Qualcomm/Atheros QCA9558+QCA9880. Specification: 720/600/200 MHz (CPU/DDR/AHB) 64/128 MB of RAM (DDR2) 8 MB of FLASH (SPI NOR) 3T3R 2.4 GHz 3T3R 5 GHz 1x 10/100/1000 Mbps Ethernet 7x LED, 3x button UART header on PCB Flash instruction: Web: Download lede-ar71xx-generic-archer-c60-v2-squashfs-factory.bin and use OEM System Tools - Firmware Upgrade site. Signed-off-by: Henryk Heisig <hyniu@o2.pl>
* ar71xx: add missing config symbol ATH79_MACH_CF_E375ACMatthias Schiffer2018-02-112-0/+2
| | | | | Fixes: bf66bb8c96 "ar71xx:add support for COMFAST CF-E375AC" Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ar71xx:add support for COMFAST CF-E375ACDing Tengfei2018-02-1111-1/+139
| | | | | | | | | | | | | | | | | | | | | | | | COMFAST CF-E375AC is a ceiling mount AP with PoE support, based on Qualcomm/Atheros QCA9563 + QCA9886 + QCA8337. Short specification: 2x 10/100/1000 Mbps Ethernet, with PoE support 128MB of RAM (DDR2) 16 MB of FLASH 3T3R 2.4 GHz, 802.11b/g/n 2T2R 5 GHz, 802.11ac/n/a, wave 2 built-in 5x 3 dBi antennas output power (max): 500 mW (27 dBm) 1x RGB LED, 1x button built-in watchdog chipset Flash instruction: Original firmware is based on OpenWrt. Use sysupgrade image directly in vendor GUI. Signed-off-by: Ding Tengfei <dtf@comfast.cn>
* ar71xx: remove bs-partition ro-flag for UniFi ACDavid Bauer2018-02-111-1/+1
| | | | | | | | | | | | This removes the read-only flag from the bs (bootselect) partition on UniFi AC devices. This allows to correct the indicator from which partition the device is booting its kernel from. See also: - https://github.com/freifunk-gluon/gluon/issues/1301 - https://bugs.lede-project.org/index.php?do=details&task_id=662 Signed-off-by: David Bauer <mail@david-bauer.net>
* ar71xx: Orders the names of the devices alphabetically.Arne Zachlod2018-02-113-176/+176
| | | | Signed-off-by: Arne Zachlod <arne@nerdkeller.org>
* ar71xx: use global timestamp for hang checkFelix Fietkau2018-02-052-6/+7
| | | | | | | Shrink the size of struct ag71xx_buf to 8 bytes, which improves cache footprint Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: only access device stats in tx handler if packets were processedFelix Fietkau2018-02-051-3/+3
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: allocate rx/tx descriptor/buffers in one chunkFelix Fietkau2018-02-051-47/+38
| | | | | | Reduces false sharing due to cache aliases Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ag71xx: Reorder ag71xx struct members for better cache performanceRosen Penev2018-02-051-10/+17
| | | | | | | | | | | | | | | Qualcomm claims this improves the D-cache footprint. Origina commit message below: From: Ben Menchaca <ben.menchaca@qca.qualcomm.com> Date: Fri, 7 Jun 2013 10:57:28 -0500 Subject: [ag71xx] cluster/align structs for cache perf Cluster the frequently used, per-packet structures in ag71xx near to each other, and cacheline-align them. Some other re-ordering occurred to move "warmer" structures near the per-packet structures. Signed-off-by: Ben Menchaca <ben.menchaca@qca.qualcomm.com> Signed-off-by: Rosen Penev <rosenp@gmail.com>
* build: replace uses of OpenWrt with $(VERSION_DIST)Felix Fietkau2018-02-052-10/+10
| | | | | | This makes the distribution name more configurable. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: /lib/ar71xx.sh: add model detection for TP-Link TL-WR810NMatthias Schiffer2018-02-031-0/+3
| | | | | | Properly report the revision in /tmp/sysinfo/model. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ar71xx-generic: enable ATH79_MACH_TL_WR841N_V8 machineMatthias Schiffer2018-01-311-0/+1
| | | | | | | | | This machfile also contains the code for the TL-WR842N/ND v2, which is in ar71xx-generic and not in ar71xx-tiny. Fixes: 0cd5e85e7a "ar71xx: create new ar71xx/tiny subtarget for 4MB flash devices" Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ar71xx: add ew-balin platform from Embedded WirelessCatrinel Catrinescu2018-01-2512-0/+148
| | | | | | | | | | | | | | | | | | | Add the Embedded Wireless "Balin" platform SoC: QCA AR9344 or AR9350 RAM: DDR2-RAM 64MBytes Flash: SPI-NOR 16MBytes WLAN: 2 x 2 MIMO 2.4 & 5 GHz IEEE802.11 a/b/g/n Ethernet: 3 x 10/100 Mb/s USB: 1 x USB2.0 Host/Device bootstrap-pin at power-up PCI-Express: 1 x lane PCIe 1.2 UART: 1 x Normal, 1 x High-Speed JTAG: 1 x EJTAG GPIO: 10 x Input/Output multiplexed The module comes already with the current vanilla OpenWrt firmware. To update, use "sysupgrade" image directly in vendor firmware. Signed-off-by: Catrinel Catrinescu <cc@80211.de>
* ar71xx: add unaligned access hacks for VXLANMatthias Schiffer2018-01-251-0/+92
| | | | | | Gives a ~5% performance gain. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ar71xx: fix MikroTik rb-nor-flash-16M-ac imageDaniel Golle2018-01-241-1/+1
| | | | | | | | | | | | | commit e15c63a375 ar71xx: add support for MikroTik RouterBOARD wAP G-5HacT2HnD (wAP AC) changed the existing rb-nor-flash-16M-ac image in a way that it would now only support the rb-wapg-5hact2hnd. The board show however rather be added to the existing boards in the rb-nor-flash-16M image template. Reported-by: Mathias Kresin <dev@kresin.me> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ar71xx: add support for the MikroTik RB911-2Hn/5Hn boardsGabor Juhos2018-01-2211-3/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch adds support for the MikroTik RB911-2Hn (911 Lite2) and the RB911-5Hn (911 Lite5) boards: https://mikrotik.com/product/RB911-2Hn https://mikrotik.com/product/RB911-5Hn The two boards are using the same hardware design, the only difference between the two is the supported wireless band. Specifications: * SoC: Atheros AR9344 (600MHz) * RAM: 64MiB * Storage: 16 MiB SPI NOR flash * Ethernet: 1x100M (Passive PoE in) * Wireless: AR9344 built-in wireless MAC, single chain 802.11b/g/n (911-2Hn) or 802.11a/g/n (911-5Hn) Notes: * Older versions of these boards might be equipped with a NAND flash chip instead of the SPI NOR device. Those boards are not supported (yet). * The MikroTik RB911-5HnD (911 Lite5 Dual) board also uses the same hardware. Support for that can be added later with little effort probably. Installation: 1. Setup a DHCP/BOOTP Server with the following parameters: * DHCP-Option 66 (TFTP server name): pointing to a local TFTP server within the same subnet of the DHCP range * DHCP-Option 67 (Bootfile-Name): matching the initramfs filename of the to be booted image. The usable intramfs files are: - openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf - openwrt-ar71xx-mikrotik-vmlinux-initramfs-lzma.elf - openwrt-ar71xx-mikrotik-rb-nor-flash-16M-initramfs-kernel.bin 2. Press the reset button on the board and keep that pressed. 3. Connect the board to your local network via its ethernet port. 4. Release the button after the LEDs on the board are turned off. Now the board should load and start the initramfs image from the TFTP server. 5. Upload the sysupgrade image to the board with scp: $ scp openwrt-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/fw.bin 5. Log in to the running system listening on 192.168.1.1 via ssh as root (without password): $ ssh root@192.168.1.1 7. Flash the uploaded firmware file from the ssh session via the sysupgrade command: root@OpenWrt:~# sysupgrade /tmp/fw.bin Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ar71xx: make leds-gpio usable with single-ended GPIOsGabor Juhos2018-01-222-0/+90
| | | | | | | | | Add patches for the leds-gpio driver to make it usable with open-drain and open-source kind of GPIO lines. This type of functionality is required by various MikroTik boards. Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ar71xx: mach-rbspi: return rb_info from rbspi_platform_setupGabor Juhos2018-01-221-13/+13
| | | | | | | | | | | | Modify the rbspi_platform_setup() function to return the pointer of the rb_info structure. This allows board specific setup routines to access the various fields of the information. It is useful for investigating the hardware option bits for example. Also update the board setup codes, to ensure that those handle the new return value correctly. Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ar71xx: add definitions for RouterBOARD hardware option bitsGabor Juhos2018-01-221-0/+26
| | | | | | | | | | | | Add bit definitions for the 'hardware options' tag which is used in the MikroTik devices' hardware configurations. These values can be used in board setup codes, to do different initialization sequences. The values were obtained from the RouterOS 6.41-rc38 patches. Additionally, introduce two helper functions what make the processing of the hardware options easy. Signed-off-by: Gabor Juhos <juhosg@freemail.hu>