aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx: add support for Ubiquiti Litebeam M5Arne Zachlod2018-03-152-0/+59
| | | | | | | | | | | | | | | | | Specification: - SoC: Atheros AR9342 - Flash: 8 MiB - RAM: 64 MiB - UART: 1x UART on PCB - 115200 8N1 - Ethernet: 1 x 100 Mbit with passive PoE (24V/0.2A) Doesn't work: * Flash via TFTP with Ubiquiti Uboot Installation via vendor firmware: - upload factory image via webinterface Signed-off-by: Arne Zachlod <arne@nerdkeller.org>
* ar71xx: fix mii bus irq assignmentFelix Fietkau2018-03-042-3/+3
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: remove pdata->fifo_cfg*Felix Fietkau2018-03-043-56/+3
| | | | | | The values are the same for all chipsets that use it Signed-off-by: Felix Fietkau <nbd@nbd.name>
* 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>
* ar71xx: add support for GainStrong Oolite V5.2Piotr Dymacz2018-02-224-0/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-226-204/+148
| | | | | | | | | - 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: add support for AR9331 based Hak5 devicesSebastian Kinne2018-02-225-0/+309
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: YunCore AP90Q image supports also AP80QPiotr Dymacz2018-02-223-4/+4
| | | | | | | 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-224-0/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-224-0/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-221-26/+24
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: add support for COMFAST CF-E385ACPiotr Dymacz2018-02-222-35/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | 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: rename COMFAST CF-E355AC to CF-E355AC v1Piotr Dymacz2018-02-221-12/+41
| | | | | | | | 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: add support for COMFAST CF-E355AC v2Ding Tengfei2018-02-223-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | 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: add support for WHQX E1700AC/E600G/E600GAC v2Peng Zhang2018-02-225-0/+356
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-222-2/+2
| | | | | | | The mach name of GL AR150 and GL AR300 is inconsistent with other products. Signed-off-by: Kyson Lok <kysonlok@gmail.com>
* ar71xx: add more registers to ar71x_regs.hJulien Dusser2018-02-131-11/+0
| | | | | | | | | | 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-134-0/+111
| | | | | | | | | | | | | | 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-134-5/+69
| | | | | | | | | | | | | | | | | | | | | | | | 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 support for COMFAST CF-E375ACDing Tengfei2018-02-114-0/+117
| | | | | | | | | | | | | | | | | | | | | | | | 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: 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>
* ar71xx: add ew-balin platform from Embedded WirelessCatrinel Catrinescu2018-01-254-0/+123
| | | | | | | | | | | | | | | | | | | 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 support for the MikroTik RB911-2Hn/5Hn boardsGabor Juhos2018-01-223-0/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: 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>
* ar71xx: drop mdio-gpio.h include from mach-om5pacv2.cGabor Juhos2018-01-171-6/+0
| | | | | | | | | | | | | | The setup code of the OpenMesh OM5P ACv2 device uses nothing from the mdio-gpio.h header, so remove the inclusion of that. Also remove the kernel version check which is needed only because the mdio-gpio.h header exists in a different path in older kernels. Compile tested only. Cc: Sven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ar71xx: mach-rbspi: simplify reset button registrationGabor Juhos2018-01-171-64/+30
| | | | | | | | | | | | The setup code defines four individual structures for the Reset buttons of the supported boards. The only difference between the definitions is the GPIO number used for the button. Replace the different structures with one generic variant, and add a helper function to simplify the button registration. Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ar71xx: add support for MikroTik RouterBOARD wAP G-5HacT2HnD (wAP AC)Roger Pueyo Centelles2018-01-152-3/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the MikroTik RouterBOARD wAP G-5HacT2HnD (wAP AC), a small weatherproof dual band, dual-radio 802.11ac wireless AP with integrated omnidirectional anntennae and one 10/100/1000 Mbps Ethernet ports. See https://mikrotik.com/product/RBwAPG-5HacT2HnD for more info. Specifications: - SoC: Qualcomm Atheros QCA9556 - RAM: 64 MB - Storage: 16 MB NOR - Wireless: · Atheros AR9550 (SoC) 802.11b/g/n 2x2:2, 2 dBi antennae · Qualcomm QCA9880 802.11a/n/ac 3x3:3, 2 dBi antennae - Ethernet: Atheros AG71xx (SoC, AR8033), 1x 1000/100/10 port, passive PoE in Working: - Board/system detection - Sysupgrade - Serial console - Ethernet - 2.4 GHz radio - 5 GHz radio - Reset button Not working: - LEDs (added according to Mikrotik's GPL sources but not functional) Unsupported: - ZT2046Q SPI temperature and voltage sensor Contributors: Giuseppe Tipaldi (@Ciusss89) Ricky (@rickydee) Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> Signed-off-by: Daniel Golle <daniel@makrotopia.org> [daniel@makrotopia.org: whitespace fix, use PHYADDR instead of PHYMASK]
* ar71xx: add support for GL.iNet GL-AR750Piotr Dymacz2018-01-154-0/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | GL.iNet GL-AR750 is a small size, dual-band (AC750) router, based on Qualcomm/Atheros QCA9531 v2 + QCA9887. FCC ID: 2AFIW-AR750. Specification: - 650/597/216 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 3x 10/100 Mbps Ethernet - 2T2R 2.4 GHz (QCA9531) - 1T1R 5 GHz (QCA9887) - 1x USB 2.0 (power controlled by GPIO) - 1x microSD (GL857L) - 3x LED (all driven by GPIO) - 1x button (reset) - 1x 2-pos switch - header for optional PoE module - 1x micro USB for main power input - UART + I2C header on PCB Flash instruction: Vendor firmware is based on OpenWrt/LEDE. GUI or sysupgrade can be used to flash OpenWrt/LEDE firmware. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: fix Sitecom WLR-8100 supportDavide Fioravanti2018-01-151-12/+2
| | | | | | | | | | | | | | This patch fixes Sitecom WLR-8100: - mtd layout - LAN and WAN MAC address setup - 2.4 GHz Wi-Fi MAC address setup - 5 GHz Wi-Fi support (calibration data, MAC address setup, missing ath10k-* packages) Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com> [squashed commits, fixed whitespace issues, reworded commit message] Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: add support for ALFA Network R36APiotr Dymacz2018-01-154-0/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALFA Network R36A is a successor of the previous model, the R36 (Ralink RT3050F based). New version is based on Qualcomm/Atheros QCA9531 v2. Specification: - 650/400/200 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 2x 10/100 Mbps Ethernet, with passive PoE support (24 V) - 2T2R (QCA9531) 2.4 GHz, 2x u.fl connectors on PCB - 1x USB 2.0 (power controlled by GPIO) - 6x LED (5 of them are driven by GPIO) - 2x button (reset, wifi/wps) - external h/w watchdog (EM6324QYSP5B, disabled and not used) - DC jack for main power input (12 V) - UART header on PCB Flash instruction: You can use sysupgrade image directly in vendor firmware which is based on LEDE/OpenWrt. Alternatively, you can use web recovery mode in U-Boot: 1. Configure PC with static IP 192.168.1.2/24. 2. Connect PC with one of RJ45 ports, press the reset button, power up device, wait for first blink of all LEDs (indicates network setup), then keep button for 3 following blinks and release it. 3. Open 192.168.1.1 address in your browser and upload sysupgrade image. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: add support for Teltonika RUT900Piotr Dymacz2018-01-154-0/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teltonika RUT900 is an industrial 3G router based on Atheros AR9344. There are available 3 other models in RUT9xx series: RUT905, RUT950 and RUT955, which differ in availability of additional I/O ports, built-in GSM modem type, GPS antenna and other features. FCC ID of the RUT950 model (LTE module built-in): 2AET4-RUT950. This patch adds support for the RUT900 model only but can be easily extended to cover whole series. Also, as there are several different 3/4G modules (Huawei, Quectel, Telit) used in whole series, packages required for WWAN support are not included by default. It is up to the user to install required software for built-in modem. Specification: - 550/400/200 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 4x 10/100 Mbps Ethernet, with passive PoE support on LAN1 - 2T2R 2,4 GHz (AR9344), with ext. PA (MGA-22103) and LNA - built-in 3G module (example: Telit HE910-D) - 2x miniSIM slot - 2x RP-SMA/F (Wi-Fi), 2x SMA/F (3G) - PCA9539 16-bit GPIO I2C expander - 12x LED (4 are driven by AR9344, 7 by PCA9539) - 1x button (reset) - DC jack for main power input (9-30 V) - UART available on PCB edge connector Serial console pinout: - RX: pin1 (square) on top side of the main PCB (AR9344 is on top) - TX: pin1 (square) on bottom side Flash instruction: Vendor firmware is based on OpenWrt CC release. Use the "factory" image directly in GUI (make sure to uncheck "keep settings") or in U-Boot web based recovery. To avoid any problems, make sure to first update vendor firmware to latest version - "factory" image was successfully tested on device running "RUT9XX_R_00.03.960" firmware and U-Boot "3.0.1". Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: add support for ALFA Network N5QPiotr Dymacz2018-01-144-0/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALFA Network N5Q is a successor of previous model, the N5 (outdoor CPE/AP, based on Atheros AR7240 + AR9280). New version is based on Atheros AR9344. Specification: - 550/400/200 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 2x 10/100 Mbps Ethernet, with passive PoE support (24 V) - 2T2R 5 GHz (AR9344), with ext. PA (RFPA5542) and LNA, up to 27 dBm - 8x LED (7 are driven by GPIO) - 1x button (reset) - external h/w watchdog (EM6324QYSP5B, disabled and not used) - header for optional 802.3at/af PoE module - DC jack for main power input (optional, not installed by default) - UART header on PCB Flash instruction: You can use sysupgrade image directly in vendor firmare which is based on OpenWrt/LEDE. Alternatively, you can use web recovery mode in U-Boot: 1. Configure PC with static IP 192.168.1.2/24. 2. Connect PC with one of RJ45 ports, press the reset button, power up device, wait for first blink of all LEDs (indicates network setup), then keep button for 3 following blinks and release it. 3. Open 192.168.1.1 address in your browser and upload sysupgrade image. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: add support for ALFA Network AP91-5GPiotr Dymacz2018-01-144-0/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ALFA Network AP91-5G is a 5 GHz outdoor AP/CPE board, based on Atheros AR7240 + AR9280. Specification: - 400/400/200 MHz (CPU/DDR/AHB) - 32 MB of RAM (DDR1) - 8 MB of FLASH (SPI NOR) - 1x 10/100 Mbps Ethernet, with passive PoE support (24 V) - 1T1R 5 GHz (AR9280), with ext. PA (SE5004L) and LNA, up to 27 dBm - 6x LED (5 are driven by GPIO) - 1x button (reset) - external h/w watchdog (EM6324QYSP5B, disabled and not used) - header for optional 802.3at/af PoE module - DC jack for main power input (optional, not installed by default) - UART and LEDs headers on PCB Flash instruction: Use "factory" image in vendor GUI (in case of problems, make sure your board has up to date firmware). Alternatively, TFTP in U-Boot can be used: select option "2. Load system code then write to Flash via TFTP" during early boot and use "sysupgrade" image. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: remove obsolete '< KERNEL_VERSION(4, 4, 0)' checkGabor Juhos2018-01-091-5/+0
| | | | | | | | | Because the oldest supported kernel version on the ar71xx target is 4.4, the condition that the kernel version is smaller than 4.4.0 is always false. Remove the obsolete check from mach-rb4xx.c to clean up the code a bit. Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ar71xx: remove obsolete '< KERNEL_VERSION(4, 2, 0)' checkGabor Juhos2018-01-091-7/+0
| | | | | | | | | Because the oldest supported kernel version on the ar71xx target is 4.4, the condition that the kernel version is smaller than 4.2.0 is always false. Remove the obsolete check from ag71xx_main.c to clean up the code a bit. Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ar71xx: remove obsolete '< KERNEL_VERSION(3, 15, 0)' checksGabor Juhos2018-01-092-17/+0
| | | | | | | | | Because the oldest supported kernel version on the ar71xx target is 4.4, the condition that the kernel version is smaller than 3.15.0 is always false. Remove the obsolete checks from the target specific source files to clean up the code a bit. Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ag71xx: Fix rx ring buffer stall on small packets flood on qca956x and qca953x.Vittorio Gambaletta2017-12-293-1/+22
| | | | | | Backported from Code Aurora QSDK Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
* ar71xx: spi-rb4xx: balance clk_prepare_enable() callGabor Juhos2017-12-241-2/+2
| | | | | | | | | | | | | Commit c312cef223dd ("ar71xx: spi-rb4xx fix.") replaced the clk_enable() call with clk_prepare_enable() to meet the common clock framework requirements. However it did not change the clk_disable() call in the error patch which thus leads to imbalance. Fix the code by using the correct counterpart of clk_prepare_enable() in both places. Fixes: c312cef223dd ("ar71xx: spi-rb4xx fix.") Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ar71xx: add support for MikroTik RouterBOARD 921GS-5HPacD r2 (mANTBox 15s)Roger Pueyo Centelles2017-12-211-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the MikroTik RouterBOARD 921GS-5HPacD r2 (mANTBox 15s), an outdoor sector antenna with a built-in 802.11ac wireless router. Additionally, it adds a new profile for devices with >= 128 MB NAND flash and 802.11ac to the ar71xx/mikrotik subtarget. See https://mikrotik.com/product/RB921GS-5HPacD-15S for more info. Specifications: - SoC: Qualcomm Atheros QCA9558 (720 MHz) - RAM: 128 MB - Storage: 128 MB NAND - Wireless: external QCA9822 802.11a/ac 2x2:2 - Ethernet: 1x 1000/100/10 Mbps, integrated, via AR8031 PHY, passive PoE in - SFP: 1x host Working: - Board/system detection - NAND storage detection - Wireless - Ethernet - 1x user LED - Reset button - Sysupgrade Untested: - SFP cage (probably not working) Installation: - Boot initramfs image via TFTP and then flash sysupgrade image Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* ar71xx: fix spelling in mach-rb922.cRoger Pueyo Centelles2017-12-211-1/+1
| | | | Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* ar71xx: fix rb922gs_nand_scan_fixup()Roger Pueyo Centelles2017-12-211-1/+5
| | | | | | | | | Apply code from commits 9e1bc27e6d67fa29791eb0fac5e5f0066d12a761 (ar71xx: Fix UBIFS work on Mikrotik RB95x devices) and 665bb2749906aff4d4ec607a308353fa30cb1b3a (ar71xx: fix invalid pointer dereference in rb95x_nand_scan_fixup()) to RB92x devices too. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* ar71xx: fix invalid pointer dereference in rb95x_nand_scan_fixup()Gabor Juhos2017-12-161-0/+4
| | | | | | | | | | | | Since Linux 4.6, mtd->priv no longer points to the NAND specific structure. Under 4.9 it contains NULL, thus using it to access chip->options causes an invalid pointer dereference (FS#1200). Update the code to use the mtd_to_nand() helper under 4.9 to obtain the address of the chip specific data. Fixes: 7bbf4117c6fe ("ar71xx: Add kernel 4.9 support") Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ar71xx: fix invalid pointer dereference in c60_nand_scan_fixup()Gabor Juhos2017-12-151-0/+4
| | | | | | | | | | | | | | | | Since Linux 4.6, mtd->priv no longer points to the NAND specific structure. Under 4.9 it contains NULL, thus using it to access the fields of the nand_chip structure causes an invalid pointer dereference. Update the code to use the mtd_to_nand() helper under 4.9 to obtain the address of the chip specific data. Compile tested only. Fixes: 7bbf4117c6fe ("ar71xx: Add kernel 4.9 support") Signed-off-by: Gabor Juhos <juhosg@freemail.hu> Tested-by: Christian Lamparter <chunkeey@gmail.com>