aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx/ath79: ag71xx: dont fetch the same var againKoen Vandeputte2019-08-271-1/+1
| | | | | | | tx_size was just declared above and set to BIT(tx->order) Use the declaration instead, which could avoid a pointer deref Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx/ath79: ag71xx: get ring_mask consistentKoen Vandeputte2019-08-271-1/+1
| | | | | | | | | All other instances of this identical declaration fetch the value directly from the ring_order. Also do it here. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: add support for gl-ar750Luochongjun2019-08-244-0/+158
| | | | | | | | | | | | | | | | | | | | This patch supports gl-ar750, which was previously supported by ar71xx. Specification: - SOC: QCA9531 (650MHz) - Flash: 16 MiB (W25Q128FVSG) - RAM: 128 MiB DDR2 - Ethernet: 10/100: 2xLAN + 10/100: 1xWAN - Wireless: 2.4GHz (bgn) and 5GHz (ac) - USB: 1x USB 2.0 port - Switch: 1x switch - Button: 1x reset button - LED: 3x LEDS (white) Flash instruction: Support for sysupgrade directive upgrades, as well as luci upgrades. Signed-off-by: Luochongjun <luochongjun@gl-inet.com>
* ath79: create DTSI for ar9341 TP-Link devicesAdrian Schmutzler2019-08-174-356/+152
| | | | | | | | | | This patch creates a shared DTSI for the TP-Link devices based on ar9341 as those share a lot of definitions. While at it, change from gpio-keys-polled to gpio-keys, remove unused pll-data and remove some inherited stuff, too. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: migrate TP-Link TL-MR3420v2 to ath79Lim Guo Wei2019-08-174-18/+221
| | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: ar9341 - RAM: 32M - Flash: 4M - Ethernet: 5x FE ports - WiFi: ar9341-wmac Flash instruction: Upload generated factory firmware on vendor's web interface. This changes the key assignment compared to ar71xx support of this device, since of the two keys on the device one is used as combined Reset/WPS and the second one as WiFi on/off button. Despite, the reset button required GPIO_ACTIVE_HIGH to work correctly. Signed-off-by: Lim Guo Wei <limguowei@gmail.com> [redo commit message] Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: add support for PISEN TS-D084xixiao zheng2019-08-173-0/+127
| | | | | | | | | | | | | | | | | | | | | PISEN TS-D084 is an wireless router with a battery and integrated power supply based on Atheros AR9331. Specification: - 400/400/200 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 8 MB of FLASH (SPI NOR) - 1x 10/100 Mbps Ethernet - 1T1R 2.4 GHz (AR9331) - 1x USB 2.0 Flash instruction: Upload generated factory image through web interface. Signed-off-by: xixiao zheng <xixiaozheng64@gmail.com> [wrap commit message, add flash instruction] Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: adtran,bsap1840/bsap1800-v2: move bootcount out of 02_networkChuanhong Guo2019-08-172-1/+4
| | | | | | | | | These device supports were introduced before /etc/init.d/bootcount and they had a bootcount reset done in /etc/board.d/02_network. Move it into /etc/init.d/bootcount instead. Suggested-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us> Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* treewide: sync bootcount scripts across targetsChuanhong Guo2019-08-171-0/+1
| | | | | | | | | | | | | | | This commit made the following changes to sync all bootcount scripts: 1. use boot() instead of start() This script only needs to be executed once when boot is complete. use boot() to make this explicit. 2. drop sourcing of /lib/functions.sh This is aready done in /etc/rc.common. 3. ramips: replace board name checking with a case Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: remove SUPPORTED_DEVICES for TP-Link Archer D50 v1Adrian Schmutzler2019-08-151-1/+0
| | | | | | | This device has not been supported in ar71xx, so there is no need for an explicit SUPPORTED_DEVICES entry. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: use Power LED as System LED for TL-WR842Nv3David Bauer2019-08-151-6/+6
| | | | | | | | | | | The TP-Link TL-WR842N v3 has a software-controllable Power LED. The WPS LED is normally only used as a System LED, when the Power LED can't be controlled by software. Additionally, the Power LED is also the System LED for this board in ar71xx. Signed-off-by: David Bauer <mail@david-bauer.net>
* treewide: convert WiFi caldata size and offset to hexadecimalAdrian Schmutzler2019-08-142-65/+65
| | | | | | | | | | | | | | This changes size and offset set for WiFi caldata extraction and MAC address adjustment to hexadecimal notation. This will be much clearer for the reader when numbers are big, and will also match the style used for mtd-cal-data in DTS files. Since dd cannot deal with hexadecimal notation, one has to convert back to decimal by simple $(($hexnum)). Acked-by: Alexander Couzens <lynxis@fe80.eu> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: convert MAC address location offsets to hexadecimalAdrian Schmutzler2019-08-144-29/+29
| | | | | | | | | | | | | This changes the offsets for the MAC address location in mtd_get_mac_binary* and mtd_get_mac_text to hexadecimal notation. This will be much clearer for the reader when numbers are big, and will also match the style used for mtd-mac-address in DTS files. (e.g. 0x1006 and 0x5006 are much more useful than 4102 and 20486) Acked-by: Alexander Couzens <lynxis@fe80.eu> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: update DTS for TP-Link WDR3600/WDR4300 v1Adrian Schmutzler2019-08-131-30/+29
| | | | | | | This replaces gpio-export by gpio-hogs and switches buttons to interrupt-driven gpio-keys. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add missing IMAGE_SIZE for Comfast WR650AC v1/v2Adrian Schmutzler2019-08-091-0/+2
| | | | | | | | When adding support in 9ed272fe9500 ("ath79: add support for Comfast WR650AC v1/v2"), IMAGE_SIZE has not been added to device definition. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ar71xx/ath79: ag71xx: init rings with GFP_KERNELKoen Vandeputte2019-08-091-1/+1
| | | | | | | | | | | | | | | Upstream commit 246902bdf562d45ea3475fac64c93048a7a39f01 Which contains following explanation: -- There is no need to use GFP_ATOMIC here, GFP_KERNEL should be enough. The 'kcalloc()' just a few lines above, already uses GFP_KERNEL. -- Looking at the code, all other descriptors also use plain GFP_KERNEL Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx/ath79: ag71xx: fix sleep in atomicKoen Vandeputte2019-08-091-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When enabling atomic-sleep-debugging options in the kernel, following splat is seen when disabling the interface (which happens on boot): [ 10.892878] eth0: link down [ 10.896788] BUG: sleeping function called from invalid context at net/core/dev.c:5563 [ 10.904730] in_atomic(): 1, irqs_disabled(): 1, pid: 425, name: ip [ 10.911004] 2 locks held by ip/425: [ 10.914539] #0: (rtnl_mutex){....}, at: [<80377474>] rtnetlink_rcv_msg+0x2d8/0x380 [ 10.922441] #1: (&(&ag->lock)->rlock){....}, at: [<80330158>] ag71xx_hw_disable+0x24/0x94 [ 10.930976] CPU: 0 PID: 425 Comm: ip Not tainted 4.14.136 #0 [ 10.936716] Stack : 805e0000 80589228 80557404 876998ec 80610000 80610000 87cdcafc 805b5327 [ 10.945233] 80551534 000001a9 8061386c 87699ccc 87cfb180 00000001 876998a0 84f70903 [ 10.953751] 00000000 00000000 80b00000 8769979c 6a7407fa 00000000 00000007 00000000 [ 10.962270] 000000b7 16d0954a 000000b6 00000000 80000000 87cb658c 87cb65b0 00000001 [ 10.970787] 8046f97c 87699ccc 87cfb180 87ff2810 00000003 802ce724 0806e098 80610000 [ 10.979306] ... [ 10.981797] Call Trace: [ 10.984287] [<8006cb0c>] show_stack+0x58/0x100 [ 10.988814] [<800aab34>] ___might_sleep+0x100/0x120 [ 10.993774] [<8035c434>] napi_disable+0x30/0xd8 [ 10.998377] [<80330198>] ag71xx_hw_disable+0x64/0x94 [ 11.003418] [<8033069c>] ag71xx_stop+0x24/0x38 [ 11.007959] [<80359e30>] __dev_close_many+0xcc/0x104 [ 11.013009] [<80362eac>] __dev_change_flags+0xc8/0x1ac [ 11.018227] [<80362fb8>] dev_change_flags+0x28/0x70 [ 11.023182] [<80376890>] do_setlink+0x31c/0x91c [ 11.027786] [<80379360>] rtnl_newlink+0x3ec/0x7f8 [ 11.032563] [<80377498>] rtnetlink_rcv_msg+0x2fc/0x380 [ 11.037799] [<8039a734>] netlink_rcv_skb+0xd4/0x178 [ 11.042754] [<80399d10>] netlink_unicast+0x168/0x250 [ 11.047796] [<8039a2d4>] netlink_sendmsg+0x3d8/0x434 [ 11.052841] [<8033f0e4>] ___sys_sendmsg+0x1dc/0x290 [ 11.057794] [<80340140>] __sys_sendmsg+0x54/0x84 [ 11.062495] [<8007212c>] syscall_common+0x34/0x58 This is caused by calling napi_disable() while holding the spinlock. Fix it by omitting the spinlock, which is not required here Extensively tested on GL-MiFi, RB-912 and RB-922 hardware Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: fix identation errors in 01_ledsDavid Bauer2019-08-091-7/+7
| | | | | | Fix the identation of 01_leds to keep the style of the file consistent. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add missing IMAGE_SIZE for Comfast E314N-v2Adrian Schmutzler2019-08-091-0/+1
| | | | | | | | When adding support in abbbecaa73dc ("ath79: add support for Comfast E314N-v2"), IMAGE_SIZE has not been added to device definition. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix whitespace errors from adding D-Link DIR-842 C3Adrian Schmutzler2019-08-094-13/+13
| | | | | | | | | We completely overlooked whitespace errors when reviewing 796ad2f7ef6f ("ath79: add support for D-Link DIR-842 C3"). Fix them and and also fix Makefile indent for C1/C2. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Comfast WR650AC v1/v2Joan Moreau2019-08-096-3/+287
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a dual band 11a/11n router with 1x wan and 4x gig lan ports. There are two versions of this router which can be identified through the factory web interface, v1 has 128mb ram and a uboot size of 128k, v2 has 256mb ram and a uboot size of 256k, the remaining hardware and PCB markings are the same. Short specification: SoC: Qualcomm Atheros QCA9558 - 720 MHz Switch: Atheros AR8327 Second radio : Qualcomm Atheros QCA9880 802.11ac 4 LAN/1 WAN 1000Mps Ethernet 256 MB of RAM (DDR2) 16 MB of FLASH 3x2.4 GHz, 3x5GHz antennas Steps to install : Option A : Use vendor UI Option B (if A is not working) : (a) Download 'backup' from vendor UI and rename it backup.tar.gz (b) Open the archive, and update the root password in /etc/shadow by '$1$9wX3HGfB$X5Sb3kqzzBLdKRUR2kfFd0' (c) 'Restore' from the archive using the vendor UI. Root password is now 'aaa' (d) Scp the firwmware to the device: $ scp <openwrt-sysupgrade>.bin root@192.168.1.1:/ (d) ssh to the device and flash the firmware: $ cd / $ mtd -e firmware -r write <openwrt-sysupgrade>.bin firmware Signed-off-by: Gareth Parker <gareth41@orcon.net.nz> Signed-off-by: Ding Tengfei <dtf@comfast.cn> Signed-off-by: Joan Moreau <jom@grosjo.net> [reformatted commit message] Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add support for Comfast E314N-v2Joan Moreau2019-08-094-0/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Taken code from https://patchwork.ozlabs.org/patch/884850/ that was never pushed by the author, and adapted to ath79. The Comfast E314N-V2 is a 2.4 GHz 2x2 radio with a built-in directional antenna and a second Ethernet port - very similar to the Ubiquiti NanoStation M2. The Ethernet port features a pass-through PoE capability, enabled or disabled with a slide switch. Specifications : - System-On-Chip: Qualcomm/Atheros QCA9531 - CPU/Speed: 650 MHz - Flash size: 8 MiB - RAM: 64 MiB - 2 Ethernet 1Gbp - 1 reset button - 1 switch to choose PoE from LAN or Wan. 48Vdc - Wifi 2.4 Ghz (b/g/n) - UART inside the box (3.3V, pins marked on the PCB) Firmware can be flashed on these units by the following method: 1.) Apply power to the unit 2.) Immediately AFTER applying power, hold down the reset button 3.) The WAN, LAN, and wireless lights will flash - wait three seconds (three flashes) and then release the button. 4.) After a second, the lights will flutter quickly and the unit will be visible at 192.168.1.1. A web page will be available to enable quick and simple uploading and flashing of firmware. During the boot process, these units also look for a tftp server at 192.168.1.10. If one is present, the firmware can be uploaded as a file called firmware-auto.bin Signed-off-by: Joan Moreau <jom@grosjo.net> [wrapped commit message - fix commit title capitalization] Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add support for PISEN WMB001NChuanhong Guo2019-08-085-0/+259
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: AR9341 - RAM: 64M - Flash: 16M - Ethernet: 1 * FE port - WiFi: ar934x-wmac - Sound: WM8918 DAC 1 * 3.5mm headphone jack 2 * RCA connectors for speakers 1 * SPDIF out - USB: 1 * USB2.0 port Flash instruction: Upload generated factory image via vendor's web interface. Notes: A. Audio stuff: 1. Since AR934x, all pins for peripheral blocks can be mapped to any available GPIOs. We currently don't have a PCM/I2S driver for AR934x so pinmux for i2s and SPDIF are bound to i2c gpio node. This should be moved into I2S node when a PCM/I2S driver is available. 2. The i2c-gpio node is for WM8918. DT binding for it can't be added currently due to a missing clock from I2S PLL. B. Factory image: Image contains a image header and a tar.gz archive. 1. Header: A 288 byte header that has nothing to do with appended tarball. Format: 0x0-0x7 and 0x18-0x1F: magic values 0x20: Model number string 0xFC: Action string. It's either "update" or "backup" 0x11C: A 1 byte checksum. It's XOR result of 0x8-0x11B Firmware doesn't care about the rest of the header as long as checksum result is correct. The same header is used for backup and update routines so the magic values and model number can be obtained by generating a backup bin and grab values from it. 2. Tarball: It contains two files named uImage and rootfs, which will be flashed into corresponding mtd partition. Writing a special utility that can only output a fixed binary blob is overkill so factory image header is placed under image/bin instead. C. LED The wifi led has "Wi-Fi" marked on the case but vendor's firmware used it as system status indicator. I did the same in this device support patch. D. Firmware Factory u-boot is built without 'savenv' support so it's impossible to change kernel offset. A 2MB kernel partition won't be enough in the future. OKLI loader is used here to migrate this problem: 1. add OKLI image magic support into uImage parser. 2. build an OKLI loader, compress it with lzma and add a normal uImage header. 3. flash the loader to where the original kernel supposed to be. 4. create a uImage firmware using OKLI loader. 5. flash the created firmware to where rootfs supposed to be. By doing so, u-boot will start OKLI loader, which will then load the actual kernel at 0x20000. The kernel partition is 2MB, which is too much for our loader. To save this space, "mtd-concat" is used here: 1. create a 64K (1 erase block) partition for OKLI loader and create another partition with the left space. 2. concatenate rootfs and this partition into a virtual flash. 3. use the virtual flash for firmware partition. Currently OKLI loader is flashed with factory image only. sysupgrade won't replace it. Since it only has one function and it works for several years, its unlikely to have some bugs that requires a replacement. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: add support for D-Link DIR-842 C3Perry Melange2019-08-076-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware spec of DIR-842 C3: SoC: QCA9563 DRAM: 128MB DDR2 Flash: 16MB SPI-NOR Switch: QCA8337N WiFi 5.8GHz: QCA9888 WiFi 2.4Ghz: QCA9563 USB: circuit onboard, but components are not soldered Flash instructions: 1. Upgrade the factory.bin through the factory web interface or the u-boot failsafe interface. The firmware will boot up correctly for the first time. Do not power off the device after OpenWrt has booted. Otherwise the u-boot will enter failsafe mode as the checksum of the firmware has been changed. 2. Upgrade the sysupgrade.bin in OpenWrt. After upgrading completes the u-boot won't complain about the firmware checksum and it's OK to use now. 3. If you powered off the device before upgrading the sysupgrade.bin, just upgrade the factory.bin through the u-boot failsafe interface and then goto step 2. Signed-off-by: Perry Melange <isprotejesvalkata@gmail.com>
* ath79: fix vendor capitalization of TP-LinkAdrian Schmutzler2019-08-072-2/+2
| | | | | | | According to detective grep, with this patch all devices should be labelled "TP-Link" consistently. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link CPE220 v2Adrian Schmutzler2019-08-075-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | This seems to be identical to CPE210 v1 despite having removable antennas. Specifications: * SoC: Qualcomm Atheros AR9344 (560 MHz) * RAM: 64MB * Storage: 8 MB * Wireless: 2.4GHz N based built into SoC 2x2 * Ethernet: 2x 100/10 Mbps, integrated into SoC, 24V POE IN Installation: Flash factory image through stock firmware WEB UI or through TFTP: To get to TFTP recovery just hold reset button while powering on for around 4-5 seconds and release. Rename factory image to recovery.bin Stock TFTP server IP:192.168.0.100 Stock device TFTP address:192.168.0.254 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link CPE510 v1Adrian Schmutzler2019-08-075-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link CPE510-v1 is an outdoor wireless CPE for 5 GHz with two Ethernet ports based on Atheros AR9334 Specifications: - 560/450/225 MHz (CPU/DDR/AHB) - 2x 10/100 Mbps Ethernet, 1x PoE-in, 1x PoE-out - 64 MB of DDR2 RAM - 8 MB of SPI-NOR Flash - 2T2R 5 GHz - 13 dBi built-in antenna - Power, LAN0, LAN1 green LEDs - 4x green RSSI LEDs Flash factory image through stock firmware WEB UI or through TFTP: To get to TFTP recovery just hold reset button while powering on for around 4-5 seconds and release. Rename factory image to recovery.bin Stock TFTP server IP:192.168.0.100 Stock device TFTP address:192.168.0.254 Based on the work of Paul Wassi <p.wassi@gmx.at> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link CPE210 v1Adrian Schmutzler2019-08-076-0/+117
| | | | | | | | | | | | | | | | | | | | | | Specifications: * SoC: Qualcomm Atheros AR9344 (560 MHz) * RAM: 64MB * Storage: 8 MB * Wireless: 2.4GHz N based built into SoC 2x2 * Ethernet: 2x 100/10 Mbps, integrated into SoC, 24V POE IN Installation: Flash factory image through stock firmware WEB UI or through TFTP: To get to TFTP recovery just hold reset button while powering on for around 4-5 seconds and release. Rename factory image to recovery.bin Stock TFTP server IP:192.168.0.100 Stock device TFTP address:192.168.0.254 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: create common definition tplink-loader-okliAdrian Schmutzler2019-08-072-18/+12
| | | | | | | The loader-okli is shared by several TP-Link CPExxx devices, so give it its own definition to prevent too much code duplication. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: provide common DTSI for CPE510 v2/v3 and CPE610Adrian Schmutzler2019-08-073-194/+103
| | | | | | | This puts some common code into a new shared DTSI. Common nodes are chosen so that the new DTSI can be used for CPE210 v1, too. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP9343-based TP-Link TL-WR94x devicesAdrian Schmutzler2019-08-058-0/+297
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for several TP-Link devices based on TP9343 ("a QCA9561 without PCIe and USB"): - TL-WR940N v3 - TL-WR940N v4 - TL-WR941ND v6 The devices are only different concerning LEDs and MAC address assignment. All TL-WR940 are with non-detachable antennas (N), all TL-WR941 devices are with detachable antennas (ND). Specification: - 750 MHz CPU - 32 MB of RAM - 4 MB of FLASH - 2.4 GHz WiFi - 4x 10/100 Mbps Ethernet Flash instruction (WebUI): Download *-factory.bin image and upload it via the firmwary upgrade function of the stock firmware WebUI. Flash instruction (TFTP): 1. Set PC to fixed ip address 192.168.0.66 2. Download *-factory.bin image and rename it to * (see below) 3. Start a tftp server with the image file in its root directory 4. Turn off the router 5. Press and hold Reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery. * TFTP image names: 940 v3: wr941ndv6_tp_recovery.bin 940 v4: wr940nv4_tp_recovery.bin 941 v6: wr941ndv6_tp_recovery.bin Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for D-Link DIR-842 C1Jackson Lim2019-08-058-144/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware spec of DIR-842 C1: SoC: QCA9563 DRAM: 128MB DDR2 Flash: 16MB SPI-NOR Switch: QCA8337N WiFi 5.8GHz: QCA9888 WiFi 2.4Ghz: QCA9563 USB: circuit onboard, but components are not soldered Flash instructions: 1. Upgrade the factory.bin through the factory web interface or the u-boot failsafe interface. The firmware will boot up correctly for the first time. Do not power off the device after OpenWrt has booted. Otherwise the u-boot will enter failsafe mode as the checksum of the firmware has been changed. 2. Upgrade the sysupgrade.bin in OpenWrt. After upgrading completes the u-boot won't complain about the firmware checksum and it's OK to use now. 3. If you powered off the device before upgrading the sysupgrade.bin, just upgrade the factory.bin through the u-boot failsafe interface and then goto step 2. Signed-off-by: Jackson Lim <jackcolentern@gmail.com> [fix whitespace issues] Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add SUPPORTED_DEVICES for TP-Link TL-WR841N/ND v9 to v12Adrian Schmutzler2019-08-051-0/+4
| | | | | | In ar71xx, v10 and v12 did not have separate board_name. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link TL-WR841N/ND v12Adrian Schmutzler2019-08-056-23/+49
| | | | | | | | | | | | | | | | | | | | | | | This router has the same hardware as TP-LINK TL-WR841N/ND v11 (same FCC ID, same TFTP image name...). Flash instruction (WebUI): Download *-factory.bin image and upload it via the firmwary upgrade function of the stock firmware WebUI. Flash instruction (TFTP): 1. Set PC to fixed ip address 192.168.0.66 2. Download *-factory.bin image and rename it to wr841nv11_tp_recovery.bin (it's really v11, not v12) 3. Start a tftp server with the image file in its root directory 4. Turn off the router 5. Press and hold Reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link TL-WR841N/ND v10Adrian Schmutzler2019-08-055-3/+27
| | | | | | | | | | | | | | | | | | | | | | | The TL-WR841N/ND v10 is mostly identical to the v9. Apart from some minor changes, it contains a newer revision of the QCA9533 SoC and the CPU clock is significantly higher. Flash instruction (WebUI): Download *-factory.bin image and upload it via the firmwary upgrade function of the stock firmware WebUI. Flash instruction (TFTP): 1. Set PC to fixed ip address 192.168.0.66 2. Download *-factory.bin image and rename it to wr841nv10_tp_recovery.bin 3. Start a tftp server with the image file in its root directory 4. Turn off the router 5. Press and hold Reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix SOC version in compat string for A770Piotr Dymacz2019-07-311-1/+1
| | | | | | YunCore A770 is based on QCA9531, not QCA9533. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: add support for ALFA Network AP121FRoger Pueyo Centelles2019-07-314-0/+148
| | | | | | | | | | | | | This commit ports support for the ALFA Network AP121F, a pocket-size router with 1 Ethernet and 2.4 GHz WiFi based on the AR9331 SoC, to the ath79 target (it was already supported in ar71xx; see commit 0c6165d2 for more details). Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> [pepe2k@gmail.com: fixed GPIO polarity, included USB support, changed DTS nodes order, moved WLAN LED trigger define to DTS, made U-Boot env partition writable] Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: fix indent in TP-Link TL-WR842N v3 DTS fileAdrian Schmutzler2019-07-301-1/+1
| | | | | | Convert leading spaces to tab to match rest of the file. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: remove lines-initial-states propertyDavid Bauer2019-07-252-2/+0
| | | | | | | | | The lines-initial-states property was an early attempt to set the latch bit of the shift register on driver probe. It is not implemented in the driver and was rejected upstream. The latch bit was always set by a GPIO hog, so this property is safe to drop. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: fix indent in 01_ledsAdrian Schmutzler2019-07-241-2/+2
| | | | | | | | | Change capitalization from spaces to tabs in order to match the style of the file. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> [fix capitalization in commit title, add short description] Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add support for D-Link DIR-842 C2Jackson Lim2019-07-246-0/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware spec of DIR-842 C2: SoC: QCA9563 DRAM: 128MB DDR2 Flash: 16MB SPI-NOR Switch: QCA8337N WiFi 5.8GHz: QCA9888 WiFi 2.4Ghz: QCA9563 USB: 2.0 Flash instructions: 1. Upgrade the factory.bin through the factory web interface or the u-boot failsafe interface. The firmware will boot up correctly for the first time. Do not power off the device after OpenWrt has booted. Otherwise the u-boot will enter failsafe mode as the checksum of the firmware has been changed. 2. Upgrade the sysupgrade.bin in OpenWrt. After upgrading completes the u-boot won't complain about the firmware checksum and it's OK to use now. 3. If you powered off the device before upgrading the sysupgrade.bin, just upgrade the factory.bin through the u-boot failsafe interface and then goto step 2. Signed-off-by: Jackson Lim <jackcolentern@gmail.com> [Reword reset-hog comment, fix formatting] Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: modify device name of I-O DATA WN-AC1600DGR2INAGAKI Hiroshi2019-07-182-5/+6
| | | | | | | | | | | | | | | | | | | | | | | The hardware of I-O DATA WN-AC1600DGR3 has completely compatibility with WN-AC1600DGR2, so modify the device name of WN-AC1600DGR2 to show the images for DGR2 also support DGR3. Specification of WN-AC1600DGR3: - SoC : Qualcomm Atheros QCA9557 - RAM : DDR2 128 MiB - Flash : SPI-NOR 16 MiB - WLAN : 2.4/5 GHz - 2.4 GHz : QCA9557 (SoC), 2T2R - 5 Ghz : QCA9880, 3T3R - Ethernet : 5x 10/100/1000 Mbps - Switch : QCA8337N - LEDs/Input : 6x/6x (4x buttons, 1x slide-switch) - UART : through-hole on PCB - J1: Vcc, GND, TX, RX from ethernet port side - 115200n8 Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ath79: Add support for TP-Link Archer C60 v2Adrian Schmutzler2019-07-185-2/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link Archer C60 v2 is a dual-band AC1350 router, based on Qualcomm/Atheros QCA9561 + QCA9886. Specification: - 775/650/258 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 8 MB of FLASH (SPI NOR) - 3T3R 2.4 GHz - 2T2R 5 GHz - 5x 10/100 Mbps Ethernet - 7x LED, 2x button - UART header on PCB Flash instruction (WebUI): Download *-factory.bin image and upload it via the firmwary upgrade function of the stock firmware WebUI. Flash instruction (TFTP): 1. Set PC to fixed IP address 192.168.0.66 2. Download *-factory.bin image and rename it to tp_recovery.bin 3. Start a tftp server with the file tp_recovery.bin in its root directory 4. Turn off the router 5. Press and hold reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery Flash instruction (under U-Boot, using UART): tftp 0x81000000 ...-sysupgrade.bin erase 0x9f030000 +$filesize cp.b $fileaddr 0x9f030000 $filesize reset Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: Add support for TP-Link Archer C60 v1Adrian Schmutzler2019-07-186-1/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link Archer C60v1 is a dual-band AC1350 router, based on Qualcomm/Atheros QCA9561+QCA9886. Specification: - 775/650/258 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 8 MB of FLASH (SPI NOR) - 3T3R 2.4 GHz - 2T2R 5 GHz - 5x 10/100 Mbps Ethernet - 7x LED, 2x button - UART header on PCB Flash instruction (WebUI): Download *-factory.bin image and upload it via the firmwary upgrade function of the stock firmware WebUI. Flash instruction (TFTP): 1. Set PC to fixed ip address 192.168.0.66 2. Download *-factory.bin image and rename it to tp_recovery.bin 3. Start a tftp server with the file tp_recovery.bin in its root directory 4. Turn off the router 5. Press and hold Reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery. Flash instruction under U-Boot, using UART: 1. tftp 0x81000000 ...-sysupgrade.bin 2. erase 0x9f020000 +$filesize 3. cp.b $fileaddr 0x9f020000 $filesize 4. reset Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link CPE510-v2/v3Andrew Cameron2019-07-186-0/+215
| | | | | | | | | | | | | | | | | | | | | | | | | TP-Link CPE510-v2/v3 is an outdoor wireless CPE for 5 GHz with one Ethernet port based on Atheros AR9344 Specifications: - Based on the same underlying hardware as the TP-Link CPE510 - Power, LAN, and 4 green LEDs - 1 10/100Mbps Shielded Ethernet Port (Passive PoE in) - Built-in 13dBi 2x2 dual-polarized directional MIMO antenna - Adjustable transmission power from 0 to 23dBm/200mw Flashing instructions: Flash factory image through stock firmware WEB UI or through TFTP To get to TFTP recovery just hold reset button while powering on for around 4-5 seconds and release. Rename factory image to recovery.bin Stock TFTP server IP:192.168.0.100 Stock device TFTP adress:192.168.0.254 Signed-off-by: Andrew Cameron <apcameron@softhome.net> [whitespace fixes] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: add support for Trendnet TEW-823DRUPramod Pancha2019-07-185-1/+249
| | | | | | | | | | | | | | | | | | | | | Trendnet TEW-823DRU is a dual-band AC1750 router. The router is based on Qualcomm/Atheros QCA9558 + QCA9880. Specification: 720 MHz CPU 256 MB of RAM 16 MB of FLASH 3T3R 2.4 GHz 3T3R 5 GHz 5x 10/100/1000 Mbps Ethernet Firmware can be flashed from the web interface. Tested on 3 routers with no issues. Signed-off-by: Pramod Pancha <pancha@vill.com> [whitespace fixes] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: add support for TP-Link RE355 v1 and RE450 v1Christoph Krapp2019-07-178-0/+240
| | | | | | | | | | | | | | | | | | | | | | Specification: SoC: Qualcomm Atheros QCA9558 RAM: 64/128MiB Flash: 8MiB SPI-NOR Wifi: - 2.4GHz: 3T3R (QCA9558) - 5GHz: 3T3R (QCA9880) LAN: 1x 10/100/1000 Mbps UART: - TP1: Tx - TP2: Rx - TP3: Gnd - TP4: 3v3 Flash instructions: Flash factory image through stock firmware WEB UI. Signed-off-by: Christoph Krapp <achterin@googlemail.com>
* ath79: add support for Bluesocket BSAP1880 boardDaniel Gimpelevich2019-07-178-0/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This board was used in dual-band 802.11n enterprise access points, models BSAP-1800v2 and BSAP-1840, introduced in 2010 by Bluesocket, which was acquired by Adtran in 2011, who has now EOL'ed them. They differed only in that the BSAP-1840's antennae were detachable, while the BSAP-1800v2's were inside the case. They have an external RJ-45 console port, which works with standard Cisco 72-3383-01 console cables. Specification: - System-On-Chip: AR7161 - CPU/Speed: 600 MHz - Flash-Chip: Macronix MX25L12845E - Flash size: 16 MiB - RAM: 64 MiB - Wireless No1: Lite-On WN2601A card: AR9160/AR9103 2.4GHz 802.11bgn - Wireless No2: Lite-On WN2502A card: AR9160/AR9106 5GHz 802.11an - PHY: Vitesse VSC8601, Rev. B Installation: 1. Connect to the serial console using a terminal that supports YMODEM at 115200 bps, 8 data bits, no parity, 1 stop bit 2. Interrupt the bootloader using its password, which is: r00t 3. Issue the "fis init" command, confirming if prompted 4. Look at the length of the openwrt-ath79-generic-*-squashfs-kernel.bin file, and substitute it below, instead of where I have "LeNgTh" 5. Issue the following command, and upload this file using YMODEM protocol load -r -v -b 0x80060000 -m ymodem 6. Issue the following commands, substituting as mentioned above: fis create -b 0x80060000 -l LeNgTh vmlinux_2 load -r -v -b 0x80100000 -m ymodem 7. Using YMODEM, upload openwrt-ath79-generic-*-squashfs-rootfs.bin 8. Issue the "fis free" command, and for the first range in its response, use a hexadecimal calculator to subtract the start from the end in order to substitute it below, with the leading "0x" to specify it in hexadecimal, instead of where I have "LeNgTh" 9. Issue the following commands, substituting as mentioned above: fis create -b 0x80100000 -l LeNgTh -e 0 -r 0 rootfs reset 10.Wait for the status LED to go solid green Tested-by: Brian Gonyer <bgonyer@gmail.com> Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us> [fixed obsolete $ARGV in platform_do_upgrade] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: widen RedBoot directory search and add PHYDaniel Gimpelevich2019-07-171-1/+2
| | | | | | | | The Bluesocket BSAP1880 board has a Vitesse PHY, for which the driver was not being included, and its RedBoot directory block is earlier in the flash than the search was allowing. This commit prepares for supporting it. Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
* ath79: support "rgmii-id" PHY mode in ag71xxDaniel Gimpelevich2019-07-171-0/+2
| | | | | | | The ag71xx code did not include a case for the "rgmii-id" PHY mode in the code. There are devices that need this mode, so I'm adding it. Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
* ath79: ar9330: add missing watchdog nodePetr Štetiar2019-07-171-0/+10
| | | | | | | | It was reported in FS#2385, that Carambola2 doesn't currently have working watchdog so fix it by adding watchdog node. Ref: FS#2385 Signed-off-by: Petr Štetiar <ynezz@true.cz>